SMS वेरिफ़िकेशन API
SNSSIM API नंबर खरीद, कोड जांच, रद्द करने, क्रेडिट और मूल्य जांच को एकल HTTP अनुरोध में संसाधित करता है। उद्योग मानक handler_api विधि का उपयोग करता है, इसलिए मौजूदा प्रोग्राम में केवल पता और API कुंजी बदलकर तुरंत कनेक्ट किया जा सकता है।
GET /stubs/handler_api.php
?api_key=API_KEY&action=getNumber
&service=telegram&country=gb
ACCESS_NUMBER:SS8Q2K7:447700900123
GET ...&action=getStatus&id=SS8Q2K7
STATUS_OK:48215- उद्योग मानक तरीका
- handler_api
- प्रत्येक API कुंजी के लिए
- प्रति मिनट 300 बार
- देश / सेवा
- 145 / 1,255
- यदि अंदर कोड नहीं है, तो स्वचालित धनवापसी
- 20 मिनट
उद्योग मानक तरीका
प्रत्येक API कुंजी के लिए
देश / सेवा
यदि अंदर कोड नहीं है, तो स्वचालित धनवापसी
API कुंजी कैसे प्राप्त करें?
लॉगिन करने के बाद खाता स्क्रीन के API मेनू से कुंजी जनरेट करें। कुंजी केवल जनरेशन के समय एक बार दिखाई देती है, तुरंत सहेज लें। API वेब स्क्रीन के समान क्रेडिट और कीमतों का उपयोग करता है।
मूल पता क्या है?
सभी अनुरोध एक ही पते पर api_key और action जोड़कर GET विधि से भेजे जाते हैं।
https://snssim.com/stubs/handler_api.php?api_key=API_KEY&action=...
किस प्रकार के अनुरोध भेज सकते हैं?
नंबर खरीदने से लेकर कोड सत्यापन, रद्द करने और क्रेडिट जांच तक कुल 7 प्रकार के अनुरोध संभव हैं।
| action | क्या करता है | जवाब का उदाहरण |
|---|---|---|
| getBalance | बैलेंस देखें | ACCESS_BALANCE:12.50 |
| getPrices&service=telegram&country=gb | सेवा और देश के अनुसार कीमतें और उपलब्ध नंबर | {"gb":{"telegram":{"cost":0.207,"count":8877728}}} |
| getNumber&service=telegram&country=gb | नंबर खरीद | ACCESS_NUMBER:ID:PHONE |
| getStatus&id=ID | कोड जाँचें | STATUS_WAIT_CODE / STATUS_OK:CODE |
| setStatus&id=ID&status=8 | नंबर उपयोग रद्द करें (यदि कोड प्राप्त नहीं हुआ तो पूर्ण धनवापसी) | ACCESS_CANCEL |
| setStatus&id=ID&status=3 | एक ही नंबर पर अतिरिक्त सत्यापन कोड प्राप्त करें | ACCESS_RETRY_GET |
| setStatus&id=ID&status=6 | उपयोग पूरा करें | ACCESS_ACTIVATION |
अनुरोध पैरामीटर
| नाम | ज़रूरी | विवरण |
|---|---|---|
| api_key | सभी | खाता स्क्रीन पर बनाई गई API key |
| action | सभी | getBalance, getPrices, getNumber, getStatus, setStatus |
| service | getNumber | सेवा कोड (उदाहरण: telegram, whatsapp, google)। सेवा सूची पृष्ठ पर दिखाए गए मान के समान होना चाहिए |
| country | getNumber | देश कोड 2 अक्षर (उदाहरण: gb, us, id) |
| id | getStatus, setStatus | getNumber द्वारा जारी किया गया नंबर ID (N से शुरू) |
| status | setStatus | 8 बार रद्द, 3 बार कोड पुनः अनुरोध, 6 बार समाप्त, 1 बार तैयार |
जवाब का टेक्स्ट और अर्थ
जवाब संक्षिप्त टेक्स्ट में मिलेगा। क्रेडिट कटौती की स्थिति भी दिखाई जाएगी।
| जवाब | अर्थ | पैसा |
|---|---|---|
| ACCESS_NUMBER:ID:PHONE | नंबर मिल गया | नंबर की कीमत कटती है |
| STATUS_WAIT_CODE | कोड का इंतज़ार है | वही |
| STATUS_OK:CODE | कोड आ गया | भुगतान पूरा |
| STATUS_WAIT_RETRY:CODE | अतिरिक्त सत्यापन कोड की प्रतीक्षा कर रहे हैं (पिछले कोड सहित) | कोई अतिरिक्त शुल्क नहीं |
| STATUS_CANCEL | रद्द हुआ या समय समाप्त | कोड न आया हो तो रिफ़ंड |
| ACCESS_CANCEL | रद्द कर दिया | पूरा रिफ़ंड |
| ACCESS_RETRY_GET | एक ही नंबर पर कोड प्राप्त करने की प्रतीक्षा कर रहे हैं | कोई अतिरिक्त शुल्क नहीं |
| ACCESS_ACTIVATION | नंबर का उपयोग पूरा हुआ | वही |
| NO_BALANCE | बैलेंस टॉप-अप करते ही तुरंत पाएँ | कुछ नहीं कटता |
| NO_NUMBERS | वर्तमान में इस देश के नंबर उपलब्ध नहीं हैं | कुछ नहीं कटता |
| NO_ACTIVATIONS | 20 नंबर खुले हैं | कुछ नहीं कटता |
| EARLY_CANCEL_DENIED | सत्यापन कोड प्राप्त करने वाले नंबर को रद्द नहीं बल्कि समाप्त (6) चुनें | वही |
| BAD_KEY | API key सही नहीं है | कुछ नहीं कटता |
| BAD_SERVICE / BAD_COUNTRY | सेवा या देश कोड सही नहीं है | कुछ नहीं कटता |
| NO_ACTIVATION | नंबर ID नहीं मिला | वही |
| TOO_MANY_REQUESTS | प्रति मिनट 300 अनुरोध की सीमा पार हो गई | कुछ नहीं कटता |
API से कोड प्राप्त करने का क्रम क्या है?
नंबर प्राप्त करने, दर्ज करने, कोड सत्यापित करने और पूरा करने की 4-चरणीय प्रक्रिया।
- 1 चरण
नंबर पाएँ
getNumber के माध्यम से वांछित सेवा और देश चुनकर नंबर प्राप्त करें।
action=getNumber&service=telegram&country=gb > ACCESS_NUMBER:SS8Q2K7:447700900123
- 2 चरण
नंबर दर्ज करें
खरीदे गए नंबर को साइन अप पेज या प्रोग्राम में दर्ज करें।
+44 7700 900123
- 3 चरण
कोड जाँचें
हर 5 सेकंड में getStatus को कॉल करके कोड आने की स्थिति जांचें।
action=getStatus&id=SS8Q2K7 > STATUS_OK:48215
- 4 चरण
समाप्त करें
कोड दर्ज करने के बाद setStatus 6 के साथ पूरा करें। 20 मिनट के भीतर कोड न होने पर स्वचालित रूप से वापसी कर दी जाएगी।
action=setStatus&id=SS8Q2K7&status=6 > ACCESS_ACTIVATION
भाषा के अनुसार उदाहरण
नंबर प्राप्त करने, कोड की प्रतीक्षा करने और प्रक्रिया पूरी करने की संपूर्ण प्रक्रिया। भाषा बदलने के लिए टैब टैप करें।
# Balance
curl "https://snssim.com/stubs/handler_api.php?api_key=API_KEY&action=getBalance"
# Get a number (Telegram, United Kingdom)
curl "https://snssim.com/stubs/handler_api.php?api_key=API_KEY&action=getNumber&service=telegram&country=gb"
# ACCESS_NUMBER:N-8Q2K7XLM:447700900123
# Check the code (every 5 seconds)
curl "https://snssim.com/stubs/handler_api.php?api_key=API_KEY&action=getStatus&id=N-8Q2K7XLM"
# STATUS_WAIT_CODE or STATUS_OK:48215
# Finish (6) / Cancel (8, full refund before a code)
curl "https://snssim.com/stubs/handler_api.php?api_key=API_KEY&action=setStatus&id=N-8Q2K7XLM&status=6"import time, requests
BASE = "https://snssim.com/stubs/handler_api.php"
KEY = "API_KEY"
def call(**p):
return requests.get(BASE, params={"api_key": KEY, **p}, timeout=30).text
r = call(action="getNumber", service="telegram", country="gb")
if not r.startswith("ACCESS_NUMBER"):
raise SystemExit(r)
_, num_id, phone = r.split(":")
print("Number:", phone)
for _ in range(240): # 20 minutes
s = call(action="getStatus", id=num_id)
if s.startswith("STATUS_OK"):
print("Code:", s.split(":")[1])
call(action="setStatus", id=num_id, status=6)
break
time.sleep(5)// Node.js 18+
const BASE = "https://snssim.com/stubs/handler_api.php";
const KEY = "API_KEY";
const call = (p) => fetch(BASE + "?" + new URLSearchParams({ api_key: KEY, ...p })).then((r) => r.text());
const r = await call({ action: "getNumber", service: "telegram", country: "gb" });
if (!r.startsWith("ACCESS_NUMBER")) throw new Error(r);
const [, id, phone] = r.split(":");
console.log("Number:", phone);
for (let i = 0; i < 240; i++) {
const s = await call({ action: "getStatus", id });
if (s.startsWith("STATUS_OK")) {
console.log("Code:", s.split(":")[1]);
await call({ action: "setStatus", id, status: "6" });
break;
}
await new Promise((ok) => setTimeout(ok, 5000));
}<?php
$base = "https://snssim.com/stubs/handler_api.php";
$key = "API_KEY";
function call($p) { global $base, $key;
return file_get_contents($base . "?" . http_build_query(["api_key" => $key] + $p)); }
$r = call(["action" => "getNumber", "service" => "telegram", "country" => "gb"]);
if (strpos($r, "ACCESS_NUMBER") !== 0) exit($r);
[, $id, $phone] = explode(":", $r);
echo "Number: $phone\n";
for ($i = 0; $i < 240; $i++) {
$s = call(["action" => "getStatus", "id" => $id]);
if (strpos($s, "STATUS_OK") === 0) {
echo "Code: " . explode(":", $s)[1] . "\n";
call(["action" => "setStatus", "id" => $id, "status" => 6]);
break;
}
sleep(5);
}package main
import ("fmt"; "io"; "net/http"; "net/url"; "strings"; "time")
const base = "https://snssim.com/stubs/handler_api.php"
const key = "API_KEY"
func call(p url.Values) string {
p.Set("api_key", key)
r, _ := http.Get(base + "?" + p.Encode())
defer r.Body.Close()
b, _ := io.ReadAll(r.Body)
return string(b)
}
func main() {
r := call(url.Values{"action": {"getNumber"}, "service": {"telegram"}, "country": {"gb"}})
if !strings.HasPrefix(r, "ACCESS_NUMBER") { fmt.Println(r); return }
f := strings.Split(r, ":")
fmt.Println("Number:", f[2])
for i := 0; i < 240; i++ {
s := call(url.Values{"action": {"getStatus"}, "id": {f[1]}})
if strings.HasPrefix(s, "STATUS_OK") {
fmt.Println("Code:", strings.Split(s, ":")[1])
call(url.Values{"action": {"setStatus"}, "id": {f[1]}, "status": {"6"}})
return
}
time.Sleep(5 * time.Second)
}
}import java.net.URI; import java.net.URLEncoder; import java.net.http.*;
import java.nio.charset.StandardCharsets; import java.util.Map; import java.util.stream.Collectors;
public class SNSSIM {
static final String BASE = "https://snssim.com/stubs/handler_api.php", KEY = "API_KEY";
static final HttpClient http = HttpClient.newHttpClient();
static String call(Map<String, String> p) throws Exception {
String q = p.entrySet().stream().map(e -> e.getKey() + "=" + URLEncoder.encode(e.getValue(), StandardCharsets.UTF_8)).collect(Collectors.joining("&"));
return http.send(HttpRequest.newBuilder(URI.create(BASE + "?api_key=" + KEY + "&" + q)).build(), HttpResponse.BodyHandlers.ofString()).body();
}
public static void main(String[] a) throws Exception {
String r = call(Map.of("action", "getNumber", "service", "telegram", "country", "gb"));
if (!r.startsWith("ACCESS_NUMBER")) { System.out.println(r); return; }
String[] f = r.split(":");
System.out.println("Number: " + f[2]);
for (int i = 0; i < 240; i++) {
String s = call(Map.of("action", "getStatus", "id", f[1]));
if (s.startsWith("STATUS_OK")) { System.out.println("Code: " + s.split(":")[1]); call(Map.of("action", "setStatus", "id", f[1], "status", "6")); return; }
Thread.sleep(5000);
}
}
}using System.Net.Http;
const string Base = "https://snssim.com/stubs/handler_api.php";
const string Key = "API_KEY";
var http = new HttpClient();
async Task<string> Call(string q) => await http.GetStringAsync($"{Base}?api_key={Key}&{q}");
var r = await Call("action=getNumber&service=telegram&country=gb");
if (!r.StartsWith("ACCESS_NUMBER")) { Console.WriteLine(r); return; }
var f = r.Split(':');
Console.WriteLine($"Number: {f[2]}");
for (var i = 0; i < 240; i++)
{
var s = await Call($"action=getStatus&id={f[1]}");
if (s.StartsWith("STATUS_OK"))
{
Console.WriteLine($"Code: {s.Split(':')[1]}");
await Call($"action=setStatus&id={f[1]}&status=6");
break;
}
await Task.Delay(5000);
}API अक्सर पूछे जाने वाले प्रश्न
API में 145 देशों के 1,255 सेवा नंबर वेब इंटरफेस के समान मूल्य पर उपलब्ध हैं।
- SMS सत्यापन API क्या है?
- प्रोग्राम के भीतर वर्चुअल नंबर खरीदने, सत्यापन कोड की जांच करने और रद्द करने के लिए HTTP अनुरोधों का उपयोग करने की क्षमता है। SNSSIM API उद्योग मानक handler_api विधि का उपयोग करता है।
- क्या मैं अन्य SMS सत्यापन साइटों पर उपयोग किए जा रहे प्रोग्राम का उपयोग जारी रख सकता हूँ?
- handler_api विधि का उपयोग करने वाले प्रोग्राम के लिए केवल मूल पता और API कुंजी बदलने की आवश्यकता है, और यह तुरंत कनेक्ट हो जाएगा।
- API के लिए अलग शुल्क है?
- कोई अंतर नहीं है। API और वेब इंटरफ़ेस एक ही क्रेडिट और मूल्य का उपयोग करते हैं।
- अनुरोध कितनी बार किया जा सकता है?
- प्रति API कुंजी प्रति मिनट अधिकतम 300 अनुरोध संभव हैं। अधिक होने पर TOO_MANY_REQUESTS त्रुटि आती है और क्रेडिट काटा नहीं जाता।
- API से खरीदे गए नंबर भी वापस होते हैं?
- हां। 20 मिनट में कोड न मिलने पर API से खरीदे गए नंबर का भी क्रेडिट में ऑटो रिफंड हो जाएगा।
- API कुंजी कहाँ बनाएं?
- लॉगिन करने के बाद खाता स्क्रीन के API मेनू से जनरेट करें। कुंजी केवल जनरेशन के समय एक बार दिखाई देती है, तुरंत सहेज लें।
API कुंजी बनाने के बाद तुरंत कनेक्ट करें
साइन अप के बाद क्रेडिट टॉप अप करने पर आप खाता स्क्रीन से तुरंत एपीआई कुंजी जनरेट कर सकते हैं।