پروتکل API برای کار با SMS-Activate
API پروتکلی بین نرمافزار شما و سرور ما است
API برای خودکارسازی فرآیند دریافت sms، otp و pva در سمت شما مورد نیاز است
API ما کاملاً با سایتهای رقیب سازگار است
تمام درخواستها باید به https://api.sms-activate.ai/stubs/handler_api.php ارسال شوند
درخواست POST یا GET.
تمام درخواستها باید شامل یک کلید API در قالب پارامتر GET به نام api_key باشند
دانلود پیادهسازی پروتکل در php دانلود پیادهسازی آماده پروتکل در PythonAPI فعالسازی
پارامترها:
$api_key - کلید API
$country * - شماره کشور مشاهده جدول
$operator * شمارههای اپراتور موبایل، میتوانید چندین شماره را با کاما جدا کنید (فقط برای موارد زیر در دسترس است:
** موجود برای $country = 0, $country = 1, $country = 2
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{"vk_0":76,"ok_0":139,"wa_0":90,"vi_0":223,"tg_0":158,"wb_0":106,"go_0":182,"av_0":244,"av_1":211,"fb_0":107}
در جایی که قبل از خط تیره نام سرویس قرار دارد، بعد از آن مشخص میشود که آیا نیاز به تغییر مسیر وجود دارد یا خیر. ۰ - خیر. ۱ - بله.
پارامترها:
$api_key - کلید API
$service * - سرویس مشاهده جدول
* پارامتر اختیاری. اگر مشخص نشود، بهطور پیشفرض کشورهای برتر برای تمام سرویسها نمایش داده میشوند.
$freePrice * - پارامتر اختیاری. اگر ارائه شود true, تعداد و قیمت بر اساس Free Price ارائه خواهد شد
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{
0: {
"country: 0,
"count": 43575,
"price": 15.00,
"retail_price": 30.00
}, ...
}
$freePrice = true:
{
0: {
"country: 0,
"count": 43575,
"price": 15.00,
"retail_price": 30.00,
"freePriceMap": {
"15.00": 43242,
"18.00": 333
}
}, ...
}
درخواست موجودی با حساب کشبک:
* موجودی را با در نظر گرفتن کشبک انباشته شده برمیگرداند، اگر گزینه «استفاده از کشبک برای فعالسازی» در تنظیمات حساب کشبک تیک خورده باشد
پارامترها:
$api_key - کلید API
پاسخ:
ACCESS_BALANCE: 'موجودی حساب'
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
ERROR_SQL - خطای سرور sql
* تمام اپراتورهای موجود برای کشور ارسالشده را برمیگرداند؛ اگر کشوری ارسال نشده باشد، تمام اپراتورهای موجود برای هر کشور را برمیگرداند
پارامترها:
$api_key - کلید API
$country - کد کشور
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود:
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
مثال:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* در داخل 'countryOperators' - کلید همان کد کشور خواهد بود
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
ERROR_SQL - خطای سرور sql
OPERATORS_NOT_FOUND - هیچ رکوردی یافت نشد (مثلاً کشور غیرموجود ارسال شده است)
پارامترها:
$api_key - کلید API
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود:
{"status":"success", "activeActivations": [
{
"activationId" : "635468021",
"serviceCode" : "vk",
"phoneNumber" : "79********1",
"activationCost" : "12.50",
"activationStatus" : "4",
"smsCode" : ["CODE"],
"smsText" : "[Your CODE registration code]",
"activationTime" : "2022-06-01 16:59:16",
"discount" : "0.00",
"repeated" : "0",
"countryCode" : "0",
"countryName" : "Russia",
"canGetAnotherSms" : "1",
}]
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
ERROR_SQL - خطای سرور sql
NO_ACTIVATIONS - ورودیها یافت نشدند (هیچ فعالسازی فعالی وجود ندارد)
پارامترها:
$api_key - کلید API
$service - سرویس برای سفارش مشاهده جدول
$forward * - آیا لازم است شمارهای با قابلیت تغییر مسیر درخواست شود
* پارامتر اختیاری، مقادیر ۰ (اجرا نشود، بهصورت پیشفرض تنظیم شده) و ۱ (اجرا شود) را میپذیرد
$maxPrice * - حداکثر قیمتی که حاضرید برای خرید شماره با نرخ Free Price بپردازید
* پارامتر اختیاری؛ اگر مشخص نشود، خرید با قیمت معمولی انجام میشود
$phoneException * - حذف پیششمارهها برای شمارههای روسیه. با کاما وارد کنید. فرمت ثبت: کد کشور و ۳ تا ۶ رقم از الگو (مثلاً 7918، 7900111). مقدار پیشفرض، مقداری است که در حساب کاربری مشخص شده است.
$operator* اپراتور موبایل شماره است، میتوانید چندین مورد را با کاما مشخص کنید (فقط برای ** در دسترس است)
$activationType - نوع فعالسازی: ۰ - با پیامک (پیشفرض)، ۱ - با شماره، ۲ - با تماس صوتی
$language - زبان تجزیه و تحلیل (برای فعالسازی با تماس صوتی الزامی است) مشاهده جدول
$userId * - شناسه کاربری که به دلیل آمار ضعیف فعالسازی مسدود شود، اما حساب خود نماینده فروش تحت تأثیر قرار نمیگیرد.
* فیلد اختیاری
** موجود برای $country = 0, $country = 1, $country = 2
$ref - انتقال شناسه معرف.
$country - شماره کشور مشاهده جدول
$useCashBack* - مقدار بولی میپذیرد؛ اگر پارامتر 'true' باشد، خرید شماره از طریق موجودی کشبک انجام میشود. پس از اتمام موجودی کشبک، تمام خریدهای بعدی از طریق موجودی اصلی انجام خواهد شد. مهم است به یاد داشته باشید که تمام خریدهای بعدی ابتدا از کشبک استفاده میکنند و سپس از موجودی اصلی (حتی اگر بعداً پارامتر 'false' ارسال شود).
* پارامتر اختیاری، مقدار 'true' را میپذیرد
با دریافت شماره از طریق API، شما با موارد زیر موافقت میکنید قوانین پروژه قوانین پروژه
اشتباهات احتمالی:
WRONG_MAX_PRICE:$min- حداکثر قیمت مشخص شده کمتر از حد مجاز است
$min - حداقل قیمت مجاز
BAD_ACTION - عملیات نادرست
BAD_SERVICE - نام سرویس نادرست
BAD_KEY - کلید API نامعتبر
ERROR_SQL - خطای سرور sql
BANNED:'YYYY-m-d H-i-s' - زمانی که حساب کاربری مسدود شده است
WRONG_EXCEPTION_PHONE - پیششمارههای استثنا نادرست
NO_BALANCE_FORWARD - موجودی کافی برای خرید انتقال تماس وجود ندارد
CHANNELS_LIMIT - حساب کاربری مسدود شده است
NO_NUMBERS - شمارهای موجود نیست
اگر سعی کنید شمارهای از اپراتور خاصی را دریافت کنید که در کشور انتخابی فعالیت نمیکند یا سرویس انتخابی را ندارد، شماره اولین اپراتوری که با پارامترهای درخواست مطابقت دارد، بازگردانده میشود
این متد مشابه متد getNumberعمل میکند، همان پارامترها و پارامترهای اضافی توضیح داده شده در زیر را میپذیرد، اما اطلاعات فعالسازی اضافی را بازمیگرداند
پارامترها:
$orderId- شناسه فعالسازی از سیستم نماینده فروش. هنگام خرید، این داده با شناسه فعالسازی و نماینده فروش در سیستم ما مقایسه میشود. بدین ترتیب، ما قصد داریم به یکنواختی دست یابیم (سفارش یکسان دوباره پردازش نخواهد شد).
پاسخ:
در صورت موفقیتآمیز بودن درخواست، پاسخ به فرمت زیر خواهد بود:
{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}
اگر سعی کنید شمارهای از اپراتور خاصی را دریافت کنید که در کشور انتخابی فعالیت نمیکند یا سرویس انتخابی را ندارد، شماره اولین اپراتوری که با پارامترهای درخواست مطابقت دارد، بازگردانده میشود
اشتباهات احتمالی:
ORDER_ALREADY_EXISTS- سفارش قبلاً ایجاد شده است
هنگامی که پیامکی به شماره دریافت میکنید، اگر قابلیت وبهوک (Webhooks) را در تنظیمات خود فعال کرده باشید، ما اطلاعات مربوط به پیامک را از طریق یک درخواست POST به آدرسهای مشخصشده توسط شما ارسال خواهیم کرد.
پاسخ:
فرمت پاسخ به شرح زیر خواهد بود:
{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}
هنگام ارسال درخواست، منتظر پاسخی با کد وضعیت HTTP 200 از اسکریپت شما خواهیم بود. اگر اسکریپت شما پاسخ ندهد، ظرف مدت ۲ ساعت درخواست را مجدداً ارسال میکنیم، اما حداکثر تا ۸ بار.
میتوانید این قابلیت را در تنظیمات پروفایل
پارامترها:
$api_key - کلید API
$service - سرویس برای سفارش مشاهده جدول
$forward * - آیا لازم است شمارهای با قابلیت تغییر مسیر درخواست شود
* پارامتر اختیاری؛ کاراکترهای هدایتشونده با کاما جدا میشوند و تعداد ارقام هدایتشونده باید با تعداد سرویسهای ارسالشده در پارامتر مطابقت داشته باشد. $service. تنها مجاز به ارسال ۱ سرویس با تغییر مسیر هستید، برای مثال "0,1,0,0" صحیح است، اما "0,1,1,0" نادرست است. مقادیر ۰ (عدم اجرا، پیشفرض) و ۱ (اجرا) را میپذیرد.
$operator * - اپراتور موبایل شماره؛ میتوانید چندین شماره را با کاما از هم جدا کنید (فقط برای ** در دسترس است):
$ref - انتقال شناسه معرف.
$country - شماره کشور مشاهده جدول
با دریافت شماره از طریق API، شما با موارد زیر موافقت میکنید قوانین پروژه قوانین پروژه
پاسخ:
NO_NUMBERS - شمارهای موجود نیست
NO_BALANCE - موجودی تمام شده است
{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}, که در آن (phone - شناسه عملیات، activation - شماره تلفن، service - سرویس)
اشتباهات احتمالی:
BAD_ACTION - عملیات نادرست
BAD_SERVICE - نام سرویس نادرست
BAD_KEY - کلید API نامعتبر
ERROR_SQL - خطای سرور sql
BANNED:'YYYY-m-d H-i-s' - زمانی که حساب کاربری مسدود شده است
پارامترها:
$api_key - کلید API
$id - شناسه فعالسازی
$forward * - شماره تلفنی که میخواهید به آن هدایت شود
* فقط در صورتی الزامی است که پارامتری با مقدار getNumber forward=1 ارسال شده باشد.
$status - وضعیت فعالسازی
1 - اطلاعرسانی درباره در دسترس بودن شماره (پیامک به شماره ارسال شد)
3 - درخواست یک کد دیگر (رایگان)
6 - پایان دادن به فعالسازی *
8 - گزارش استفاده قبلی از شماره و لغو فعالسازی
* اگر وضعیت «دریافت کد» وجود داشته باشد، آن را با موفقیت علامتگذاری و تکمیل میکند؛ اگر وضعیت «در حال آمادهسازی» باشد، حذف و خطا ثبت میشود؛ اگر وضعیت «انتظار برای تلاش مجدد» باشد، فعالسازی به حالت انتظار پیامک منتقل میشود.
** امکان تغییر وضعیت فعالسازی برای مواردی که روش تأیید از طریق تماس انتخاب شده است، در صورتی که شماره قبلاً دریافت شده باشد، وجود ندارد.
منطق ساده توالی کار با API:
دریافت شماره با استفاده از متد getNumber، سپس اقدامات زیر در دسترس هستند:
8 - لغو فعالسازی (اگر شماره مناسب شما نیست)
1 - اطلاعرسانی ارسال پیامک (اختیاری)
برای فعالسازی با وضعیت 1:
8 - لغو فعالسازی
بلافاصله پس از دریافت کد:
3 - درخواست یک پیامک دیگر
6 - تأیید کد پیامک و پایان فعالسازی
برای فعالسازی با وضعیت 3:
6 - تأیید کد پیامک و پایان فعالسازی
پاسخ:
ACCESS_READY - آمادگی شمارهها تأیید شد
ACCESS_RETRY_GET - در انتظار دریافت پیامک جدید
ACCESS_ACTIVATION - سرویس با موفقیت فعال شد
ACCESS_CANCEL - فعالسازی لغو شد
اشتباهات احتمالی:
EARLY_CANCEL_DENIED - لغو شماره در ۲ دقیقه اول مجاز نیست
ERROR_SQL - خطای سرور sql
NO_ACTIVATION - شناسه فعالسازی وجود ندارد
BAD_SERVICE - نام سرویس نادرست
BAD_STATUS - وضعیت نادرست
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
WRONG_ACTIVATION_ID - شناسه نامعتبر است یا شناسه عدد نیست.
پارامترها:
$api_key - کلید API
$id - شناسه فعالسازی
پاسخ:
STATUS_WAIT_CODE - در انتظار دریافت پیامک
STATUS_WAIT_RETRY: 'گذشته، کد نامطابق' - در انتظار شفافسازی کد
STATUS_WAIT_RESEND - در انتظار ارسال مجدد پیامک *
* نرمافزار باید گزینه ارسال مجدد پیامک را فشار دهد و وضعیت را به ۶ تغییر دهد
STATUS_CANCEL - فعالسازی لغو شد
STATUS_OK: 'کد فعالسازی' - کد دریافت شد
اشتباهات احتمالی:
NO_ACTIVATION - شناسه فعالسازی وجود ندارد
ERROR_SQL - خطای سرور sql
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
پارامترها:
$api_key - کلید API
$id - شناسه فعالسازی
پاسخ:
فرمت پاسخ به شرح زیر خواهد بود:
{
"verificationType": 2,
"sms": {
"dateTime": "0000-00-00 00:00:00",
"code": "code",
"text": "sms text",
},
"call": {
"from": "phone",
"text": "voice text",
"dateTime": "0000-00-00 00:00:00",
"url": "voice file url",
"parsingCount": 1,
}
}
STATUS_CANCEL - فعالسازی لغو شد
اشتباهات احتمالی:
NO_ACTIVATION - شناسه فعالسازی وجود ندارد
ERROR_SQL - خطای سرور sql
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
پارامترها:
$api_key - کلید API
$start - زمان به فرمت Unix Timestamp (اختیاری) - تاریخ شروع بررسی فعالسازیها
$end - زمان به فرمت Unix Timestamp (اختیاری) - تاریخ پایان بررسی فعالسازیها
$offset - جابجایی اولین عنصر بازگردانده شده در پاسخ. مقدار پیشفرض ۰ است
$limit - حداکثر تعداد رکوردهای بازگردانده شده. حداکثر ۱۰۰ است. مقدار پیشفرض ۵۰ است.
پاسخ:
فرمت پاسخ به شرح زیر خواهد بود:
[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]
اشتباهات احتمالی:
ERROR_SQL - خطای سرور sql
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
پارامترها:
$api_key - کلید API
$service - نام سرویس
پاسخ:
فرمت پاسخ به شرح زیر خواهد بود:
[{
"country": 0,
"share": 50 - // (Purchases of the chosen service by country as a percentage of the total quantity of purchases at our service),
"rate": 50 - // (% of successful activations among the total number of activations by the country)
}]
اشتباهات احتمالی:
ERROR_SQL - خطای سرور sql
BAD_KEY - کلید API نامعتبر
WRONG_SERVICE - سرویس نادرست
BAD_ACTION - عملیات نادرست
پارامترها:
$api_key - کلید API
$id - شناسه فعالسازی
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{"status":"2","phone":false}
وضعیتهای ممکن:
۲ - فعالسازی جدید
۳ - با موفقیت پایان یافت
۴ - لغو شد
۵ - بازگشت داده شد
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
INVALID_ACTIVATION_ID - شناسه فعالسازی نامعتبر است
پارامترها:
$api_key - کلید API
$serviceنام کوتاه سرویس (اختیاری، بهطور پیشفرض تمام سرویسها) مشاهده جدول
$countryنام کد کشور (اختیاری، بهطور پیشفرض تمام کشورها) مشاهده جدول
پاسخ:
JSON - شیء در قالب
{"Country":{"Service":{"cost":Cost,"count":Count}}}
پارامترها:
$api_key - کلید API
$serviceنام کوتاه سرویس (اختیاری، بهطور پیشفرض تمام سرویسها) مشاهده جدول
پاسخ:
JSON - شیء در قالب
{"Service":{"Country":{"count":Quantity,"price":"Price"}}}
پارامترها:
$api_key - کلید API
پاسخ:
JSON - شیء در قالب {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
که در آن (
id : شناسه کشور؛
rus : نام کشور به روسی؛
eng : نام کشور به انگلیسی؛
chn : نام کشور به چینی؛
visible : 0 - کشور در سایت نمایش داده نمیشود، 1 - نمایش داده میشود؛
retry : 0 - ارسال مجدد پیامک امکانپذیر نیست، 1 - امکانپذیر است؛
rent : 0 - کشور اجاره داده نمیشود، 1 - اجاره داده میشود؛
multiService : 0 - کشور برای چند سرویس در دسترس نیست، 1 - در دسترس است.)
پارامترها:
$api_key- کلید API
$country *- شناسه کشور. اگر کشور را مشخص کرده باشید، سرویسهایی را برمیگردانیم که برای کشور انتخابشده قیمت دارند
$lang *- زبانی که برای ارائه `name` استفاده میشود. مقادیر ممکن: 'ru', 'en', 'es', 'cn'. پیشفرض 'en' است
* پارامتر اختیاری
پاسخ:
JSON - شیء در قالب { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }
پس از دریافت اولین پیامک برای شمارههای هدایتشده، میتوانید سایر سرویسهای مرتبط مانند Yula، Yandex، Avito و هر سرویس دیگری را خریداری کنید.
هزینه سرویس اضافی تنها ۵ روبل است
پارامترها:
$api_key - کلید API
$service - برای مشاهده نام کوتاه سرویس، به جدول مراجعه کنید مشاهده جدول
$id - شناسه فعالسازی والد
پاسخ:
ADDITIONAL:$id:$phone - یک فعالسازی جدید با موفقیت ایجاد شد. در اینجا ID شناسه فعالسازی اضافی و phone شماره تلفن است
اشتباهات احتمالی:
WRONG_ADDITIONAL_SERVICE - سرویس اضافی نامعتبر است (فقط سرویسهای مربوط به هدایت مجاز هستند)
WRONG_ACTIVATION_ID - شناسه فعالسازی والد نادرست است
WRONG_SECURITY - هنگام تلاش برای ارسال شناسه فعالسازی بدون هدایت، یا یک فعالسازی تکمیلشده/غیرفعال، خطایی رخ داده است
REPEAT_ADDITIONAL_SERVICE - خطا هنگام تلاش برای سفارش مجدد سرویس خریداریشده NO_BALANCE - موجودی کافی نیست
ERROR_SQL- خطای پایگاه داده، با پشتیبانی مشتریان تماس بگیرید
اگر فعالسازی موفقی روی شماره انجام دادهاید، میتوانید آن را مجدداً انجام دهید.
هزینه فعالسازی اضافی بسته به کشور و سرویس تعیین میشود. هزینه دقیق را میتوانید از طریق . دریافت کنید.
پارامترها:
$api_key - کلید API
$activationId - شناسه فعالسازی والد
پاسخ:
ACCESS_NUMBER:$id:$phone - یک فعالسازی جدید با موفقیت ایجاد شد. در اینجا $id شناسه فعالسازی اضافی و $phone شماره تلفن است
اشتباهات احتمالی:
RENEW_ACTIVATION_NOT_AVAILABLE- این شماره برای فعالسازی اضافی در دسترس نیست
WRONG_ACTIVATION_ID - شناسه فعالسازی والد نادرست است
ERROR_SQL- خطای پایگاه داده، با پشتیبانی مشتریان تماس بگیرید
NEW_ACTIVATION_IMPOSSIBLE- انجام فعالسازی اضافی امکانپذیر نیست
NO_BALANCE - موجودی حساب کافی نیست
میتوانید وضعیت دسترسی شماره برای فعالسازی اضافی را بررسی کرده و هزینه آن را دریافت کنید
پارامترها:
$api_key - کلید API
$activationId - شناسه فعالسازی والد
پاسخ:
JSON - شیء در قالب {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
اشتباهات احتمالی:
RENEW_ACTIVATION_NOT_AVAILABLE- این شماره برای فعالسازی اضافی در دسترس نیست
WRONG_ACTIVATION_ID - شناسه فعالسازی والد نادرست است
SIM_OFFLINE - سیمکارت آفلاین است
پاسخ:
فرمت پاسخ به شرح زیر خواهد بود:
{
"result": "OK"
}
STATUS_CANCEL - فعالسازی لغو شد
NO_CALL- هیچ تماسی دریافت نشد
PARSE_COUNT_EXCEED- محدودیت تعداد تلاشهای تجزیه (حداکثر ۴ مورد)
اشتباهات احتمالی:
WRONG_ACTIVATION_ID - شناسه نامعتبر است؛ فعالسازی وجود ندارد
ERROR_SQL - خطای سرور sql
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
اجاره API
پارامترها:
$api_key - کلید API
$time* - مدت زمان اجاره (پیشفرض: ۴ ساعت)
$operator* - اپراتور تلفن همراه شماره؛ میتوانید چندین مورد را با کاما از هم جدا کنید (پیشفرض: هر کدام)
$country* - کشور (پیشفرض: روسیه)
$incomingCall * - در صورت انتقال "true"دریافت شمارهای که از قابلیت دریافت تماس پشتیبانی کند
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{ "countries": { "0": 0 }, "operators": { "0": "aiva", "1": "any", "2": "beeline", ... "16": "yota" }, "services": { "full": { "cost": 42.93, "quant": 20 }, "vk": { "cost": 21.95, "quant": 20 }, "ok": { "cost": 7.68, "quant": 55 }, "ot": { "cost": 5.2, "quant": 42 } } }
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
OUT_OF_STOCK - شمارهها برای آن کشور در دسترس نیستند
پارامترها:
$api_key - کلید API
$service - سرویسی که برای دریافت شماره به آن نیاز دارید
$time* - مدت زمان اجاره بر حسب ساعت (پیشفرض: ۴ ساعت). بازه زمانی بعدی ۱۲ ساعت و سپس ۲۴ ساعت است. هنگام درخواست اجاره برای یک روز یا بیشتر، باید مقادیر ۲۴، ۴۸، ۷۲ و غیره را ارسال کنید.
$operator* - اپراتور تلفن همراه شماره؛ میتوانید چندین مورد را با کاما از هم جدا کنید (پیشفرض: هر کدام)
$country* - کشور (پیشفرض: روسیه)
$url * - لینک وبهوک (بهصورت پیشفرض در نظر گرفته نمیشود)
$incomingCall * - در صورت انتقال "true"دریافت شمارهای که از قابلیت دریافت تماس پشتیبانی کند
* پارامتر اختیاری. اگر مشخص نشود، از پارامتر پیشفرض استفاده خواهد شد.
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
پاسخ در قالب JSON:
{ "status": "error", "message": "*possible_answer*" }
پاسخهای ممکن در فیلد "message":
BAD_SERVICE - سرویس مشخص نشده یا نام آن نادرست است
NO_BALANCE - موجودی حساب کافی نیست
NO_NUMBERS - شمارهای موجود نیست
ACCOUNT_INACTIVE - شمارهای موجود نیست
SERVER_ERROR - خطای سرور
CHANNELS_LIMIT - حساب کاربری مسدود شده است
پارامترها:
$api_key - کلید API
$id - شناسه اجارهای که در پاسخ هنگام سفارش شماره دریافت شده است
$page* - شماره صفحهای که انتخاب از آن آغاز میشود (شمارهگذاری صفحات از ۰ شروع میشود، از جدید به قدیم؛ پیشفرض ۰ است)
$size* - اندازه صفحه (پیشفرض ۱۰)
* پارامتر اختیاری. اگر مشخص نشود، از پارامتر پیشفرض استفاده خواهد شد.
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{ "status": "success", "quantity": "2", "values": { "0": { "phoneFrom": "79180230628", "text": "5", "service": "ot", "date": "2020-01-30 14:31:58" }, "1": { "phoneFrom": "79180230628", "text": "4", "service": "ot", "date": "2020-01-30 14:04:16" } } }
* تنها زمانی موفقیتآمیز است که پیامک وجود داشته باشد (مقدار 'quantity' > 0).
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
پاسخ در قالب JSON:
{ "status": "error", "message": "*possible_answer*" } پاسخهای ممکن در فیلد "message": NO_ID_RENT - شناسه اجاره مشخص نشده است INVALID_PHONE - شماره توسط شما اجاره نشده است (شناسه اجاره نامعتبر) STATUS_FINISH - اجاره پرداخت و تکمیل شد STATUS_CANCEL - اجاره با بازپرداخت لغو شد STATUS_WAIT_CODE - در انتظار دریافت اولین پیامک STATUS_REVOKE - شماره مسدود شده است، مبلغ شما بازگردانده شد
پارامترها:
$api_key - کلید API
$id - شناسه اجارهای که در پاسخ هنگام سفارش شماره دریافت شده است
$status - کد برای تغییر وضعیت (شماره)
وضعیت میتواند باشد:
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود:
{ "status": "success" }
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
پاسخ در قالب JSON:
{ "status": "error", "message": "*possible_answer*" }
پاسخهای ممکن در فیلد "message":
NO_ID_RENT - شناسه اجاره مشخص نشده است
INCORECT_STATUS - وضعیت وجود ندارد یا به اشتباه مشخص شده است
CANT_CANCEL - امکان لغو اجاره وجود ندارد (بیش از ۲۰ دقیقه گذشته است)
INVALID_PHONE - شماره توسط شما اجاره نشده است (شناسه اجاره نامعتبر)
ALREADY_FINISH - اجاره قبلاً تکمیل شده است
ALREADY_CANCEL - اجاره قبلاً لغو شده است
SERVER_ERROR - خطای سرور
👉توجه! این روش فقط ۱۰ شماره آخر را نمایش میدهد. اگر به شمارههای بیشتری نیاز دارید، از getRentStatus برای بررسی وضعیتها استفاده کنید.
پارامترها:
$api_key - کلید API
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود:
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
پاسخ در قالب JSON:
{ "status": "error", "message": "*possible_answer*" }
پاسخهای ممکن در فیلد "message":
NO_NUMBERS - هیچ شماره اجارهای وجود ندارد
SERVER_ERROR - خطای سرور
پارامترها:
$api_key - کلید API
$id - شناسه اجاره
$rent_time- مدت زمان اجاره (پیشفرض: ۴ ساعت)
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
هنگامی که یک اجاره تکمیلشده تمدید شود، مجدداً سفارش داده میشود و یک شناسه جدید ارائه خواهد شد
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
SERVER_ERROR - خطای سرور
پاسخ در قالب JSON:
{ "status": "error", "message": "*possible_answer*", "info": "*details*" }
پاسخهای ممکن در فیلد "message":
NO_ID_RENT - شناسه اجاره وجود ندارد
INVALID_TIME - زمان نادرست. تعداد ساعات مجاز از ۴ تا ۱۳۴۴ ساعت است
MAX_HOURS_EXCEED - حداکثر زمان مجاز تجاوز شده است
حداکثر - حداکثر زمان موجود
INVALID_PHONE - شناسه اجاره نادرست
RENT_DIE - امکان تمدید اجاره وجود ندارد زیرا شماره منقضی شده است
NO_BALANCE - موجودی ناکافی
CHANNELS_LIMIT - حساب کاربری مسدود شده است
* این روش فقط برای اجاره با اپراتور MTT در دسترس است.
پارامترها:
$api_key - کلید API
$id - شناسه اجاره
$rent_time - مدت زمان اجاره
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود:
{ "status": "success", "price": 6.33 }
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
SERVER_ERROR - خطای سرور
پاسخ در قالب JSON:
{ "status": "error", "message": "*possible_answer*" }
پاسخهای ممکن در فیلد "message":
NO_ID_RENT - شناسه اجاره وجود ندارد
INVALID_PHONE - شناسه اجاره نادرست
INVALID_TIME - تنظیمات زمان نادرست
RENT_DIE - امکان تمدید اجاره وجود ندارد زیرا شماره منقضی شده است
MAX_HOURS_EXCEED - حداکثر زمان مجاز تجاوز شده است
حداکثر - حداکثر زمان موجود
CHANNELS_LIMIT - حساب کاربری مسدود شده است
API جاوا
کتابخانه را در Maven اضافه کنید
<
<
<
میتوانید نمونهای از ثبتنام را مشاهده کنید در لینک به MavenRepository
کلاس اصلی را برای تعامل با API سرویس SMS-Activate وارد کنید.
برای استفاده از کتابخانه، به یک کلید API نیاز دارید؛ میتوانید آن را از این صفحه و لینک زیر دریافت کنید.
کلید API سرویس SMS-Activateبرای دریافت موجودی فعلی حساب خود، از متد زیر استفاده کنید getBalance... اگر علاوه بر موجودی، به کشبک نیز علاقه دارید، متد زیر را فراخوانی کنید getBalanceAndCashBack.
روش getBalanceAndCashBack یک شیء کلاس برمیگرداندSMSActivateGetBalanceAndCashBack.
پارامترها:
هیچکدام
نوع بازگشتی:
BigDecimal
پارامترها:
هیچکدام
نوع بازگشتی:
پارامترها:
countryId(Integer) - شناسه کشور.
service(String) - نام کوتاه سرویس.
forward*(boolean) - آیا درخواست شماره با قابلیت انتقال تماس شود.
مجموعه اپراتورها (Set) - مجموعهای از اپراتورها.
استثنائات تلفن (Set) - به جز پیششمارههای مخصوص روسیه، مجموعهای از اعداد با طول ۳ تا ۶ رقم (مانند 7918 یا 7900111).
* کادر اختیاری. اگر مقداری مشخص نشود، تعداد پیشفرض بر اساس تنظیمات پروفیل اعمال خواهد شد.
نوع بازگشتی:
پارامترها:
countryId(Integer) - شناسه کشور.
مجموعه اپراتورها (Set) - مجموعهای از اپراتورهایی که برای سرویس در دسترس هستند
نوع بازگشتی:
پارامترها:
شناسه (Integer) - شناسه فعالسازی
service(String) - نام کوتاه سرویس.
به جای شناسه فعالسازی، میتوانید شیء کلاسی دریافتشده را ارسال کنید فعالسازی SMS-Activate پس از استفاده از متد getNumber یا یکی از فعالسازیها پس از استفاده getMultiServiceNumber.
نوع بازگشتی:
پارامترها:
countryId(Integer) - شناسه کشور.
نقشه سرویسها (Set) - مجموعهای از سرویسهایی که فعالسازی آنها خریداری شده است
لیست انتقال چندگانه (List) - لیست سرویسهایی که امکان انتقال تماس دارند
مجموعه اپراتورها (Set) - مجموعهای از اپراتورها.
نوع بازگشتی:
پارامترها:
هیچکدام
نوع بازگشتی:
پارامترها:
countryId(Integer) - شناسه کشور.
service(String) - نام کوتاه سرویس.
نوع بازگشتی:
پارامترها:
countryId(Integer) - شناسه کشور.
نوع بازگشتی:
پارامترها:
شناسه فعالسازی (Integer) - شناسه فعالسازی
به جای شناسه فعالسازی، میتوانید شیء کلاسی دریافتشده را ارسال کنید فعالسازی SMS-Activate پس از استفاده از متد getNumber یا یکی از فعالسازیها پس از استفاده getMultiServiceNumber.
نوع بازگشتی:
پارامترها:
شناسه (Integer) - شناسه فعالسازی
وضعیت (SMSActivateClientStatus) - وضعیتی که باید برای فعالسازی تنظیم شود
به جای شناسه فعالسازی، میتوانید شیء کلاسی دریافتشده را ارسال کنید فعالسازی SMS-Activate پس از استفاده از متد getNumber یا یکی از فعالسازیها پس از استفاده getMultiServiceNumber.
نوع بازگشتی:
پارامترها:
هیچکدام
نوع بازگشتی:
پارامترها:
شناسه فعالسازی (Integer) - شناسه فعالسازی
به جای شناسه فعالسازی، میتوانید شیء کلاسی دریافتشده را ارسال کنید فعالسازی SMS-Activate پس از استفاده از متد getNumber یا یکی از فعالسازیها پس از استفاده getMultiServiceNumber.
نوع بازگشتی:
الگوریتم دریافت متن کامل پیامک همراه با فعالسازی
دریافت شماره با استفاده از متد getNumber، سپس اقدامات زیر در دسترس هستند:
CANCEL - 8 - لغو فعالسازی (اگر شماره مناسب شما نیست)
MESSAGE_WAS_SENT - اطلاع از ارسال پیامک (دریافت متن کامل پیامک الزامی است)
پس از تنظیم اجباری وضعیت MESSAGE_WAS_SENT، متغیر را برای دریافت پیامک با استفاده از متد waitSMS همراه با پارامترهای فعالسازی و زمان انتظار برای پیامک تنظیم کنید.
پس از دریافت پیامک، میتوانید آن را با استفاده از متد getFullSMS دریافت کرده و سپس متن کامل را با استفاده از متد getText() نمایش دهید.
پس از آن، میتوانید فعالسازیها را به وضعیتهای زیر تغییر دهید:
برای فعالسازی با وضعیت MESSAGE_WAS_SENT:
CANCEL - لغو فعالسازی
بلافاصله پس از دریافت کد:
REQUEST_ONE_MORE_CODE - درخواست یک پیامک دیگر
FINISH - تأیید کد پیامک و تکمیل فعالسازی
برای فعالسازی با وضعیت REQUEST_ONE_MORE_CODE:
FINISH - تأیید کد پیامک و تکمیل فعالسازی
پارامترها:
countryId(Integer) - شناسه کشور.
service(String) - نام کوتاه سرویس.
hours(Integer)* - مدت زمان اجاره
operator(String)* - نام اپراتور موبایل
urlWebhook(String)* - لینک وبهوک (به صورت پیشفرض در نظر گرفته نمیشود)
وبهوک چیست؟* پارامتر اختیاری. اگر مشخص نشود، مقدار پیشفرض اعمال خواهد شد
نوع بازگشتی:
پارامترها:
countryId(Integer) - شناسه کشور.
مجموعه اپراتورها (Set) - مجموعهای از اپراتورهای موبایل
hours(Integer)* - مدت زمان اجاره
* پارامتر اختیاری. اگر مشخص نشود، مقدار پیشفرض اعمال خواهد شد
نوع بازگشتی:
پارامترها:
rentId(Integer) - شناسه شماره اجارهای
به جای rentId، میتوانید شیء کلاس حاصل را ارسال کنید SMSActivateRentActivation پس از استفاده از متد getRentNumber
نوع بازگشتی:
API ایمیل
توضیح وضعیتهای API
3 - در انتظار
4 - لغو شده
5 - موفقیتآمیز
توضیحات:
پایبندی دقیقتر به اصول REST API و افزایش تعداد صندوقهای پستی gmail.com برای ثبتنام حسابهای Telegram.
پارامترها:
$api_key - کلید API
$site- سایتی که برای آن به ایمیل نیاز دارید
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
اشتباهات احتمالی:
BAD_SITE- سایت مشخص نشده است
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
پارامترها:
$api_key - کلید API
$site - سایتی که برای آن به ایمیل نیاز دارید
$mail_type - نوع ایمیل: دامنهها یا زونهای محبوب (1 - زونها 2 - محبوب)
$mail_domain - منطقه یا دامنه انتخابشده
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
MAIL_TYPE_ERROR - چنین دامنهای برای سایت مشخصشده وجود ندارد
CHANNELS_LIMIT - حساب کاربری مسدود شده است
پارامترها:
$api_key - کلید API
$id- شناسه ایمیلی که نیاز به فعالسازی مجدد دارد
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
اشتباهات احتمالی:
BAD_KEY - کلید API نامعتبر
BAD_ACTION - عملیات نادرست
BLOCKED_SITE - وبسایت مسدودشده
BAD_BALANCE - موجودی ناکافی
ACTIVATION_NOT_FOUND - فعالسازی یافت نشد
CHANNELS_LIMIT - حساب کاربری مسدود شده است
پارامترها:
$api_key - کلید API
$page- شماره صفحه
$per_page- تعداد خریدها در هر صفحه
$search- نوار جستجو
$sort- جهت مرتبسازی. (نزولی، صعودی)
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{
"status":"OK",
"response":{
"list":[
{
"id":"241",
"site":"apple.com",
"email":"[email protected]",
"status":"3",
"value":null,
"cost":"6.00",
"date":"2023-10-06 14:24:13",
"full_message":""
}
],
"pages":1,
"count":1
}
}
پارامترها:
$api_key - کلید API
$id- شناسه خرید
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{
"status":"OK",
"response":true
}
اشتباهات احتمالی:
EARLY_CANCEL_DENIED - شما نمیتوانید ایمیل را در ۲ دقیقه اول لغو کنید.
پارامترها:
$api_key - کلید API
$id- شناسه ایمیل خریداریشده؛ پس از خرید ایمیل بازگردانده میشود
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
نرمافزار شریک API
پارامترها:
$api_key - کلید API
$id- شناسه نرمافزاری که باید خریداری شود
پاسخ:
پاسخ سرویس به صورت فرمت json خواهد بود، مثال:
{
"status": "success",
"key": "F5qrzFoY6afj3zrEq7SeMplbx",
"manual": "Software download link:"
}
اشتباهات احتمالی:
BAD_DATA - شناسه نادرست یا شناسه عدد نیست
BAD_ACTION - اقدام نامعتبر یا نماینده فروش تأیید نشده است.
<?php
include_once ("smsactivateApi.php");//Inclusion of a class in a project
$sms = new SMSActivate($API_KEY);//Create class instance SMSActivate
$freeSlots = $sms->getNumbersStatus(0, 'tele2');//Get the number of available numbers for the country of Russia and the tele2 operator
echo "Номеров Вконтакте: " . $freeSlots['vk']."\n";//Show for Vk
echo "Номеров Whatsapp: " . $freeSlots['wa']."\n";//Show for whatsapp
var_dump($freeSlots); //Show all services with quantity
$array=$activate->getTopCountriesByService(); //Get an array whose elements contain information for each country
$balance = $sms->getBalance();//Get balance
echo "On the account " . $balance." rub.\n";//Show balance
$balance = $sms->getBalanceAndCashBack();//Request a balance with cashback account
echo "On the account " . $balance." rub.\n";//Request a balance with cashback account
$operators = $sms->getOperators();
//Get operators for all countries
if (in_array('mts', $operators['countryOperators'][0])) {
//check if 'mts' is available for Russia
//perform an action
}
if (in_array('chinamobile', $operators['countryOperators'][3])) {
//check if 'chinamobile' is available for China
//perform an action
}
$activations = $sms->getActiveActivations();
$number = $sms->getNumber('ok',0, 0, 'tele2');//Get Odnoklassniki number without forwarding
echo "Activation № " . $number['id']. "Phone ". $number['number'] \n";//Show id and activation number
$result = $sms->getNumber('vk', 0 , 1);
if (!is_array($result)) {
echo 'Ошибка: ' . $result . '\n';//If an error occurs, a string will be returned, if successful, an array will be returned.
} else {
echo 'Id: ' . $result['id'] ."\n";
echo 'Номер: ' . $result['number'] ."\n";
}
$result = $sms->getNumberV2('vk', 0 , 1);
$number = $sms->getMultiServiceNumber('ok,vk,vi,av','0,0,0,1', 0, 'tele2');//Get a number for services Odnoklassniki, Vkontakte, Viber without call forwarding and Avito with call forwarding
foreach ($number as $value) {
echo "Activation № " . $value['activation']. " for service ". $value['service'] ."\n";
}
echo "Number " . $value['phone'] ."\n";//Show activation id and number
$status = $sms->setStatus($number['id'], 3);//Change activation status by id (get 1 more code)
$status = $sms->getStatus($number['id']);//Get activation status by id
if (is_array($status) {
echo "статус : " . $status['status'];//Can be STATUS_OK or STATUS_WAIT_RETRY, otherwise a line with error text will be returned
echo "код: " . $status['code'];
} else {
echo $status ."\n";
}
$incomingCall = $sms->getIncomingCallStatus($id);//Get activation data by call
echo $incomingCall['phone'] //Show incoming number
$prices = $sms->getPrices(1, 'vk');//Get the current price for the service
echo "Price for VK (Ukraine) : " .$prices[1]['vk']['cost']." rub. quantity: ". $prices[1]['vk']['count'];//Show the result
$countries = $sms->getCountries();//Get a list of all countries
$additional = $sms->getAdditionalService('fx', $id);//Get additional activation for PGbonus service based on id activation
echo "Activation no.: " . $additional[id] . " Telephone: " . $additional[number];//Show the result
$getAvailableRentNumbers = $sms->getRentServicesAndCountries('2');//Request available countries for rent and services (for 2 hours for all operators)
echo "Full rental - Cost:" . $getAvailableRentNumbers['services']['full']['cost'] . " Quant :" .$getAvailableRentNumbers['services']['full']['quant'] ." \n"; //Display full price information
foreach( $getAvailableRentNumbers['operators'] as $value) {
echo " Operator " . $value ."\n"; }//List operators
$getRentNumber = $sms->getRentNumber('vk','10','0','yota');//Get a number for rent for Vkontakte for 10 hours, operator 'Yota', country - Russia
if ($getRentNumber['status'] === 'success'){
echo "The rental was successful! Your phone number is: " . $getRentNumber['phone']['number']." \nRent expiration : ". $getRentNumber['phone']['endDate']." \nId numbers :" .$getRentNumber['phone']['id'] ; }//Display rental information
else
echo "Error code : " . $getRentNumber['message'];
$getRentStatus = $sms->getRentStatus($getRentNumber['phone']['id']);//Get the rent status with id from the received number
if ($getRentStatus['status'] == 'success'){
foreach( $getRentStatus['values']as $index => $value) {
echo " Message " . $index .": from the number - " . $value['phoneFrom'] . " Service - " . $value ['service'] . "message text - " . $value['text'] . "Date - " . $value['date']; } }//display a list of messages received while renting a phone
else
echo "Error code : " . $getRentStatus['message'];
$setRentStatus = $sms->setRentStatus($getRentNumber['phone']['id'],1);//Set rental status 'finish' with id from received number
if ($setRentStatus['status'] == 'success')
echo " Status change was successful! ";
else
echo "Error code : " . $setRentStatus['message'];
$getRentList = $sms->getRentList();//Get a list of currently rented numbers
if (getRentList['status'] == 'success')
foreach( $getRentList['values'] as $value) {
echo " ID " . $value["id"] . " Number " . $value["phone"] ."\n"; }//List numbers
else
echo "Error code : " . $getRentList['message'];
$result = $sms->continueRentNumber($id);//Extend the lease of activation id for 4 hours (by default)
if ($result['status'] == 'success') {
echo "Number: " . $result['phone']['number']"//Display number
echo "id: " . $result['phone']['id']"//Display activation id
echo "The lease is valid until: " . $result['phone']['endDate']"//Display the date and time of the end of the lease
} else {
echo "Error code : " . $result['msg'];
}
$result = $sms->getContinueRentPriceNumber($id, 12);//Get the cost of renewing the lease to activate the id for 12 hours
if ($result['status'] == 'success') {
echo " Renewal cost " . $result['price'];//Withdraw the cost
} else {
echo "Error code: " . $result['message']; //Display error code
}
from sms-activate.help import SMSActivateAPI
# SMSActivateAPI Contains all basic tools for working with the SMSActivate API
sa = SMSActivateAPI(API_KEY)
sa.debug_mode = True
# Used for debugging. When debug_mode is active, all responses from the server and class will be output to the console
print(sa.version())
# Returns the current version of the library
status = sa.getNumbersStatus(country=0, operator='tele2')
try:
print(status['vk_0']) # 274789
except:
print(status['message']) # Error text
result = sa.getTopCountriesByService('vk')
try:
print(result[0]['count']) # 2350
except:
print(result['message']) # Error text
balance = sa.getBalance() # {'balance': '100.00'}
try:
print(balance['balance']) # 100.00
except:
print(balance['message']) # Error text
balance = sa.getBalanceAndCashBack() # {'balance': '100.00'}
try:
print(balance['balance']) # 100.00
except:
print(balance['message']) # Error text
operators = sa.getOperators(country=0)
try:
print(operators['countryOperators']['0'])
except:
print(operators['error']) # Error status
activations = sa.getActiveActivations()
try:
print(activations['activeActivations'])
except:
print(activations['error']) # Error status
number = sa.getNumber(service='vk', operator='tele2', country=0, verification="true") # {'activation_id': 000000000, 'phone': 79999999999}
try:
print(number['phone']) # 79999999999
except:
print(number['message']) # Error text
number = sa.getNumberV2(service='vk', country=0)
try:
print(number['phoneNumber']) # 79999999999
except:
print(number['message']) # Error text
multinumber = sa.getMultiServiceNumber(service='fb,ig', operator='tele2', country=0) # [{'phone': '79999999999', 'activation': 000000000, 'service': 'fb'}, {'phone': '79999999999', 'activation': 000000001, 'service': 'ig'}]
try:
print(multinumber[0]['phone']) # 79999999999
except:
print(multinumber['message']) # Error text
status = sa.setStatus(id=000000000, status=1) # ACCESS_READY
try:
print(status) # ACCESS_READY
except:
print(status['message']) # Error text
status = sa.getStatus(id=000000000) # STATUS_WAIT_CODE
try:
print(sa.activationStatus(status)) # {'status': 'STATUS_WAIT_CODE', 'message': 'Ожидание смс'}
except:
print(status['message']) # Error text
status = sa.getIncomingCallStatus(id=000000000)
try:
print(status['status']) # 2
except:
print(status['message']) # Error text
prices = sa.getPrices(service='fb', country=0)
try:
print(prices['0']) # {'fb': {'cost': 9, 'count': 27934}}
except:
print(prices['message']) # Error text
countries = sa.getCountries()
try:
print(countries['0']['eng']) # Russia
except:
print(countries['message']) # Error text
service = sa.getAdditionalService(id=000000000, service='ig')
try:
print(service['phone']) # 79999999999
except:
print(service['message']) # Error text
service = sa.getRentServicesAndCountries(time=4, operator='tele2', country=0)
try:
print(service['services']['full']['cost']) # 100.00
except:
print(service['message']) # Error text
rent = sa.getRentNumber(service='ig', time=4, operator='tele2', country=0)
try:
print(rent['phone']['number']) # 79999999999
except:
print(rent['message']) # Error text
status = sa.getRentStatus(000000000)
try:
print(status['values']['0']['text']) # SMS
except:
print(status['message']) # Error text
status = sa.setRentStatus(id=000000000, status=1)
try:
print(status['status']) # success
except:
print(status['message']) # Error text
rent = sa.getRentList()
try:
print(rent['values']['0']['phone']) # 79999999999
except:
print(rent['message']) # Error text
rent = sa.continueRentNumber(id=000000000, time=4)
try:
print(rent['phone']['number']) # 79999999999
except:
print(rent['message']) # Error text
rent = sa.getContinueRentPriceNumber(000000000)
try:
print(status['price']) # 4.00
except:
print(status['message']) # Error text
import ru.sms_activate.SMSActivateApi;//Inclusion of a class in a project
SMSActivateApi smsActivateApi = new SMSActivate("API_KEY");//Create an instance of the SMSActivate class
BigDecimal balance = smsActivateApi.getBalance();//Get the current account balance
System.out.println("Balance: "+ balance)//Withdraw the received balance
SMSActivateGetBalanceAndCashbackResponse smsActivateGetBalanceAndCashbackResponse = smsActivateApi.getBalanceAndCashback();//Get current balance and cashback
System.out.println("Cashback + balance: "+ smsActivateGetBalanceAndCashbackResponse.getBalanceAndCashback());//Withdraw the amount of balance and cashback
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
System.out.println(activation);//Withdraw the received activation
SMSActivateGetNumbersStatusResponse smsActivateGetNumbersStatusResponse= smsActivateApi.getNumberStatus(0,null);//Get information about available services for Russia
SMSActivateServiceInfo go = smsActivateGetNumbersStatusResponse.getSMSActivateServiceInfoByShortName("go");//Getting information about numbers for the Google service
System.out.println("Short name service: " + go.getShortName();//Get the short name of the service
System.out.println("count phone numbers: "+ go.getCountPhoneNumber();//Get the number of numbers for the service
System.out.println(""Forwarding is available: "+ go.isForward() ? "yes" : "no"//Find out if the service has a redirect
SMSActivateActivation activation=smsActivateApi.getNumbersStatus(0,"ot",true);//Activations
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after sending SMS for the number
SMSActivateActivation childActivation =smsActivateApi.getAdditionalService(activation,"av");//Requesting a new activation for an additional service
System.out.println(childActivation);//Displaying information about additional activation
Set<String>operatorSet= new HashSet<>();
operatorSet.add("mts");//Adding an MTS operator to the set of operators
Map<String,Boolean>serviceMap= new HashMap<>();
serviceMap.put("av",false);//Adding the Avito service to the list of services (specify true if you need a service with redirection)
SMSActivateGetMultiServiceNumberResponse multiServiceNumberResponse=smsActivateApi.getMultiServiceNumber(0, serviceMap, operatorSet);//Getting activation for multiple services
multiServiceNumberResponse.getSMSActivateActivationList().forEach(activation->{
System.out.println("Id: " + activation.getId());
System.out.println("Number: " + activation.getNumber());
System.out.println("Service name: " + activation.getShortName());
}
//Displaying information about received activations
SMSActivateGetPricesResponse smsActivateGetPricesResponse=smsActivateApi.getPricesByCountryIdAndServiceShortName(0, "vk");//Obtaining a list of prices for Russia on the Vkontakte service. For a complete list of prices, use the getAllPrices () method;
SMSActivateGetPriceInfo vk=smsActivateGetPricesResponse.getPriceInfo(0, "vk");//Getting information about the Vkontakte service for Russia
System.out.println(">>> Cost: "+ vk.getCost());//Get a price for the service
System.out.println(">>> count phone numbers: " + vk.getCountPhoneNumbers());//Get the number of numbers for the service
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
System.out.println(activation);//Withdraw the received activation
SMSActivateGetStatusResponse getResponse = smsActivateApi.getStatus(activation);//Getting a status for activation
System.out.println(getResponse.getSMSActivateGetStatus());//Displaying information about the activation status
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after receiving SMS for the number
smsActivateApi.setStatus(activation, SMSActivateClientStatus.FINISH);//Setting the FINISH status after receiving SMS for the number
SMSActivateGetCountriesResponse smsActivateGetCountriesResponse =smsActivateApi.getCountries();//Getting a list of countries with information
SMSActivateCountryInfo countryInfo = smsActivateGetCountriesResponse.get(0)//Getting information about the first country on the list
System.out.println("Russian name: "+countryInfo.getRussianName();//Display the Russian name of the country
System.out.println("English name: "+countryInfo.getEnglishName();//Display the Russian name of the country
System.out.println("Support multi-service: "+ countryInfo.isSupportMultiService() ? "yes" : "no"//Show if the country supports multi-services
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after sending SMS for the number
String code=smsActivateApi.waitSms(activation,2)//Set receiving sms within 2 minutes
if(code == null) {
smsActivateApi.setStatus(activation, SMSActivateClientStatus.CANCEL);//Setting the CANCEL status if sms has not arrived
}
else{
SMSActivateGetFullSmsResponse smsActivateGetFullSmsResponse=smsActivateApi.getFullSms(activation)//Receiving sms text
System.out.println("Full SMS: "+smsActivateGetFullSmsResponse.getText());//SMS text output
}
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk", 6);//Getting a number with rent
System.out.println(">> ID: "+rentActivation.getId());//Activation ID withdrawal
System.out.println(">> Number: "+rentActivation.getId());//Displaying the activation number
System.out.println(">> End date: "+rentActivation.getId());//Displaying the activation expiration date
SMSActivateGetRentServicesAndCountriesResponse smsActivateGetRentServicesAndCountriesResponse= smsActivateApi.getRentServicesAndCountries(0, null, 4);//Obtaining information on services and countries that support rental
smsActivateGetRentServicesAndCountriesResponse.getAllRentServices().forEach((serviceShortName, smsActivateRentService)->{
System.out.println("Service shortname: " + serviceShortName);
System.out.println(" count phone numbers: " + smsActivateRentService.getCountPhoneNumbers());
System.out.println(">> Cost: " + smsActivateRentService.getCost());
}
//Displaying information about received services
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk");//Getting a number with rent
SMSActivateGetRentStatusResponse smsActivateGetRentStatusResponse= smsActivateApi.getRentStatus(rentActivation);//Getting activation status
System.out.println(">> Count sms: "+ smsActivateGetRentStatusResponse.getCountSms());//Displaying the number of sms on the rented number





















































