J'essaie de migrer certaines parties de mon flux de studio vers Twilio Functions
, mais pas le tout, mais il semble que lorsque j'essaie de rediriger vers le flux de studio, Twilio meurt avec une erreur 400 ou raccroche.
J'expérimente le morceau de code suivant:
exports.handler = function(context, event, callback) { let twiml = new Twilio.twiml.VoiceResponse(); //twiml.doWhatINeed(); twiml.redirect('https://webhooks.twilio.com/v1/Accounts/AC.../Flows/FW...?FlowEvent=success'); callback(null, twiml); };
Je m'attends à ce qu'il continue le flux de studio sur la branche de succès, mais le l'appel est raccroché. J'ai également expérimenté l'omission de FlowEvent
, mais ce n'était pas mieux.
Quand j'entre un FlowEvent
non valide (comme hélicoptère
), alors j'obtiens l'erreur 400.
Avez-vous une idée de ce qui me manque?
3 Réponses :
Consultez la page à l'adresse https://support.twilio.com/hc/en-us/articles/360019580493-Using-Twilio-Functions-to-Enhance-Studio-Voice-Calls- avec-TwiML personnalisé .
Cela a l'air bizarre, mais cette page vous propose d'utiliser un widget factice "play / say" attaché à la transition réussie du widget "run function", et utilisez "FlowEvent = audioComplete" pour continuer votre flux. p >
Est-ce toujours une chose? Je ne vois aucune mention de FlowEvent
dans toute la documentation, sauf pour le retour du widget TwiML Redirect.
Ce que Mike a dit a fonctionné pour moi, assurez-vous simplement de connecter un "play / say" après l'appel de fonction sur Twilio Studio et de le configurer sur "Say a Message" et de laisser vide le "Text to Say".
Du côté des fonctions, utilisez simplement:
twiml.redirect('https://webhooks.twilio.com/v1/Accounts/AC.../Flows/FW...?FlowEvent=audioComplete');
Je n'ai toujours pas de variables fonctionnant comme méthode de paramètres d'URL.
Ajout d'une autre réponse ici car les deux autres ne semblent pas correctes (plus?).
Pour revenir à un Flow actif après avoir appelé une fonction, vous devez utiliser le TwiML Redirect widget au lieu du widget Run Function, et vous devez ajouter ? FlowEvent = return
à l'URL de votre webhook de flux lorsque vous redirigez vers Studio après avoir terminé votre logique externe . Consultez la page des documents liés pour plus d'informations.
Vous pouvez avoir autant de tours de TwiML que nécessaire avant de rediriger, car le flux Studio se bloque à l'appel (et la place de cet appel dans le flux) jusqu'à la fin de l'appel, même s'il ne le contrôle plus directement .
Tout ce que vous avez à faire pour utiliser le widget TwiML Redirect au lieu de Run Function est d'obtenir l'URL de votre fonction manuellement et de la configurer vous-même, au lieu de laisser le widget Run Function la générer pour vous. Vous pouvez transmettre des paramètres à votre fonction en utilisant des variables liquides pour les encoder dans la chaîne URL en tant que paramètres URI, puis en utilisant la méthode GET au lieu de POST.