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 বার
- Country / Service
- 145 / 1,255
- কোড না থাকলে স্বয়ংক্রিয় ফেরত
- 20 মিনিট
শিল্প মান পদ্ধতি
প্রতিটি API কী-এর জন্য
Country / Service
কোড না থাকলে স্বয়ংক্রিয় ফেরত
API কী কীভাবে পাবেন?
লগইন করে অ্যাকাউন্ট স্ক্রিনের API মেনু থেকে কী তৈরি করুন। কী শুধুমাত্র তৈরির সময় একবার দেখানো হবে তাই সাথে সাথে সেভ করুন। API ওয়েব স্ক্রিনের মতো একই ক্রেডিট ও মূল্য ব্যবহার করে।
ডিফল্ট ঠিকানা কি?
সমস্ত রিকোয়েস্ট একই ঠিকানায় api_key ও action যোগ করে GET মেথডে পাঠানো হয়।
https://snssim.com/stubs/handler_api.php?api_key=API_KEY&action=...
কোন অনুরোধ পাঠাতে পারি?
নম্বর ক্রয় থেকে কোড চেক, বাতিল, ক্রেডিট চেক পর্যন্ত মোট ৭ ধরনের রিকোয়েস্ট সম্ভব।
| 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 কী |
| 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 কী মিলছে না | চার্জ হয় না |
| BAD_SERVICE / BAD_COUNTRY | সেবা বা দেশ কোড সঠিক নয় | চার্জ হয় না |
| NO_ACTIVATION | নম্বর ID পাওয়া যায়নি | একই রকম |
| TOO_MANY_REQUESTS | প্রতি মিনিটে 300টির সীমা পেরিয়ে গেছে | চার্জ হয় না |
API দিয়ে কোড পাওয়ার প্রক্রিয়া কী?
নম্বর প্রাপ্তি, ইনপুট, কোড চেক এবং সম্পূর্ণ করা - ৪টি ধাপ।
- 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 ধাপ
Finish
কোড ইনপুট করার পর setStatus 6 দিয়ে সম্পন্ন করুন। ২০ মিনিটের মধ্যে কোড না পেলে স্বয়ংক্রিয়ভাবে ফেরত দেওয়া হবে।
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 পদ্ধতি ব্যবহার করে।
- আমি কি অন্য এসএমএস ভেরিফিকেশন সাইটে ব্যবহৃত প্রোগ্রাম একইভাবে ব্যবহার করতে পারব?
- handler_api পদ্ধতি ব্যবহার করে এমন প্রোগ্রাম হলে শুধুমাত্র বেস অ্যাড্রেস এবং API কী পরিবর্তন করেই সাথে সাথে সংযোগ করা যায়।
- API-এর জন্য আলাদা ফি আছে কি?
- কোনো পার্থক্য নেই। API এবং ওয়েব ইন্টারফেস একই ক্রেডিট এবং মূল্য ব্যবহার করে।
- কতবার অনুরোধ করা যায়?
- প্রতি API কী প্রতি মিনিটে সর্বোচ্চ 300 বার অনুরোধ করা যাবে। বেশি হলে TOO_MANY_REQUESTS ত্রুটি হবে এবং ক্রেডিট কাটা হবে না।
- API দিয়ে কেনা নম্বরও ফেরত দেওয়া হয় কি?
- হ্যাঁ। 20 মিনিটের মধ্যে কোড না পেলে API দিয়ে কেনা নম্বরও ক্রেডিটে স্বয়ংক্রিয়ভাবে ফেরত দেওয়া হবে।
- API কী কোথায় তৈরি করবেন?
- লগইন করে অ্যাকাউন্ট স্ক্রিনের API মেনু থেকে তৈরি করুন। কী শুধুমাত্র তৈরির সময় একবার দেখানো হবে তাই সাথে সাথে সেভ করুন।
API কী তৈরি করে সাথে সাথে সংযোগ করুন
নিবন্ধনের পর ক্রেডিট রিচার্জ করলে অ্যাকাউন্ট স্ক্রিন থেকে সরাসরি API কী তৈরি করতে পারবেন।