RCSZilla Версія 1.0

Send a Message

Queue a single SMS, WhatsApp, or email message

queue_sms

POST /?endpoint=queue_sms

Queue one outbound message. The same endpoint sends all three channels — choose with the channel field. SMS and WhatsApp are delivered by your Android device or SMS provider; email is delivered through your configured SMTP servers.

Authentication

Send your API key as a Bearer token. Generate one in the web panel under Settings → API Key.

Header
Authorization: Bearer YOUR-API-KEY

Body Parameters

FieldTypeDescription
tostring required Recipient. A phone number (with country code) for sms/whatsapp, or an email address for email.
messagestring required The message body. For email this is the email body (HTML or plain text).
channelstring optional sms (default), whatsapp, or email.
subjectstring conditional Required when channel=email. Ignored for SMS/WhatsApp.
smtp_server_idinteger optional Email only. The SMTP server to send through. Omit to auto round-robin across your configured servers.
scheduled_atstring optional Delay delivery until a future time. Format YYYY-MM-DD HH:MM:SS.

Send an SMS

cURL
curl -X POST "https://api.rcszilla.com/?endpoint=queue_sms" \
  -H "Authorization: Bearer YOUR-API-KEY" \
  -H "Content-Type: application/json" \
  -d '{"to":"+40700000000","message":"Your SMS text","channel":"sms"}'

Send a WhatsApp Message

JSONRequest Body
{
  "to": "+40700000000",
  "message": "Your WhatsApp message",
  "channel": "whatsapp"
}

Send an Email

For email, to is an address and subject is required. Configure SMTP servers in the web panel under Email Servers first. Omit smtp_server_id to let RCSZilla rotate across them automatically.

JSONRequest Body
{
  "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
}

Schedule for Later

Add scheduled_at to any channel to delay sending.

JSONRequest Body
{
  "to": "+40700000000",
  "message": "Scheduled reminder",
  "channel": "sms",
  "scheduled_at": "2026-05-02 15:30:00"
}

Response

JSON200 OK
{
  "success": true,
  "message": "Queued",
  "id": 1042
}

For email, the response also echoes the smtp_server_id that was used (useful when you let RCSZilla auto-rotate):

JSON200 OK (email)
{
  "success": true,
  "message": "Queued",
  "id": 1043,
  "channel": "email",
  "smtp_server_id": 3
}
*
Track a queued message with queue_status, or send many at once with queue_bulk.

Errors

StatusMessageCause
400to (phone number) is requiredMissing to on an SMS/WhatsApp send.
400to is not a valid email addresschannel=email with a malformed to.
400subject is required for channel=emailEmail send without a subject.
400No SMTP server configured for this accountEmail send but no SMTP server exists to rotate to.
400smtp_server_id not found for this accountExplicit smtp_server_id that isn't yours.
401UnauthorizedMissing or invalid API key.