सीधे मुख्य सामग्री पर जाएँ

मैसेजिंग गेटवे 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"
  }'
202 Accepted
{
  "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
}
  • चैनल के प्रकारएक ही एंडपॉइंट के पीछे 7
  • मैसेज के प्रकार9, टेक्स्ट से इंटरैक्टिव सूची तक
  • शुरुआती कीमत$0.0003 प्रति आउटबाउंड मैसेज
  • रेट लिमिटहर कुंजी पर प्रति सेकंड 100 रिक्वेस्ट
  • बैच का आकारहर रिक्वेस्ट में 100 मैसेज तक
  • वेबहुक की दोबारा कोशिशें8, 30 सेकंड से 24 घंटे तक के बैकऑफ़ के साथ
  • आइडेम्पोटेंसी विंडो24 घंटे
  • टेस्ट मोडमुफ़्त, किसी चैनल की ज़रूरत नहीं
  • विफल मैसेजअपने-आप रिफ़ंड
  • इनबाउंड मैसेजमुफ़्त

चैनल

सात तरह के चैनल, रिक्वेस्ट का एक ही ढाँचा

अपने मौजूदा सेंडर कनेक्ट करें। हर सेंडर एक चैनल ID बन जाता है, जिसे आप उसी एंडपॉइंट को पास करते हैं और हर चैनल एक जैसे स्टेटस वापस भेजता है।

यह कैसे काम करता है

साइन अप से डिलीवर हुए मैसेज तक, चार चरणों में

न कोई सेल्स कॉल, न कोई न्यूनतम कमिटमेंट। अकाउंट बनाने के एक मिनट बाद आप टेस्ट मोड में अपनी पहली API कॉल कर सकते हैं।

  1. चरण 01

    अकाउंट बनाएँ

    साइन अप करें, अपना ईमेल वेरिफ़ाई करें और कंसोल में API कुंजी बनाएँ। टेस्ट कुंजियाँ तुरंत काम करती हैं, कोई चैनल कनेक्ट होने से पहले भी।

  2. चरण 02

    चैनल कनेक्ट करें

    WhatsApp नंबर, Page या बिज़नेस अकाउंट कनेक्ट करने के लिए कंसोल में Facebook या TikTok से साइन इन करें। Telegram बॉट या Twilio नंबर को उसके क्रेडेंशियल के साथ कंसोल में या POST /v1/channels से जोड़ें।

  3. चरण 03

    एक ही एंडपॉइंट से भेजें

    POST /v1/messages एक चैनल ID, एक प्राप्तकर्ता और टाइप वाला कॉन्टेंट ऑब्जेक्ट लेता है। रिक्वेस्ट का ढाँचा हर चैनल पर एक जैसा है।

  4. चरण 04

    हर डिलीवरी ट्रैक करें

    साइन किए गए वेबहुक भेजा गया, डिलीवर हुआ, पढ़ा गया और विफल स्टेटस की सूचना देते हैं। यही इतिहास कंसोल में और GET /v1/messages पर भी मिलता है।

मैसेज के प्रकार

जो आप भेजते हैं, वही उन्हें दिखता है

हर मैसेज का एक प्रकार होता है और उसी प्रकार के नाम वाली key के नीचे एक कॉन्टेंट ऑब्जेक्ट। कोई एक चुनें और रिक्वेस्ट बॉडी के साथ उससे बनने वाला मैसेज देखें।

POST /v1/messages
{
  "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 से भी उपलब्ध है।

ओवरव्यू। वॉलेट बैलेंस, बचे हुए पैकेज क्रेडिट और पिछले 30 दिनों का आउटबाउंड वॉल्यूम, हर अकाउंट और हर मोड के लिए। इस पेज के फ़्रेम नमूना डेटा से बनाए गए हैं।
मैसेज लॉग। चैनल, स्टेटस, प्राप्तकर्ता या अपने रेफ़रेंस के अनुसार फ़िल्टर करें और कोई भी मैसेज खोलकर उसके स्टेटस का इतिहास और उस पर लगा शुल्क देखें।
बिलिंग। वॉलेट टॉप-अप करें, पैकेज खरीदें, ऑटो-रीचार्ज सेट करें और रसीदें डाउनलोड करें। पैकेज क्रेडिट दिखाते हैं कि कितना बचा है और वह कब एक्सपायर होगा।

कीमतें

प्रति मैसेज भुगतान करें या मैसेज थोक में खरीदें

$10 से प्रीपेड वॉलेट टॉप-अप करें और हर चैनल की प्रति मैसेज कीमत चुकाएँ या अपने सबसे महँगे चैनलों पर बड़े वॉल्यूम के लिए मैसेज क्रेडिट का पैकेज खरीदें।

10 हज़ार मैसेज

$8

$0.0008 प्रति मैसेज

  • 10,000 आउटबाउंड मैसेज
  • खरीद से 3 महीनों तक वैध
  • हर प्रकार के चैनल पर वैध
10 हज़ार से शुरू करें

1 लाख मैसेज

खास

$60

$0.0006 प्रति मैसेज

  • 1,00,000 आउटबाउंड मैसेज
  • खरीद से 6 महीनों तक वैध
  • हर प्रकार के चैनल पर वैध
1 लाख से शुरू करें

10 लाख मैसेज

$400

$0.0004 प्रति मैसेज

  • 10,00,000 आउटबाउंड मैसेज
  • खरीद से 12 महीनों तक वैध
  • हर प्रकार के चैनल पर वैध
10 लाख से शुरू करें

पे-एज़-यू-गो

चैनल के प्रकार के अनुसार प्रति आउटबाउंड मैसेज पे-एज़-यू-गो कीमत, अमेरिकी डॉलर में
चैनलप्रति मैसेज
WhatsApp Business$0.001
SMS$0.0005
SMS OTP$0.0005
Telegram$0.0003
Messenger$0.0005
Instagram$0.0005
TikTok$0.0005

कीमत में क्या शामिल है

  • शुल्क लगता हैAPI द्वारा स्वीकार किए गए आउटबाउंड मैसेज पर, स्वीकार किए जाने के क्षण में।
  • मुफ़्तइनबाउंड मैसेज, टेस्ट मोड के मैसेज, वेबहुक और कंसोल।
  • रिफ़ंड होता हैजो भी मैसेज आखिर में विफल रहता है, उसका शुल्क उसी पैकेज या वॉलेट में लौटता है जिससे वह लिया गया था।
  • अलग सेवे शुल्क जो Meta, कैरियर या दूसरे प्रोवाइडर खुद चैनल के लिए लेते हैं।

डेवलपर एक्सपीरियंस

एक बार इंटीग्रेट करें, फिर बेफ़िक्र रहें

साइन किए गए वेबहुक, सुरक्षित रीट्राई, प्रोडक्शन जैसा बर्ताव करने वाला सैंडबॉक्स और ऐसे एरर जिन पर आप ब्रांच कर सकते हैं।

ऐसे वेबहुक जिन्हें आप वेरिफ़ाई कर सकते हैं

हर डिलीवरी टाइमस्टैम्प और रॉ बॉडी पर HMAC-SHA256 से साइन की जाती है और सिग्नेचर OmniMessage-Signature हेडर में आता है। 10 सेकंड के भीतर किसी भी 2xx से जवाब दें। विफल डिलीवरी की आठ बार दोबारा कोशिश की जाती है, 30 सेकंड से 24 घंटे तक के बैकऑफ़ के साथ।

verify-signature.js
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;
}
message.delivered इवेंट
{
  "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।

402 Payment Required
{
  "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/batch 100 मैसेज तक स्वीकार करता है। हर आइटम अलग से स्वीकार, अस्वीकार और बिल होता है और 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 मुफ़्त मैसेज मिलते हैं।