---
title: "Send Flow with Message Template"
method: POST
path: "/v3/messages"
tags: ["Messages"]
---

# Send Flow with Message Template

`POST /v3/messages`

When a WhatsApp Message Template includes a Static WhatsApp Flow, the Flow becomes an integral part of the message template definition. It is delivered automatically whenever that message template is sent to an end user.  This delivery method is designed for outbound communication scenarios, where the business initiates the interaction without relying on an active customer conversation window.  From a sending perspective, the message template acts as the entry point, while the Flow represents the interactive experience that the user launches by selecting the message template’s call-to-action (CTA) button. Once the CTA is tapped, WhatsApp renders the associated Flow directly within the chat.

## Request body

- MessageRequestV3 — Whatsapp Message Request
  - `placeholders` object — Object that contains the personalized values assigned to each variable defined in the text header, body, or both.
  - `templateName` string — Name of the Message Template created and approved in your WhatsApp Business Account.
  - `templateLanguage` string — <p>Message Template Language you set when creating the message template.</p>Currently the API supports 3 Languages: English, Spanish and Portuguese. Required if you want to send message templates in languages other than English.<p></p><p><b>English</b>: <code>´en´</code></p><p><b>Spanish</b>: <code>´es´</code></p><p><b>Portuguese</b>: <code>´pt_BR´</code>, <code>´pt_PT</code></p>
  - `externalId` string — Alphanumeric identifier used for reporting purposes
  - `callbacks` string[] — <p>Indicate one or more (separated by a comma) webhook URLs to notify about the status of the message delivery. That is, if you want to receive the status of the message you've sent to your contacts, you need to specify your endpoint</p> <p>Your endpoint must have an <b>HTTP POST</b> access method and receive a JSON body</p> <p>The URL is the external callback where the events of the Email will be registered and published. Once an email is processed, its status will be posted to your callback URL</p> <p>To view the full list and meaning of each status, please refer to the <a href=https://docs.messangi.com/docs/whatsapp-status target=´_blank´> WhatsApp Status</a> section.</p>
  - `from` string, required — <p>Phone number of the sender.</p> <p>The phone number provided during the WABA account setup will be used as the sender of the notification message.</p> <p><b>Only accepts numeric characters. Do not include the ´+´ sign.</b></p>
  - `to` string, required — Determines the destination phone number for your message template. Numbers are specified in E.164 format → (‘+’ and a country code).

## Response `202`

Message accepted for processing

- MessageResponseV3 — Message info response
  - `meta` MetadataDTO
    - `timestamp` integer, required — Transaction's date in timestamp
    - `transactionId` string, required — Id for the current transaction (Endpoint's call)
    - `explain` string — Explain string in case of failure
  - `data` MessageDTO — Data contained in the Message object.
    - `id` string — Unique identifier of the WhatsApp message.
    - `from` string — <p>Phone number of the sender.</p> <p>Phone number provided during the WABA account setup will be used as the sender of the notification message.</p> <pOnly accepts numeric characters. Do not include the ´+´ sign.</p>
    - `to` string — Determines the destination phone number for your message. Numbers are specified in E.164 format → (‘+’ and a country code).
    - `statusDate` string, date-time — Date when the last update or status change.
    - `externalId` string — Alphanumeric identifier used for reporting purposes
    - `owner` string — Owner or creator of the message
    - `operator` string — User who is a member of the owner or creator’s Workspace
    - `status` string — <p>When a Message is sent, the system assigns one of the following possible status to a WhatsApp message:</p><p><ul></p> <p><li><code>´CODE_NOT_ALLOWED´</code>: Messangi suggests that the WhatsApp Business Account (WABA) used is either not activated on the platform or lacks the capability to message the recipient. Additionally, it could be because the owner does not have a WABA assigned , which is required to send the message. <p>Contact our support team to verify the WABA.</p></li></p> <p><li><code>´INCOMPLETE´</code>: Messangi indicates that a personalized WhatsApp message was sent without the necessary placeholder data filled in. <p>Please note, personalized messages are those that feature dynamic fields—like ´Name´, ´Phone Number´, ´Last Name´, and similar—which need to be populated before sending.</p</li></p> <p><li><code>´BLACKLISTED´</CODE>: Messangi indicates that the intended recipient's phone number is on a blacklist, preventing any messages from being sent to that number.</p> <p>When a number is blacklisted, it is essentially blocked from receiving any further communications from the sender's number or broadcast, ensuring that no messages are delivered to that recipient.</p></li></p> <p><li><code>´QUOTA_EXCEEDED´</code>: The WhatsApp Business Account (WABA) has surpassed the allowed limit for sending messages within a specified period, as defined by WhatsApp's messaging policies or limits.</p</li></p> <p><li><code>´SENT´</code>: Indicates that the message has been successfully dispatched from our system and is en route to META. This status means that the message is on its way to the recipient but <b>does not confirm that the message has been delivered</b> to the end user. It signifies a successful handoff to the next stage in the message delivery process.</p</li></p> <p><li><code>´DELIVERED´</code>: Messangi has received confirmation of message delivery from META. <p>The message has successfully reached the recipient's device. This status confirms that the message not only was sent and processed by META but also was received by the intended recipient's WhatsApp application, ensuring that the communication was successfully completed.</p</li></p> <p><li><code>´READ´</code>: Indicates that the recipient has opened and seen the message.</p</li></p> <p><li><code>´FAILED´</code>: Indicates that META could not deliver the message to the recipient's device.</p</li></p>

## Other responses

- `400` — Bad Request
- `401` — unauthorized: malformed jwt
- `410` — gone: expired jwt
- `500` — Internal Server Error

---

[API](https://skmtc.dev/messangi/apis/raven.md) · [All operations](https://skmtc.dev/messangi/apis/raven/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/messangi/raven/revisions/c87f398fa338/schema)
