Developer API

One Messaging API for every channel

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.

Start free 7-day trial Quick start
WhatsApp Telegram Messenger Instagram TikTok

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.

Availability: All plans, including Starter. Outbound messages use your account credit, exactly like bot replies. Get your API key & base URL from your dashboard: Bot Hub → Messaging API.

1Base URL & key

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

2Send a message

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 🚚✅"
  }'
FieldDescription
channelwd WhatsApp Direct · wa WhatsApp Cloud · tg Telegram · fb Messenger · ig Instagram · tt TikTok
toRecipient (phone in E.164 for WhatsApp; chat/PSID/open-id for others)
messageText + emoji (UTF-8). Optional if media_url is given
media_urlPublic URL of an image / PDF / video / audio to attach
media_typeimage · document · video · audio

3Media & emoji

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" }
ChannelEmoji / textImagePDF / video / audio
WhatsApp Direct / Cloud
Telegram
Messenger / Instagram
TikToklimited
Only WhatsApp Direct can start a brand-new chat. On Telegram, Messenger, Instagram and TikTok the customer must message you first (platform rules) — otherwise the API returns 409. Media type is detected from the media_url file extension, so keep a real extension (.jpg, .pdf, .mp4 …).

4Receive messages (webhooks)

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"}] } }

Verify the signature

$secret = 'YOUR_SIGNING_SECRET';
$body   = file_get_contents('php://input');
$ok = hash_equals('sha256=' . hash_hmac('sha256', $body, $secret),
                  $_SERVER['HTTP_X_THIKAA_SIGNATURE'] ?? '');

5Status & errors

GET ?action=status — instance status, channels, balance.

HTTPMeaning
401Missing / invalid / revoked key
402Out of credit
403Channel not allowed for this key
409Channel can’t initiate — customer must message first
429Rate limit (default 60/min per key)

Ready to build?

Create your account, connect a channel, and generate an API key from Bot Hub → Messaging API.