Sending Messages

In this section, you will find a brief comparison between Cloud API and MM Lite, along with step-by-step instructions on how to send Marketing Messages using the MM Lite Beta API.

Sending a Marketing Template message using Cloud API vs MM Lite

The /marketing_messages endpoint supports only Marketing template messages. All other message types (freeform, Authentication, Service, Utility) are not supported, and will produce an error.

To send Marketing templates, only the URL must be changed when compared with Cloud API. The body content of the message should remain:

Cloud API
MM Lite Beta

https://waba-v2.360dialog.io/messages

https://waba-v2.360dialog.io/marketing_messages

For details on the template body, you can check the Cloud API documentation, as the MM Lite API uses the same API payload syntax and requires the same permissions:

curl --location 'https://waba-v2.360dialog.io/marketing_messages' \
--header 'Content-Type: application/json' \
--header 'D360-API-KEY: <token>' \
--data '{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "<number>",
  "type": "template",
  "template": {
    "name": "marketing_text_no_param",
    "language": {
      "policy": "deterministic",
      "code": "en"
    }
  }
}'

Sending a Marketing Message Template

To send a template message you will need to use a POST request:

POSThttps://waba-v2.360dialog.io/marketing_messages

Headers

Name
Value
Description

Content-Type

application/json

D360-API-KEY

Bearer <token>

D360-API-KEY received after approval to participate in this program

Body

Field
Required
Description

messaging_product

Yes

"whatsapp"

recipient_type

Yes

"individual"

to

Yes

Recipient phone number in international format. Example: "441234567890"

type

Yes

"template"

template.name

Yes

"marketing_text_no_param"

template.language.code

Yes

"en"

template.language.policy

Yes

"deterministic"

message_activity_sharing

Optional

Set to true to enable activity sharing (can be removed if not needed)

curl --location 'https://https://waba-v2.360dialog.io/marketing_messages' \
--header 'Content-Type: application/json' \
--header 'D360-API-KEY: <token>' \
--data '{
    "messaging_product": "whatsapp",
    "recipient_type": "individual",
    "to": "<<RECIPIENT_PHONE_NUMBER>>",
    "type": "template",
    "template": {
        "name": "marketing_text_no_param",
        "language": {
            "policy": "deterministic",
            "code": "en"
        }
    },
    "message_activity_sharing":true
}'

Response

An usual Cloud API response is expected after a successful message sent using MM Lite API.

{
    "messaging_product": "whatsapp",
    "contacts": [
        {
            "input": "<phone number>",
            "wa_id": "<<waba id>"
        }
    ],
    "messages": [
        {
            "id": "wamid.HBgLNTk4OTQ3MTQ0NjMVAgARGBJDNjM1NUM2OEEyMDU4REZERTgA"
        }
    ]
}

Sending a Marketing Template with TTL using MM Lite

MM Lite API provides additional features that are not available to Marketing templates on Cloud API.

This means you can include and set the value of the message_send_ttl_seconds in the payload of your Marketing Message Template to test this feature.

What is Time-To-Live (TTL) for Marketing template messages?

If Meta is unable to deliver a message to a WhatsApp user, they will continue attempting to deliver the message for a period of time known as a time-to-live (TTL), or message validity period.

TTL is available for Authentication and Utility template messages on Cloud API, but TTL for Marketing template messages is exclusively available on Marketing Messages Lite API.

See our documentation on How to set a TTLs for Marketing template messages.

Creating new Marketing Templates

You can continue to use the same method you already use to create the Marketing Templates.

After a Marketing Template is created for the phone number, it may take up to 10 minutes to sync with the connected Ad account. This sync enables message optimization and conversion tracking. The same delay applies if a template has been inactive for more than 7 days—sync will resume after the first new use.

To ensure proper delivery and tracking, wait a bit more than 10 minutes before sending marketing traffic with a newly created or reactivated template. MM Lite API supports all active Marketing templates.

Optional Message Activity Sharing

For MM Lite API it is possible to add a new property at the message level that toggles on/ off sharing message activities (e.g. message read) for that specific Marketing Message to Meta to help optimize marketing messages.

If this parameter is not provided, the default WABA-Level setting will be applied. “message_activity_sharing”: <true / false>

You can always edit your default setting in Business Settings on Facebook Manager.


Note on Message Delivery

Messages sent through MM Lite may take longer to be delivered. This is because MM Lite uses an automated and optimized delivery system developed by Meta.

As part of this optimization process, additional processing steps are introduced, which may result in slight delays. The system is designed to prioritize message delivery to users who are more likely to engage, rather than delivering to all recipients immediately.

You can learn more about how this delivery model works in the official Meta documentation.

Last updated

Was this helpful?