Your own +971 number
Pair the WhatsApp number your customers already have saved, as a linked device. It keeps working on the phone.
A WhatsApp messaging API for Dubai and UAE businesses: send from your app, get replies and delivery status on a webhook, schedule in Gulf time, and test free.
Free Sandbox, no card needed. Pair a UAE number and send your first message in about 10 minutes.
Pair the WhatsApp number your customers already have saved, as a linked device. It keeps working on the phone.
Send any text, picture, document or location. No Meta template review and no per-message fee.
Recurring schedules take a timezone, so a 9:00 reminder set in Asia/Dubai goes out at 9:00 in Dubai.
It depends on what you send. There are two routes, and the honest answer is that each wins in different cases.
Price is where the UAE stands out. Meta charges per message delivered, by category, and its United Arab Emirates rates from the card effective 1 October 2026 are:
| Category | Meta list rate (USD) | 10,000 a month |
|---|---|---|
| Marketing | $0.0576 | $576 |
| Utility (order updates, reminders) | $0.0157 | $157 |
| Authentication (passcodes) | $0.0157 | $157 |
| Authentication, business based abroad | $0.0510 | $510 |
| Service (replies past 1,000 a month) | $0.0157 | $157 |
ChatRail's Core plan is $15 a month for one number with unlimited sending, so the two cost the same at about 955 utility messages a month. Above that the flat fee is cheaper. The full rate logic is in our WhatsApp Business API pricing guide, and our comparison page puts the linked-device providers side by side.
On the official API, "templated" means a message Meta has approved in advance. ChatRail has no template step: your code fills in the message and sends it with one HTTP request. Arabic and English are both plain text to the API.
curl -X POST https://www.chatrail.dev/v1/messages/text \
-H "Authorization: Bearer $CHATRAIL_API_KEY" \
-H "Idempotency-Key: order-7781-out-for-delivery" \
-H "Content-Type: application/json" \
-d '{"connection":"dubai-store","to":"+9715XXXXXXXX",
"body":"Your order 7781 is out for delivery and should reach you before 6 pm.",
"context":{"order_id":"7781","status":"out_for_delivery"}}'The response is 202 Accepted: the message is stored and queued. Delivery comes later, on your webhook. Send an Idempotency-Key on every request so a retry never sends the same update twice. You can also attach an image, PDF or location, and check whether a number is on WhatsApp first with GET /v1/numbers/check.

Yes. POST /v1/schedules creates a recurring schedule with a daily, weekly or monthly recurrence, an hour and minute, and a timezone. Set "timezone": "Asia/Dubai" and the time you give is Dubai time all year; the UAE has no daylight saving, so nothing shifts in March or October.
days_of_week, so a Sunday-to-Thursday or Monday-to-Friday reminder is one schedule, not five.-1 for the last day, which suits rent and invoice reminders.send_at, and POST /v1/messages/{id}/reschedule moves it.Every message a schedule sends is an ordinary message with its own delivery state, so the tracking below applies to it too. See the API reference for the full schedule body.

Register an HTTPS endpoint with POST /v1/webhook-endpoints and ChatRail posts signed events to it. Each event carries a chatrail-signature header and a chatrail-timestamp header, so you can verify it before you trust it.
message.received for every inbound message, including photos, voice notes and documents with a download link.message.sent, message.delivered, message.read and message.failed as each outbound message moves.message.reply_correlated when a reply is matched to the alert it answers.connection.disconnected and connection.requires_repair when the linked device needs attention.Your server runs anywhere; the endpoint only needs to be reachable over HTTPS and to answer quickly. The event reference lists every event and its payload.
Two, and they stack.
context object to the message you send. When the customer replies, ChatRail matches the reply to that alert and delivers both together on the webhook, so your own code can answer "where is my order?" with the order it already knows about. How matching works.Every message has one recipient and one status, and the status only moves forward:
| State | What it means |
|---|---|
| scheduled | Held until the send time you set. |
| queued | Stored and waiting to be sent. |
| sent | WhatsApp's servers accepted it. |
| delivered | It reached the recipient's phone. |
| read | The recipient opened the chat. |
| failed | It did not go through, with the reason on the message. |
You get each change as a webhook, can read any message with GET /v1/messages/{id}, and can export delivery metadata for a period as CSV with GET /v1/messages/export. One caveat: a customer who has turned read receipts off never shows as read, so measure replies, not blue ticks. Why read receipts mislead a dashboard.

Yes. The Sandbox is free and needs no card: one connected number, 500 messages a month, and the basic API and webhooks. Pair a UAE number by scanning a QR code or typing a pairing code on the phone, send a message to yourself, and watch the webhook events arrive. Upgrade when you are ready; every plan is priced per connected number.
The quickstart takes about ten minutes.
ChatRail is not Meta's official API and is not affiliated with Meta or WhatsApp. That has consequences you should plan for:
If any of that rules it out, use the official platform. Official API or linked devices sets the two out side by side.
Yes. Any number that runs WhatsApp can be paired as a linked device, including UAE mobile numbers. The number keeps working on the phone.
No. ChatRail uses a linked-device session on a normal WhatsApp account, so there is no Meta onboarding and no per-message fee, and also no green tick.
Yes. The message body is plain text, so Arabic, English or both in one message work the same way.
ChatRail does not ask for one. You sign up with an email address, pair a number and send. WhatsApp's own rules on business messaging still apply to the number.
Yes. You can list the groups the number is in, create and manage groups, and send to a group by name.
The Sandbox is free with 500 messages a month. Core is $15 a month for one number with unlimited messaging. Core + AI is $29 and adds 10,000 AI replies a month.
Validate the connection, delivery state and reply path before increasing traffic.
Start free