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.
Log in and click “Add a new number”
When prompted, select the following options:
Start the Embedded Signup (ES) process
When asked, select the correct Business Portfolio to continue
Accept the Terms of Service
Click "Finish"
🎥 Need help? Watch this step-by-step tutorial to guide your client through the process.
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):
Find the MM Lite onboarding request
Click to view and accept the Terms of Service
Once accepted, MM Lite is active for that Business Manager.
Sending Messages with MM Lite
To send a template message you will need to use a POST request:
POST
https://waba-v2.360dialog.io/marketing_messages
Headers
Content-Type
application/json
D360-API-KEY
Bearer <token>
D360-API-KEY received after approval to participate in this program
Body
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.
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.
At the moment, it’s not possible to know which phone number clicked. You only get the event itself.
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?