SNSOTP OTP API
এসএমএস যাচাইকরণের জন্য একটি REST API। 182 সার্ভিসের মধ্যে একটি এবং 154 দেশের মধ্যে একটি নম্বর অর্ডার করুন, অর্ডার থেকে ওয়ান-টাইম কোড পড়ুন, এবং 20 মিনিটের মধ্যে কোনো কোড না আসলে সম্পূর্ণ মূল্য ফেরত পান।
প্রতিটি এন্ডপয়েন্ট প্যারামিটারকে কোয়েরি প্যারামিটার (GET) বা ফর্ম ফিল্ড বা JSON (POST) হিসাবে গ্রহণ করে। উত্তরগুলি JSON; টাকা দুই দশমিক সহ USD স্ট্রিং এবং সময়গুলি UTC-তে ISO 8601।
https://snsotp.com/api/v1
কনসোল থেকে আপনার API কী, Authorization: Bearer sok_... হিসাবে পাঠানো হয়েছে
অথেন্টিকেশন
কনসোলের API পৃষ্ঠায় একটি কী তৈরি করুন। এটি sok_ দিয়ে শুরু হয় এবং একবার দেখানো হয়, তাই এটিকে একটি পরিবেশ পরিবর্তনশীল হিসাবে সংরক্ষণ করুন। কী প্রতিস্থাপন করলে পুরানো কীটি অবিলম্বে বন্ধ হয়ে যায়। /services, /countries এবং /prices কলগুলি কী ছাড়াই কাজ করে।
Authorization: Bearer sok_your_key_here
কীটি একটি key কোয়েরি প্যারামিটার বা ফর্ম ফিল্ড হিসাবেও পাঠানো যেতে পারে, যা হেডার সেট করতে পারে না এমন টুলগুলিকে সাহায্য করে।
দ্রুত শুরু
একটি নম্বর অর্ডার করুন, এটিকে অ্যাপে দিন, তারপর কোড আসা পর্যন্ত অর্ডারটি পোল করুন। একই ফ্লো চারটি ভাষায়:
# 1. Order a number for whatsapp in US
curl -X POST https://snsotp.com/api/v1/orders \
-H "Authorization: Bearer $SNSOTP_KEY" \
-d service=whatsapp -d country=us
# 2. Read the code (poll every 3 to 5 seconds)
curl https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB \
-H "Authorization: Bearer $SNSOTP_KEY"GET/services
প্রতিটি সার্ভিস তার কোড এবং সর্বনিম্ন মূল্য সহ · কী নেই
আপনি যে প্রতিটি সার্ভিস অর্ডার করতে পারেন, তার কোড (অন্যান্য কলগুলিতে সার্ভিস হিসাবে ব্যবহার করুন), তার বিভাগ এবং দেশ জুড়ে সর্বনিম্ন মূল্য। কী প্রয়োজন নেই।
curl https://snsotp.com/api/v1/services
{
"services": [
{ "code": "whatsapp", "name": "WhatsApp", "category": "social", "from": "0.09" },
{ "code": "telegram", "name": "Telegram", "category": "social", "from": "0.03" }
]
}GET/countries
প্রতিটি দেশ তার কোড এবং ডায়াল কোড সহ · কী নেই
প্রতিটি দেশের কোড (ISO 3166 alpha-2 ছোট হাতের অক্ষরে, দেশ হিসাবে ব্যবহার করুন) এবং তার ডায়াল কোড। কী প্রয়োজন নেই।
curl https://snsotp.com/api/v1/countries
{
"countries": [
{ "code": "us", "name": "United States", "dial_code": "1" },
{ "code": "gb", "name": "United Kingdom", "dial_code": "44" }
]
}GET/prices
একটি সার্ভিস, একটি দেশ বা উভয়ের জন্য মূল্য · কী নেই
প্রতিটি দেশে একটি সার্ভিসের জন্য প্রতি অর্ডারের মূল্য, প্রতিটি সার্ভিসের জন্য একটি দেশ, বা একটি জোড়া। অন্তত একটি ফিল্টার পাঠান। কী প্রয়োজন নেই।
প্যারামিটার
servicestring
সার্ভিস কোড, উদাহরণস্বরূপ whatsapp
countrystring
দেশ কোড, উদাহরণস্বরূপ us
curl "https://snsotp.com/api/v1/prices?service=whatsapp&country=us"
{
"prices": [
{ "service": "whatsapp", "country": "us", "price": "0.93" }
]
}GET/balance
USD এ আপনার ক্রেডিট · কী প্রয়োজন
USD-তে আপনার ক্রেডিট।
curl https://snsotp.com/api/v1/balance \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"balance": "42.50",
"currency": "USD"
}POST/orders
একটি সার্ভিস এবং একটি দেশের জন্য একটি নম্বর অর্ডার করুন · কী প্রয়োজন
একটি নম্বর অর্ডার করে এবং তার মূল্য চার্জ করে। উত্তরে নম্বরটি সম্পূর্ণ (phone) এবং ডায়াল কোড ছাড়া (number) থাকে। অর্ডারটি 20 মিনিটের জন্য খোলা থাকে; সেই সময়ে কোনো কোড না আসলে মূল্য আপনার ক্রেডিটে ফিরে আসে। উত্তর স্ট্যাটাস 201।
প্যারামিটার
servicestringপ্রয়োজন
GET /services থেকে সার্ভিস কোড
countrystringপ্রয়োজন
GET /countries থেকে দেশ কোড
curl -X POST https://snsotp.com/api/v1/orders \ -H "Authorization: Bearer $SNSOTP_KEY" \ -d service=whatsapp -d country=us
{
"order": {
"id": "OT-7K2M9QX4PB",
"service": "whatsapp",
"country": "us",
"phone": "+13475550182",
"number": "3475550182",
"dial_code": "1",
"price": "0.93",
"status": "waiting",
"code": null,
"sms": null,
"codes": [],
"expires_at": "2026-11-03T12:20:00.000Z"
},
"window_minutes": 20
}GET/orders/{id}
একটি অর্ডারের স্ট্যাটাস, কোড এবং এসএমএস টেক্সট · কী প্রয়োজন
একটি অর্ডার তার স্ট্যাটাস, সর্বশেষ কোড, সর্বশেষ এসএমএস টেক্সট এবং এখন পর্যন্ত প্রাপ্ত প্রতিটি কোড সহ। স্ট্যাটাস waiting থাকা অবস্থায় প্রতি 3 থেকে 5 সেকেন্ডে পোল করুন।
প্যারামিটার
idpathপ্রয়োজন
POST /orders থেকে অর্ডার id
curl https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"order": {
"id": "OT-7K2M9QX4PB",
"service": "whatsapp",
"country": "us",
"phone": "+13475550182",
"number": "3475550182",
"price": "0.93",
"status": "received",
"code": "284913",
"sms": "Your WhatsApp code is 284913",
"expires_at": "2026-11-03T12:20:00.000Z"
}
}GET/orders
আপনার খোলা অর্ডার (বা status=all সহ সব) · কী প্রয়োজন
আপনার খোলা অর্ডারগুলি, নতুন থেকে শুরু করে। প্রতিটি স্ট্যাটাসে সাম্প্রতিক অর্ডারগুলির জন্য status=all যোগ করুন।
প্যারামিটার
statusstring
open (ডিফল্ট) বা all
limitnumber
1 থেকে 100, ডিফল্ট 50
curl "https://snsotp.com/api/v1/orders?status=open" \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"orders": [
{ "id": "OT-7K2M9QX4PB", "service": "whatsapp", "status": "received", "code": "284913" }
]
}POST/orders/{id}/resend
একই নম্বরে আরেকটি কোড · কী প্রয়োজন
প্রথম কোডের পরে একই নম্বরে আরেকটি কোড জিজ্ঞাসা করে, উইন্ডোর মধ্যে, অতিরিক্ত খরচ ছাড়াই। তারপর অ্যাপে একটি নতুন এসএমএস ট্রিগার করুন; waiting_for_resend সত্য থাকে যতক্ষণ না এটি আসে।
প্যারামিটার
idpathপ্রয়োজন
অর্ডার id
curl -X POST https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB/resend \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"order": { "id": "OT-7K2M9QX4PB", "status": "received", "waiting_for_resend": true }
}POST/orders/{id}/finish
কোড ব্যবহার করার পরে একটি অর্ডার বন্ধ করুন · কী প্রয়োজন
একটি অর্ডার বন্ধ করে যা একটি কোড পেয়েছে একবার আপনি এটি ব্যবহার করেছেন। ফিনিশিং ঐচ্ছিক: খোলা অর্ডারগুলি উইন্ডো শেষ হলে নিজে থেকেই বন্ধ হয়ে যায়।
প্যারামিটার
idpathপ্রয়োজন
অর্ডার id
curl -X POST https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB/finish \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"order": { "id": "OT-7K2M9QX4PB", "status": "finished" }
}POST/orders/{id}/cancel
কোডের আগে বাতিল করুন, সম্পূর্ণ ফেরত · কী প্রয়োজন
একটি কোড আসার আগে একটি অর্ডার বাতিল করে এবং সম্পূর্ণ মূল্য আপনার ক্রেডিটে অবিলম্বে ফেরত দেয়। একটি কোডের পরে, বাতিল উত্তর দেয় has_code।
প্যারামিটার
idpathপ্রয়োজন
অর্ডার id
curl -X POST https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB/cancel \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"order": { "id": "OT-7K2M9QX4PB", "status": "canceled", "refunded": "0.93" }
}অর্ডার স্ট্যাটাস
waitingনম্বরটি প্রস্তুত এবং এখনও কোনো এসএমএস আসেনি। বাতিল সম্ভব।receivedঅন্তত একটি কোড এসেছে। code এবং sms সর্বশেষটি ধারণ করে।finishedএকটি কোডের পরে বন্ধ, ফিনিশ দ্বারা বা উইন্ডো শেষ হলে।refunded20 মিনিটের মধ্যে কোনো কোড আসেনি। সম্পূর্ণ মূল্য আপনার ক্রেডিটে ফিরে এসেছে।canceledএকটি কোড আসার আগে বাতিল। সম্পূর্ণ মূল্য আপনার ক্রেডিটে ফিরে এসেছে।
ত্রুটিসমূহ
ত্রুটিগুলি HTTP স্ট্যাটাস এবং একটি স্থিতিশীল কোড এবং পাঠযোগ্য বার্তা সহ একটি বডি ব্যবহার করে।
- 400
missing_filter, bad_jsonএকটি প্রয়োজনীয় মান অনুপস্থিত বা বডি পড়া যায় না। - 401
no_key, bad_keyকী অনুপস্থিত, ভুল বা মুছে ফেলা হয়েছে। - 402
no_balanceএই অর্ডারের জন্য পর্যাপ্ত ক্রেডিট নেই। কনসোলে ক্রেডিট যোগ করুন। - 404
unknown_service, unknown_country, not_sold, not_foundকোড বা অর্ডারটি বিদ্যমান নেই, বা জোড়াটি বিক্রি হয় না। - 409
too_many_open, has_code, not_ready, no_numbersঅ্যাকশনটি অর্ডার স্টেটের সাথে ফিট করে না, বা এখনই কোনো নম্বর ফ্রি নেই (কিছুই চার্জ করা হয় না)। - 429
rate_limitedএক মিনিটে এক কী দিয়ে 300 টির বেশি অনুরোধ।
{
"error": {
"code": "no_balance",
"message": "Not enough credit. Add credit in the console."
}
}রেট লিমিট
- প্রতি কী প্রতি মিনিটে 300 অনুরোধ। তার উপরে API মিনিটের বাকি সময়ের জন্য 429 rate_limited উত্তর দেয়।
- প্রতি অ্যাকাউন্টে সর্বোচ্চ 20 টি খোলা অর্ডার। আরেকটি খুলতে একটি ফিনিশ বা বাতিল করুন।
- প্রতি 3 থেকে 5 সেকেন্ডে একটি অর্ডার পোল করুন; কোডগুলি সাধারণত এক মিনিটের মধ্যে আসে।
SMS অ্যাক্টিভেশন ফরম্যাট
সাধারণ handler_api.php ফরম্যাটের জন্য লেখা স্ক্রিপ্টগুলি একই API কী দিয়ে কাজ করে: বেস ঠিকানা পরিবর্তন করে https://snsotp.com/stubs/handler_api.php করুন এবং ক্রিয়াগুলি রাখুন। পরিষেবা এবং দেশের কোডগুলি REST API-এর মতোই।
getBalanceACCESS_BALANCE:42.50
getServicesListপরিষেবাগুলির JSON তালিকা
getCountriesদেশগুলির JSON মানচিত্র
getPricesservice, country (ঐচ্ছিক)JSON {country: {service: {cost, count}}}
getNumberservice, countryACCESS_NUMBER:<id>:<phone>
getStatusidSTATUS_WAIT_CODE, STATUS_OK:<code>, STATUS_WAIT_RETRY:<code>, STATUS_CANCEL
setStatusid, status 1 / 3 / 6 / 8ACCESS_READY, ACCESS_RETRY_GET, ACCESS_ACTIVATION, ACCESS_CANCEL
curl "https://snsotp.com/stubs/handler_api.php\ ?api_key=$SNSOTP_KEY&action=getNumber\ &service=telegram&country=gb" ACCESS_NUMBER:OT-3QF8ZK2W7M:447700900182
setStatus মান: 1 প্রস্তুত, 3 অন্য কোড, 6 শেষ, 8 সম্পূর্ণ ফেরত সহ বাতিল।