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 QR · 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 QR / 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'] ?? '');
Quote a specific message, react to one, post into a WhatsApp group, and be told when a number rings:
// quoted reply — wd, wa, fb, ig, tg
{ "channel":"wd", "conversation_id":1290, "message":"Yes, in stock", "reply_to":84990 }
// react — wd, wa, ig, tg (empty emoji removes it)
POST ?action=react { "message_id":84990, "emoji":"👍" }
// WhatsApp groups — off per number until you turn them on
POST ?action=groups-enabled { "enabled":true }
GET ?action=groups
{ "channel":"wd", "to":"120363043211234567@g.us", "message":"Route update 🚚" }
| Capability | Messenger | Telegram | TikTok | ||
|---|---|---|---|---|---|
| Quoted reply | ✓ | ✓ | ✓ | ✓ | — |
| Send a reaction | ✓ | — | ✓ heart only | ✓ | — |
| Receive reactions | ✓ | ✓ | ✓ | — | — |
| Groups | ✓ QR | — | — | — | — |
| Call events | ✓ | — | — | — | — |
call.received / call.ended; both are opt-in per key.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.