Habilitamos el complemento de Twilios "IBM Watson Speech to Text" para transcribir la grabación y configuramos el webhook de nuestro servidor mientras habilitamos el complemento. Ahora twilio llama al webhook una vez que la llamada está completamente hecha. después de completar la llamada, twilio da respuesta en ese webhook en Nodejs. Para manejar esa respuesta de llamada, necesitamos "Call Sid". En la respuesta del webhook, no podemos obtener "callSid". Entonces, ¿cómo podemos identificar que la respuesta es para esta llamada en particular...?
alguien me ayuda a cómo puede encontrar call-sid en respuesta?
La respuesta de devolución de llamada es
{ "status": "successful", "message": null, "code": null, "results": { "ibm_watson_speechtotext": { "request_sid": "**************", "status": "successful", "message": null, "code": null, "payload": [{ "content_type": "application/json", "url": "*************/Data" }], "links": { "add_on_result": "***********/Accounts/********/Recordings/**********/AddOnResults/******", "payloads": "https://api.twilio.com/2010-04-01/Accounts/******/Recordings/*******/AddOnResults/******/Payloads", "recording": "https://api.twilio.com/2010-04-01/Accounts/******/Recordings/*******" } } } }Gracias por ayudar
Cuando obtiene el resultado del complemento, se incluye como parte del webhook de voz de Twilio , con todos los parámetros de solicitud normales, así como un parámetro adicional de AddOns que contiene el JSON que ha compartido anteriormente.
Las solicitudes de webhook de Twilio tienen el formato application/x-www-form-urlencoded y luego, dentro del parámetro AddOns , los datos son una cadena JSON. En un pseudocódigo (similar a Ruby), puede acceder al sid de la llamada y a los datos adicionales como este:
post "/webhook" do call_sid = params["CallSid"] add_on_json = params["AddOns"] add_on_data = JSON.parse(add_on_json) # return TwiML end