Free SMS Marketing API Documentation

Mobile App Integration Guide

Base URL https://api.rcszilla.com/?endpoint={endpoint}

Get Your API Key First

Before sending free SMS marketing messages, create a personal API key in the web panel. This key lets your website, CRM, or automation tool call the API directly.

  1. Log in to the web panel and go to Settings.
  2. Scroll to the API Key section and click Generate Key.
  3. Copy the key and use it in the Authorization: Bearer header of your requests.

Send a Test SMS

Paste your API key, enter a phone number and message, then queue a live SMS request.

JavaScript
https://api.rcszilla.com/?endpoint=queue_sms
{
  "status": "ready"
}

How to Send an SMS

Use queue_sms to add an outgoing SMS to the queue. The Android device/app sends it when it polls the API.

EndpointPOST https://api.rcszilla.com/?endpoint=queue_sms
AuthAuthorization: Bearer YOUR-API-KEY
tostringRecipient phone number, with country code recommended.
messagestringSMS text to send.
channelstringUse sms. Also supports whatsapp.
scheduled_atstringOptional date/time in YYYY-MM-DD HH:MM:SS format.
cURLSend SMS
curl -X POST "https://api.rcszilla.com/?endpoint=queue_sms" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR-API-KEY" \
  -d "{\"to\":\"+40700000000\",\"message\":\"Hello from RCSZilla\",\"channel\":\"sms\"}"
JSONSuccess Response
{
  "success": true,
  "message": "Queued",
  "id": 123
}

API Overview

This is the REST API used by the RCSZilla Android app and web panel for free SMS marketing workflows. Use it to queue outbound messages, report delivery status, submit incoming replies, and synchronize device configuration.

All requests and responses use JSON. All endpoints are served from https://api.rcszilla.com/ and are selected via the ?endpoint= query parameter.

Request Format

Every request must send Content-Type: application/json and an Authorization header (except claim_device, which is public).

HTTPExample Request
POST https://api.rcszilla.com/?endpoint=queue_sms HTTP/1.1
Host: api.rcszilla.com
Content-Type: application/json
Authorization: Bearer YOUR-API-KEY

{"to": "+40700000000", "message": "Hello from RCSZilla", "channel": "sms"}

Response Format

Every response is a JSON object. Successful responses always contain "success": true. Failures contain "success": false and a "message" field.

JSONExample Response - success
{
  "success": true,
  "message": "Queued",
  "id": 123
}
JSONExample Response - error
{
  "success": false,
  "message": "id required"
}

Quick Reference

Endpoint Method Authentication Description
queue_sms POST Bearer Queue an SMS or WhatsApp message to send
claim_device POST - Register a new device (public)
register_device POST Bearer Update device metadata
pending_messages GET Bearer Fetch outgoing message queue
mark_processing POST Bearer Lock a message as in-progress
mark_sent POST Bearer Report message sent
mark_delivered POST Bearer Report delivery receipt
mark_failed POST Bearer Report send failure
submit_reply POST Bearer Submit an incoming message to inbox
queue_status GET Bearer Get single message status
poll POST Bearer Unified heartbeat + queue + config fetch
heartbeat POST Bearer Device keep-alive (deprecated; use poll)
get_config GET Bearer Fetch device configuration
log_outgoing POST Bearer Log a directly-sent message
ack_commands POST Bearer Acknowledge processed commands