واجهة برمجة واتساب
Broadcast API
Send WhatsApp messages to thousands of recipients with a single API call. Broadcast lists, scheduling, audience segments, and analytics.
Overview
The Broadcast API lets you send a single template message to up to 100,000 recipients in one API call. StartMessaging handles the queueing, rate-limiting (Meta’s throughput tiers), and delivery tracking automatically.
Create a Broadcast
curl -X POST https://api.startmessaging.com/v1/broadcasts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "January Sale Announcement",
"template": {
"name": "january_sale",
"language": { "code": "pt_BR" },
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "{{contact.first_name}}" }
]
}
]
},
"recipients": {
"type": "list",
"phones": [
"5511999999999",
"5511888888888",
"5511777777777"
]
}
}'
Response
{
"broadcast_id": "bcast_abc123",
"status": "queued",
"total_recipients": 3,
"estimated_completion": "2026-01-15T11:00:00Z"
}
Broadcast with Audience Segment
Instead of a phone list, you can target a saved segment:
curl -X POST https://api.startmessaging.com/v1/broadcasts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Premium Users Re-engagement",
"template": {
"name": "reengagement_offer",
"language": { "code": "en" }
},
"recipients": {
"type": "segment",
"segment_id": "seg_premium_inactive_30d"
}
}'
Schedule a Broadcast
Send at a specific time (useful for timezone-optimized campaigns):
{
"name": "Weekend Flash Sale",
"schedule": {
"send_at": "2026-01-18T09:00:00-03:00",
"timezone": "America/Sao_Paulo"
},
"template": { "..." },
"recipients": { "..." }
}
Broadcast Limits by Plan
| Plan | Max Recipients | Broadcasts/Day | Scheduling | |------|---------------|-----------------|------------| | Free | 100 | 1 | ❌ | | Premium | 10,000 | 10 | ✅ | | Enterprise | 100,000+ | Unlimited | ✅ (+ API) |
Check Broadcast Status
curl https://api.startmessaging.com/v1/broadcasts/bcast_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"
{
"broadcast_id": "bcast_abc123",
"name": "January Sale Announcement",
"status": "in_progress",
"total": 3,
"sent": 2,
"delivered": 1,
"read": 0,
"failed": 0,
"progress_percent": 66.7,
"started_at": "2026-01-15T10:30:00Z"
}
Broadcast Analytics
Get detailed analytics after a broadcast completes:
curl https://api.startmessaging.com/v1/broadcasts/bcast_abc123/analytics \
-H "Authorization: Bearer YOUR_API_KEY"
{
"total_sent": 3,
"delivered": 3,
"read": 2,
"replied": 1,
"delivery_rate": 100.0,
"read_rate": 66.7,
"reply_rate": 33.3,
"avg_delivery_time_ms": 2340,
"failed_reasons": {}
}
Best Practices
- Use segments, not raw lists — segments auto-exclude unsubscribed users
- Schedule for optimal times — 10 AM local time typically has highest open rates
- Personalize with parameters — use
{{contact.first_name}}for higher engagement - Monitor quality rating — high complaint rates reduce your messaging tier
- Start small — test with a small group before broadcasting to your full audience
FAQ
What happens if some recipients have blocked my number?
Those messages will show as failed with reason RECIPIENT_BLOCKED. They don’t affect your quality rating.
Can I cancel a scheduled broadcast?
Yes — call DELETE /v1/broadcasts/{broadcast_id} before the scheduled send time. In-progress broadcasts cannot be cancelled.
How fast are broadcasts delivered? Delivery speed depends on your Meta messaging tier. Tier 1 accounts can send to ~1,000 unique users/24h; Tier 4 (unlimited) can send thousands per second. StartMessaging automatically manages the throttling.