# Send Interactive Messages

{% hint style="info" %}
We partially support interactive messages. These messages will appear in the conversation history as encoded JSON within a text-type message, preserving their original structure and content.&#x20;
{% endhint %}

## Reply with Interactive Message

<mark style="color:green;">`POST`</mark> `/v.1.1/org/:orgId/whatsapp/appuser/:appuser/reply`

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Body**

| Name          | Type   | Description                                                                                                                                                                                                                                                                                             |               |        |         |             |
| ------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------ | ------- | ----------- |
| `type`        | string | <p>The type of the message<br>e.g 'text'                                                                                                                                                                                                                                                                | 'interactive' | 'file' | 'video' | 'image'</p> |
| `interactive` | object | <p>The body of the interactive message<br><br>further documentation can be found here<br><a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages/#interactive-object">Meta Documentation</a></p>                                                                            |               |        |         |             |
| `flow_token`  | string | <p>Generated by the business to serve as an identifier.<br></p><p>It will be sent as part of each request. You should always verify that token on your server to block any other unexpected requests. Required for Flows with endpoint.</p><p></p><p>The token will come back in the webhook event.</p> |               |        |         |             |
| `flow_id`     | string | The ID of the flow, obtained from the META business portal.                                                                                                                                                                                                                                             |               |        |         |             |
| `flow_cta`    | string | The text of the button to open the flow.                                                                                                                                                                                                                                                                |               |        |         |             |

{% tabs %}
{% tab title="Interactive List Message" %}

```bash
curl -X POST "https://www.channel360.co.za/v1.1/org/{orgId}/whatsapp/appuser/{appUser}/reply" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: */*" \
  -d '{
    "type": "interactive",
    "interactive": {
      "type": "list",
      "header": {
        "type": "text",
        "text": "CSAT Survey"
      },
      "body": {
        "text": "How likely are you to recommend whatsapp to a friend?"
      },
      "footer": {
        "text": "Please make your selection"
      },
      "action": {
        "button": "Answers",
        "sections": [
          {
            "title": "Your score:",
            "rows": [
              { "id": "001", "title": "1" },
              { "id": "002", "title": "2" },
              { "id": "003", "title": "3" },
              { "id": "004", "title": "4" },
              { "id": "005", "title": "5" }
            ]
          }
        ]
      }
    }
  }'

```

{% endtab %}

{% tab title="Interactive Flow Message" %}

```bash
curl -X POST "https://www.channel360.co.za/v1.1/org/{orgId}/whatsapp/appuser/{appUser}/reply" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: */*" \
  -d '{
    "type": "interactive",
    "interactive": {
      "type": "flow",
      "header": {
        "type": "text",
        "text": "Hello!"
      },
      "body": {
        "text": "How likely are you to recommend whatsapp to a friend?"
      },
      "footer": {
        "text": "Powered by Channel Mobile"
      },
      "action": {
        "name": "flow",
        "parameters": {
          "flow_message_version": "3",
          "flow_token": "123456",
          "flow_id": "2393058303453469",
          "flow_cta": "Start Flow"
        }
      }
    }
  }'

```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.channel360.co.za/api-usage/using-the-channel360-v1.1-api/conversations/send-interactive-messages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
