Skip to content

Send WhatsApp messages from your system with one API call

With one call to POST https://tawked.com/v1/whatsapp/messages, your system sends a Meta-approved WhatsApp template through Tawked Notifications to a mobile number in Saudi Arabia. A Tawked application key is all it needs, with no Meta app or token in your code: Tawked is a Meta Tech Provider that connects your number from the console and keeps the Meta token.

Tawked Notifications is a WhatsApp Business API service for Saudi businesses.No subscription: Tawked’s fee is 0.00 SAR per message today, and Meta bills you its own rates directly.

Key points

  1. One call and its fields

    The body carries to (the customer's number), template (the template's name), params (its placeholder values), lang when the template has several languages, and reference, your own reference in the messages log. When needed, header holds the header's text or image link and buttons the suffix of a URL button. An Idempotency-Key header makes a retry with the same key return the first answer, with no second send and no second fee.

  2. Delivery and read tracking in your dashboard

    The call answers 202 with the id, the status accepted and price_halalas. The status then moves to sent, delivered and read, or to failed with the error code, and Tawked follows each message for 48 hours after it is sent. Failed messages also appear in the log for you to review.

  3. Signed webhooks to your server

    Tawked calls your application's webhook with message.sent, message.delivered, message.read and message.failed. Each event is signed with HMAC-SHA256 over its timestamp and body, and is retried up to 5 times if your server does not answer.

  4. Keys with scopes

    Sending needs the notifications:send scope; notifications:read is enough to read statuses and templates. Each key gets 120 requests a minute. GET /v1/whatsapp/templates lists your number's templates and their placeholders as Meta holds them. The recipient is a Saudi mobile number, and any other number gets 422 invalid_destination.

From a new account to the first message

Five steps, four of them in the console. After that your system decides when each message goes, and Tawked sends it when your system asks.

  1. Create your account.

    Sign up with your phone, choose Tawked Notifications and add your application. WhatsApp sends while the application is in review, because Tawked's review covers verification codes only.

  2. Connect your business number.

    Meta's window opens from the console and you sign in with your Facebook account; connecting takes about 10 minutes. The number can be new to WhatsApp, moved from another provider, or kept on the WhatsApp Business app and connected to the API as well.

  3. Prepare a template.

    Pick a ready-made one or write your own; Meta's review can take up to 24 hours.

  4. Create a live key.

    On the API keys page, choose the live type and the send scope, and keep the key in your server's environment. A test key does not send WhatsApp: it gets 403 live_key_required.

  5. Send and follow.

    Try it on your own phone first, with Meta's hello_world, which most new accounts have approved, or with your template; then call POST /v1/whatsapp/messages from your server and follow the status by webhook.

Common questions

How do I know a notification was delivered?

From the message's status: it becomes delivered when it reaches the customer's phone, and read when they open it. You see it in the messages log of the Tawked console, and every change reaches your server by signed webhook. A customer may turn off read receipts in WhatsApp, so a missing read status does not mean the message was not delivered.

Do I need a Meta app or an access token to use the WhatsApp API?

No. Tawked connects your number through Meta's Embedded Signup and keeps the token itself, and your number and WhatsApp Business Account stay in your business portfolio at Meta. If you have developers who want Meta with no intermediary, Meta's Cloud API has no platform fee, but they build the signup, token storage, webhooks, template tooling and reply inbox themselves.

Which programming language can I use with Tawked's WhatsApp API?

Any language that sends an HTTPS request, such as PHP, Node.js or Python, and frameworks such as Laravel. It is a REST API with no library to install. Ready examples for every call are in Tawked's docs, and the full specification is at https://tawked.com/openapi.json.

Can I try WhatsApp sends with a test key?

No. A Tawked test key gets 403 live_key_required on all three WhatsApp endpoints, so try a live key on your own phone before your customers' numbers. From the console you can also send a template to your own phone with no key.

Do customer replies reach me by webhook?

No. The webhook events are about the status of the messages you send. Customer replies arrive in Tawked Chat, your team’s inbox for the same number on the web and on the phone, beside the message they answer.

Can an AI assistant send WhatsApp messages for me?

Yes, through Tawked's MCP server at https://tawked.com/mcp. The assistant signs in to your account once you allow it, then lists, checks, creates and updates your templates, and before it sends any message it shows you a preview and waits for your confirmation.

Start with a message your customer needs

  1. Sign up with your mobile number

    No contracts, and no card.

  2. Connect your business number

    In Meta's own window, opened from the Tawked console.

  3. Send your first template

    Try it on your own phone from the console, then send it from your system with a tk_live_ key.

Chat on WhatsApp