Onboarding and Sending Messages

This documentation aims to guide partners on how to onboard clients in the Beta version of Meta’s MM Lite API.

Onboard a Business to MM Lite

Before You Start

In MM Lite, we call onboarding the process where you review and accept the MM Lite API Terms of Service. Onboarding is always performed by the you (client) at a WABA level. There are currently two ways to onboard:

You click on a new onboarding link, log into your Facebook account, select the BM, and accept the Terms of Service.

You receive a notification in your Business Manager under Settings > Requests to accept the terms.

Pre-Onboarding Checklist

Before onboarding, make sure your account meets all the following requirements:

Important Notes

  • MM Lite onboarding happens at the Business Manager level, meaning onboarding must be done by each client per BM

  • The link will only work for users with Admin access to the client’s BM.

Using Embedded Signup (ES)

You can onboard your business to the MM Lite API using the Alpha-Beta-Onboarding service.

2

Log in and click “Add a new number”

3

When prompted, select the following options:

4

Start the Embedded Signup (ES) process

5

When asked, select the correct Business Portfolio to continue

6

Accept the Terms of Service

7

Click "Finish"

🎥 Need help? Watch this step-by-step tutorial to guide your client through the process.

How to onboard on MM Lite Beta

With a request from your Integration Partner

If you received a request from your Integration Partner, you should (with Admin permissions in the Business Manager):

2

Find the MM Lite onboarding request

3

Click to view and accept the Terms of Service

Once accepted, MM Lite is active for that Business Manager.

Once the ES process is completed:

  • All eligible WABAs in the account will be allowed to use MM Lite.

  • The onboarding takes up to 10 minutes after completing the ES process.

  • Any new WABAs added after onboarding will require a new ES process to enable MM Lite.


Sending Messages with MM Lite

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

# MM Lite (new)
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 Message with TTL using MM Lite API

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.

Handling Webhooks

With MM Lite, you don’t need to change your webhook setup. You will keep receiving the usual events (sent → delivered → read) the same way as with the Cloud API.

The only difference: when you send via /marketing_messages with "message_activity_sharing": true, you also get a click event whenever a user taps the CTA link in your template.

This makes it easier to track performance and optimize campaigns without changing your current logic.

Webhook events received:

This event includes the value "marketing_lite" to indicate that it was sent using the MM Lite API:

{
"object": "whatsapp_business_account",
"entry": [
{
"id": "WHATSAPP_BUSINESS_ACCOUNT_ID",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "BUSINESS_DISPLAY_PHONE_NUMBER",
"phone_number_id": "BUSINESS_PHONE_NUMBER_ID"
},
"statuses": [
{
"id": "<WHATSAPP_MESSAGE_ID>",
"status": "sent",
"timestamp": "TIMESTAMP",
"recipient_id": "<CUSTOMER_PHONE_NUMBER>",
"conversation": {
"id": "<conversation_id>",
"expiration_timestamp": "TIMESTAMP",
"origin": {
"type": "marketing_lite"
}
},
"pricing": {
"billable": true,
"pricing_model": "CBP",
"category": "marketing_lite"
}}]},
"field": "messages"
}]}]}

Last updated

Was this helpful?