Para consultar el catálogo exhaustivo derivado del esquema, consulta todos los ejemplos.
Qué es
Gestiona los eventoscontact.attributes_changed y contact.note.updated.
Antes de comenzar
- Crea un endpoint HTTPS público en tu aplicación.
- Configura un endpoint de Webhook de YCloud para los tipos de evento que necesites.
- Guarda el secreto de firma del endpoint de forma segura.
- Haz que el procesamiento de eventos sea idempotente.
Cómo funciona
YCloud envía una solicitud HTTPPOST cuando ocurre el evento. Verifica la firma, registra el evento de forma duradera, devuelve una respuesta 2xx y procesa las tareas lentas de forma asíncrona.
Solicitud
Los siguientes escenarios muestran las solicitudes enviadas a la URL de tu Webhook. Trata elid del evento como el identificador de entrega y utiliza type para enrutar el payload.
Respuesta
Devuelve un estado2xx tras aceptar el evento.
Para la configuración del endpoint, la validación de firmas y el comportamiento de reintentos, consulta Configurar webhooks.
Ejemplo de cambio de etiquetas (añadir etiquetas)
Solicitud
Respuesta
Confirma la entrega tras aceptar el evento de forma duradera.Explicación
Enruta el evento mediantetype, desduplícalo con id y traslada el trabajo lento o propenso a errores a un procesador asíncrono.
Ejemplo de cambio de etiquetas (eliminar etiquetas)
Solicitud
Respuesta
Confirma la entrega tras aceptar el evento de forma duradera.Explicación
Enruta el evento mediantetype, desduplícalo con id y traslada el trabajo lento o propenso a errores a un procesador asíncrono.
Ejemplo de cambio
Solicitud
Respuesta
Confirma la entrega tras aceptar el evento de forma duradera.Explicación
- Estructura correcta: El objeto
contactAttributesChangedcontiene tres campos obligatorios:id,updateTimeychangedAttributes. - Atributos modificados: El campo
changedAttributeses un objeto donde cada clave es el nombre del atributo y el valor es un objetoContactAttributeChange. - Configuración de propiedades del evento: Al habilitar los eventos
contact.attributes_changed, debes configurar el campoeventPropertiesen el endpoint de tu Webhook para especificar qué atributos deben incluirse en el payload del Webhook. - Tipos de atributos: Los campos
oldValueynewValuepueden contener diferentes tipos de datos:- String: valores de texto
- Number: valores numéricos (enteros o decimales)
- Boolean: valores booleanos (true/false)
- Array: arrays de cadenas
- Object: objetos complejos con propiedades anidadas
- Null: cuando un atributo se elimina o no está establecido
- Cambios en etiquetas: Para los atributos de etiquetas, el campo
extraproporciona información detallada sobre qué etiquetas se agregaron o eliminaron, incluidos sus identificadores y valores. - Valores nulos: Cuando un atributo se elimina o se establece en null,
newValueseránull. Cuando se añade un atributo nuevo,oldValuepuede sernull. - Atributos personalizados: Los atributos personalizados se incluyen en el objeto
changedAttributesal igual que los atributos estándar, utilizando sus claves personalizadas como nombres de atributo. - Detección de cambios: Solo se incluyen en el objeto
changedAttributeslos atributos que realmente hayan cambiado. - Campo adicional: El campo
extraes opcional y se utiliza principalmente para cambios relacionados con etiquetas con el fin de proporcionar contexto adicional sobre las acciones específicas realizadas.
Nota de contacto actualizada
Usacontact.note.updated cuando se actualice una nota de contacto.
Solicitud
Respuesta
Confirma la entrega tras aceptar el evento de forma duradera.Explicación
UsacontactNote.id para identificar la nota y contactId para identificar el contacto al que pertenece. username y phoneNumber describen el contacto y pueden ser nulos. El payload contiene la instantánea de la nota visible para el cliente, incluido content, sin identificadores internos del operador.
