Send Marketing Messages with MM API – Hibot Guide
- Bot Automation

- Apr 6
- 4 min read
The Marketing Messages API is only for sending marketing template messages.
To send:
Authentication messages
Utility messages
Freeform messages
Receive customer replies
you must continue using the normal WhatsApp Business API /messages endpoint alongside MM API.
With Hibot, both can work together on the same phone number.
Supported Message Types
The /marketing_messages endpoint supports only:
Approved Marketing Templates
It does not support:
Text messages
Authentication templates
Utility templates
Interactive non-template messages
If you try to send unsupported message types, WhatsApp returns an error.
Endpoint
Use:
POST /<PHONE_NUMBER_ID>/marketing_messages
Example:
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "919876543210",
"type": "template",
"template": {
"name": "summer_sale",
"language": {
"code": "en_US"
}
}
}
Important Template Sync Delay
When you create a new marketing template, it may take up to 10 minutes before it is fully usable with MM API.
This sync is required for:
Delivery optimization
Click tracking
Conversion tracking
The same 10-minute delay also applies if:
The template was inactive for more than 7 days
You are sending the first message after a long pause
Best practice:
Wait at least 10 minutes after creating or reactivating a template before sending real campaigns.
Time-To-Live (TTL)
MM API allows marketing templates to expire automatically if they are no longer relevant.
TTL range:
Minimum: 12 hours
Maximum: 30 days
Example:
{
"messaging_product": "whatsapp",
"to": "919876543210",
"type": "template",
"template": {
"name": "flash_sale",
"language": {
"code": "en_US"
}
},
"time_to_live": 43200
}
43200 = 12 hours
If the message is not delivered within 12 hours, it automatically expires.
Automatic Creative Optimizations
MM API automatically improves your marketing messages to increase engagement.
Meta reports these optimizations increased click-through rate by around 13.9%.
Possible automatic improvements include:
Image enhancements
Headline extraction
Promotion tags
Better text formatting
Product suggestions
Improved link formatting
Available Automatic Optimizations
Optimization | Description |
Image Filtering | Improves image quality and appeal |
Headline Extraction | Creates a headline from important text |
Tap Target Title | Creates a title above CTA area |
Text Formatting | Bolds or cleans text formatting |
Auto Promotion Tag | Extracts offers like “50% OFF” |
Product Extensions | Adds related catalog products |
Link Formatting | Shortens or beautifies URLs |
Image Banner | Adds padding to improve image size |
Currently Paused Optimizations
These features are currently paused and may not be applied:
Image Cropping
Text Overlay
Image Animation
Background Generation
Even if enabled, they may not appear right now.
Configure Optimizations at Template Level
By default, all optimizations are enabled.
You can enable or disable specific optimizations for a single template when creating or editing it.
Example:
{
"name": "summer_sale",
"language": "en_US",
"degrees_of_freedom_spec": {
"creative_features_spec": {
"auto_promotion_tag": {
"enroll_status": "OPT_IN"
},
"text_formatting_optimization": {
"enroll_status": "OPT_OUT"
},
"product_extensions": {
"enroll_status": "OPT_OUT"
}
}
}
}
Possible values:
OPT_IN
OPT_OUT
Get Template Optimization Settings
To view which optimizations are active for a template:
GET /<TEMPLATE_ID>?fields=degrees_of_freedom_spec
Example response:
{
"degrees_of_freedom_spec": {
"creative_features_spec": [
{
"key": "AUTO_PROMOTION_TAG",
"value": {
"enroll_status": "OPT_IN"
}
},
{
"key": "TEXT_FORMATTING_OPTIMIZATION",
"value": {
"enroll_status": "OPT_OUT"
}
}
]
}
}
Configure Optimizations for Entire WABA
You can also apply optimization settings to your entire WhatsApp Business Account.
Example:
{
"degrees_of_freedom_spec": {
"creative_features_spec": {
"auto_promotion_tag": {
"enroll_status": "OPT_IN"
},
"text_extraction_for_headline": {
"enroll_status": "OPT_IN"
},
"product_extensions": {
"enroll_status": "OPT_OUT"
}
}
}
}
This affects all future templates unless overridden at the template level.
Product Policy
MM API can automatically fall back to normal Cloud API if your onboarding is incomplete.
You can control this using product_policy.
Option 1: Cloud API Fallback
{
"product_policy": "CLOUD_API_FALLBACK"
}
If MM API is unavailable, the message will still send using Cloud API.
Option 2: Strict Mode
{
"product_policy": "STRICT"
}
With STRICT, the message will fail instead of falling back.
Use this if you only want the message sent through MM API.
Message Activity Sharing
You can optionally control whether Meta can use message activity (such as reads or clicks) to improve optimization.
Example:
{
"message_activity_sharing": true
}
Options:
true = Allow sharing for better optimization
false = Do not share activity
If omitted, your WABA default setting is used.
Example Full Request
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "919876543210",
"type": "template",
"template": {
"name": "festival_offer",
"language": {
"code": "en_US"
}
},
"product_policy": "CLOUD_API_FALLBACK",
"message_activity_sharing": true,
"time_to_live": 86400
}
This request:
Sends a marketing template
Allows fallback to Cloud API
Shares message activity
Expires after 24 hours
Status Webhook Response
When the message is sent through MM API, the webhook returns:
{
"conversation": {
"origin": {
"type": "marketing_lite"
}
},
"pricing": {
"category": "marketing_lite"
}
}
If the message falls back to Cloud API:
{
"pricing": {
"category": "marketing"
}
}
This helps you identify which system actually sent the message.
Receiving Replies
MM API is send-only.
It cannot receive customer messages.
To receive replies, you must also use:
POST /<PHONE_NUMBER_ID>/messages
and keep your WhatsApp webhook connected through Cloud API.
This means:
MM API = Send marketing campaigns
Cloud API = Receive replies + send other message types
Best Practice for Hibot Users
Use this setup:
Purpose | Endpoint |
Marketing campaigns | /marketing_messages |
Utility / Authentication | /messages |
Customer replies | Cloud API webhook |
Time-sensitive promotions | MM API + TTL |
Better engagement | Enable creative optimizations |
Final Thoughts
For the best WhatsApp marketing performance in Hibot:
Use approved marketing templates
Wait 10 minutes after template creation
Send through /marketing_messages
Enable creative optimizations
Use TTL for time-sensitive campaigns
Keep Cloud API active to receive replies
.png)
Comments