मैसेजिंग गेटवे API
हर मैसेजिंग चैनल के लिए एक ही API
WhatsApp Business, SMS, Telegram, Messenger, Instagram और TikTok मैसेज एक ही REST एंडपॉइंट से भेजें। प्रीपेड, प्रति आउटबाउंड मैसेज बिलिंग, साथ में डिलीवरी वेबहुक और टेस्ट मोड।
- शुरुआती कीमत
- $0.0003
- प्रति आउटबाउंड मैसेज
- साइन अप पर
- 100
- मुफ़्त मैसेज
- कमिटमेंट
- कोई नहीं
- प्रीपेड, कोई अनुबंध नहीं
curl https://api.omnimessage.co/v1/messages \
-H "Authorization: Bearer om_live_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1042-shipped" \
-d '{
"channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
"to": "+971501234567",
"type": "text",
"text": { "body": "Your order #1042 has shipped." },
"reference": "order-1042"
}'{
"id": "msg_2b1Xw9aQ3rT8yU0pL4kZ",
"object": "message",
"mode": "live",
"channel_id": "ch_7Hq2mN5vB8cX1zL0pK3j",
"channel_type": "whatsapp",
"direction": "outbound",
"to": "+971501234567",
"from": "+971800123456",
"type": "text",
"content": {
"text": { "body": "Your order #1042 has shipped." }
},
"status": "queued",
"error": null,
"reference": "order-1042",
"metadata": {},
"billing": {
"source": "wallet",
"amount_micros": 1000,
"package_grant_id": null,
"refunded": false
},
"created_at": "2026-10-05T09:30:00.000Z",
"sent_at": null,
"delivered_at": null,
"read_at": null,
"failed_at": null
}चैनल
सात तरह के चैनल, रिक्वेस्ट का एक ही ढाँचा
अपने मौजूदा सेंडर कनेक्ट करें। हर सेंडर एक चैनल ID बन जाता है, जिसे आप उसी एंडपॉइंट को पास करते हैं और हर चैनल एक जैसे स्टेटस वापस भेजता है।
- $0.001WhatsApp Businessआपके अपने Cloud API नंबर पर टेम्पलेट, इंटरैक्टिव मैसेज और मीडिया।टेक्स्ट · अटैचमेंट · टेम्पलेट · रिप्लाई बटन · सूची · URL बटन · लोकेशन · संपर्क
- $0.0005SMSआपके अपने Twilio नंबर से टेक्स्ट और मीडिया मैसेज।टेक्स्ट · अटैचमेंट
- $0.0005SMS OTPवन-टाइम पासकोड के लिए सिर्फ़ टेक्स्ट वाला रूट।टेक्स्ट
- $0.0003Telegramबटन, पोल, लोकेशन और मीडिया वाले बॉट मैसेज।टेक्स्ट · अटैचमेंट · रिप्लाई बटन · लोकेशन · संपर्क · पोल
- $0.0005Messengerउन लोगों से बातचीत जो आपके Facebook Page को मैसेज करते हैं।टेक्स्ट · अटैचमेंट · रिप्लाई बटन
- $0.0005InstagramInstagram प्रोफ़ेशनल अकाउंट के लिए डायरेक्ट मैसेज।टेक्स्ट · अटैचमेंट · रिप्लाई बटन
- $0.0005TikTokTikTok बिज़नेस अकाउंट के लिए डायरेक्ट मैसेज।टेक्स्ट · अटैचमेंट · रिप्लाई बटन
- अपना चैनल खुद लाएँआपके नंबर और बॉट आपके ही रहते हैंदेखें कि हर चैनल के लिए क्या चाहिए
यह कैसे काम करता है
साइन अप से डिलीवर हुए मैसेज तक, चार चरणों में
न कोई सेल्स कॉल, न कोई न्यूनतम कमिटमेंट। अकाउंट बनाने के एक मिनट बाद आप टेस्ट मोड में अपनी पहली API कॉल कर सकते हैं।
- चरण 01
अकाउंट बनाएँ
साइन अप करें, अपना ईमेल वेरिफ़ाई करें और कंसोल में API कुंजी बनाएँ। टेस्ट कुंजियाँ तुरंत काम करती हैं, कोई चैनल कनेक्ट होने से पहले भी।
- चरण 02
चैनल कनेक्ट करें
WhatsApp नंबर, Page या बिज़नेस अकाउंट कनेक्ट करने के लिए कंसोल में Facebook या TikTok से साइन इन करें। Telegram बॉट या Twilio नंबर को उसके क्रेडेंशियल के साथ कंसोल में या
POST /v1/channelsसे जोड़ें। - चरण 03
एक ही एंडपॉइंट से भेजें
POST /v1/messagesएक चैनल ID, एक प्राप्तकर्ता और टाइप वाला कॉन्टेंट ऑब्जेक्ट लेता है। रिक्वेस्ट का ढाँचा हर चैनल पर एक जैसा है। - चरण 04
हर डिलीवरी ट्रैक करें
साइन किए गए वेबहुक भेजा गया, डिलीवर हुआ, पढ़ा गया और विफल स्टेटस की सूचना देते हैं। यही इतिहास कंसोल में और
GET /v1/messagesपर भी मिलता है।
मैसेज के प्रकार
जो आप भेजते हैं, वही उन्हें दिखता है
हर मैसेज का एक प्रकार होता है और उसी प्रकार के नाम वाली key के नीचे एक कॉन्टेंट ऑब्जेक्ट। कोई एक चुनें और रिक्वेस्ट बॉडी के साथ उससे बनने वाला मैसेज देखें।
{
"channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
"to": "+971501234567",
"type": "text",
"text": {
"body": "आपका ऑर्डर #1042 भेज दिया गया है। इसे यहाँ ट्रैक करें: https://example.com/t/1042",
"preview_url": true
},
"reference": "order-1042"
}सादा टेक्स्ट, जिसे हर प्रकार का चैनल स्वीकार करता है। चैनल से लिंक प्रीव्यू दिखवाने के लिए preview_url सेट करें।
चैनलWhatsApp Business, SMS, SMS OTP, Telegram, Messenger, Instagram, और TikTok
कंसोल
उन कामों के लिए कंसोल जो कोड नहीं हैं
कुंजियाँ बनाएँ, चैनल कनेक्ट करें, मैसेज लॉग में खोजें, वेबहुक डिलीवरी दोबारा चलाएँ और बिलिंग मैनेज करें। कंसोल जो कुछ दिखाता है, वह सब API से भी उपलब्ध है।
कीमतें
प्रति मैसेज भुगतान करें या मैसेज थोक में खरीदें
$10 से प्रीपेड वॉलेट टॉप-अप करें और हर चैनल की प्रति मैसेज कीमत चुकाएँ या अपने सबसे महँगे चैनलों पर बड़े वॉल्यूम के लिए मैसेज क्रेडिट का पैकेज खरीदें।
10 हज़ार मैसेज
$8
$0.0008 प्रति मैसेज
- 10,000 आउटबाउंड मैसेज
- खरीद से 3 महीनों तक वैध
- हर प्रकार के चैनल पर वैध
1 लाख मैसेज
खास$60
$0.0006 प्रति मैसेज
- 1,00,000 आउटबाउंड मैसेज
- खरीद से 6 महीनों तक वैध
- हर प्रकार के चैनल पर वैध
10 लाख मैसेज
$400
$0.0004 प्रति मैसेज
- 10,00,000 आउटबाउंड मैसेज
- खरीद से 12 महीनों तक वैध
- हर प्रकार के चैनल पर वैध
पे-एज़-यू-गो
| चैनल | प्रति मैसेज |
|---|---|
| WhatsApp Business | $0.001 |
| SMS | $0.0005 |
| SMS OTP | $0.0005 |
| Telegram | $0.0003 |
| Messenger | $0.0005 |
| $0.0005 | |
| TikTok | $0.0005 |
कीमत में क्या शामिल है
- शुल्क लगता हैAPI द्वारा स्वीकार किए गए आउटबाउंड मैसेज पर, स्वीकार किए जाने के क्षण में।
- मुफ़्तइनबाउंड मैसेज, टेस्ट मोड के मैसेज, वेबहुक और कंसोल।
- रिफ़ंड होता हैजो भी मैसेज आखिर में विफल रहता है, उसका शुल्क उसी पैकेज या वॉलेट में लौटता है जिससे वह लिया गया था।
- अलग सेवे शुल्क जो Meta, कैरियर या दूसरे प्रोवाइडर खुद चैनल के लिए लेते हैं।
डेवलपर एक्सपीरियंस
एक बार इंटीग्रेट करें, फिर बेफ़िक्र रहें
साइन किए गए वेबहुक, सुरक्षित रीट्राई, प्रोडक्शन जैसा बर्ताव करने वाला सैंडबॉक्स और ऐसे एरर जिन पर आप ब्रांच कर सकते हैं।
ऐसे वेबहुक जिन्हें आप वेरिफ़ाई कर सकते हैं
हर डिलीवरी टाइमस्टैम्प और रॉ बॉडी पर HMAC-SHA256 से साइन की जाती है और सिग्नेचर OmniMessage-Signature हेडर में आता है। 10 सेकंड के भीतर किसी भी 2xx से जवाब दें। विफल डिलीवरी की आठ बार दोबारा कोशिश की जाती है, 30 सेकंड से 24 घंटे तक के बैकऑफ़ के साथ।
import { createHmac, timingSafeEqual } from 'node:crypto';
// header is "t=<unix seconds>,v1=<hex hmac-sha256>"
export function verifySignature(rawBody, header, secret) {
const parts = header.split(',').map((part) => part.split('='));
const { t, v1 = '' } = Object.fromEntries(parts);
const expected = createHmac('sha256', secret)
.update(`${t}.${rawBody}`)
.digest('hex');
const fresh = Math.abs(Date.now() / 1000 - Number(t)) < 300;
const matches =
v1.length === expected.length &&
timingSafeEqual(Buffer.from(v1), Buffer.from(expected));
return fresh && matches;
}{
"id": "evt_8Kd2pQ7wN4xB1zR6mT3c",
"object": "event",
"type": "message.delivered",
"mode": "live",
"created_at": "2026-10-05T09:30:02.900Z",
"data": {
"object": {
"id": "msg_2b1Xw9aQ3rT8yU0pL4kZ",
"object": "message",
"status": "delivered",
"reference": "order-1042",
"delivered_at": "2026-10-05T09:30:02.871Z"
}
}
}ऐसा टेस्ट मोड जिसका कोई खर्च नहीं
टेस्ट कुंजियाँ बिल्ट-इन सैंडबॉक्स चैनल इस्तेमाल करती हैं, इसलिए कुछ भी कनेक्ट नहीं करना पड़ता। प्राप्तकर्ता के आखिरी अंक सिम्युलेशन का नतीजा तय करते हैं और आपके वेबहुक वैसे ही ट्रिगर होते हैं जैसे प्रोडक्शन में होते।
curl https://api.omnimessage.co/v1/messages \
-H "Authorization: Bearer om_test_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "ch_test_whatsapp",
"to": "+971501230002",
"type": "text",
"text": { "body": "Hello from the sandbox" }
}'टाइप और कोड वाले एरर
हर नॉन-2xx रिस्पॉन्स की बॉडी एक जैसी होती है: विफलता की श्रेणी के लिए type, ब्रांच करने के लिए एक स्थिर code, जहाँ लागू हो वहाँ गड़बड़ी वाला param और सपोर्ट के लिए request_id।
{
"error": {
"type": "billing_error",
"code": "insufficient_balance",
"message": "Not enough wallet balance or package credits.",
"request_id": "req_5Vn1cH8jL3qW6yD9sF2k",
"doc_url": "https://omnimessage.co/docs/errors#insufficient_balance"
}
}आइडेम्पोटेंट POST
Idempotency-Keyहेडर भेजें और 24 घंटे के भीतर किया गया रीट्राईIdempotent-Replayed: trueके साथ स्टोर किया हुआ रिस्पॉन्स लौटाता है, दोबारा भेजे या दोबारा शुल्क लिए बिना।पहले से तय सीमाएँ
POST /v1/messagesपर हर कुंजी के लिए प्रति सेकंड 100 रिक्वेस्ट, बाकी जगह 20। हर रिस्पॉन्स मेंRateLimit-Remainingहोता है और 429 मेंRetry-After।बैच में भेजना
POST /v1/messages/batch100 मैसेज तक स्वीकार करता है। हर आइटम अलग से स्वीकार, अस्वीकार और बिल होता है और 207 रिस्पॉन्स इंडेक्स के अनुसार उनकी जानकारी देता है।स्कोप वाली कुंजियाँ
हर कुंजी को सिर्फ़ वही स्कोप दें जिनकी उसे ज़रूरत है, जैसे
messages:writeयाbilling:read, और उसे IP अलाउलिस्ट तक सीमित रखें।
सवाल
इंटीग्रेट करने से पहले
छोटे जवाब यहाँ हैं। विस्तार से जवाब डॉक्यूमेंटेशन में मिलेंगे।
क्या मुझे अपना WhatsApp नंबर, बॉट या SMS नंबर चाहिए?
हाँ। OmniMessage ऐसा गेटवे है जिसमें चैनल आपके अपने होते हैं: आप अपना WhatsApp Cloud API नंबर, Telegram बॉट, Twilio नंबर या सोशल अकाउंट कनेक्ट करते हैं और उसका स्वामित्व आपके पास ही रहता है। चैनल पेज पर बताया गया है कि हर प्रकार के लिए क्या चाहिए।
मुझसे ठीक-ठीक किस चीज़ का शुल्क लिया जाता है?
API द्वारा स्वीकार किए गए हर आउटबाउंड मैसेज पर एक शुल्क: अगर आपके पास पैकेज क्रेडिट है तो वह, वरना आपके वॉलेट से उस चैनल प्रकार की प्रति मैसेज कीमत। इनबाउंड मैसेज और टेस्ट मोड के मैसेज मुफ़्त हैं और जो मैसेज आखिर में विफल रहता है, उसका शुल्क अपने-आप रिफ़ंड हो जाता है।
क्या Meta, कैरियर या प्रोवाइडर के शुल्क शामिल हैं?
नहीं। गेटवे शुल्क में API, डिलीवरी ट्रैकिंग, वेबहुक और कंसोल शामिल हैं। Meta, Twilio या कोई और प्रोवाइडर खुद चैनल के लिए जो शुल्क लेता है, वह आपके और उस प्रोवाइडर के बीच रहता है।
असली मैसेज भेजे बिना टेस्ट कैसे करूँ?
om_test_ से शुरू होने वाली कुंजी इस्तेमाल करें। हर अकाउंट में हर प्रकार का एक सैंडबॉक्स चैनल होता है, जैसे ch_test_whatsapp। न कुछ डिलीवर होता है, न कोई शुल्क लगता है और स्टेटस सिम्युलेट किए जाते हैं: 0000 पर खत्म होने वाला प्राप्तकर्ता विफल होता है, 0001 भेजा गया पर ही रहता है, 0002 पढ़ा भी जाता है और बाकी सब लगभग दो सेकंड में डिलीवर हो जाते हैं।
मेरा बैलेंस खत्म हो जाने पर क्या होता है?
API 402 insufficient_balance लौटाता है और कुछ भी कतार में नहीं जाता, इसलिए बाद में आप पर कभी कोई बकाया नहीं बनता। आप balance.low इवेंट को सब्सक्राइब कर सकते हैं या ऑटो-रीचार्ज चालू कर सकते हैं, ताकि वॉलेट आपकी चुनी हुई सीमा से नीचे जाते ही टॉप-अप हो जाए।
क्या मुझे SDK की ज़रूरत है?
नहीं। API, HTTPS पर JSON है और bearer ऑथेंटिकेशन इस्तेमाल करता है, इसलिए कोई भी HTTP क्लाइंट चलेगा। डॉक्यूमेंटेशन में cURL, Node, Python और PHP के उदाहरण हैं।
आज ही टेस्ट मोड में अपना पहला मैसेज भेजें
अकाउंट बनाएँ, टेस्ट कुंजी कॉपी करें और एक भी चैनल कनेक्ट किए बिना API कॉल करें। हर नए अकाउंट को शुरुआत में 100 मुफ़्त मैसेज मिलते हैं।