Interactive replies
Last update: 6 hours ago by Irais Aguirre
Integration summary
- Delivery: WhatsApp → Concepto Móvil →
POSTto your webhook URL (the one you share with our Operations team), with a JSON body.- Format: Meta's
valueobject withoutmetadataormessaging_product(see Webhook).- Identify the user:
from/recipient_idor, if missing, the BSUID.- Types on this page:
interactive(button_reply,nfm_reply),button,order(typevalues)
Your customer's replies to interactive messages and quick reply buttons, shopping carts, and WhatsApp Flows replies. They arrive with the same general structure as other message notifications (contacts and messages).
Quick reply for interactive messages
The type field is "interactive" and interactive.type is "button_reply".
Structure
Fields for Quick reply for interactive messages:
| Name | Description | Type | Requirements |
|---|---|---|---|
| context | Object that contains information about a related message. | Object | Required. |
| button_reply | Reply button. | Object | Required. |
Interactive message context object
| Name | Description | Type | Requirements |
|---|---|---|---|
| from | Phone number (with country code) of the sender of the quoted message or of the message associated with the button. | String | Required. |
| id | Internal ID of the quoted message or of the message associated with the button (the id returned by the send API). | String | Required. |
Example
Complete Quick reply for interactive messages example:
{"contacts": [{"profile": {"name": "Héctor"},"wa_id": "5215500000001"}],"messages": [{"context":{"from": "5215541697885","id": "NTI1NTIwNzc3MDU41qeKUOpTHmS"},"from": "5215500000001","id": "wamid.HBgNNTIxNTUyMDc3NzA1OBUCABIYFDNBMDFEMDFEOTFFMkE0NEU4MThBAA==","timestamp": "1617061836","type": "interactive","interactive": {"type": "button_reply","button_reply": {"id": "3","title": "Noodle soup"}}}]}
Shopping cart
The type field is "order".
Structure
Fields for Shopping cart:
| Name | Description | Type | Requirements |
|---|---|---|---|
| order | Purchase order. | Object | Required. |
Order object
| Name | Description | Type | Requirements |
|---|---|---|---|
| catalog_id | Catalog ID. | String | Required. |
| product_items | List of product items. | Object list | Required. |
Product item object
| Name | Description | Type | Requirements |
|---|---|---|---|
| currency | Currency. | String | Required. |
| item_price | Product price. | Number | Required. |
| product_retailer_id | Product ID. | String | Required. |
| quantity | Quantity to purchase. | Number | Required. |
Example
Complete Shopping cart example:
{"contacts": [{"profile": {"name": "John Smith"},"wa_id": "5215500000001"}],"messages": [{"from": "5215500000001","id": "ABGHUhVUByKUHwIKPrA13J63aX1gRA","timestamp": "1617061836","type": "order","order":{"catalog_id": "1374748992926971","product_items":[{"currency": "MXN","item_price": 800,"product_retailer_id": "ING_0001","quantity": 1}],"text": "I want this one"}}]}
WhatsApp Flows
Reply your customer sends when they complete a Flow. The type field is "interactive" and interactive.type is "nfm_reply".
Structure
Fields for WhatsApp Flows:
| Name | Description | Type | Requirements |
|---|---|---|---|
| type | The value is "nfm_reply" or "list_reply". | String | Required. |
| nfm_reply | Holds the data received from the customer. | Object | Required. |
| list_reply | Option selected by the user from a list. | Object | Optional. |
Nfm_reply object
| Name | Description | Type | Requirements |
|---|---|---|---|
| response_json | The values of the fields the user filled in, as JSON. Always present. | String | Required. |
| body | The value is "Sent". | String | Required. |
| name | The value is "flow". | String | Required. |
List_reply object
| Name | Description | Type | Requirements |
|---|---|---|---|
| id | Identifier of the selected option. | String | Required. |
| title | Title of the selected option. | String | Required. |
| description | Description of the selected option. | String | Optional. |
Example
Complete WhatsApp Flows example:
{"contacts":[{"profile":{"name": "Héctor"},"wa_id": "5215520777058"}],"messages":[{"context":{"from": "5215541697885","id": "NTI1NTIwNzc3MDU41qeKUOpTHmS"},"from": "5215520777058","id": "wamid.HBgNNTIxNTUyMDc3NzA1OBUCABIYFDNBMEREMUE4QjIxMEM3MDE3RjQ4AA==","timestamp": "1711568359","type": "interactive","interactive":{"type": "nfm_reply","nfm_reply":{"response_json": "{\"first_name\":\"Hector\",\"last_name\":\"Hernandez\",\"flow_token\":\"FLOW_TOKEN\",\"products\":[\"mobile\",\"data\"],\"email\":\"Hector.hernandez@conceptomovil.com\"}","body": "Sent","name": "flow"}}}]}
