हर पैरामीटर, लाइव प्रतिक्रिया, और हर दस्तावेज़ीकृत सफलता/त्रुटि एक ही स्क्रीन पर है।
getNumber
V1
GET / POST
किसी सेवा/देश के लिए फ़ोन नंबर ख़रीदें।
कॉमा-सेपरेटेड वैल्यू स्वीकार करता है — यह Tiger SMS की विशेष सुविधा है।
स्वीकार किया जाता है लेकिन फ़िलहाल अनदेखा किया जाता है (कोई वैलिडेशन रूल नहीं, चुपचाप हटा दिया जाता है, कोई त्रुटि नहीं): operator, phoneException, minPrice.
स्वचालित country detection (जैसे `country=any`) समर्थित नहीं है: `country` एक numeric country code होना चाहिए — non-numeric या अज्ञात country BAD_COUNTRY लौटाता है।
इस मेथड पर कॉमा-सेपरेटेड लिस्ट केवल providerIds/exceptProviderIds के लिए समर्थित हैं। यहाँ टॉप-लेवल `service`/`country` कॉमा लिस्ट स्वीकार नहीं करते — यह क्षमता जल्द ही केवल प्राइस-लुकअप मेथड्स (getPrices/getFreePrices/getPricesV2/getPricesV3) पर आ रही है।
getNumberTest बिल्कुल getNumber की तरह काम करता है, लेकिन यह activationType/testParams को स्पष्ट रूप से पास करने का प्रलेखित तरीका है।
यह एक असली अनुरोध है — सफल कॉल से आपका बैलेंस कट सकता है या किसी लाइव एक्टिवेशन में बदलाव हो सकता है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
setStatus
V1
GET / POST
किसी एक्टिवेशन का स्टेटस बदलें (ready/retry/cancel/complete)।
रिस्पॉन्स हमेशा एक प्लेन स्टेटस टोकन होता है, कभी JSON एनवेलप नहीं — अगर आपको JSON चाहिए तो setStatusV2 का उपयोग करें।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getStatus
V1
GET / POST
किसी एक्टिवेशन का स्टेटस/कोड पोल करें।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getPrices
V1
GET / POST
देश और सेवा के हिसाब से फ़्लैट price/count मैप।
कॉमा-सेपरेटेड वैल्यू स्वीकार करता है — यह Tiger SMS की विशेष सुविधा है।
अज्ञात या हटाया गया service/country code BAD_SERVICE/BAD_COUNTRY लौटाता है। एक valid code जिसका pair के लिए बस कोई offered variation नहीं है, फिर भी empty result देता है (key omitted रहती है)।
Comma-separated lists (जब सक्षम हो): प्रत्येक token को single value की तरह ही validate किया जाता है; यदि सूचीबद्ध codes में से कोई भी मौजूद नहीं है, तो BAD_SERVICE/BAD_COUNTRY लौटाया जाता है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getFreePrices
V2
GET / POST
देश/सेवा के हिसाब से price-bucket विवरण मैप (price => count, multi-SMS फ़्लैग)।
कॉमा-सेपरेटेड वैल्यू स्वीकार करता है — यह Tiger SMS की विशेष सुविधा है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getPricesV2
V2
GET / POST
getFreePrices का उपनाम (alias)।
कॉमा-सेपरेटेड वैल्यू स्वीकार करता है — यह Tiger SMS की विशेष सुविधा है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getBalance
V1
GET / POST
मौजूदा अकाउंट बैलेंस।
जब भी API कुंजी मौजूद न हो या अमान्य हो, तो यह मेथड चलने से पहले ही BAD_KEY (HTTP 401) लौटाया जाता है — यह सिर्फ़ इसी मेथड पर नहीं, बल्कि हर मेथड पर लागू होता है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getServiceNumbersCount
V1
GET / POST
किसी सेवा/देश के लिए उपलब्ध नंबरों की संख्या।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getProviders
V1
GET / POST
पब्लिक प्रोवाइडर लिस्ट (id/name/numbers_count/delivery_percent/number_lifetime, कोई price नहीं)।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getNumberV2
V2नया
GET / POSTapi_get_number_v2_enabled
Purchase a phone number, full typed JSON success/error envelope.
कॉमा-सेपरेटेड वैल्यू स्वीकार करता है — यह Tiger SMS की विशेष सुविधा है।
यह एक असली अनुरोध है — सफल कॉल से आपका बैलेंस कट सकता है या किसी लाइव एक्टिवेशन में बदलाव हो सकता है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getStatusV2
V2नया
GET / POSTapi_get_status_v2_enabled
Activation status as JSON (verificationType + sms block).
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getPricesV3
V3नया
GET / POSTapi_prices_v3_enabled
Price/count map with a per-provider price breakdown.
कॉमा-सेपरेटेड वैल्यू स्वीकार करता है — यह Tiger SMS की विशेष सुविधा है।
इस परिवार के हर दूसरे JSON मेथड के विपरीत, यहाँ एक अप्रत्याशित आंतरिक एरर JSON बॉडी के बजाय प्लेन-टेक्स्ट BAD_ACTION रिस्पॉन्स लौटाता है — यह जानबूझकर किया गया है, ताकि JSON-पार्स करने वाले क्लाइंट को कभी अधूरी JSON बॉडी न मिले।
कॉमा-सेपरेटेड लिस्ट (जल्द आ रहा है): तब सक्रिय होगी जब service या country में से किसी में कॉमा हो; हर टोकन को किसी सिंगल वैल्यू की तरह ही वैलिडेट किया जाता है, और हर लिस्ट अधिकतम 50 आइटम तथा कुल 100 country×service कॉम्बिनेशन तक सीमित है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getOffers
V3नया
GET / POSTapi_offers_enabled
Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.
Requires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.
There is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.
Never exposes providers, cost, or purchase price — none of those exist in this response by design.
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getServicesList
V1नया
GET / POSTapi_catalog_enabled
Catalog of services (code + name), optionally localized.
इस मेथड की एकमात्र विफलता स्थिति एक 200 success रिस्पॉन्स है जिसमें खाली services सूची होती है — इसके लिए कोई समर्पित एरर रिस्पॉन्स नहीं है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getCountries
V1नया
GET / POSTapi_catalog_enabled
Catalog of countries (id + localized names).
अप्रत्याशित विफलता की स्थिति में एरर रिस्पॉन्स के बजाय एक खाली JSON ऐरे `[]` देता है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
getActiveActivations
V1नया
GET / POSTapi_active_activations_enabled
List of currently active activations for the key owner.
अप्रत्याशित विफलता पर कभी त्रुटि नहीं देता (getServicesList/getCountries जैसी ही सोच) — status अब भी "success" रखते हुए खाली `data: []` लिस्ट देता है।
activationStatus की वैल्यूज़: 1=WAIT_CODE, 2=WAIT_ACCEPTING, 3=WAIT_NEXT_SMS, 6=OK, 7=REFUND, 8=CANCEL — यह नंबरिंग हमारे लिए विशिष्ट है और आपके द्वारा उपयोग किए गए अन्य SMS API से अलग हो सकती है।
इस रिक्वेस्ट को अपनी API कुंजी के साथ चलाने के लिए साइन इन करें।
साइन इनपंजीकरण
सभी दस्तावेज़ीकृत प्रतिक्रियाएं
इनकमिंग SMS वेबहुक
getStatus/getStatusV2 को बार-बार पोल करने के बजाय, आने वाले SMS को पहुँचते ही अपने खुद के HTTPS एंडपॉइंट पर पुश करवाएं।
पेलोड उदाहरण
POSTapplication/json
हर मिले हुए SMS सेगमेंट के लिए एक POST, आपके रजिस्टर किए गए URL पर भेजा जाता है। सिर्फ़ HTTP 200 रिस्पॉन्स को स्वीकृत माना जाता है; रीडायरेक्ट फ़ॉलो नहीं किए जाते।
activationId एक्टिवेशन आईडी, वही वैल्यू जो getStatus/getStatusV2 में `id` पैरामीटर के लिए इस्तेमाल होती है।
service sms_activate-स्टाइल सर्विस कोड जिसके लिए नंबर ख़रीदा गया था।
code SMS से निकाला गया कोड सेगमेंट, वही वैल्यू जो getStatus कोलन के बाद लौटाता है।
text अगर प्रोवाइडर ने भेजा हो तो पूरा SMS टेक्स्ट, अन्यथा `code` जैसा ही।
country न्यूमेरिक कंट्री कोड (sms_activate_code), या null अगर एक्टिवेशन के देश के लिए कोई सेट नहीं है।
receivedAt SMS मिलने के समय का ISO 8601 टाइमस्टैम्प (UTC)।
सिग्नेचर वेरिफ़िकेशन
X-SignatureHMAC-SHA256
raw JSON रिक्वेस्ट बॉडी का Hex HMAC-SHA256, जो आपकी webhook सीक्रेट से की गई है। पेलोड पर भरोसा करने से पहले इसे अपनी तरफ़ से उसी तरह दोबारा कैलकुलेट करें और तुलना करें।
रीट्राई पॉलिसी
कुल मिलाकर अधिकतम 3 प्रयास: प्रयासों के बीच 5s, फिर 30s, फिर 120s। हर प्रयास 10s के बाद टाइम-आउट हो जाता है। अगर हर प्रयास फेल हो जाए तो इवेंट चुपचाप ड्रॉप कर दिया जाता है — इसके लिए कोई dead-letter queue या अलर्टिंग नहीं है।
आपका एंडपॉइंट एक पब्लिक HTTPS URL होना चाहिए; प्राइवेट, लूपबैक, लिंक-लोकल और अन्य इंटरनल एड्रेस को URL सेव करते समय और हर डिलीवरी प्रयास पर भी अस्वीकार कर दिया जाता है (rebinding रोकने के लिए DNS को हर रिक्वेस्ट पर फिर से रिज़ॉल्व और पिन किया जाता है)।
signing सीक्रेट को एक बार अपने आप जनरेट किया जाता है और प्रति अकाउंट स्टोर किया जाता है; सपोर्ट द्वारा बदले जाने तक यह हर डिलीवरी के लिए एक जैसी सीक्रेट रहती है।