API-протокол для роботи з SMS-Activate
API — це протокол взаємодії між вашим програмним забезпеченням та нашим сервером
API потрібен для автоматизації процесу отримання sms, otp та pva на вашій стороні
Наш API повністю сумісний із сайтами конкурентів
Усі запити мають надходити на https://api.sms-activate.ai/stubs/handler_api.php
POST- або GET-запит.
Усі запити мають містити API-ключ у вигляді GET-параметра api_key
Завантажити реалізацію протоколу на PHP Завантажити готову реалізацію протоколу на PythonAPI активації
Параметри:
$api_key - Ключ API
$country * - код країни див. таблицю
$operator * номери мобільних операторів, можна вказати кілька номерів через кому (доступно лише для:
** доступно для $country = 0, $country = 1, $country = 2
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON, приклад:
{"vk_0":76,"ok_0":139,"wa_0":90,"vi_0":223,"tg_0":158,"wb_0":106,"go_0":182,"av_0":244,"av_1":211,"fb_0":107}
Де до тире — назва сервісу, після позначення, чи потрібно включати переадресацію. 0 — ні. 1 — так.
Параметри:
$api_key - Ключ API
$service * - Сервіс див. таблицю
* необов’язковий параметр. Якщо не вказано, за замовчуванням відображатимуться найпопулярніші країни для всіх сервісів.
$freePrice * - необов’язковий параметр. Якщо вказано true, кількість і ціна будуть надані відповідно до Free Price
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON, приклад:
{
0: {
"country: 0,
"count": 43575,
"price": 15.00,
"retail_price": 30.00
}, ...
}
$freePrice = true:
{
0: {
"country: 0,
"count": 43575,
"price": 15.00,
"retail_price": 30.00,
"freePriceMap": {
"15.00": 43242,
"18.00": 333
}
}, ...
}
Запит балансу з урахуванням кешбеку:
* повертає баланс з урахуванням накопиченого кешбеку, якщо в налаштуваннях акаунту кешбеку позначено прапорець «Витрачати кешбек на активацію»
Параметри:
$api_key - Ключ API
ВІДПОВІДЬ:
ACCESS_BALANCE: 'баланс акаунту'
МОЖЛИВІ ПОМИЛКИ:
BAD_KEY - недійсний API-ключ
ERROR_SQL - помилка SQL-сервера
* повертає всіх операторів, доступних для вказаної країни; якщо країну не вказано — поверне всіх операторів, доступних для кожної країни
Параметри:
$api_key - Ключ API
$country - код країни
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON:
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
Приклад:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* всередині 'countryOperators' ключем буде код країни
МОЖЛИВІ ПОМИЛКИ:
BAD_KEY - недійсний API-ключ
ERROR_SQL - помилка SQL-сервера
OPERATORS_NOT_FOUND - записи не знайдено (наприклад, передано неіснуючу країну)
Параметри:
$api_key - Ключ API
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON:
{"status":"success", "activeActivations": [
{
"activationId" : "635468021",
"serviceCode" : "vk",
"phoneNumber" : "79********1",
"activationCost" : "12.50",
"activationStatus" : "4",
"smsCode" : ["CODE"],
"smsText" : "[Your CODE registration code]",
"activationTime" : "2022-06-01 16:59:16",
"discount" : "0.00",
"repeated" : "0",
"countryCode" : "0",
"countryName" : "Russia",
"canGetAnotherSms" : "1",
}]
МОЖЛИВІ ПОМИЛКИ:
BAD_KEY - недійсний API-ключ
ERROR_SQL - помилка SQL-сервера
NO_ACTIVATIONS - записи не знайдено (немає активних активацій)
Параметри:
$api_key - Ключ API
$service - сервіс для замовлення див. таблицю
$forward * - чи потрібно запитувати номер із переадресацією
* необов’язковий параметр, приймає 0 (не виконувати, встановлено за замовчуванням), 1 (виконувати)
$maxPrice * - максимальна ціна, за яку ви готові купити номер за тарифом Free Price
* необов’язковий параметр; якщо не вказано, покупка здійснюватиметься за звичайною ціною
$phoneException * - виключення префіксів для російських номерів. Вводьте через кому. Формат запису: код країни та від 3 до 6 цифр маски (наприклад, 7918, 7900111). За замовчуванням використовується значення, вказане в акаунті.
$operator* — мобільний оператор номера, ви можете вказати кілька через кому (доступно лише для **)
$activationType - тип активації: 0 - з SMS (за замовчуванням), 1 - з номером, 2 - з голосовим дзвінком
$language - мова парсингу (необхідна для активації з голосовим дзвінком) див. таблицю
$userId * - ID користувача для блокування через погану статистику активацій, власний акаунт реселера не зазнає впливу.
* необов’язкове поле
** доступно для $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 - немає номерів
Якщо ви спробуєте отримати номер конкретного оператора, який не працює у вибраній країні або не підтримує вибраний сервіс, буде повернуто номер першого оператора, що відповідає параметрам запиту
метод працює аналогічно методу 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 разів.
Ви можете увімкнути цю функцію в налаштуваннях профілю
Параметри:
$api_key - Ключ API
$service - сервіс для замовлення див. таблицю
$forward * - чи потрібно запитувати номер із переадресацією
* необов’язковий параметр; символи перенаправлення розділяються комами, кількість цифр перенаправлення має збігатися з кількістю сервісів, переданих у параметрі $service. Дозволено передавати лише один сервіс із перенаправленням, наприклад "0,1,0,0" — правильно, "0,1,1,0" — неправильно. Приймає значення 0 (не виконувати, за замовчуванням), 1 (виконати)
$operator * - мобільний оператор номера, можна вказати кілька значень, розділених комами (доступно лише для **):
$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' - час, на який акаунт заблоковано
Параметри:
$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 не є числом.
Параметри:
$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 - неправильна дія
Параметри:
$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 - неправильна дія
Параметри:
$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 - неправильна дія
Параметри:
$api_key - Ключ API
$service - назва сервісу
ВІДПОВІДЬ:
Формат відповіді буде таким:
[{
"country": 0,
"share": 50 - // (Purchases of the chosen service by country as a percentage of the total quantity of purchases at our service),
"rate": 50 - // (% of successful activations among the total number of activations by the country)
}]
МОЖЛИВІ ПОМИЛКИ:
ERROR_SQL - помилка SQL-сервера
BAD_KEY - недійсний API-ключ
WRONG_SERVICE - неправильний сервіс
BAD_ACTION - неправильна дія
Параметри:
$api_key - Ключ API
$id - ID активації
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON, приклад:
{"status":"2","phone":false}
МОЖЛИВІ СТАТУСИ:
2 - нова активація
3 - успішно завершено
4 - скасовано
5 - повернено
МОЖЛИВІ ПОМИЛКИ:
BAD_KEY - недійсний API-ключ
НЕВІРНИЙ_ID_АКТИВАЦІЇ - Невірний ID активації
Параметри:
$api_key - Ключ API
$serviceКоротка назва сервісу (необов’язково, за замовчуванням — усі сервіси) див. таблицю
$countryКод країни (необов’язково, за замовчуванням — усі країни) див. таблицю
ВІДПОВІДЬ:
JSON - об'єкт у форматі
{"Країна":{"Сервіс":{"вартість":Вартість,"кількість":Кількість}}}
Параметри:
$api_key - Ключ API
$serviceКоротка назва сервісу (необов’язково, за замовчуванням — усі сервіси) див. таблицю
ВІДПОВІДЬ:
JSON - об'єкт у форматі
{"Сервіс":{"Країна":{"кількість":Кількість,"ціна":"Ціна"}}}
Параметри:
$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 - доступна.)
Параметри:
$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 коп.
Параметри:
$api_key - Ключ API
$service - коротку назву сервісу дивіться в таблиці див. таблицю
$id - ID батьківської активації
ВІДПОВІДЬ:
ДОДАТКОВО:$id:$номер - нова активація успішно створена. Де ID — це ID додаткової активації, phone — номер телефону
МОЖЛИВІ ПОМИЛКИ:
НЕВІРНА_ДОДАТКОВА_ПОСЛУГА - Невірна додаткова послуга (дозволені лише послуги для переадресації)
WRONG_ACTIVATION_ID - Невірний ID батьківської активації
ПОМИЛКА_БЕЗПЕКИ - сталася помилка під час спроби передати ID активації без переадресації або завершеної/неактивної активації
ПОВТОРНА_ДОДАТКОВА_ПОСЛУГА - помилка виникає при спробі повторно замовити вже придбану послугу НЕМАЄ_КОШТІВ - Недостатньо коштів
ERROR_SQL- помилка бази даних, зверніться до служби підтримки
Якщо ви вже успішно активували номер, ви можете зробити це знову.
Вартість додаткової активації визначається залежно від країни та сервісу. Точну вартість можна дізнатися з .
Параметри:
$api_key - Ключ API
$activationId - ID батьківської активації
ВІДПОВІДЬ:
ДОСТУП_ДО_НОМЕРА:$id:$номер - нова активація успішно створена. Де $id — це ID додаткової активації, $phone — номер телефону
МОЖЛИВІ ПОМИЛКИ:
ПОВТОРНА_АКТИВАЦІЯ_НЕДОСТУПНА- номер недоступний для додаткової активації
WRONG_ACTIVATION_ID - Невірний ID батьківської активації
ERROR_SQL- помилка бази даних, зверніться до служби підтримки
НОВА_АКТИВАЦІЯ_НЕМОЖЛИВА- неможливо виконати додаткову активацію
NO_BALANCE - недостатньо коштів на рахунку
Ви можете перевірити доступність номера для додаткової активації та дізнатися його вартість
Параметри:
$api_key - Ключ API
$activationId - ID батьківської активації
ВІДПОВІДЬ:
JSON - об'єкт у форматі {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
МОЖЛИВІ ПОМИЛКИ:
ПОВТОРНА_АКТИВАЦІЯ_НЕДОСТУПНА- номер недоступний для додаткової активації
WRONG_ACTIVATION_ID - Невірний ID батьківської активації
SIM_ОФЛАЙН - SIM-карта офлайн
ВІДПОВІДЬ:
Формат відповіді буде таким:
{
"result": "OK"
}
STATUS_CANCEL - активацію скасовано
НЕМАЄ_ДЗВІНКА- дзвінок не отримано
PARSE_COUNT_EXCEED- перевищено ліміт спроб парсингу (максимум 4)
МОЖЛИВІ ПОМИЛКИ:
WRONG_ACTIVATION_ID - недійсний ID, активація не існує
ERROR_SQL - помилка SQL-сервера
BAD_KEY - недійсний API-ключ
BAD_ACTION - неправильна дія
API оренди
Параметри:
$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 - номери для цієї країни недоступні
Параметри:
$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 - акаунт заблоковано
Параметри:
$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 - номер заблоковано, ваші кошти повернуто
Параметри:
$api_key - Ключ API
$id - ID оренди, отриманий у відповіді при замовленні номера
$status - код для зміни статусу (номер)
Статус може бути:
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі 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 - помилка сервера
👉Увага! Цей метод показує лише останні 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 - помилка сервера
Параметри:
$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 - акаунт заблоковано
* цей метод доступний лише для оренди з оператором 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
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</залежність>
Приклад реєстрації можна переглянути за посиланням на MavenRepository
Імпортуйте головний клас для взаємодії з API SMS-Activate.
Щоб використовувати бібліотеку, потрібен API-ключ, який можна отримати на цій сторінці та за посиланням нижче.
SMS-Activate API-KeyЩоб отримати поточний баланс вашого рахунку, використайте метод getBalance... Якщо вас цікавить кешбек разом із балансом, викличте метод getBalanceAndCashBack.
Метод getBalanceAndCashBack повертає об’єкт класуSMSActivateGetBalanceAndCashBack.
Параметри:
NONE
ТИП ПОВЕРНЕННЯ:
BigDecimal
Параметри:
NONE
ТИП ПОВЕРНЕННЯ:
Параметри:
countryId(Integer) - ідентифікатор країни.
service(String) - коротка назва сервісу.
forward*(boolean) - чи запитувати номер із переадресацією дзвінків.
operatorSet*(Множина) - набір операторів.
phoneException*(Множина) - виключення префіксів тільки для Росії, набір чисел від 3 до 6 (7918,7900111).
* необов’язкове поле. Якщо нічого не вказано, буде надано кількість за замовчуванням згідно з налаштуваннями у профілі.
ТИП ПОВЕРНЕННЯ:
Параметри:
countryId(Integer) - ідентифікатор країни.
operatorSet*(Множина) - набір операторів, які доступні для сервісу
ТИП ПОВЕРНЕННЯ:
Параметри:
id(Integer) - ідентифікатор активації
service(String) - коротка назва сервісу.
Замість ідентифікатора активації можна передати отриманий об’єкт класу SMSActivateActivation після використання методу getNumber або одну з активацій після використання getMultiServiceNumber.
ТИП ПОВЕРНЕННЯ:
Параметри:
countryId(Integer) - ідентифікатор країни.
serviceMap(Set) - набір сервісів, для яких придбана активація
multiForwardList(List) - список сервісів із доступною переадресацією дзвінків
operatorSet(Set) - набір операторів.
ТИП ПОВЕРНЕННЯ:
Параметри:
NONE
ТИП ПОВЕРНЕННЯ:
Параметри:
countryId(Integer) - ідентифікатор країни.
service(String) - коротка назва сервісу.
ТИП ПОВЕРНЕННЯ:
Параметри:
countryId(Integer) - ідентифікатор країни.
ТИП ПОВЕРНЕННЯ:
Параметри:
activationId(Integer) - ідентифікатор активації
Замість ідентифікатора активації можна передати отриманий об’єкт класу SMSActivateActivation після використання методу getNumber або одну з активацій після використання getMultiServiceNumber.
ТИП ПОВЕРНЕННЯ:
Параметри:
id(Integer) - ідентифікатор активації
status(SMSActivateClientStatus) - статус, який потрібно встановити для активації
Замість ідентифікатора активації можна передати отриманий об’єкт класу SMSActivateActivation після використання методу getNumber або одну з активацій після використання getMultiServiceNumber.
ТИП ПОВЕРНЕННЯ:
Параметри:
NONE
ТИП ПОВЕРНЕННЯ:
Параметри:
activationId(Integer) - ідентифікатор активації
Замість ідентифікатора активації можна передати отриманий об’єкт класу SMSActivateActivation після використання методу getNumber або одну з активацій після використання getMultiServiceNumber.
ТИП ПОВЕРНЕННЯ:
Алгоритм отримання повного тексту 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 і завершити активацію
Параметри:
countryId(Integer) - ідентифікатор країни.
service(String) - коротка назва сервісу.
hours (Integer)* – тривалість оренди
operator (String)* – назва мобільного оператора
urlWebhook (String)* – посилання для вебхука (за замовчуванням не враховується)
Що таке вебхук?* необов’язковий параметр. Якщо не вказано, буде використано значення за замовчуванням
ТИП ПОВЕРНЕННЯ:
Параметри:
countryId(Integer) - ідентифікатор країни.
operatorSet(Set) - набір мобільних операторів
hours (Integer)* – тривалість оренди
* необов’язковий параметр. Якщо не вказано, буде використано значення за замовчуванням
ТИП ПОВЕРНЕННЯ:
Параметри:
rentId (Integer) - ідентифікатор орендованого номера
Замість rentId можна передати об’єкт відповідного класу SMSActivateRentActivation після використання методу getRentNumber
ТИП ПОВЕРНЕННЯ:
Email API
Опис статусів API
3 – Очікування
4 – Скасовано
5 – Успішно
ОПИС:
Більш суворе дотримання принципів REST API та збільшена кількість поштових скриньок gmail.com для реєстрації акаунтів у Telegram.
Параметри:
$api_key - Ключ API
$site- сайт, для якого потрібна електронна пошта
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON, приклад:
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
МОЖЛИВІ ПОМИЛКИ:
BAD_SITE- сайт не вказано
BAD_KEY - недійсний API-ключ
BAD_ACTION - неправильна дія
Параметри:
$api_key - Ключ API
$site - сайт, для якого потрібна електронна пошта
$mail_type - тип пошти: популярні домени або зони (1 – зони, 2 – популярні)
$mail_domain - обрана зона або домен
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON, приклад:
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
МОЖЛИВІ ПОМИЛКИ:
BAD_KEY - недійсний API-ключ
BAD_ACTION - неправильна дія
MAIL_TYPE_ERROR - для вказаного сайту немає такого домену
CHANNELS_LIMIT - акаунт заблоковано
Параметри:
$api_key - Ключ API
$id- ID пошти, для якої потрібна повторна активація
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON, приклад:
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
МОЖЛИВІ ПОМИЛКИ:
BAD_KEY - недійсний API-ключ
BAD_ACTION - неправильна дія
BLOCKED_SITE - заблокований сайт
BAD_BALANCE - недостатньо коштів
ACTIVATION_NOT_FOUND - активацію не знайдено
CHANNELS_LIMIT - акаунт заблоковано
Параметри:
$api_key - Ключ API
$page- номер сторінки
$per_page- кількість покупок на кожній сторінці
$search- рядок пошуку
$sort- напрямок сортування (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
}
}
Параметри:
$api_key - Ключ API
$id- ID покупки
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON, приклад:
{
"status":"OK",
"response":true
}
МОЖЛИВІ ПОМИЛКИ:
EARLY_CANCEL_DENIED - Ви не можете скасувати отримання пошти протягом перших 2 хвилин.
Параметри:
$api_key - Ключ API
$id- ID придбаної електронної пошти, повертається після покупки
ВІДПОВІДЬ:
Відповідь сервісу буде у форматі JSON, приклад:
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
Партнерське програмне забезпечення API
Параметри:
$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





















































