Actualmente, admitimos el envío de los siguientes tipos de elementos:
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. | |
| name | string | No | Nombre del contacto. | João da Silva |
| 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. 😃