Conversations
WhatsApp Two-Way Messaging API
The WhatsApp two-way messaging API enables real-time conversations between your team and your customers. Unlike one-way notifications, the WhatsApp inbound message API allows customers and agents to respond—all managed through a unified inbox or programmatically via the Messages API.
Overview
Dexatel Conversations aggregates inbound and outbound WhatsApp messages into threaded conversation views. You can manage conversations through the Dexatel web dashboard or build custom workflows via the REST API.
Key Features
- Unified inbox — WhatsApp, SMS, and Viber messages in one place
- Agent assignment — route conversations to specific team members
- Conversation history — full message thread with timestamps and delivery status
- Search and filters — find conversations by number, date, or status
- Multi-brand support — manage multiple WhatsApp senders from one account
The 24-Hour Messaging Window
Important: WhatsApp Messaging Rules
The WhatsApp 24-hour window API restricts outbound messages to users who have not initiated contact within the last 24 hours. Within this window, you can reply freely without a pre-approved template.
- Within 24 hours of a user message: You can send any content freely (no template required)
- After 24 hours of inactivity: You must use a pre-approved template to re-engage the user
This window resets every time the customer sends a message to you.
Sending a Reply (Within the 24-Hour Window)
When a customer sends you a WhatsApp message, you have a 24-hour window to reply freely with any content. Use the same POST /v1/messages endpoint:
curl -X POST "https://api.dexatel.com/v1/messages" \
-H "X-Dexatel-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"channel": "WHATSAPP",
"from": "MyBusiness",
"to": ["14155552671"],
"type": "text",
"text": "Hi Sarah! Thanks for reaching out. Your refund of $29.99 has been processed and will appear within 3-5 business days."
}
}'Sending a Re-engagement Message (Template Required)
To proactively contact a user who has not messaged you in the last 24 hours, use an approved re-engagement template:
curl -X POST "https://api.dexatel.com/v1/messages" \
-H "X-Dexatel-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"channel": "WHATSAPP",
"from": "MyBusiness",
"to": ["14155552671"],
"template": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}'Blacklist Management
Users who opt out of WhatsApp messages should be added to the sender's blacklist to prevent future messages. This is managed per sender.
Add a Number to the Blacklist
curl -X POST "https://api.dexatel.com/v1/senders/{sender_id}/blockers" \
-H "X-Dexatel-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"number": "14155552671"
}
}'Remove a Number from the Blacklist
curl -X DELETE "https://api.dexatel.com/v1/senders/{sender_id}/blockers/14155552671" \
-H "X-Dexatel-Key: YOUR_API_KEY"Blacklists are scoped per sender. A number blocked on one WhatsApp sender is not automatically blocked on other senders or on SMS/Viber senders.
Conversation Message Statuses
sent
Message accepted and queued
enroute
Being delivered to WhatsApp network
delivered
Confirmed delivered to device
read
User has opened the message
failed
Permanent delivery failure
unsubscribed
User has opted out — do not re-message
Updated about 2 hours ago