2017-10-03 5 views
1

J'ai activé les hooks web entrants sur les hooks entrants Slack API. URL webhook pour votre espace de travail:Transfert de SMS Twillio Slack bot avec webhook

INSTRUCTIONS:

Pour l'envoi des messages avec l'URL de votre webhook, envoyez votre message dans JSON comme le corps d'une application/JSON requête POST.

Ajoutez ce webhook à votre espace de travail ci-dessous pour activer cet exemple de boucle.

demande boucle d'échantillon à ce sujet à un canal:

curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello,  World!"}' https://hooks.slack.com/services/T0AFATG95/B73FDS5R6V/hFApP 

(jeton est incomplète). Lorsque j'envoie la requête POST, cela fonctionne!

APP 2:18 PM Bonjour, Monde!

Maintenant, je veux que Twillio envoie cette requête POST à ​​un mou en utilisant un hook Web ou TwiML. ??? Il s'agit essentiellement d'un relais vers l'URL floue. comment puis-je faire une demande POST à ​​cette URL, de sorte que le message envoyé au twillio # est envoyé dans le corps?

Sous twillio paramètres du téléphone je sélectionne ce qui se passe lorsque:

Un message arrive webhook [HOOK WEB GOES ICI] HTTP POST

OU J'UTILISER:

TwiML Bin à la place et l'affecter dans les paramètres du téléphone twilio.

Si je ne peux pas réaliser cela, j'utiliserai une fonction lambda pour le faire, je pense qu'il pourrait y avoir un moyen d'y parvenir puisque je ne manipule rien sur le message.

Répondre

2

Vous pouvez le faire avec un Twilio Function, voici le code de la fonction:

const got = require('got'); 

exports.handler = function(context, event, callback) { 

    const requestBody = { 
    text: event.Body 
    }; 

  got.post('https://hooks.slack.com/services/T0AFATG95/B73FDS5R6V/hFApP', { 
    headers: { 
      'Content-Type': 'application/json' 
    }, 
    body: JSON.stringify(requestBody) 
  }) 
    .then(response => { 
      let twiml = new Twilio.twiml.MessagingResponse(); 
     twiml.message("Your message has been forwarded to Slack."); 
      callback(null, twiml); 
    }) 
    .catch(err => { 
      callback(err); 
    }); 
}; 

Notes:

+0

Merci pour la réponse Alex! Nous devrions ajouter quelque chose comme ceci à ce repo: https://github.com/philnash/useful-twilio-functions/ – philnash

+0

Merci ALEX !!!!!!!! et Philnash pour l'inspiration m'a fait ressembler à une superstar au travail !!Usecase: avec autant de codes de validation en 2 étapes dans plusieurs comptes, la définition d'un # twilio dans le numéro de téléphone du compte nous permet de voir tous les codes de vérification en deux étapes plutôt que de demander au propriétaire du numéro de téléphone. –

+0

De rien, j'aime cette tortue. –