Dimar FZC LLC
Flamingo Villas A-32-01-05-03 25314 Об'єднані Арабські Емірати, Аджман
+971585072431, /assets/img/icons/logo/logo.svg, [email protected]

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 * номери мобільних операторів, можна вказати кілька номерів через кому (доступно лише для:

Росія
megafon, mts, beeline, tele2, rostelecom, any
Україна
kyivstar, life, utel, mts, vodafone
Казахстан
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}
Де до тире — назва сервісу, після позначення, чи потрібно включати переадресацію. 0 — ні. 1 — так.

Повний список сервісів

Запит топ-країн за сервісом FreePrice
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 - записи не знайдено (немає активних активацій)

Запит номера FreePrice
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 * - чи потрібно запитувати номер із переадресацією

* необов’язковий параметр, приймає 0 (не виконувати, встановлено за замовчуванням), 1 (виконувати)

$maxPrice * - максимальна ціна, за яку ви готові купити номер за тарифом Free Price

* необов’язковий параметр; якщо не вказано, покупка здійснюватиметься за звичайною ціною

$phoneException * - виключення префіксів для російських номерів. Вводьте через кому. Формат запису: код країни та від 3 до 6 цифр маски (наприклад, 7918, 7900111). За замовчуванням використовується значення, вказане в акаунті.

$operator* — мобільний оператор номера, ви можете вказати кілька через кому (доступно лише для **)

$activationType - тип активації: 0 - з SMS (за замовчуванням), 1 - з номером, 2 - з голосовим дзвінком

$language - мова парсингу (необхідна для активації з голосовим дзвінком) див. таблицю

$userId * - ID користувача для блокування через погану статистику активацій, власний акаунт реселера не зазнає впливу.

Росія
megafon, mts, beeline, tele2, rostelecom, any
Україна
kyivstar, life, utel, mts, vodafone
Казахстан
tele2, beeline, activ, altel

* необов’язкове поле

** доступно для $country = 0, $country = 1, $country = 2

$ref - передайте реферальний ID.

$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 FreePrice
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- ID активації з системи реселера. Під час покупки ці дані порівнюються з ID активації та реселером у нашій системі. Таким чином, ми прагнемо досягти ідемпотентності (той самий заказ не буде оброблено повторно).

ВІДПОВІДЬ:

Якщо запит успішний, відповідь буде у такому форматі:

{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}

Якщо ви спробуєте отримати номер конкретного оператора, який не працює у вибраній країні або не підтримує вибраний сервіс, буде повернуто номер першого оператора, що відповідає параметрам запиту

МОЖЛИВІ ПОМИЛКИ:

ORDER_ALREADY_EXISTS- замовлення вже створено

Вебхуки

Коли ви отримуєте SMS на номер, якщо у ваших налаштуваннях увімкнено функцію Webhooks, ми надішлемо інформацію про SMS на вказані вами адреси за допомогою POST-запиту

ВІДПОВІДЬ:

Формат відповіді буде таким:

{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}

Під час надсилання запиту ми очікуватимемо відповіді від вашого скрипта зі статусом HTTP 200. Якщо ваш скрипт не відповідає, ми повторюватимемо запит протягом 2 годин, але не більше 8 разів.

Ви можете увімкнути цю функцію в налаштуваннях профілю

Замовлення віртуального номера для кількох сервісів
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" — неправильно. Приймає значення 0 (не виконувати, за замовчуванням), 1 (виконати)

$operator * - мобільний оператор номера, можна вказати кілька значень, розділених комами (доступно лише для **):

Росія
megafon, mts, beeline, tele2, rostelecom, any
Україна
kyivstar, life, utel, mts, vodafone
Казахстан
tele2, beeline, activ, altel

$ref - передайте реферальний ID.

$country - код країни див. таблицю

Отримуючи номер через API, ви погоджуєтеся з правила проекту правила проекту

ВІДПОВІДЬ:

NO_NUMBERS - немає номерів

NO_BALANCE - баланс вичерпано

{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}
, де (phone - ID операції, 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 - ID активації

$forward * - номер телефону, на який потрібно перенаправити

* обов’язково лише якщо було передано параметр getNumber forward=1.

$status - статус активації

1 - повідомити про доступність номера (SMS надіслано на номер)

3 - запросити ще один код (безкоштовно)

6 - завершити активацію *

8 - повідомити, що номер уже використано, і скасувати активацію

* якщо був статус «код отримано» — позначає як успішно завершений; якщо був статус «підготовка» — видаляє та позначає помилкою; якщо був статус «очікування повтору» — переводить активацію в очікування SMS

** Неможливо змінити статус активації, для якої було обрано метод верифікації дзвінком, якщо номер уже надійшов

Проста логіка хронології роботи з API:

Отримання номера за допомогою методу getNumber, після чого доступні такі дії:

8 - скасувати активацію (якщо номер вам не підходить)

1 - повідомити, що SMS надіслано (необов’язково)

Для активації зі статусом 1:

8 - скасувати активацію

Одразу після отримання коду:

3 - запросити ще одне SMS

6 - підтвердити SMS-код і завершити активацію

Для активації зі статусом 3:

6 - підтвердити SMS-код і завершити активацію

ВІДПОВІДЬ:

ACCESS_READY - готовність номера підтверджено

ACCESS_RETRY_GET - очікування нового SMS

ACCESS_ACTIVATION - сервіс успішно активовано

ACCESS_CANCEL - активацію скасовано

МОЖЛИВІ ПОМИЛКИ:

EARLY_CANCEL_DENIED - скасування номера протягом перших 2 хвилин заборонено

ERROR_SQL - помилка SQL-сервера

NO_ACTIVATION - ID активації не існує

BAD_SERVICE - неправильна назва сервісу

BAD_STATUS - неправильний статус

BAD_KEY - недійсний API-ключ

BAD_ACTION - неправильна дія

WRONG_ACTIVATION_ID - неправильний ID або ID не є числом.

Отримати статус активації
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$id

Параметри:

$api_key - Ключ API

$id - ID активації

ВІДПОВІДЬ:

STATUS_WAIT_CODE - очікування SMS

STATUS_WAIT_RETRY: 'минуле, непідібране кодове слово' - очікування уточнення коду

STATUS_WAIT_RESEND - очікування повторної відправки SMS *

* програмне забезпечення має натиснути «надіслати SMS повторно» та змінити статус на 6

STATUS_CANCEL - активацію скасовано

STATUS_OK: 'код активації' - отриманий код

МОЖЛИВІ ПОМИЛКИ:

NO_ACTIVATION - ID активації не існує

ERROR_SQL - помилка SQL-сервера

BAD_KEY - недійсний API-ключ

BAD_ACTION - неправильна дія

Отримати статус активації Версія 2
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatusV2&id=$id

Параметри:

$api_key - Ключ API

$id - 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 - ID активації не існує

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 - зміщення першого елемента, повернутого у відповіді. За замовчуванням 0

$limit - максимальна кількість повернутих записів. Максимум 100. За замовчуванням 50.

ВІДПОВІДЬ:

Формат відповіді буде таким:

[{
"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 - неправильна дія

Отримати ТОП-10 країн за сервісом
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 - ID активації

ВІДПОВІДЬ:

Відповідь сервісу буде у форматі JSON, приклад:

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

МОЖЛИВІ СТАТУСИ:

2 - нова активація

3 - успішно завершено

4 - скасовано

5 - повернено

МОЖЛИВІ ПОМИЛКИ:

BAD_KEY - недійсний API-ключ

НЕВІРНИЙ_ID_АКТИВАЦІЇ - Невірний 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 - об'єкт у форматі
{"Країна":{"Сервіс":{"вартість":Вартість,"кількість":Кількість}}}

Отримати актуальні ціни на послуги верифікації
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getPricesVerification&service=$service

Параметри:

$api_key - Ключ API

$serviceКоротка назва сервісу (необов’язково, за замовчуванням — усі сервіси) див. таблицю

ВІДПОВІДЬ:

JSON - об'єкт у форматі
{"Сервіс":{"Країна":{"кількість":Кількість,"ціна":"Ціна"}}}

Отримати список усіх країн
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 - повторна SMS недоступна, 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" } ] }

Додаткова послуга для номерів із переадресацією

Отримавши перше SMS для номерів із переадресацією, ви можете придбати інші пов’язані послуги, такі як Yula, Yandex, Avito та будь-які інші

Вартість додаткової послуги становить лише 5 коп.

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

Параметри:

$api_key - Ключ API

$service - коротку назву сервісу дивіться в таблиці див. таблицю

$id - ID батьківської активації

ВІДПОВІДЬ:

ДОДАТКОВО:$id:$номер - нова активація успішно створена. Де ID — це ID додаткової активації, phone — номер телефону

МОЖЛИВІ ПОМИЛКИ:

НЕВІРНА_ДОДАТКОВА_ПОСЛУГА - Невірна додаткова послуга (дозволені лише послуги для переадресації)

WRONG_ACTIVATION_ID - Невірний ID батьківської активації

ПОМИЛКА_БЕЗПЕКИ - сталася помилка під час спроби передати ID активації без переадресації або завершеної/неактивної активації

ПОВТОРНА_ДОДАТКОВА_ПОСЛУГА - помилка виникає при спробі повторно замовити вже придбану послугу НЕМАЄ_КОШТІВ - Недостатньо коштів

ERROR_SQL- помилка бази даних, зверніться до служби підтримки

Повторна активація віртуального номера

Якщо ви вже успішно активували номер, ви можете зробити це знову.

Вартість додаткової активації визначається залежно від країни та сервісу. Точну вартість можна дізнатися з .

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

Параметри:

$api_key - Ключ API

$activationId - ID батьківської активації

ВІДПОВІДЬ:

ДОСТУП_ДО_НОМЕРА:$id:$номер - нова активація успішно створена. Де $id — це ID додаткової активації, $phone — номер телефону

МОЖЛИВІ ПОМИЛКИ:

ПОВТОРНА_АКТИВАЦІЯ_НЕДОСТУПНА- номер недоступний для додаткової активації

WRONG_ACTIVATION_ID - Невірний ID батьківської активації

ERROR_SQL- помилка бази даних, зверніться до служби підтримки

НОВА_АКТИВАЦІЯ_НЕМОЖЛИВА- неможливо виконати додаткову активацію

NO_BALANCE - недостатньо коштів на рахунку

Дізнатися вартість додаткової активації номера

Ви можете перевірити доступність номера для додаткової активації та дізнатися його вартість

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

Параметри:

$api_key - Ключ API

$activationId - ID батьківської активації

ВІДПОВІДЬ:

JSON - об'єкт у форматі {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},

МОЖЛИВІ ПОМИЛКИ:

ПОВТОРНА_АКТИВАЦІЯ_НЕДОСТУПНА- номер недоступний для додаткової активації

WRONG_ACTIVATION_ID - Невірний ID батьківської активації

SIM_ОФЛАЙН - SIM-карта офлайн

Повторне голосове розпізнавання
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=parseCall&id=$id&newLang=$newLang

Параметри:

$api_keyAPI-ключ

$id - ID активації

$newLang - нова мова парсингу див. таблицю

ВІДПОВІДЬ:

Формат відповіді буде таким:

{
"result": "OK"
}

STATUS_CANCEL - активацію скасовано

НЕМАЄ_ДЗВІНКА- дзвінок не отримано

PARSE_COUNT_EXCEED- перевищено ліміт спроб парсингу (максимум 4)

МОЖЛИВІ ПОМИЛКИ:

WRONG_ACTIVATION_ID - недійсний 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* - час оренди (за замовчуванням: 4 години)

$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* - час оренди в годинах (за замовчуванням: 4 години). Наступний доступний період — 12 годин, потім 24 години. При замовленні оренди на добу або більше необхідно передавати: 24, 48, 72 тощо.

$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": "*можлива_відповідь*" }


Можливі відповіді в полі "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 - ID оренди, отриманий у відповіді при замовленні номера

$page* - номер сторінки, з якої починається вибірка (нумерація сторінок починається з 0, від нових до старих; за замовчуванням 0)

$size* - розмір сторінки (за замовчуванням 10)

* необов’язковий параметр. Якщо не вказано, буде використано параметр за замовчуванням.

ВІДПОВІДЬ:

Відповідь сервісу буде у форматі 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" } } }

* успішно лише за наявності SMS (поле 'quantity' > 0).

МОЖЛИВІ ПОМИЛКИ:

BAD_KEY - недійсний API-ключ

Відповідь у форматі JSON:

{ "status": "error", "message": "*можлива_відповідь*" }

Можливі відповіді в полі "message":

NO_ID_RENT - ID оренди не вказано

INVALID_PHONE - номер орендовано не вами (недійсний ID оренди)

STATUS_FINISH - оренда оплачена та завершена

STATUS_CANCEL - оренду скасовано з поверненням коштів

STATUS_WAIT_CODE - очікування першого SMS

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 - ID оренди, отриманий у відповіді при замовленні номера

$status - код для зміни статусу (номер)

Статус може бути:

1
Завершено
2
Скасувати

ВІДПОВІДЬ:

Відповідь сервісу буде у форматі JSON:

{ "status": "success" }

МОЖЛИВІ ПОМИЛКИ:

BAD_KEY - недійсний API-ключ

Відповідь у форматі JSON:

{ "status": "error", "message": "*можлива_відповідь*" }

Можливі відповіді в полі "message":

NO_ID_RENT - ID оренди не вказано

INCORECT_STATUS - статус відсутній або вказано неправильно

CANT_CANCEL - неможливо скасувати оренду (минуло більше 20 хв.)

INVALID_PHONE - номер орендовано не вами (недійсний ID оренди)

ALREADY_FINISH - оренда вже завершена

ALREADY_CANCEL - оренда вже скасована

SERVER_ERROR - помилка сервера

Список поточних активацій
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentList

👉Увага! Цей метод показує лише останні 10 номерів. Якщо вам потрібно більше номерів, використовуйте 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": "*можлива_відповідь*" }


Можливі відповіді в полі "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 - ID оренди

$rent_time- час оренди (за замовчуванням: 4 години)

ВІДПОВІДЬ:

Відповідь сервісу буде у форматі JSON:

{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }

При продовженні завершеної оренди вона буде переоформлена, буде надано новий ID

МОЖЛИВІ ПОМИЛКИ:

BAD_KEY - недійсний API-ключ

BAD_ACTION - неправильна дія

SERVER_ERROR - помилка сервера


Відповідь у форматі JSON:

{ "status": "error", "message": "*possible_answer*", "info": "*details*" }


Можливі відповіді в полі "message":

NO_ID_RENT - відсутній ID оренди

INVALID_TIME - неправильний час. Доступна кількість годин від 4 до 1344

MAX_HOURS_EXCEED - Перевищено максимальний доступний час

інфо:

макс - максимальний доступний час

INVALID_PHONE - неправильний ID оренди

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 - ID оренди

$rent_time - час оренди

ВІДПОВІДЬ:

Відповідь сервісу буде у форматі JSON:

{ "status": "success", "price": 6.33 }

МОЖЛИВІ ПОМИЛКИ:

BAD_KEY - недійсний API-ключ

BAD_ACTION - неправильна дія

SERVER_ERROR - помилка сервера


Відповідь у форматі JSON:

{ "status": "error", "message": "*можлива_відповідь*" }


Можливі відповіді в полі "message":

NO_ID_RENT - відсутній ID оренди

INVALID_PHONE - неправильний ID оренди

INVALID_TIME - неправильне налаштування часу

RENT_DIE - неможливо продовжити оренду, оскільки термін дії номера минув

MAX_HOURS_EXCEED - Перевищено максимальний доступний час

інфо:

макс - максимальний доступний час

CHANNELS_LIMIT - акаунт заблоковано

API JAVA

Початок роботи

Додайте бібліотеку до Maven

<залежність><groupId>ru.sms-activate</groupId>
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</залежність>

Приклад реєстрації можна переглянути за посиланням на MavenRepository

Імпортуйте головний клас для взаємодії з API SMS-Activate.

import ru.sms_activate.SMSActivateApi

Щоб використовувати бібліотеку, потрібен API-ключ, який можна отримати на цій сторінці та за посиланням нижче.

SMS-Activate API-Key
Приклад роботи з балансом

Щоб отримати поточний баланс вашого рахунку, використайте метод getBalance... Якщо вас цікавить кешбек разом із балансом, викличте метод getBalanceAndCashBack.

Метод getBalanceAndCashBack повертає об’єкт класуSMSActivateGetBalanceAndCashBack.

getBalance: отримати поточний баланс рахунку

Параметри:

NONE

ТИП ПОВЕРНЕННЯ:

BigDecimal

getBalanceAndCashBack: отримати баланс і суму кешбеку як загальний баланс

Параметри:

NONE

ТИП ПОВЕРНЕННЯ:

SMSActivateGetBalanceAndCashBack

getNumber: отримати активацію

Параметри:

countryId(Integer) - ідентифікатор країни.

service(String) - коротка назва сервісу.

forward*(boolean) - чи запитувати номер із переадресацією дзвінків.

operatorSet*(Множина) - набір операторів.

phoneException*(Множина) - виключення префіксів тільки для Росії, набір чисел від 3 до 6 (7918,7900111).

* необов’язкове поле. Якщо нічого не вказано, буде надано кількість за замовчуванням згідно з налаштуваннями у профілі.

ТИП ПОВЕРНЕННЯ:

SMSActivateActivation

getNumberStatus: Отримати інформацію про доступні сервіси

Параметри:

countryId(Integer) - ідентифікатор країни.

operatorSet*(Множина) - набір операторів, які доступні для сервісу

ТИП ПОВЕРНЕННЯ:

SMSActivateGetNumbersStatus

getAdditionalService: Повертає додатковий сервіс для номера переадресації дзвінків.

Параметри:

id(Integer) - ідентифікатор активації

service(String) - коротка назва сервісу.

Замість ідентифікатора активації можна передати отриманий об’єкт класу SMSActivateActivation після використання методу getNumber або одну з активацій після використання getMultiServiceNumber.

ТИП ПОВЕРНЕННЯ:

SMSActivateGetNumbersStatus

getMultiServiceNumber: Отримати активацію для кількох сервісів

Параметри:

countryId(Integer) - ідентифікатор країни.

serviceMap(Set) - набір сервісів, для яких придбана активація

multiForwardList(List) - список сервісів із доступною переадресацією дзвінків

operatorSet(Set) - набір операторів.

ТИП ПОВЕРНЕННЯ:

SMSActivateGetMultiServiceNumberResponse

getAllPrices: Отримати повний список цін на активацію

Параметри:

NONE

ТИП ПОВЕРНЕННЯ:

SMSActivateGetPriceInfo

getPricesByCountryIdAndServiceShortName: Отримати список цін на активацію за країною та сервісом

Параметри:

countryId(Integer) - ідентифікатор країни.

service(String) - коротка назва сервісу.

ТИП ПОВЕРНЕННЯ:

SMSActivateGetPriceInfo

getPricesAllServicesByCountryId: Отримати список цін на активацію за країною

Параметри:

countryId(Integer) - ідентифікатор країни.

ТИП ПОВЕРНЕННЯ:

SMSActivateGetPriceInfo

getStatus: Отримати статус активації

Параметри:

activationId(Integer) - ідентифікатор активації

Замість ідентифікатора активації можна передати отриманий об’єкт класу SMSActivateActivation після використання методу getNumber або одну з активацій після використання getMultiServiceNumber.

ТИП ПОВЕРНЕННЯ:

SMSActivateGetStatusResponse

setStatus: Встановити статус активації

Параметри:

id(Integer) - ідентифікатор активації

status(SMSActivateClientStatus) - статус, який потрібно встановити для активації

Замість ідентифікатора активації можна передати отриманий об’єкт класу SMSActivateActivation після використання методу getNumber або одну з активацій після використання getMultiServiceNumber.

ТИП ПОВЕРНЕННЯ:

SMSActivateSetStatusResponse

getCountries: Отримати інформацію про країни

Параметри:

NONE

ТИП ПОВЕРНЕННЯ:

SMSActivateGetCountriesResponse

getFullSms: Отримати повний текст SMS з номера

Параметри:

activationId(Integer) - ідентифікатор активації

Замість ідентифікатора активації можна передати отриманий об’єкт класу SMSActivateActivation після використання методу getNumber або одну з активацій після використання getMultiServiceNumber.

ТИП ПОВЕРНЕННЯ:

SMSActivateGetFullSmsResponse

Алгоритм отримання повного тексту SMS під час активації

Отримання номера за допомогою методу getNumber, після чого доступні такі дії:

CANCEL - 8 - Скасувати активацію (якщо номер вам не підходить)

MESSAGE_WAS_SENT - Повідомляє про те, що SMS надіслано (обов’язково для отримання повного тексту повідомлення)

Після обов’язкового встановлення статусу MESSAGE_WAS_SENT налаштуйте змінну для отримання SMS за допомогою методу waitSMS із параметрами активації та часом очікування повідомлення.

Після отримання SMS ви можете отримати його за допомогою методу getFullSMS, а потім відобразити повний текст, використовуючи метод getText().

Після цього ви можете встановити для активацій наступні статуси:

Для активації зі статусом MESSAGE_WAS_SENT:

CANCEL – скасувати активацію

Одразу після отримання коду:

REQUEST_ONE_MORE_CODE – запросити ще одне SMS

FINISH – підтвердити код із SMS і завершити активацію

Для активації зі статусом REQUEST_ONE_MORE_CODE:

FINISH – підтвердити код із SMS і завершити активацію

getRentNumber: отримати номер з опцією оренди

Параметри:

countryId(Integer) - ідентифікатор країни.

service(String) - коротка назва сервісу.

hours (Integer)* – тривалість оренди

operator (String)* – назва мобільного оператора

urlWebhook (String)* – посилання для вебхука (за замовчуванням не враховується)

Що таке вебхук?

* необов’язковий параметр. Якщо не вказано, буде використано значення за замовчуванням

ТИП ПОВЕРНЕННЯ:

SMSActivateRentActivation

GetRentServicesAndCountriesRun: отримати послуги та країни для оренди

Параметри:

countryId(Integer) - ідентифікатор країни.

operatorSet(Set) - набір мобільних операторів

hours (Integer)* – тривалість оренди

* необов’язковий параметр. Якщо не вказано, буде використано значення за замовчуванням

ТИП ПОВЕРНЕННЯ:

SMSActivateGetRentServicesAndCountriesResponse

GetRentStatusJava: отримати статус оренди

Параметри:

rentId (Integer) - ідентифікатор орендованого номера

Замість rentId можна передати об’єкт відповідного класу SMSActivateRentActivation після використання методу getRentNumber

ТИП ПОВЕРНЕННЯ:

SMSActivateRentStatus

Email API

Опис статусів API

3 – Очікування

4 – Скасовано

5 – Успішно

Mail API Версія 2

ОПИС:

Більш суворе дотримання принципів 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- 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- напрямок сортування (desc, asc)

ВІДПОВІДЬ:

Відповідь сервісу буде у форматі 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- ID покупки

ВІДПОВІДЬ:

Відповідь сервісу буде у форматі JSON, приклад:

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

МОЖЛИВІ ПОМИЛКИ:

EARLY_CANCEL_DENIED - Ви не можете скасувати отримання пошти протягом перших 2 хвилин.

Перевірте, чи електронний лист отримано
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=checkMailActivation&id=$id

Параметри:

$api_key - Ключ API

$id- 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- ID програмного забезпечення, яке потрібно придбати

ВІДПОВІДЬ:

Відповідь сервісу буде у форматі JSON, приклад:

{                            
                            "status": "success",
                            "key": "F5qrzFoY6afj3zrEq7SeMplbx",
                            "manual": "Software download link:"                            
                        }

МОЖЛИВІ ПОМИЛКИ:

BAD_DATA - Неправильний ID або ID не є числом

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 smsactivate.life 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 }}