We currently support the submission of the following item types:
Currently, there is no specific field that directly identifies the type of data sent. However, we suggest the following heuristic to determine the type of each item:
- The type field is unique and mandatory for messages.
- The category field is unique and mandatory for events.
- The lastMessageDate field is unique and mandatory for contacts.
Alternatively, you can configure a specific URL for each type of submission, isolating the flows and simplifying data processing.
Messages
Messages include everything exchanged between conversation parties, such as plain text, media, interactive options (e.g., menus), and specific structures of the channel in use, like proactive messages on WhatsApp. Historically, messages also include certain ticket updates, such as opening, closing, and transferring.
The date and time of the message can be retrieved from the #envelope.storageDate subfield within the metadata field.
Structure
| Field | Type | Mandatory | Meaning | Example |
| type | string | Yes | The MIME type of the message, which indicates what structure will be used in the content field. | text/plain |
| content | string | object | Yes | The content of the message. It can be plain text or an object, if it's a special message, such as interactive messages, media content, or others. | Hello! |
| id | string | Yes | Unique identifier of the message. |
wamid.HBgNNTQ5Mjk0N DY0ODgzMBUCABIYIDMz QTZGQjM2NUQ2QkFDQU FFRTdERkUyNDQ5NUQ2MjlDAA== |
| from | string | Yes | The sender of the message. It can be the client or the bot, depending on the direction of the message. | 551199999999@wa.gw.msging.net |
| to | string | Yes | The recipient of the message. It can be the client or the bot, Depending on the direction of the message. | whatsappexample@msging.net |
| metadata | object | Yes | Metadata about the message. The fields vary depending on the channel and the direction of the message. The subfield #envelope.storageDate contains the creation date of the message in UTC-0 format. |
{ "#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" } |
"Some of the possible values for 'type' are:
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
Examples:
Plain text, sent by the user (WhatsApp channel).
{
"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"
}
}
Interactive menu, sent by the bot (BlipChat channel)
{
"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"
}
}
Message sent by the agent (BlipChat channel)
{
"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 pulled by the agent (BlipChat channel).
{
"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"
}
}
Audio message, sent by the client (WhatsApp channel)
{
"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"
}
}
Events
Events, also called event-tracks, are the tracks triggered by the 'Event Logging' actions or by enabling the 'Automatic Tracking' option in the Builder. They can also be generated through the Blip HTTP API.
The date and time of the event can be obtained from the storageDate field.
Structure
| Field | Type | Mandatory | Meaning | Example |
| ownerIdentity | string | Yes | Bot ID to which the event is associated | whatsappexample@msging.net |
| identity | string | No | [Deprecated] Contact ID that triggered the event. | 551199999999@wa.gw.msging.net |
| contact | Object | No | Object containing contact data that triggered the event. |
{ "Identity": "551199999999@wa.gw.msging.net" } |
| messageId | string | No | Message ID that triggered the event. Note that a single message can trigger more than one event. |
wamid.HBgNNTQ5Mjk0N DY0ODgzMBUCABIYIDkz MjhCOEFGMDE4RTM0Q0 I2NEY3MTJBOUNDNUQwNzBBAA== |
| storageDate | string | Yes | Date and time of the event registration, in UTC-0 format. | 2025-01-08T17:50:25.577Z |
| category | string | Yes | Date and time of the event registration, in UTC-0 format. | Has registration |
| action | string | Yes | Action, subcategory, or detail of the event. It represents the lowest hierarchy in the data organization. | No |
| extras | object | No | Object containing automatic metadata of the event (e.g., block ID where it was triggered) and custom extra information registered in the 'Event Logging' action. |
{ "stateId": "welcome", "#stateName": "Boas vindas", "#stateId": "welcome", "#messageId": "c59505f0-4000-4b21-be0a-6850961ea7aa", "#previousStateId": "onboarding", "#previousStateName": "Início" } |
Examples
Custom event, configured as an Action in the Builder (BlipChat channel).
{
"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"
}
}
Automatic Tracking event (WhatsApp channel).
{
"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"
}
}
Contacts
All contact updates are recorded here. Whenever any field of a contact is updated, the most recent complete version of the contact is sent.
It is important to note that, due to the asynchronous and parallel nature of Blip, there is no guarantee that the updates will be received in strictly chronological order.
Structure
| Field | Type | Mandatory | Meaning | Example |
| lastMessageDate | string | Yes | Approximate date and time of the last interaction of this client, in UTC-0. It is updated at least once per 'session.' However, if multiple messages are exchanged in a short period, it may not necessarily refer to the last message | 2025-01-08T17:58:48.890Z |
| identity | string | Yes | Unique identifier of the client. | 551199999999@wa.gw.msging.net |
| source | string | Yes | Channel identifier. | |
| name | string | No | Contact name | João da Silva |
| string | No | Contact's email address | joaodasilva@email.com.br | |
| phoneNumber | string | No | Contact's phone number | 99999999 |
| gender | string | No | Contact's gender | male |
| taxDocument | string | No | Contact's identification document (e.g., CPF, CNPJ, ID card) | 901.396.765-33 |
| extras | object | No | Custom additional data related to the contact. |
{ "ticket": "123", "plano": "Golden" } |
Examples
Newly created contact, with no information (Blip Chat channel).
{
"lastMessageDate": "2025-01-08T20:23:51.110Z",
"identity": "6f16a65f-eaec-42e3-ac56-8815269ac06b.blipchatexamplerouter@0mn.io",
"source": "0mn.io"
}
Complete contact with all available fields filled in the Builder (WhatsApp channel)
{
"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"
}
For more information, visit the discussion on the topic in our community or the videos on our channel. 😃