Formato de los envíos en el webhook 18 de febrero de 2025 13:16 Actualización Actualmente, admitimos el envío de los siguientes tipos de elementos: Mensajes Eventos Contactos (Próximamente) Tickets Actualmente no existe un campo específico que identifique directamente el tipo de dato enviado. Sin embargo, sugerimos la siguiente heurística para identificar el tipo de cada elemento: El campo type es único y obligatorio para los mensajes. El campo category es único y obligatorio para los eventos. El campo lastMessageDate es único y obligatorio para los contactos. Como alternativa, puedes configurar una URL específica para cada tipo de envío, aislando los flujos y simplificando el procesamiento de los datos. Mensajes Los mensajes incluyen todo lo que se intercambia entre las partes de la conversación, como texto simple, medios, opciones interactivas (por ejemplo, menús) y estructuras específicas del canal utilizado, como envíos activos en WhatsApp. Por razones históricas, también incluyen algunas actualizaciones de tickets, como apertura, cierre y transferencia. La fecha y hora del mensaje pueden obtenerse en el subcampo #envelope.storageDate, dentro del campo metadata. Estructura Campo Tipo Obligatorio Significado Ejemplo type string Sí El tipo MIME del mensaje, que indica qué estructura se utilizará en el campo content. text/plain content string | object Sí El contenido del mensaje. Puede ser texto simple o un objeto, en caso de que sea un mensaje especial, como mensajes interactivos, contenido multimedia u otros. ¡Hola! id string Sí Identificador único del mensaje. wamid.HBgNNTQ5Mjk0N DY0ODgzMBUCABIYIDMz QTZGQjM2NUQ2QkFDQU FFRTdERkUyNDQ5NUQ2MjlDAA== from string Sí El remitente del mensaje. Puede ser el cliente o el bot, dependiendo de la dirección del mensaje. 551199999999@wa.gw.msging.net to string Sí El destinatario del mensaje. Puede ser el cliente o el bot, dependiendo de la dirección de la mensaje. whatsappexample@msging.net metadata object Sí Metadatos sobre el mensaje. Los campos varían según el canal y la dirección del mensaje. El subcampo #envelope.storageDate contiene la fecha de creación del mensaje en formato UTC-0. { "#wa.timestamp": "1736354097", "traceparent": "00-f2b0535c0c9d15b3dd29a7b1356365f1-448294cb77a064ee-01", "#uniqueId": "74eb1496-a986-4f10-b1f6-d353e04ee39e", "#date_processed": "1736354114687", "date_created": "1736354114668", "#envelope.storageDate": "2025-01-08T16:35:14Z" } Algunos de los valores posibles de “type” son: text/plain application/json application/vnd.iris.ticket+json application/vnd.lime.collection+json application/vnd.lime.media-link+json application/vnd.lime.reaction+json application/vnd.lime.redirect+json application/vnd.lime.reply+json application/vnd.lime.select+json Ejemplos: Texto plano, enviado por el usuario (canal WhatsApp). { "type": "text/plain", "content": "Oi", "id": "wamid.HBgNNTQ5Mjk0NDY0ODgzMBUCABIYIDMzQTZGQjM2NUQ2QkFDQUFFRTdERkUyNDQ5NUQ2MjlDAA==", "from": "551199999999@wa.gw.msging.net", "to": "whatsappexample@msging.net", "metadata": { "#wa.timestamp": "1736354097", "traceparent": "00-f2b0535c0c9d15b3dd29a7b1356365f1-448294cb77a064ee-01", "#uniqueId": "74eb1496-a986-4f10-b1f6-d353e04ee39e", "#date_processed": "1736354114687", "date_created": "1736354114668", "#envelope.storageDate": "2025-01-08T16:35:14Z" }} Menú interactivo, enviado por el bot (canal BlipChat). { "type": "application/vnd.lime.select+json", "content": { "scope": "immediate", "text": "Quer falar com um atendente?", "options": [ { "text": "Sim" }, { "text": "Não" } ] }, "id": "d1402ce1-5e08-4a64-b9c2-5145d0d511e7", "from": "blipchatexamplerouter@msging.net/msging-application-router-hosting-standard-cd68bb7b9-v589m", "to": "78843319-6318-46a8-9653-8f11d77a63f6.blipchatexamplerouter@0mn.io", "metadata": { "#stateName": "Atendimento?", "#stateId": "50a630f3-4453-4185-9716-8774f75eb9db", "#messageId": "context:b7859be1-6165-467d-80d1-1838c4768435", "#previousStateId": "welcome", "#previousStateName": "Bienvenida", "#tunnel.owner": "blipchatexamplerouter@msging.net", "#tunnel.originator": "78843319-6318-46a8-9653-8f11d77a63f6.blipchatexamplerouter@0mn.io", "traceparent": "00-888774c75676f06122fc35cab221b0c2-18067e9a7d8e7062-01", "#uniqueId": "0e3d6aaa-cded-437e-b7cf-2b30866d271f", "#date_processed": "1736343637158", "date_created": "1736343637137", "#tunnel.originalFrom": "blipchatatendimento@msging.net/msging-application-builder-hosting-standard-777695bf87-4q9wk", "#tunnel.originalTo": "d5187b97-cbb2-4987-8e2d-cd77a04fd362@tunnel.msging.net", "#messageKind": "Response", "#envelope.storageDate": "2025-01-08T13:40:37Z" }} Mensaje enviado por el agente (canal BlipChat). { "type": "text/plain", "content": "Como posso te ajudar?", "id": "fwd:fwd:4bf2147b-8a46-466e-9d3d-0ba6df7a1c7c", "from": "blipchatexamplerouter@msging.net/msging-application-router-hosting-standard-7b4cb78c46-tktks", "to": "1bf2e971-c887-4115-9da4-c0377c650af8.blipchatexamplerouter@0mn.io", "metadata": { "#messageEmitter": "Human", "traceparent": "00-dd1b2640e065e43328bea33ad4f3f50c-6e97fb525fae5e7a-01", "#uniqueId": "83b6e2eb-4ebb-464e-9873-546f53e3ce44", "#date_processed": "1736356745643", "date_created": "1736356745458", "#tunnel.owner": "blipchatexamplerouter@msging.net", "#tunnel.originator": "1bf2e971-c887-4115-9da4-c0377c650af8.hmgrouter@0mn.io", "#tunnel.originalFrom": "blipchatatendimento@msging.net/msging-application-builder-hosting-standard-6969686d5c-c7c67", "#tunnel.originalTo": "2da4c131-4a23-4fbe-8148-792cd5d73d70@tunnel.msging.net", "#messageKind": "Response", "#envelope.storageDate": "2025-01-08T17:19:05Z" }} Ticket recuperado por el agente (canal BlipChat). { "type": "application/vnd.iris.ticket+json", "content": { "id": "ba5af0b5-5b29-4a82-8536-0194470002a2", "sequentialId": 56, "ownerIdentity": "blipchatatendimento@msging.net", "customerIdentity": "2da4c131-4a23-4fbe-8148-792cd5d73d70@tunnel.msging.net", "customerDomain": "0mn.io", "provider": "Lime", "status": "Waiting", "storageDate": "2025-01-08T17:39:30.594Z", "externalId": "ba5af0b5-5b29-4a82-8536-0194470002a2", "rating": 0, "team": "Default", "unreadMessages": 0, "closed": false, "customerInput": { "type": "text/plain", "value": "oi" }, "priority": 0 }, "id": "ba5af0b5-5b29-4a82-8536-0194470002a2", "from": "1bf2e971-c887-4115-9da4-c0377c650af8.blipchatexamplerouter@0mn.io", "to": "blipchatexamplerouter@msging.net", "metadata": { "#envelope.storageDate": "2025-01-08T17:39:30Z" }} Mensaje de audio, enviado por el cliente (canal WhatsApp). { "type": "application/vnd.lime.media-link+json", "content": { "type": "audio/ogg", "uri": "https://fakemediastore.blip.ai/secure-medias/Media_3c64e81c-2c7b-4e2b-afc7-da71bdaae5d01806539016748636?sv=2024-05-04&st=2025-01-08T20%3A19%3A55Z&se=2025-01-08T20%3A49%3A55Z&sr=b&sp=r&sig=mtSChi1oLIvgxQReL4tvlwzw2aBV8L14k5NjdVHkzzg%3D&secure=true" }, "id": "wamid.HBgNNTQ5Mjk0NDY0ODgzMBUCABIYIDRDNjJCMDU1OTg2QjdDNzdDNzExREFEOUFEQTcwQUVFAA==", "from": "551199999999@wa.gw.msging.net", "to": "whatsappexample@msging.net", "metadata": { "#wa.timestamp": "1736368475", "#wa.voice": "true", "traceparent": "00-8889ac22711f246651486c2fdf4e4b33-9bb3bb83c2817183-01", "#uniqueId": "4d5007bb-8191-4926-adad-c54dcd9e8784", "#date_processed": "1736368495393", "date_created": "1736368495385", "#envelope.storageDate": "2025-01-08T20:34:55Z" }}Eventos Los eventos, también llamados event-tracks, son los rastreos disparados por las acciones "Registro de eventos" o al habilitar la opción "Seguimiento automático" en el Builder. También pueden ser generados a través de la API HTTP de Blip. La fecha y hora del evento pueden obtenerse del campo storageDate. Estrutura Campo Tipo Obrigatório Significado Exemplo ownerIdentity string Sí ID del bot al que está asociado el evento. whatsappexample@msging.net identity string No [Obsoleto] ID del contacto que causó el disparo del evento. 551199999999@wa.gw.msging.net contact objeto No Objeto que contiene los datos del contacto que causó el disparo del evento. { "Identity": "551199999999@wa.gw.msging.net" } messageId string No ID del mensaje que causó el disparo del evento. Ten en cuenta que un solo mensaje puede originar más de un evento. wamid.HBgNNTQ5Mjk0N DY0ODgzMBUCABIYIDkz MjhCOEFGMDE4RTM0Q0 I2NEY3MTJBOUNDNUQwNzBBAA== storageDate string Sí Fecha y hora del registro del evento, en formato UTC-0. 2025-01-08T17:50:25.577Z category string Sí Categoría del evento. Corresponde a la jerarquía más alta en la organización del dato. Posee registro action string Sí Acción, subcategoría o detalle del evento. Representa la jerarquía más baja en la organización del dato. No extras objeto No Objeto que contiene metadatos automáticos del evento (por ejemplo: ID del bloque en el cual fue disparado) e información extra personalizada registrada en la acción "Registro de Evento". { "stateId": "welcome", "#stateName": "Boas vindas", "#stateId": "welcome", "#messageId": "c59505f0-4000-4b21-be0a-6850961ea7aa", "#previousStateId": "onboarding", "#previousStateName": "Início" } Ejemplos Evento personalizado, configurado como Acción en el Builder (canal BlipChat). { "ownerIdentity": "blipchatexamplerouter@msging.net", "identity": "78843319-6318-46a8-9653-8f11d77a63f6.blipchatexamplerouter@0mn.io", "contact": { "Identity": "78843319-6318-46a8-9653-8f11d77a63f6.blipchatexamplerouter@0mn.io" }, "messageId": "505eb2ad-9236-4915-8e6d-b2c0ee30c290", "storageDate": "2025-01-08T13:29:24.255Z", "category": "Possui cadastro", "action": "Não", "extras": { "#stateName": "Verifica cadastro", "#stateId": "9b530b75-e487-4c17-933e-c7743f9f4516", "#messageId": "505eb2ad-9236-4915-8e6d-b2c0ee30c290", "#previousStateId": "onboarding", "#previousStateName": "Inicio" }} Evento de Seguimiento Automático (canal WhatsApp). { "ownerIdentity": "whatsapprouter2@msging.net", "identity": "5492944648830@wa.gw.msging.net", "contact": { "Identity": "5492944648830@wa.gw.msging.net" }, "messageId": "wamid.HBgNNTQ5Mjk0NDY0ODgzMBUCABIYIDkzMjhCOEFGMDE4RTM0Q0I2NEY3MTJBOUNDNUQwNzBBAA==", "storageDate": "2025-01-08T17:50:25.577Z", "category": "flow", "action": "Atendimento Humano", "extras": { "stateId": "desk:209e648f-afc0-4e27-94e9-26a4c9e261bd", "#stateName": "Atendimento Humano", "#stateId": "desk:209e648f-afc0-4e27-94e9-26a4c9e261bd", "#messageId": "wamid.HBgNNTQ5Mjk0NDY0ODgzMBUCABIYIDkzMjhCOEFGMDE4RTM0Q0I2NEY3MTJBOUNDNUQwNzBBAA==", "#previousStateId": "desk:209e648f-afc0-4e27-94e9-26a4c9e261bd", "#previousStateName": "Atendimento Humano" }}Contactos Aquí se registran todas las actualizaciones de contactos. Siempre que se actualice cualquier campo de un contacto, se enviará la versión más reciente del contacto completo. Es importante tener en cuenta que, debido a la naturaleza asincrónica y paralela de Blip, no hay garantía de que las actualizaciones se recibirán en orden estrictamente cronológico. Estrutura Campo Tipo Obrigatório Significado Exemplo lastMessageDate string Sí Fecha y hora aproximada de la última interacción de este cliente, en UTC-0. Se actualiza al menos una vez por cada "sesión". Sin embargo, si se intercambian varios mensajes en un corto intervalo, puede que no se refiera necesariamente al último mensaje. 2025-01-08T17:58:48.890Z identity string Sí Identificador único del cliente. 551199999999@wa.gw.msging.net source string Sí Identificador del canal. WhatsApp name string No Nombre del contacto. João da Silva email string No Dirección de correo electrónico del contacto. joaodasilva@email.com.br phoneNumber string No Teléfono del contacto. 99999999 gender string No Género del contacto. male taxDocument string No Documento de identificación del contacto (por ejemplo: DNI, NIF, RG). 901.396.765-33 extras object No Datos adicionales personalizados relacionados con el contacto. { "ticket": "123", "plano": "Golden" } Ejemplos Contacto recién creado, sin ninguna información (canal Blip Chat). { "lastMessageDate": "2025-01-08T20:23:51.110Z", "identity": "6f16a65f-eaec-42e3-ac56-8815269ac06b.blipchatexamplerouter@0mn.io", "source": "0mn.io"} Contacto completo con todos los campos disponibles en el Builder rellenados (canal WhatsApp). { "name": "João da Silva", "lastMessageDate": "2025-01-08T20:27:28.455Z", "identity": "551199999999@wa.gw.msging.net", "email": "joaodasilva@email.com.br", "phoneNumber": "(11)9999-9999", "gender": "male", "extras": { "ticket": "123", "plano": "Golden" }, "source": "WhatsApp", "taxDocument": "901.396.765-33"} Para más información, accede a la discusión sobre el tema en nuestra comunidad o a los videos en nuestro canal. 😃 Artículos relacionados Enviando datos para análisis a través de Webhooks Regla de bloqueo de URL no válida en Webhook Cómo conectar a un canal de atención personalizada Acción: Solicitud HTTP Variables de Builder