Send & receive messages, media and emoji across WhatsApp, Telegram, Facebook Messenger, Instagram and TikTok — with per-account API keys and signed webhooks. Available on all plans.
The Thikaa Messaging API lets your apps and systems send and receive messages on every channel your business has connected — without integrating each platform separately. You get the same delivery pipeline, billing and inbox your AI bot uses.
Generate a key in your dashboard. Each key is an "instance" with its own channels and webhook. Your base URL looks like:
https://thikaa.com/<your-account>/api/messaging/
Authorization: Bearer tk_live_xxxxxxxxxxxxxxxxxxxxxxxx
POST ?action=send
curl -X POST 'https://thikaa.com/<your-account>/api/messaging/?action=send' \
-H 'Authorization: Bearer tk_live_xxxx' \
-H 'Content-Type: application/json' \
-d '{
"channel": "wd",
"to": "+9665XXXXXXXX",
"message": "Your order has shipped 🚚✅"
}'
| Field | Description |
|---|---|
channel | wd WhatsApp Direct · wa WhatsApp Cloud · tg Telegram · fb Messenger · ig Instagram · tt TikTok |
to | Recipient (phone in E.164 for WhatsApp; chat/PSID/open-id for others) |
message | Text + emoji (UTF-8). Optional if media_url is given |
media_url | Public URL of an image / PDF / video / audio to attach |
media_type | image · document · video · audio |
Emoji work on every channel (UTF-8 text). Media is attached via media_url:
{ "channel":"wd", "to":"+9665XXXXXXXX",
"message":"فاتورتك 📄", "media_url":"https://you.com/invoice.pdf", "media_type":"document" }
| Channel | Emoji / text | Image | PDF / video / audio |
|---|---|---|---|
| WhatsApp Direct / Cloud | ✓ | ✓ | ✓ |
| Telegram | ✓ | ✓ | ✓ |
| Messenger / Instagram | ✓ | ✓ | ✓ |
| TikTok | ✓ | ✓ | limited |
Set an HTTPS webhook on your key. Every incoming customer message — text, emoji and media — is POSTed to it, signed with HMAC-SHA256:
X-Thikaa-Event: message.received
X-Thikaa-Signature: sha256=<hmac>
{ "event":"message.received", "instance_id":"inst_xxxx",
"data": { "channel":"wd", "from":"+9665XXXXXXXX",
"text":"شكراً 🌹",
"attachments":[{"type":"audio","url":"https://thikaa.com/.../voice.ogg"}] } }
$secret = 'YOUR_SIGNING_SECRET';
$body = file_get_contents('php://input');
$ok = hash_equals('sha256=' . hash_hmac('sha256', $body, $secret),
$_SERVER['HTTP_X_THIKAA_SIGNATURE'] ?? '');
GET ?action=status — instance status, channels, balance.
| HTTP | Meaning |
|---|---|
| 401 | Missing / invalid / revoked key |
| 402 | Out of credit |
| 403 | Channel not allowed for this key |
| 409 | Channel can’t initiate — customer must message first |
| 429 | Rate limit (default 60/min per key) |
Create your account, connect a channel, and generate an API key from Bot Hub → Messaging API.