Saltar al contenido
Avanzado3 min

¿Cómo recibo cada resultado con webhooks y compruebo que vienen de Talkyria?

Cada llamada terminada genera un aviso a tus URLs, firmado con la cabecera X-Talkyria-Signature. Tu sistema recalcula la firma con el secreto de esa URL y, si coincide, sabe que el aviso viene de Talkyria.

Video en preparación

Estamos grabando este video. Mientras tanto, la guía de abajo te lleva paso a paso.

Objetivo de la lección

Registrar webhooks por API, elegir sus eventos y verificar la firma de cada aviso.

Lleva lo aprendido a tu cuenta: abre esta pantalla en Talkyria.

Abrir en Talkyria(se abre en una pestaña nueva)

Guía

Objetivo: Registrar webhooks por API, elegir sus eventos y verificar la firma de cada aviso.

Nivel: Avanzado · Duración: 3 min · Antes de esta lección: «¿Cómo recibo el resultado de cada llamada en mi sistema?»

Dónde, en Talkyria: app.talkyria.com/integraciones/api

Gancho

Un webhook sin verificar es una puerta abierta: cualquiera podría enviarle a tu sistema «pedido confirmado». La firma cierra esa puerta, y se comprueba con tres líneas de código.

Lo que vas a lograr

Vas a registrar un webhook por API, elegir sus eventos, leer el aviso y verificar su firma antes de creerle.

Pasos en pantalla

  1. Registrar: POST https://api.talkyria.com/api/v1/webhooks con url, una dirección https pública, y events. Necesitas el permiso «Configurar el webhook saliente». Puedes tener hasta 10 por tienda.
  2. Guarda el secret de la respuesta: empieza por whsec_ y no se vuelve a mostrar.
  3. events por defecto es call.outcome_final, que recibe todos los resultados. Para recibir solo algunos, sepáralos por coma, por ejemplo call.confirmed,call.no_answer.
  4. call.novelty_resolved y los eventos de llamadas con asesor no entran en el general: lístalos por su nombre o usa el asterisco.
  5. Cada aviso trae event, siempre call.outcome_final por compatibilidad, y eventType con el evento exacto. La cabecera X-Talkyria-Event-Type también lo trae.
  6. Verificar: calcula un HMAC SHA-256 del cuerpo tal como llegó, sin reformatearlo, con tu secreto. Compáralo con X-Talkyria-Signature, que llega como sha256= seguido del resultado en hexadecimal.
  7. Si no coincide, descarta el aviso. Si coincide, responde rápido con un código 200 y procesa después.
  8. Revisa entregas con GET /webhooks/{id}/deliveries, o en el panel, en «Integraciones» → «API» → «Webhooks» → «Entregas recientes».

Error común y cómo resolverlo

Calcular la firma sobre el JSON ya interpretado y vuelto a escribir. Un espacio o un orden distinto cambia la firma y todos tus avisos parecerán falsos. Firma el cuerpo crudo, exactamente como llegó.

¿Y ahora qué?

Ahora crea y edita tus Ofertas Inteligentes por API. Siguiente lección: «¿Puedo crear mis Ofertas Inteligentes por API?».

Paso a paso

  1. Registrar: POST https://api.talkyria.com/api/v1/webhooks con url, una dirección https pública, y events. Necesitas el permiso «Configurar el webhook saliente». Puedes tener hasta 10 por tienda.

  2. Guarda el secret de la respuesta: empieza por whsec_ y no se vuelve a mostrar.

  3. events por defecto es call.outcome_final, que recibe todos los resultados. Para recibir solo algunos, sepáralos por coma, por ejemplo call.confirmed,call.no_answer.

  4. call.novelty_resolved y los eventos de llamadas con asesor no entran en el general: lístalos por su nombre o usa el asterisco.

  5. Cada aviso trae event, siempre call.outcome_final por compatibilidad, y eventType con el evento exacto. La cabecera X-Talkyria-Event-Type también lo trae.

  6. Verificar: calcula un HMAC SHA-256 del cuerpo tal como llegó, sin reformatearlo, con tu secreto. Compáralo con X-Talkyria-Signature, que llega como sha256= seguido del resultado en hexadecimal.

  7. Si no coincide, descarta el aviso. Si coincide, responde rápido con un código 200 y procesa después.

  8. Revisa entregas con GET /webhooks/{id}/deliveries, o en el panel, en «Integraciones» → «API» → «Webhooks» → «Entregas recientes».

Preguntas frecuentes

¿Qué eventos existen?

call.confirmed, call.cancelled, call.no_answer, call.voicemail, call.novelty, call.needs_attention y call.failed. call.outcome_final los recibe todos.

¿Qué pasa si mi servidor está caído?

Talkyria reintenta al minuto, a los 5 y a los 30 minutos. En «Entregas recientes» ves cada intento y su código.

¿Puedo recuperar el secreto si lo pierdo?

Por API el secreto se muestra una sola vez; para uno nuevo, edita el webhook con regenerateSecret true. En el panel tienes «Ver secreto».

¿Cómo distingo un aviso de prueba?

El botón «Enviar prueba» manda la cabecera X-Talkyria-Test con el valor true.

Para profundizar

Actualizada el 29 de octubre de 2026