Messaging Channels
SMS, email, WhatsApp queues, and reply handling
RCSZilla supports three messaging channels: SMS, WhatsApp, and email. The public REST queue endpoint (queue_sms / queue_bulk) accepts all three — sms and whatsapp are delivered via the Android device or SMS provider, and email is delivered through your configured SMTP servers.
Channel Summary
| Channel | Where It Is Used | Delivery Path |
|---|---|---|
| sms | Direct API sending, campaigns, inbox replies, reminders | Queued with queue_sms, then sent by the Android device or provider flow. |
| WhatsApp queue items and reply automation | Queued with queue_sms using "channel": "whatsapp", then fetched by the Android app through poll. |
|
| Direct API sending and email campaigns | Queued with queue_sms using "channel": "email" (requires subject), then sent through your configured SMTP servers. |
Send SMS by API
Use queue_sms with "channel": "sms". The response returns the queued message ID.
{
"to": "+40700000000",
"message": "Your SMS text",
"channel": "sms"
}
Queue WhatsApp
Use the same endpoint with "channel": "whatsapp". The Android app receives WhatsApp queue items in the whatsapp array returned by poll.
{
"to": "+40700000000",
"message": "Your WhatsApp message",
"channel": "whatsapp"
}
WhatsApp Replies
Incoming replies are posted with submit_reply. If an auto-reply rule matches, the API returns reply and reply_queue_id so the app can send the response and mark it sent.
{
"from_phone": "+40700000000",
"message": "Customer reply text",
"channel": "whatsapp"
}
Send Email by API
Use queue_sms with "channel": "email". For email, to is an email address and subject is required; message is the body (HTML or plain text). If you omit smtp_server_id, RCSZilla auto-rotates across your configured SMTP servers (round-robin). Configure SMTP servers in the web panel under Email Servers first.
{
"to": "customer@example.com",
"subject": "Your order has shipped",
"message": "<p>Hi, your order is on its way!</p>",
"channel": "email",
"smtp_server_id": 3
}
smtp_server_id is optional. The response includes the resolved smtp_server_id that was used.
Scheduled Delivery
For API queued SMS, WhatsApp, or email messages, add scheduled_at to delay sending until a future date/time.
{
"to": "+40700000000",
"message": "Scheduled reminder",
"channel": "sms",
"scheduled_at": "2026-05-02 15:30:00"
}