Docs, seedhi bhasha me
Wallet, apps aur webhooks — jo bhi integrate karna hai, sab yahan hai. Har sample copy-paste ready hai.
Getting started
AIBUTAI prepaid hai — pehle wallet me credits daalein, phir app enable karke API se message bhejein. Koi monthly fee nahi, sirf jitna use karein utna.
Account se pehle message tak
- Account banayein aur business detail bharein — GSTIN optional hai, sirf invoice ke liye chahiye.
- Wallet me credits recharge karein (Rs.500 se).
- Dashboard → Apps → WhatsApp enable karein aur apna number verify karein.
- Pehla template submit karein — approve hone ke baad hi send call chalega.
- Developers se API key banayein aur pehla call bhejein.
bash Pehla message bhejein
curl -X POST https://api.aibutai.com/v1/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to":"919820011223","template":"order_ready","vars":["Rahul","A-112"]}'
Har response me request_id milta hai. Support ticket me wahi likhein to debugging turant ho jaati hai.
- Send call tabhi kaam karega jab template Meta se approved ho.
- Har call ka result dashboard → Usage me delivery status ke saath dikhta hai.
- Test ke liye apna hi number use karein — credits tab bhi katenge.
Authentication
Har request me Bearer token bhejein. Key sirf server par rakhein — browser, mobile app ya public repo me kabhi nahi.
Key kahan se milegi
- Dashboard → Developers kholen.
- Naya key banayein aur use safe jagah save karein.
- Server ke environment variable me daalein — code me hard-code na karein.
http Headers ka shape
Authorization: Bearer aib_live_xxxxxxxxxxxxxxxx
X-Idempotency-Key: 8f2c1d9e-... (POST par recommended)
- Key aib_live_ prefix se shuru hoti hai — isse pata chalta hai ki production key hai.
- Ek key per server rakhein taaki leak hone par sirf wahi key revoke karni pade.
- Key revoke karne par usse jude saare calls turant band ho jaate hain.
- POST par X-Idempotency-Key bhejein — retry karne par double charge nahi hota.
Wallet & credits
1 credit = Rs.1 = 100 units. Har action ka price units me fix hai, isliye bill me koi surprise nahi aata.
Hold aur settle kaise chalta hai
- Call aate hi us action ke required units hold ho jaate hain.
- Message success par hold settle hota hai — credits kat jaate hain.
- Fail hone par hold release ho jaata hai — paisa nahi katta.
- WhatsApp message ka rate app page par pehle se dikhta hai.
- Balance 10,000 units se neeche aate hi low balance alert milta hai.
- Ledger me har entry ka reason dikhta hai — recharge, hold, settle ya refund.
json Balance response
{
"balance_units": 124000,
"held_units": 1500,
"currency": "INR",
"low_balance": false
}
Apps API
Installed apps aur unke actions list karein. Action key hi billing ka basis hai — ek hi app me har action ka rate alag hota hai.
Do endpoint se kaam chal jaata hai
- GET /v1/apps — installed apps, status aur price_units.
- GET /v1/apps/{app} — us app ke allowed actions aur unke rates.
bash Apps list karein
curl https://api.aibutai.com/v1/apps \
-H "Authorization: Bearer YOUR_API_KEY"
Response me har app ke saath status, price_units aur allowed actions milte hain. App disabled ho to call 422 return karta hai.
Webhooks
Delivery, read aur failure events turant apne endpoint par milte hain — polling ki zaroorat nahi.
Signature verify karne ke steps
- Raw request body padhein — JSON parse karne se pehle.
- Webhook secret se HMAC-SHA256 signature banayein.
- Header ke v1 se compare karein — match na ho to request reject karein.
http Event payload
POST /v1/webhook HTTP/1.1
X-AIB-Signature: t=1698...,v1=6f2c...
{"event":"message.delivered","id":"wamid.9f21"}
- 3 fail ke baad retry backoff lagta hai (1m, 5m, 30m).
- 24 ghante tak delivery nahi hui to event dead-letter me chala jaata hai.
- Ek hi event do baar aa sakta hai — event id se dedupe karein.
Errors
Har error JSON me aata hai — HTTP code ke saath machine-readable code aur Hinglish message. Message user ko dikhane ke liye hai, logic code par chalayein.
json Error ka shape
{
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Wallet me balance kam hai. Recharge karein.",
"request_id": "req_9f21"
}
}
Common codes
- 402 INSUFFICIENT_BALANCE — wallet recharge karein
- 422 TEMPLATE_NOT_APPROVED — template approve karwayein
- 429 RATE_LIMITED — thodi der baad retry karein
- 503 UPSTREAM_DOWN — Meta side issue, retry safe hai
Retry kab karein
4xx me sirf 429 retry karein — baaki me pehle request sudharein. 5xx par backoff ke saath do-teen retry theek hai.
Rate limits
Default limit 60 requests/minute per key hai. Limit cross hone par 429 milta hai — account block nahi hota.
- Bulk bhejne ke liye batch endpoint use karein — per-call overhead bachta hai.
- 429 aane par Retry-After header jitna wait karein.
- Limit badhani ho to support@aibutai.com par volume ke saath likhein.
http Response headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 12
Retry-After: 30
Rate limit per key hoti hai — team ke alag keys apni alag limit par chalte hain.
Integration me atak gaye? WhatsApp ya email par likhein — code sample ke saath.
API key chahiye?
Account banayein, wallet recharge karein aur Developers page se key generate karein.