شرکت Dimar FZC LLC
ویلای فلامینگو A-32-01-05-03 25314 امارات متحده عربی، عجمان
+971585072431, /assets/img/icons/logo/logo.svg, [ایمیل محافظت‌شده]

پروتکل 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 دانلود پیاده‌سازی آماده پروتکل در Python

API فعال‌سازی

درخواست تعداد موجود شماره‌های مجازی
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumbersStatus&country=$country&operator=$operator

پارامترها:

$api_key - کلید API

$country * - شماره کشور مشاهده جدول

$operator * شماره‌های اپراتور موبایل، می‌توانید چندین شماره را با کاما جدا کنید (فقط برای موارد زیر در دسترس است:

روسیه
مگافون، ام‌تی‌اس، بی‌لاین، تله۲، روستلکوم، هر کدام
اوکراین
کیواستار، لایف، یوتل، ام‌تی‌اس، ودافون
قزاقستان
tele2، beeline، activ، altel

** موجود برای $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}
در جایی که قبل از خط تیره نام سرویس قرار دارد، بعد از آن مشخص می‌شود که آیا نیاز به تغییر مسیر وجود دارد یا خیر. ۰ - خیر. ۱ - بله.

فهرست کامل خدمات

درخواست برترین کشورها بر اساس سرویس قیمت رایگان
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getTopCountriesByService&service=$service&freePrice=$freePrice

پارامترها:

$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 } }, ... }
بررسی موجودی
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getBalance

درخواست موجودی با حساب کش‌بک:

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getBalanceAndCashBack

* موجودی را با در نظر گرفتن کش‌بک انباشته شده برمی‌گرداند، اگر گزینه «استفاده از کش‌بک برای فعال‌سازی» در تنظیمات حساب کش‌بک تیک خورده باشد

پارامترها:

$api_key - کلید API

پاسخ:

ACCESS_BALANCE: 'موجودی حساب'

اشتباهات احتمالی:

BAD_KEY - کلید API نامعتبر

ERROR_SQL - خطای سرور sql

درخواست اپراتورهای موجود
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getOperators&country=$country

* تمام اپراتورهای موجود برای کشور ارسال‌شده را برمی‌گرداند؛ اگر کشوری ارسال نشده باشد، تمام اپراتورهای موجود برای هر کشور را برمی‌گرداند

پارامترها:

$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 - هیچ رکوردی یافت نشد (مثلاً کشور غیرموجود ارسال شده است)

درخواست فعال‌سازی‌های فعال
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getActiveActivations

پارامترها:

$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 - ورودی‌ها یافت نشدند (هیچ فعال‌سازی فعالی وجود ندارد)

درخواست شماره قیمت رایگان
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumber&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country&phoneException=$phoneException&maxPrice=maxPrice&useCashBack=$useCashBack&activationType=$activationType&language=$language&userId=$userId

پارامترها:

$api_key - کلید API

$service - سرویس برای سفارش مشاهده جدول

$forward * - آیا لازم است شماره‌ای با قابلیت تغییر مسیر درخواست شود

* پارامتر اختیاری، مقادیر ۰ (اجرا نشود، به‌صورت پیش‌فرض تنظیم شده) و ۱ (اجرا شود) را می‌پذیرد

$maxPrice * - حداکثر قیمتی که حاضرید برای خرید شماره با نرخ Free Price بپردازید

* پارامتر اختیاری؛ اگر مشخص نشود، خرید با قیمت معمولی انجام می‌شود

$phoneException * - حذف پیش‌شماره‌ها برای شماره‌های روسیه. با کاما وارد کنید. فرمت ثبت: کد کشور و ۳ تا ۶ رقم از الگو (مثلاً 7918، 7900111). مقدار پیش‌فرض، مقداری است که در حساب کاربری مشخص شده است.

$operator* اپراتور موبایل شماره است، می‌توانید چندین مورد را با کاما مشخص کنید (فقط برای ** در دسترس است)

$activationType - نوع فعال‌سازی: ۰ - با پیامک (پیش‌فرض)، ۱ - با شماره، ۲ - با تماس صوتی

$language - زبان تجزیه و تحلیل (برای فعال‌سازی با تماس صوتی الزامی است) مشاهده جدول

$userId * - شناسه کاربری که به دلیل آمار ضعیف فعال‌سازی مسدود شود، اما حساب خود نماینده فروش تحت تأثیر قرار نمی‌گیرد.

روسیه
مگافون، ام‌تی‌اس، بی‌لاین، تله۲، روستلکوم، هر کدام
اوکراین
کیواستار، لایف، یوتل، ام‌تی‌اس، ودافون
قزاقستان
tele2، beeline، activ، altel

* فیلد اختیاری

** موجود برای $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 - شماره‌ای موجود نیست

اگر سعی کنید شماره‌ای از اپراتور خاصی را دریافت کنید که در کشور انتخابی فعالیت نمی‌کند یا سرویس انتخابی را ندارد، شماره اولین اپراتوری که با پارامترهای درخواست مطابقت دارد، بازگردانده می‌شود

درخواست شماره V2 قیمت رایگان
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumberV2&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country&phoneException=$phoneException&maxPrice=maxPrice&activationType=$activationType&language=$language&userId=$userId

این متد مشابه متد 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 از اسکریپت شما خواهیم بود. اگر اسکریپت شما پاسخ ندهد، ظرف مدت ۲ ساعت درخواست را مجدداً ارسال می‌کنیم، اما حداکثر تا ۸ بار.

می‌توانید این قابلیت را در تنظیمات پروفایل

سفارش شماره مجازی برای چندین سرویس
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getMultiServiceNumber&multiService=$service&multiForward=$forward&operator=$operator&ref=$ref&country=$country

پارامترها:

$api_key - کلید API

$service - سرویس برای سفارش مشاهده جدول

$forward * - آیا لازم است شماره‌ای با قابلیت تغییر مسیر درخواست شود

* پارامتر اختیاری؛ کاراکترهای هدایت‌شونده با کاما جدا می‌شوند و تعداد ارقام هدایت‌شونده باید با تعداد سرویس‌های ارسال‌شده در پارامتر مطابقت داشته باشد. $service. تنها مجاز به ارسال ۱ سرویس با تغییر مسیر هستید، برای مثال "0,1,0,0" صحیح است، اما "0,1,1,0" نادرست است. مقادیر ۰ (عدم اجرا، پیش‌فرض) و ۱ (اجرا) را می‌پذیرد.

$operator * - اپراتور موبایل شماره؛ می‌توانید چندین شماره را با کاما از هم جدا کنید (فقط برای ** در دسترس است):

روسیه
مگافون، ام‌تی‌اس، بی‌لاین، تله۲، روستلکوم، هر کدام
اوکراین
کیواستار، لایف، یوتل، ام‌تی‌اس، ودافون
قزاقستان
tele2، beeline، activ، altel

$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' - زمانی که حساب کاربری مسدود شده است

تغییر وضعیت فعال‌سازی
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=setStatus&status=$status&id=$id&forward=$forward

پارامترها:

$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 - شناسه نامعتبر است یا شناسه عدد نیست.

دریافت وضعیت فعال‌سازی
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$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 - عملیات نادرست

دریافت وضعیت فعال‌سازی نسخه ۲
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatusV2&id=$id

پارامترها:

$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 - عملیات نادرست

دریافت تاریخچه فعال‌سازی‌ها
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getHistory&start=$start&end=$end&offset=$offset&limit=$limit

پارامترها:

$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 - عملیات نادرست

دریافت ۱۰ کشور برتر برای یک سرویس
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getListOfTopCountriesByService&service=$service

پارامترها:

$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 - عملیات نادرست

دریافت وضعیت تماس ورودی
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getIncomingCallStatus&activationId=$id

پارامترها:

$api_key - کلید API

$id - شناسه فعال‌سازی

پاسخ:

پاسخ سرویس به صورت فرمت json خواهد بود، مثال:

{"status":"2","phone":false}

وضعیت‌های ممکن:

۲ - فعال‌سازی جدید

۳ - با موفقیت پایان یافت

۴ - لغو شد

۵ - بازگشت داده شد

اشتباهات احتمالی:

BAD_KEY - کلید API نامعتبر

INVALID_ACTIVATION_ID - شناسه فعال‌سازی نامعتبر است

دریافت قیمت‌های فعلی بر اساس کشور
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getPrices&service=$service&country=$country

پارامترها:

$api_key - کلید API

$serviceنام کوتاه سرویس (اختیاری، به‌طور پیش‌فرض تمام سرویس‌ها) مشاهده جدول

$countryنام کد کشور (اختیاری، به‌طور پیش‌فرض تمام کشورها) مشاهده جدول

پاسخ:

JSON - شیء در قالب
{"Country":{"Service":{"cost":Cost,"count":Count}}}

دریافت قیمت‌های به‌روز سرویس‌های تأیید هویت
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getPricesVerification&service=$service

پارامترها:

$api_key - کلید API

$serviceنام کوتاه سرویس (اختیاری، به‌طور پیش‌فرض تمام سرویس‌ها) مشاهده جدول

پاسخ:

JSON - شیء در قالب
{"Service":{"Country":{"count":Quantity,"price":"Price"}}}

دریافت فهرست تمام کشورها
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getCountries

پارامترها:

$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 - در دسترس است.)

دریافت فهرست تمام سرویس‌ها
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getServicesList

پارامترها:

$api_key- کلید API

$country *- شناسه کشور. اگر کشور را مشخص کرده باشید، سرویس‌هایی را برمی‌گردانیم که برای کشور انتخاب‌شده قیمت دارند

$lang *- زبانی که برای ارائه `name` استفاده می‌شود. مقادیر ممکن: 'ru', 'en', 'es', 'cn'. پیش‌فرض 'en' است

* پارامتر اختیاری

پاسخ:

JSON - شیء در قالب { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }

سرویس اضافی برای شماره‌های هدایت‌شده

پس از دریافت اولین پیامک برای شماره‌های هدایت‌شده، می‌توانید سایر سرویس‌های مرتبط مانند Yula، Yandex، Avito و هر سرویس دیگری را خریداری کنید.

هزینه سرویس اضافی تنها ۵ روبل است

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getAdditionalService&service=$service&id=$id

پارامترها:

$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- خطای پایگاه داده، با پشتیبانی مشتریان تماس بگیرید

فعال‌سازی مجدد شماره مجازی

اگر فعال‌سازی موفقی روی شماره انجام داده‌اید، می‌توانید آن را مجدداً انجام دهید.

هزینه فعال‌سازی اضافی بسته به کشور و سرویس تعیین می‌شود. هزینه دقیق را می‌توانید از طریق . دریافت کنید.

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getExtraActivation&activationId=$activationId

پارامترها:

$api_key - کلید API

$activationId - شناسه فعال‌سازی والد

پاسخ:

ACCESS_NUMBER:$id:$phone - یک فعال‌سازی جدید با موفقیت ایجاد شد. در اینجا $id شناسه فعال‌سازی اضافی و $phone شماره تلفن است

اشتباهات احتمالی:

RENEW_ACTIVATION_NOT_AVAILABLE- این شماره برای فعال‌سازی اضافی در دسترس نیست

WRONG_ACTIVATION_ID - شناسه فعال‌سازی والد نادرست است

ERROR_SQL- خطای پایگاه داده، با پشتیبانی مشتریان تماس بگیرید

NEW_ACTIVATION_IMPOSSIBLE- انجام فعال‌سازی اضافی امکان‌پذیر نیست

NO_BALANCE - موجودی حساب کافی نیست

دریافت قیمت برای فعال‌سازی شماره اضافی

می‌توانید وضعیت دسترسی شماره برای فعال‌سازی اضافی را بررسی کرده و هزینه آن را دریافت کنید

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=checkExtraActivation&activationId=$activationId

پارامترها:

$api_key - کلید API

$activationId - شناسه فعال‌سازی والد

پاسخ:

JSON - شیء در قالب {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},

اشتباهات احتمالی:

RENEW_ACTIVATION_NOT_AVAILABLE- این شماره برای فعال‌سازی اضافی در دسترس نیست

WRONG_ACTIVATION_ID - شناسه فعال‌سازی والد نادرست است

SIM_OFFLINE - سیم‌کارت آفلاین است

تجزیه و تحلیل صوتی تکراری
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=parseCall&id=$id&newLang=$newLang

پارامترها:

$api_keyکلید API

$id - شناسه فعال‌سازی

$newLang - زبان جدید تجزیه مشاهده جدول

پاسخ:

فرمت پاسخ به شرح زیر خواهد بود:

{
"result": "OK"
}

STATUS_CANCEL - فعال‌سازی لغو شد

NO_CALL- هیچ تماسی دریافت نشد

PARSE_COUNT_EXCEED- محدودیت تعداد تلاش‌های تجزیه (حداکثر ۴ مورد)

اشتباهات احتمالی:

WRONG_ACTIVATION_ID - شناسه نامعتبر است؛ فعال‌سازی وجود ندارد

ERROR_SQL - خطای سرور sql

BAD_KEY - کلید API نامعتبر

BAD_ACTION - عملیات نادرست

اجاره API

درخواست کشورهای و سرویس‌های موجود
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentServicesAndCountries&rent_time=$time&operator=$operator&country=$country&incomingCall=$incomingCall

پارامترها:

$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 - شماره‌ها برای آن کشور در دسترس نیستند

سفارش اجاره شماره مجازی
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentNumber&service=$service&rent_time=$time&operator=$operator&country=$country&url=$url&incomingCall=$incomingCall

پارامترها:

$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 - حساب کاربری مسدود شده است

دریافت وضعیت اجاره
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentStatus&id=$id&page=$page&size=$size

پارامترها:

$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 - شماره مسدود شده است، مبلغ شما بازگردانده شد

تغییر وضعیت اجاره
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=setRentStatus&id=$id&status=$status

پارامترها:

$api_key - کلید API

$id - شناسه اجاره‌ای که در پاسخ هنگام سفارش شماره دریافت شده است

$status - کد برای تغییر وضعیت (شماره)

وضعیت می‌تواند باشد:

1
پایان
2
لغو

پاسخ:

پاسخ سرویس به صورت فرمت 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 - خطای سرور

فهرست فعال‌سازی‌های جاری
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentList

👉توجه! این روش فقط ۱۰ شماره آخر را نمایش می‌دهد. اگر به شماره‌های بیشتری نیاز دارید، از 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 - خطای سرور

تمدید اجاره شما
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=continueRentNumber&id=$id&rent_time=$time

پارامترها:

$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 - حساب کاربری مسدود شده است

دریافت هزینه تمدید اجاره
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getContinueRentPriceNumber&id=$id&rent_time=$time

* این روش فقط برای اجاره با اپراتور 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 اضافه کنید

<وابستگی (dependency)><ru.sms-activate<
<SMSActivateApi<
<1.0<
<

می‌توانید نمونه‌ای از ثبت‌نام را مشاهده کنید در لینک به MavenRepository

کلاس اصلی را برای تعامل با API سرویس SMS-Activate وارد کنید.

import ru.sms_activate.SMSActivateApi

برای استفاده از کتابخانه، به یک کلید API نیاز دارید؛ می‌توانید آن را از این صفحه و لینک زیر دریافت کنید.

کلید API سرویس SMS-Activate
نمونه‌ای از کار با موجودی حساب

برای دریافت موجودی فعلی حساب خود، از متد زیر استفاده کنید getBalance... اگر علاوه بر موجودی، به کش‌بک نیز علاقه دارید، متد زیر را فراخوانی کنید getBalanceAndCashBack.

روش getBalanceAndCashBack یک شیء کلاس برمی‌گرداندSMSActivateGetBalanceAndCashBack.

getBalance: دریافت موجودی فعلی حساب

پارامترها:

هیچ‌کدام

نوع بازگشتی:

BigDecimal

getBalanceAndCashBack: دریافت موجودی و مبلغ کش‌بک به عنوان موجودی کامل

پارامترها:

هیچ‌کدام

نوع بازگشتی:

SMSActivateGetBalanceAndCashBack

getNumber: دریافت فعال‌سازی

پارامترها:

countryId(Integer) - شناسه کشور.

service(String) - نام کوتاه سرویس.

forward*(boolean) - آیا درخواست شماره با قابلیت انتقال تماس شود.

مجموعه اپراتورها (Set) - مجموعه‌ای از اپراتورها.

استثنائات تلفن (Set) - به جز پیش‌شماره‌های مخصوص روسیه، مجموعه‌ای از اعداد با طول ۳ تا ۶ رقم (مانند 7918 یا 7900111).

* کادر اختیاری. اگر مقداری مشخص نشود، تعداد پیش‌فرض بر اساس تنظیمات پروفیل اعمال خواهد شد.

نوع بازگشتی:

فعال‌سازی SMS-Activate

getNumberStatus: دریافت اطلاعات درباره سرویس‌های موجود

پارامترها:

countryId(Integer) - شناسه کشور.

مجموعه اپراتورها (Set) - مجموعه‌ای از اپراتورهایی که برای سرویس در دسترس هستند

نوع بازگشتی:

SMSActivateGetNumbersStatus

getAdditionalService: سرویس اضافی مربوط به شماره انتقال تماس را برمی‌گرداند.

پارامترها:

شناسه (Integer) - شناسه فعال‌سازی

service(String) - نام کوتاه سرویس.

به جای شناسه فعال‌سازی، می‌توانید شیء کلاسی دریافت‌شده را ارسال کنید فعال‌سازی SMS-Activate پس از استفاده از متد getNumber یا یکی از فعال‌سازی‌ها پس از استفاده getMultiServiceNumber.

نوع بازگشتی:

SMSActivateGetNumbersStatus

getMultiServiceNumber: دریافت فعال‌سازی برای چندین سرویس

پارامترها:

countryId(Integer) - شناسه کشور.

نقشه سرویس‌ها (Set) - مجموعه‌ای از سرویس‌هایی که فعال‌سازی آن‌ها خریداری شده است

لیست انتقال چندگانه (List) - لیست سرویس‌هایی که امکان انتقال تماس دارند

مجموعه اپراتورها (Set) - مجموعه‌ای از اپراتورها.

getAllPrices: دریافت لیست کامل قیمت‌های فعال‌سازی

پارامترها:

هیچ‌کدام

نوع بازگشتی:

SMSActivateGetPriceInfo

getPricesByCountryIdAndServiceShortName: دریافت لیست قیمت‌های فعال‌سازی بر اساس کشور و سرویس

پارامترها:

countryId(Integer) - شناسه کشور.

service(String) - نام کوتاه سرویس.

نوع بازگشتی:

SMSActivateGetPriceInfo

getPricesAllServicesByCountryId: دریافت لیست قیمت‌های فعال‌سازی بر اساس کشور

پارامترها:

countryId(Integer) - شناسه کشور.

نوع بازگشتی:

SMSActivateGetPriceInfo

getStatus: دریافت وضعیت فعال‌سازی

پارامترها:

شناسه فعال‌سازی (Integer) - شناسه فعال‌سازی

به جای شناسه فعال‌سازی، می‌توانید شیء کلاسی دریافت‌شده را ارسال کنید فعال‌سازی SMS-Activate پس از استفاده از متد getNumber یا یکی از فعال‌سازی‌ها پس از استفاده getMultiServiceNumber.

نوع بازگشتی:

پاسخ SMSActivateGetStatus

setStatus: تنظیم وضعیت فعال‌سازی

پارامترها:

شناسه (Integer) - شناسه فعال‌سازی

وضعیت (SMSActivateClientStatus) - وضعیتی که باید برای فعال‌سازی تنظیم شود

به جای شناسه فعال‌سازی، می‌توانید شیء کلاسی دریافت‌شده را ارسال کنید فعال‌سازی SMS-Activate پس از استفاده از متد getNumber یا یکی از فعال‌سازی‌ها پس از استفاده getMultiServiceNumber.

نوع بازگشتی:

پاسخ SMSActivateSetStatus

getCountries: دریافت اطلاعات درباره کشورها

پارامترها:

هیچ‌کدام

نوع بازگشتی:

پاسخ SMSActivateGetCountries

getFullSms: دریافت متن کامل پیامک از شماره

پارامترها:

شناسه فعال‌سازی (Integer) - شناسه فعال‌سازی

به جای شناسه فعال‌سازی، می‌توانید شیء کلاسی دریافت‌شده را ارسال کنید فعال‌سازی SMS-Activate پس از استفاده از متد getNumber یا یکی از فعال‌سازی‌ها پس از استفاده getMultiServiceNumber.

نوع بازگشتی:

پاسخ SMSActivateGetFullSms

الگوریتم دریافت متن کامل پیامک همراه با فعال‌سازی

دریافت شماره با استفاده از متد 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 - تأیید کد پیامک و تکمیل فعال‌سازی

getRentNumber: دریافت شماره با گزینه اجاره

پارامترها:

countryId(Integer) - شناسه کشور.

service(String) - نام کوتاه سرویس.

hours(Integer)* - مدت زمان اجاره

operator(String)* - نام اپراتور موبایل

urlWebhook(String)* - لینک وب‌هوک (به صورت پیش‌فرض در نظر گرفته نمی‌شود)

وب‌هوک چیست؟

* پارامتر اختیاری. اگر مشخص نشود، مقدار پیش‌فرض اعمال خواهد شد

نوع بازگشتی:

SMSActivateRentActivation

GetRentServicesAndCountriesRun: دریافت سرویس‌ها و کشورهای قابل اجاره

پارامترها:

countryId(Integer) - شناسه کشور.

مجموعه اپراتورها (Set) - مجموعه‌ای از اپراتورهای موبایل

hours(Integer)* - مدت زمان اجاره

* پارامتر اختیاری. اگر مشخص نشود، مقدار پیش‌فرض اعمال خواهد شد

GetRentStatusJava: دریافت وضعیت برای اجاره

پارامترها:

rentId(Integer) - شناسه شماره اجاره‌ای

به جای rentId، می‌توانید شیء کلاس حاصل را ارسال کنید SMSActivateRentActivation پس از استفاده از متد getRentNumber

نوع بازگشتی:

SMSActivateRentStatus

API ایمیل

توضیح وضعیت‌های API

3 - در انتظار

4 - لغو شده

5 - موفقیت‌آمیز

نسخه ۲ API ایمیل

توضیحات:

پایبندی دقیق‌تر به اصول REST API و افزایش تعداد صندوق‌های پستی gmail.com برای ثبت‌نام حساب‌های Telegram.

دریافت فهرست پیشنهادات
https://api.sms-activate.ai/stubs/handler_api.php?action=getDomains&api_key=$api_key&site=$site

پارامترها:

$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 - عملیات نادرست

خرید تأیید هویت از طریق ایمیل
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=buyMailActivation&site=$site&mail_type=$mail_type&mail_domain=$mail_domain

پارامترها:

$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 - حساب کاربری مسدود شده است

فعال‌سازی مجدد ایمیل
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=reorderMailActivation&id=$id

پارامترها:

$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 - حساب کاربری مسدود شده است

دریافت فهرست خریدهای فعال
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getMailHistory&page=$page&per_page=$per_page&search=$search&sort=$sort

پارامترها:

$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
                        }
                        }
لغو خرید ایمیل
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=cancelMailActivation&id=$id

پارامترها:

$api_key - کلید API

$id- شناسه خرید

پاسخ:

پاسخ سرویس به صورت فرمت json خواهد بود، مثال:

{
                        "status":"OK",
                        "response":true
                        }

اشتباهات احتمالی:

EARLY_CANCEL_DENIED - شما نمی‌توانید ایمیل را در ۲ دقیقه اول لغو کنید.

بررسی کنید که آیا ایمیل دریافت شده است
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=checkMailActivation&id=$id

پارامترها:

$api_key - کلید API

$id- شناسه ایمیل خریداری‌شده؛ پس از خرید ایمیل بازگردانده می‌شود

پاسخ:

پاسخ سرویس به صورت فرمت json خواهد بود، مثال:

{
                        "status":"OK",
                        "response":{
                            "value":"Содержания письма"
                        }
                        }

نرم‌افزار شریک API

خرید نرم‌افزار شریک
https://api.sms-activate.ai/stubs/handler_api.php?action=buyPartnerProduct&productId=$id&api_key=$api_key

پارامترها:

$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

{{ texts.verificationVoiceTextFirst }}

{{ texts.verificationVoiceTextSecond }}

{{ texts.verificationVoiceTextThird }}

ابزار شبیه‌سازی سایت