Sending Flow Messages

Use this API to send flow messages.

To send a flow message, make a POST call to /messages and attach a message object with type=flow .

Parameters

This is the main parameter used in sending Flow message requests:

NameDescription

to

Required

WhatsApp ID or phone number for the person you want to send a message to.

The phone numbers in these requests can be provided in any dialable format, as long as they include their country code. It's recommended that you explicitly prefix the country code with a plus sign (+).

Here are some examples of supported phone number formats:

  • +1-000-000-0000
  • +1 (000) 000-0000
  • +1 000 000 0000
  • +1 (000) 000 0000

reply_message_id

Optional
You can send any message as a reply to a previous message in a conversation by including the previous message's ID. The recipient will receive the new message along with a contextual bubble that displays the previous message's content.

type

Required
The type of message you want to send. Set this as individual

flow

.

flow

Required
A flow object

flow.id

Required
A flow ID

flow.token

Required
A flow token

flow.text

Required
A flow button text

flow.screen

Required
A flow screen name

flow.param

Required
A flow param object

flow.param.header

Optional
A flow header param object

flow.param.header.type

Optional
Describes the parameter header type.

Supported values:

  • text
  • media

flow.param.header.media

Optional

Required

when type=media.

The protocol and URL of the media to be sent. Use only with HTTP/HTTPS image URLs.

flow.param.header.text

Optional

Required

when type=text.

The message`s header text.

flow.param.body

Required
The message`s body text.

flow.param.footer

Optional
The message`s footer text.

Example

Sample request:

curl -X POST 'https://waofficial-rm.botika.online/api/whatsapp/v1/messages' \
-H 'Authorization: Bearer {{ API_TOKEN }}' \
-H 'Content-Type: application/json' \
-d '{
    "to": "+62821xxxxxx",
    "reply_message_id": "{{ MESSAGE_ID }}",
    "type": "flow",
    "flow": {
        "id": "FLOW_ID",
        "token": "RANDOM_STRING_FOR_FLOW_TOKEN",
        "text": "FLOW_BUTTON_TEXT",
        "action": "nagivate | data_exchange",
        "screen": "FLOW_SCREEN_NAME",
        "param": {
            "header": {
                "type": "media | text",
                "media": "URL_IMAGE" # if media
                "text": "TEXT_HEADER" # if text
            },
            "body": "TEXT_BODY",
            "footer": "TEXT_FOOTER"        
        }
    }
}'

A successful response includes an object with an identifier for the message:

{
    "data": {
        "status": "{{ MESSAGE_STATUS }}"
        "message": "Message Sent!"
        "request_id": "{{ unique request_id from route mobile }}"
    }
}

Copyright © 2025 Botika Teknologi Indonesia