Webhooks de la API de calidad bajo demanda

Webhooks son una parte integral de la API QoD de Vonage. Vonage enviará a tu aplicación actualizaciones sobre la sesión de QoD sin que tu aplicación tenga que realizar consultas. Este tipo de webhook también se denomina "devolución de llamada".

Recepción de webhooks

Para permitir que los servidores de Vonage envíen datos a tu aplicación a través de webhooks, debes configurar una aplicación en la sección Panel de control del cliente de Vonage con la URL de tu servidor web al que quieres que se envíen los datos.

Devoluciones de llamada

Cuando envíe una solicitud a la API QoD, recibirá una respuesta con el siguiente aspecto:

{
   "channels" : [
  	{
     	"destination" : {
        	"cidr" : "127.0.0.1/64",
        	"port" : 1
     	},
     	"qod_profile" : "LOW_LATENCY",
     	"source" : {
        	"port" : 1
     	},
     	"statuses" : [
        	{
           	"reason" : "Requested via API",
           	"status" : "PENDING",
           	"updated" : "2024-11-26T09:59:14.299364304"
        	}
     	]
  	}
   ],
   "duration" : 120,
   "id" : "b1c33ed6-5f0d-40db-85f7-91e32594d45c",
   "msisdn" : "99021223344",
   "source_ip" : "127.0.1.1"
}

Recibir esta respuesta no significa que se haya creado la sesión QoD. Si el valor de estado es PENDIENTE, significa que la solicitud ha sido aceptada por los servidores de Vonage. Las llamadas de retorno se utilizan para proporcionar actualizaciones sobre el estado de una sesión QoD. También puedes recibir una respuesta de error, por ejemplo, si la solicitud no sigue la especificación de la API o si la autenticación no es válida.

La creación (o el fallo) de la sesión QoD se notificará en una devolución de llamada utilizando el método status campo:

  • PENDING: La sesión QoD aún no ha sido procesada por la red subyacente.
  • ACTIVE: Se ha creado la sesión QoD y el perfil QoD seleccionado se está aplicando al flujo de red.
  • COMPLETED: La sesión QoD se ha completado con éxito.
  • CANCELLING: La sesión QoD está en proceso de cancelación, pero aún no ha alcanzado un estado terminal.
  • FAILED: La sesión de QoD ha finalizado pero debido a un fallo; puede encontrar más detalles en el reason campo.

A continuación se muestra un ejemplo de devolución de llamada:

{
   "id" : "9921de97-dc3d-4fe9-a13a-748468c3aedd",
   "projected_end_time" : "2024-10-30T08:42:24",
   "update" : {
  	"status" : "PENDING",
  	"updated" : "2024-10-30T08:39:03.730508321"
   }
}

Cuando la sesión es aceptada por la red:

{
   "id" : "9921de97-dc3d-4fe9-a13a-748468c3aedd",
   "projected_end_time" : "2024-10-30T08:42:24",
   "update" : {
  	"status" : "ACTIVE",
  	"updated" : "2024-10-30T08:39:04.206222636"
   }
}

Cuando finaliza la duración de la sesión:

{
   "id" : "9921de97-dc3d-4fe9-a13a-748468c3aedd",
   "update" : {
  	"status" : "COMPLETED",
  	"updated" : "2024-10-30T08:42:24.996248114"
   }
}

Cuando se ha completado una sesión, pero debido a un fallo (véase la sección reason para más información):

{
   "id" : "b2cadfa8-29d7-4290-a1d3-9e3ea8c38a02",
   "update" : {
      "reason" : "Invalid QoD profile",
      "status" : "FAILED",
      "updated" : "2025-01-28T08:29:15.157706777"
   }
} 

Lecturas complementarias