Saltar al contenido
Documentación

Configuración

Webhooks: que tu sistema se entere solo

En vez de preguntar cada minuto si pasó algo, DialSprint le avisa a tu sistema apenas pasa: una llamada que termina, un contacto que cambia.

Para qué sirve

Un webhook es una dirección web tuya a la que le mandamos un aviso en el momento en que algo pasa. Sin webhook, tu sistema tiene que preguntar cada tanto si hubo novedades; con webhook, se entera solo.

La diferencia se nota sobre todo con las llamadas. Preguntar por los contactos que cambiaron funciona bien, pero preguntar si terminó una llamada llega siempre tarde: cuando tu sistema pregunta, el agente ya está en la siguiente.

Crear uno

Andá a Configuración, después a API, y entrá a la pestaña Webhooks. Ponés un nombre para reconocerlo, la dirección a la que te mandamos los avisos, y tildás los eventos que te interesan.

La dirección tiene que ser https y estar abierta a internet. Una dirección interna de tu red (localhost, una IP privada) la rechazamos al guardarla: desde nuestros servidores no se llega, y aceptarla sería prometerte avisos que nunca van a salir.

De qué te podemos avisar

Elegís evento por evento cuando creás el webhook. Lo de la izquierda es el nombre técnico que va a ver quien programe el receptor; lo de al lado es cómo lo vas a encontrar tildado en el panel.

El último no se elige en esta lista: lo manda la automatización que se configura en la tipificación, y llega a tu URL igual que cualquier otro.

call.completedLlamada terminada

Terminó una llamada, con su resultado. Una sola por conversación: las patas de una transferencia no son llamadas nuevas.

call.wrapped_upLlamada tipificada

El agente cargó la tipificación y las notas. Es el que importa, porque es el que trae el resultado de la gestión. También llega cuando termina una llamada saliente estacionada que nadie retomó a tiempo, y en ese caso viene sin tipificación ni notas.

contact.createdContacto creado

Se cargó un contacto, en el panel o por la API. Una carga masiva NO dispara uno por fila.

contact.updatedContacto modificado

Cambió algo de la ficha, incluido el bloque de cumplimiento que la API deja leer pero no escribir.

contact.archivedContacto archivado

El contacto salió de circulación. Sigue existiendo y sigue viniendo en GET /contacts, con su archived_at.

contact_import.completedImportación terminada

Terminó una carga masiva, con los totales de creados, actualizados y fallidos.

disposition.appliedTipificación con automatización

El agente eligió una tipificación que tiene configurada una automatización de webhook apuntando a este endpoint. Este no se elige acá: se configura en la tipificación, y sirve para enterarte solo de los resultados que te importan en vez de recibir todas las llamadas.

La clave de firma

Al crear el webhook te mostramos una clave de firma, UNA sola vez. Con esa clave tu sistema comprueba que el aviso lo mandamos nosotros y no cualquiera que haya adivinado tu dirección.

Guardala donde guardes el resto de tus credenciales y pasásela a quien programe el receptor: en la documentación para desarrolladores está cómo se comprueba, con el ejemplo. Si se pierde, borrás el webhook y creás otro.

Si tu sistema no contesta, reintentamos

Un aviso que no llega no se pierde: reintentamos seis veces, espaciando cada vez más, hasta media hora. Eso cubre lo que suele pasar de verdad, que es un deploy tuyo o un reinicio.

Si tres avisos seguidos agotan todos sus reintentos, damos la dirección por caída: apagamos el webhook y te avisamos en la campana del panel. Un rechazo suelto no lo apaga, para eso están los reintentos. Lo volvés a activar cuando lo arreglaste.

El registro de entregas

Cada webhook tiene su registro: qué le mandamos, cuántos intentos llevó, qué código contestó tu sistema y cuándo es el próximo intento. Es el lugar donde mirar cuando el cliente dice que no le llegó nada.

Desde ahí reenviás a mano una entrega que falló, por ejemplo después de arreglar tu receptor. Y el botón de mandar una prueba te deja armar la integración antes de que exista el primer contacto.

La documentación técnica

El formato del aviso, cómo se comprueba la firma y qué contesta tu sistema están en la sección para desarrolladores.

Ver la guía de avisos en vivo