API протокол для работы с SMS-Activate
API - это протокол взаимодействия между вашим ПО и нашим сервером активаций.
API нужен для того, чтобы автоматизировать процесс получение смс сообщений на вашей стороне
Наше API полностью совместимо с сайтами конкурентов
Все запросы должны идти на https://api.sms-activate.guru/stubs/handler_api.php
POST или GET запросом.
Во всех запросах должен присутствовать API ключ в виде GET-параметра api_key
Скачать готовую реализацию протокола на php Скачать готовую реализацию протокола на PythonAPI Активаций
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$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 - ключ АПИ
ОТВЕТ:
ACCESS_BALANCE:'баланс на счету'
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_KEY - неверный API-ключ
ERROR_SQL - ошибка SQL-сервера
* возвращает всех операторов доступных по переданной стране, если страна не передана - вернет всех операторов доступных по каждой стране
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$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 - ключ АПИ
ОТВЕТ:
Ответ сервиса будет в json формате:
{"status":"success", "activeActivations": [
{
"activationId" : "635468021",
"serviceCode" : "vk",
"phoneNumber" : "79********1",
"activationCost" : "12.50",
"activationStatus" : "4",
"smsCode" : ["CODE"],
"smsText" : "[Ваш код для регистрации 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 - ключ АПИ
$service - сервис для заказа смотрите таблицу
$forward * - необходимо ли запросить номер с переадресацией
* необязательный параметр, принимает 0 (не выполнять , установлено по умолчанию), 1 (выполнять)
$maxPrice * - максимальная цена, за которую вы готовы купить номер по Free Price
* необязательный параметр, если он не указан, покупка пройдёт по обычной цене
$phoneException * - исключающие префиксы для номеров России. Указывать через запятую. Формат записи: код страны и от 3 до 6 цифр маски (например 7918, 7900111). По умолчанию берётся значение, заданное в профиле.
$operator * - сотовый оператор номера, можно указывать несколько через запятую (доступно только для **)
$activationType - тип активации: 0 - смс (по умолчанию), 1 - по номеру, 2 - по голосу
$language - язык парсинга (обязателен для активации по голосу) смотрите таблицу
$userId * - идентификатор пользователя для бана за плохую статистику активаций, при этом не затрагивается аккаунт самого реселлера.
* необязательное поле
** доступно для $country = 0, $country = 1, $country = 2
$ref - передать реферальный идентификатор. Подробнее
$country - страна номера смотрите таблицу
$useCashBack* - принимает значение boolean, при параметре '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 - ключ АПИ
$service - сервис для заказа смотрите таблицу
$forward * - необходимо ли запросить номер с переадресацией
* необязательный параметр, символы переадресации указываются через запятую, количество цифр переадресации должно совпадать с количеством передаваемых сервисов в параметре $service. Допустимо передавать только 1 сервис с переадресацией, например "0,1,0,0" - корректно, "0,1,1,0" - некорректно. Принимает 0 (не выполнять , установлено по умолчанию), 1 (выполнять)
$operator * - сотовый оператор номера, можно указывать несколько через запятую (доступно только для **):
$ref - передать реферальный идентификатор. Подробнее
$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 - ключ АПИ
$id - id активации
$forward * - номер телефона на который нужно выполнить переадресацию
* обязательно, только если при getNumber был передан параметр forward=1.
$status - статус активации
1 - сообщить о готовности номера (смс на номер отправлено)
3 - запросить еще один код (бесплатно)
6 - завершить активацию *
8 - сообщить о том, что номер использован и отменить активацию
* если был статус 'код получен' - помечает успешно и завершает, если был 'подготовка' - удаляет и помечает ошибка, если был статус 'ожидает повтора' - переводит активацию в ожидание смс
** Изменить статус активации для которой был выбран метод верификации по звонку, невозможно, если номер уже пришел
Простая логика хронологии работы с АПИ:
Получить номер используя метод getNumber после этого доступны следующие действия:
8 - отменить активацию (если номер Вам не подошел)
1 - сообщить, что SMS отправлена (необязательно)
Для активации со статусом 1:
8 - отменить активацию
Сразу после получения кода:
3 - запросить еще одну смс
6 - подтвердить SMS-код и завершить активацию
Для активации со статусом 3:
6 - подтвердить SMS-код и завершить активацию
ОТВЕТ:
ACCESS_READY - готовность номера подтверждена
ACCESS_RETRY_GET - ожидание нового смс
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 - ключ АПИ
$id - id активации
ОТВЕТ:
STATUS_WAIT_CODE - ожидание смс
STATUS_WAIT_RETRY:'прошлый, неподошедший код' - ожидание уточнения кода
STATUS_WAIT_RESEND - ожидание повторной отправки смс *
* софт должен нажать повторно выслать смс и выполнить изменение статуса на 6
STATUS_CANCEL - активация отменена
STATUS_OK: 'код активации' - код получен
ВОЗМОЖНЫЕ ОШИБКИ:
NO_ACTIVATION - id активации не существует
ERROR_SQL - ошибка SQL-сервера
BAD_KEY - неверный API-ключ
BAD_ACTION - некорректное действие
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$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 - ключ АПИ
$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 - ключ АПИ
$service - наименование сервиса
ОТВЕТ:
Формат ответа будет следующим:
[{
"country": 0,
"share": 50 - // (Покупки выбранного сервиса по стране в процентном отношении к общему количеству покупок у нас на сервисе),
"rate": 50 - // (% успешных активаций среди общего количества по стране)
}]
ВОЗМОЖНЫЕ ОШИБКИ:
ERROR_SQL - ошибка SQL-сервера
BAD_KEY - неверный API-ключ
WRONG_SERVICE - неверный сервис
BAD_ACTION - некорректное действие
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$id - id активации
ОТВЕТ:
Ответ сервиса будет в json формате. Пример:
{"status":"2","phone":false}
ВОЗМОЖНЫЕ СТАТУСЫ:
2 - новая активация
3 - успешно закрыта
4 - отменена
5 - возвращена
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_KEY - неверный API-ключ
INVALID_ACTIVATION_ID - неверный id активации
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$service - краткое наименование сервиса (необязательно, по умолчанию все сервисы) смотрите таблицу
$country - кодовое наименование страны (необязательно, по умолчанию все страны) смотрите таблицу
ОТВЕТ:
JSON - объект в формате
{"Страна":{"Сервис":{"cost":Стоимость,"count":Количество}}}
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$service - краткое наименование сервиса (необязательно, по умолчанию все сервисы) смотрите таблицу
ОТВЕТ:
JSON - объект в формате
{"Сервис":{"Страна":{"count":Количество,"price":"Цена"}}}
ПАРАМЕТРЫ:
$api_key - ключ АПИ
ОТВЕТ:
JSON - объект в формате {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
где (
id : id страны;
rus : наименование страны на русском;
eng : наименование страны на английском;
chn : наименование страны на китайском;
visible : 0 - страна не отображается на сайте, 1 - отображается;
retry : 0 - повторная смс НЕ доступна, 1 - доступна;
rent : 0-страны нет в аренде, 1 - есть в аренде;
multiService : 0-страна НЕ доступна для мультисервиса, 1- доступна.)
ПАРАМЕТРЫ:
$api_key- ключ API
$country *- ID страны. Если передали страну, возвращаем сервисы, у которых есть цена по выбранной стране
$lang *- язык на котором передавать `name`. Возможные значения: 'ru','en','es','cn'. По умолчанию будет 'en'
* необязательный параметр
ОТВЕТ:
JSON - объект в формате { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }
Получив первую смс для номеров с переадресацией можно докупить другие смежные сервисы такие как Юла, Яндекс, Авито, Любой другой
Стоимость дополнительного сервиса составляет всего 5р
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$service - краткое наименование сервиса смотрите таблицу
$id - ID родительской активации
ОТВЕТ:
ADDITIONAL:$id:$phone - успешно создалась новая активация. Где ID - ID дополнительной активации, phone - номер телефона
ВОЗМОЖНЫЕ ОШИБКИ:
WRONG_ADDITIONAL_SERVICE - Неверный дополнительный сервис (допустимы только сервисы для переадресации)
WRONG_ACTIVATION_ID - неверный ID родительской активации
WRONG_SECURITY - ошибка при попытке передать ID активации без переадресации, или же завершенной/не активной активации
REPEAT_ADDITIONAL_SERVICE - ошибка возникает при попытке заказать купленный сервис еще раз NO_BALANCE - Не хватает средств
ERROR_SQL - ошибка базы данных, обратитесь в поддержку
Если вы совершили успешную активацию на номере, то вы можете совершить её повторно.
Стоимость дополнительной активации определяется в зависимости от страны и сервиса. Конкретную стоимость можно получить по этому запросу.
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$activationId - ID родительской активации
ОТВЕТ:
ACCESS_NUMBER:$id:$phone - успешно создалась новая активация. Где $id - ID дополнительной активации, $phone - номер телефона
ВОЗМОЖНЫЕ ОШИБКИ:
RENEW_ACTIVATION_NOT_AVAILABLE - номер недоступен для дополнительной активации
WRONG_ACTIVATION_ID - неверный ID родительской активации
ERROR_SQL - ошибка базы данных, обратитесь в поддержку
NEW_ACTIVATION_IMPOSSIBLE - совершить дополнительную активацию невозможно
NO_BALANCE - нет денег на счету
Вы можете узнать доступность номера для совершения дополнительной активации и получить её стоимость
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$activationId - ID родительской активации
ОТВЕТ:
JSON - объект в формате {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
ВОЗМОЖНЫЕ ОШИБКИ:
RENEW_ACTIVATION_NOT_AVAILABLE - номер недоступен для дополнительной активации
WRONG_ACTIVATION_ID - неверный ID родительской активации
SIM_OFFLINE - сим-карта офлайн
ОТВЕТ:
Формат ответа будет следующим:
{
"result": "OK"
}
STATUS_CANCEL - активация отменена
NO_CALL - не было звонка
PARSE_COUNT_EXCEED - лимит попыток парсинга (максимум 4)
ВОЗМОЖНЫЕ ОШИБКИ:
WRONG_ACTIVATION_ID - неверный id активации не существует
ERROR_SQL - ошибка SQL-сервера
BAD_KEY - неверный API-ключ
BAD_ACTION - некорректное действие
API АРЕНДЫ
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$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 - ключ АПИ
$service - сервис на который необходимо получить номер
$time * - время аренды в часах (по умолчанию: 4 часа). Следующий доступный временной период 12 часов, далее 24 часа. При запросе аренды на сутки и более, необходимо передавать: 24, 48, 72 и т.д.
$operator * - сотовый оператор номера, можно указывать несколько через запятую (по умолчанию: Любой)
$country * - страна (по умолчанию: Россия)
$url * - ссылка для webhook (по умолчанию не учитывается)
$incomingCall * - если передано "true", получить номер с возможностью приема звонка
* необязательный параметр. Если не указано, то будет использован параметр по умолчанию.
ОТВЕТ:
Ответ сервиса будет в json формате. Пример:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_KEY - неверный API-ключ
Ответ в json формате:
{ "status": "error", "message": "*possible_answer*" }
Возможные ответы в поле "message":
BAD_SERVICE - сервис не указан или название неверно
NO_BALANCE - нет денег на счету
NO_NUMBERS - свободных номеров нет
ACCOUNT_INACTIVE - свободных номеров нет
SERVER_ERROR - ошибка сервера
CHANNELS_LIMIT - аккаунт заблокирован
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$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" } } }
* успешно только в случае, когда есть смс (поле 'quantity' > 0).
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_KEY - неверный API-ключ
Ответ в json формате:
{ "status": "error", "message": "*possible_answer*" } Возможные ответы в поле "message": NO_ID_RENT - не указан ID аренды INVALID_PHONE - номер арендован не вами (неправильный ID аренды) STATUS_FINISH - аренда оплачена и завершена STATUS_CANCEL - аренда отменена с возвратом денег STATUS_WAIT_CODE - ожидание первой смс STATUS_REVOKE - номер заблокирован, вам возвращены средства
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$id - ID аренды, полученный в ответе при заказе номера
$status - код для смены статуса (число)
Статус может быть принимать значения:
ОТВЕТ:
Ответ сервиса будет в json формате:
{ "status": "success" }
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_KEY - неверный API-ключ
Ответ в json формате:
{ "status": "error", "message": "*possible_answer*" }
Возможные ответы в поле "message":
NO_ID_RENT - не указан ID аренды
INCORECT_STATUS - отсутствует или неправильно указан статус
CANT_CANCEL - невозможно отменить аренду (более 20 мин.)
INVALID_PHONE - номер арендован не вами (неправильный ID аренды)
ALREADY_FINISH - аренда уже завершена
ALREADY_CANCEL - аренда уже отменена
SERVER_ERROR - ошибка сервера
👉Внимание! Данный метод отображает только последние 10 номеров. Если вам необходимо большее количество, воспользуйтесь методом getRentStatus для проверки статусов.
ПАРАМЕТРЫ:
$api_key - ключ АПИ
ОТВЕТ:
Ответ сервиса будет в json формате:
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_KEY - неверный API-ключ
BAD_ACTION - некорректное действие
Ответ в json формате:
{ "status": "error", "message": "*possible_answer*" }
Возможные ответы в поле "message":
NO_NUMBERS - арендованных номеров нет
SERVER_ERROR - ошибка сервера
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$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 - превышено максимальное доступное время
max - максимально доступное время
INVALID_PHONE - неверный ID аренды
RENT_DIE - аренду невозможно продлить, так как срок жизни номера истёк
NO_BALANCE - недостаточно средств
CHANNELS_LIMIT - аккаунт заблокирован
* данный метод доступен только для аренды с оператором MTT.
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$id - id аренды
$rent_time - время аренды
ОТВЕТ:
Ответ сервиса будет в json формате:
{ "status": "success", "price": 6.33 }
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_KEY - неверный API-ключ
BAD_ACTION - некорректное действие
SERVER_ERROR - ошибка сервера
Ответ в json формате:
{ "status": "error", "message": "*possible_answer*" }
Возможные ответы в поле "message":
NO_ID_RENT - отсутствует ID аренды
INVALID_PHONE - неверный ID аренды
INVALID_TIME - неверно заданное время
RENT_DIE - аренду невозможно продлить, так как срок жизни номера истёк
MAX_HOURS_EXCEED - превышено максимальное доступное время
max - максимально доступное время
CHANNELS_LIMIT - аккаунт заблокирован
API JAVA
Включите библиотеку в maven
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependecy>
Пример оформления Вы можете посмотреть по ссылке на MavenRepository
Импортируйте главный класс для взаимодействия с API SMS-Activate.
Для использования библиотеки Вам необходим API ключ, его можно получить на данной странице и по ссылке ниже.
SMS-Activate API-KeyДля получения текущего баланса на вашем аккаунте используйте метод getBalance. Если Вас интересует помимо баланса кэшбэк, то вызовите метод getBalanceAndCashBack.
Метод getBalanceAndCashBack возвращает объект класса SMSActivateGetBalanceAndCashBack.
ПАРАМЕТРЫ:
ОТСУТСТВУЮТ
ВОЗВРАЩАЕМЫЙ ТИП:
BigDecimal
ПАРАМЕТРЫ:
ОТСУТСТВУЮТ
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
countryId(Integer) - идентификатор страны.
service(String) - короткое имя сервиса.
forward*(boolean) -необходимо ли запросить номер с переадресацией.
operatorSet*(Set) - набор операторов.
phoneException*(Set) - исключающие префиксы только для России, набор чисел от 3 до 6 (7918,7900111).
* необязательное поле. Если не указано, то по умолчанию будет выдано количество в соответствии с настройкой в профиле.
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
countryId(Integer) - идентификатор страны.
operatorSet*(Set) - набор операторов, которые доступны у сервиса
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
id(Integer) - идентификатор активации.
service(String) - короткое имя сервиса.
Вместо идентификатора активации можно передать полученный объект класса SMSActivateActivation после использования метода getNumber или одну из активаций после использования getMultiServiceNumber.
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
countryId(Integer) - идентификатор страны.
serviceMap(Set) - набор сервисов, для которых приобретается активация.
multiForwardList(List) - список сервисов с переадресацией
operatorSet(Set) - набор операторов.
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
ОТСУТСТВУЮТ
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
countryId(Integer) - идентификатор страны.
service(String) - короткое имя сервиса.
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
countryId(Integer) - идентификатор страны.
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
activationId(Integer) - идентификатор активации.
Вместо идентификатора активации можно передать полученный объект класса SMSActivateActivation после использования метода getNumber или одну из активаций после использования getMultiServiceNumber.
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
id(Integer) - идентификатор активации.
status(SMSActivateClientStatus) - статус, который нужно установить активации
Вместо идентификатора активации можно передать полученный объект класса SMSActivateActivation после использования метода getNumber или одну из активаций после использования getMultiServiceNumber.
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
ОТСУТСТВУЮТ
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
activationId(Integer) - идентификатор активации.
Вместо идентификатора активации можно передать полученный объект класса SMSActivateActivation после использования метода getNumber или одну из активаций после использования getMultiServiceNumber.
ВОЗВРАЩАЕМЫЙ ТИП:
Алгоритм получения полного текста смс с активации
Получить номер используя метод getNumber после этого доступны следующие действия:
CANCEL - Отменить активацию (если номер Вам не подошел)
MESSAGE_WAS_SENT - Сообщить, что SMS отправлена (Обязательно для получения полного текста sms)
После обязательной установки статуса MESSAGE_WAS_SENT установить переменной получение SMS с помощью метода waitSMS с параметрами активации и времени, которое нужно ждать SMS.
После получения SMS можно получить его с помощью метода getFullSMS и затем вывести полный текст с помощью метода getText()
После этого Вы можете установить активации следующие статусы:
Для активации со статусом MESSAGE_WAS_SENT:
CANCEL - Отменить активацию
Сразу после получения кода:
REQUEST_ONE_MORE_CODE - Запросить еще одну смс
FINISH - Подтвердить SMS-код и завершить активацию
Для активации со статусом REQUEST_ONE_MORE_CODE:
FINISH - Подтвердить SMS-код и завершить активацию
ПАРАМЕТРЫ:
countryId(Integer) - идентификатор страны.
service(String) - короткое имя сервиса.
hours(Integer)* - время аренды.
operator(String)* - имя мобильного оператора.
urlWebhook(String)* - ссылка для webhook (По умолчанию не учитывается)
Что такое webHook?* необязательный параметр. Если не указано, то будет значение по умолчанию
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
countryId(Integer) - идентификатор страны.
operatorSet(Set) - набор сотовых операторов
hours(Integer)* - время аренды.
* необязательный параметр. Если не указано, то будет значение по умолчанию
ВОЗВРАЩАЕМЫЙ ТИП:
ПАРАМЕТРЫ:
rentId(Integer) - идентификатор арендованного номера.
Вместо rentId можно передать полученный объект класса SMSActivateRentActivation
после использования метода getRentNumber
ВОЗВРАЩАЕМЫЙ ТИП:
API Почты
Описание статусов API
3 - Ожидание
4 - Отмена
5 - Успех
ОПИСАНИЕ:
Более строгое следование принципам REST API и увеличенное количество почт gmail.com ящиков для регистрации аккаунтов Telegram.
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$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 – zones 2 - popular)
$mail_domain - выбранная зона либо домен
ОТВЕТ:
Ответ сервиса будет в json формате. Пример:
{ "status":"OK", "response":{"email":"[email protected]","id":241} }
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_KEY - неверный API-ключ
BAD_ACTION - некорректное действие
MAIL_TYPE_ERROR - нет такого домена для указанного сайта
CHANNELS_LIMIT - аккаунт заблокирован
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$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 - ключ АПИ
$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 - ключ АПИ
$id - id покупки
ОТВЕТ:
Ответ сервиса будет в json формате. Пример:
{ "status":"OK", "response":true }
ВОЗМОЖНЫЕ ОШИБКИ:
EARLY_CANCEL_DENIED - нельзя отменить почту первые 2 минуты.
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$id - id купленной почты, возвращается после покупки почты
ОТВЕТ:
Ответ сервиса будет в json формате. Пример:
{ "status":"OK", "response":{ "value":"Содержания письма" } }
API Партнёрский софт
ПАРАМЕТРЫ:
$api_key - ключ АПИ
$id - Id софта, который необходимо купить
ОТВЕТ:
Ответ сервиса будет в json формате. Пример:
{ "status": "success", "key": "F5qrzFoY6afj3zrEq7SeMplbx", "manual": "Ссылка на загрузку софта:" }
ВОЗМОЖНЫЕ ОШИБКИ:
BAD_DATA - неверный ID или ID не является числом
BAD_ACTION - неверный action или реселлер не верифицирован.
<?php
include_once ("smsactivateApi.php");//Включение класса в проект
$sms = new SMSActivate($API_KEY);//Создать экземпляр класса SMSActivate
$freeSlots = $sms->getNumbersStatus(0, 'tele2');//Получить количество доступных номеров для страны Россия и оператора теле2
echo "Номеров Вконтакте: " . $freeSlots['vk']."\n";//Показать для Vk
echo "Номеров Whatsapp: " . $freeSlots['wa']."\n";//Показать для Whatsapp
var_dump($freeSlots); //Отобразить все сервисы с количеством
$array=$activate->getTopCountriesByService(); //Получить массив, элементы которого содержат информацию по каждой стране
$balance = $sms->getBalance();//Получить баланс
echo "На счету " . $balance." руб.\n";//Показать баланс
$balance = $sms->getBalanceAndCashBack();//Получить баланс с кэшбэком
echo "На счету " . $balance." руб.\n";//Показать баланс с кэшбэком
$operators = $sms->getOperators();
//Получить операторов для всех стран
if (in_array('mts', $operators['countryOperators'][0])) {
//проверить доступен ли 'mts' для России
//выполнить действие
}
if (in_array('chinamobile', $operators['countryOperators'][3])) {
//проверить доступен ли 'chinamobile' для Китая
//выполнить действие
}
$activations = $sms->getActiveActivations();
$number = $sms->getNumber('ok',0, 0, 'tele2');//Получить номер Одноклассники без переадресации
echo "Активация № " . $number['id']. "телефон ". $number['number'] \n";//Показать id и номер активации
$result = $sms->getNumber('vk', 0 , 1);
if (!is_array($result)) {
echo 'Ошибка: ' . $result . '\n';//В случае ошибки вернется строка, в случае успеха - массив
} 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');//Получить номер для сервисов Одноклассники, Вконтакте, Viber без переадресации и Авито с переадресацией
foreach ($number as $value) {
echo "Активация № " . $value['activation']. " для сервиса ". $value['service'] ."\n";
}
echo "Номер " . $value['phone'] ."\n";//Показать id активаций и номер
$status = $sms->setStatus($number['id'], 3);//Изменить статус активации по id (получить ещё 1 код)
$status = $sms->getStatus($number['id']);//Получить статус активации по id
if (is_array($status) {
echo "статус : " . $status['status'];//Может быть STATUS_OK или STATUS_WAIT_RETRY, в противном случае вернется строка с текстом ошибки
echo "код: " . $status['code'];
} else {
echo $status ."\n";
}
$incomingCall = $sms->getIncomingCallStatus($id);//Получить данные активации по звонку
echo $incomingCall['phone'] //Показать входящий номер
$prices = $sms->getPrices(1, 'vk');//Получить актуальную цену на сервис
echo "Цена для Вк(Украина) : " .$prices[1]['vk']['cost']." руб. количество: ". $prices[1]['vk']['count'];//Показать результат
$countries = $sms->getCountries();//Получить список всех стран
$additional = $sms->getAdditionalService('fx', $id);//Получить дополнительную активацию для сервиса PGbonus на основе активации id
echo "Активация №: " . $additional[id] . " Телефон: " . $additional[number];//Показать результат
$getAvailableRentNumbers = $sms->getRentServicesAndCountries('2');//Запросить доступные для аренды страны и сервисы ( на 2 часа для всех операторов )
echo "Полная аренда - Стоимость:" . $getAvailableRentNumbers['services']['full']['cost'] . " Количество :" .$getAvailableRentNumbers['services']['full']['quant'] ." \n"; //Вывести информацию о полной стоимости
foreach( $getAvailableRentNumbers['operators'] as $value) {
echo " Оператор " . $value ."\n"; }//Вывести список операторов
$getRentNumber = $sms->getRentNumber('vk','10','0','yota');//Получить номер для аренды для Вконтакте на 10 часов, оператор 'Yota', страна - Россия
if ($getRentNumber['status'] === 'success'){
echo "Аренда прошла успешно! Ваш номер: " . $getRentNumber['phone']['number']." \nДата окончания аренды : ". $getRentNumber['phone']['endDate']." \nId номера :" .$getRentNumber['phone']['id'] ; }//Вывести информацию об аренде
else
echo "Код ошибки : " . $getRentNumber['message'];
$getRentStatus = $sms->getRentStatus($getRentNumber['phone']['id']);//Получить статус аренды с id от полученного номера
if ($getRentStatus['status'] == 'success'){
foreach( $getRentStatus['values']as $index => $value) {
echo " Сообщение " . $index .": от номера - " . $value['phoneFrom'] . " сервис - " . $value ['service'] . "текст сообщения - " . $value['text'] . "дата - " . $value['date']; } }//вывести список сообщений полученных во время аренды номера
else
echo "Код ошибки : " . $getRentStatus['message'];
$setRentStatus = $sms->setRentStatus($getRentNumber['phone']['id'],1);//Установить статус аренды 'финиш' с id от полученного номера
if ($setRentStatus['status'] == 'success')
echo " Изменение статуса прошло успешно! ";
else
echo "Код ошибки : " . $setRentStatus['message'];
$getRentList = $sms->getRentList();//Получить список арендованных номеров на данный момент
if (getRentList['status'] == 'success')
foreach( $getRentList['values'] as $value) {
echo " ID " . $value["id"] . " Номер " . $value["phone"] ."\n"; }//Вывести список номеров
else
echo "Код ошибки : " . $getRentList['message'];
$result = $sms->continueRentNumber($id);//Продлить аренду активации id на 4 часа (по умолчанию)
if ($result['status'] == 'success') {
echo "Номер: " . $result['phone']['number']"//Вывести номер
echo "id: " . $result['phone']['id']"//Вывести id активации
echo "Аренда действует до: " . $result['phone']['endDate']"//Вывести дату и время окончания аренды
} else {
echo "Код ошибки : " . $result['msg'];
}
$result = $sms->getContinueRentPriceNumber($id, 12);//Получить стоимость продления аренды для активации id на 12 часов
if ($result['status'] == 'success') {
echo " Стоимость продления: " . $result['price'];//Вывести стоимость
} else {
echo "Код ошибки: " . $result['message']; //Вывести код ошибки
}
from smsactivate.api import SMSActivateAPI
# SMSActivateAPI Содержит все основные инструменты для работы с API SMSActivate
sa = SMSActivateAPI(API_KEY)
sa.debug_mode = True
# Используется для отладки. При активном debug_mode все ответы от сервера и класса будут выводиться в консоль
print(sa.version())
# Возвращает текущую версию библиотеки
status = sa.getNumbersStatus(country=0, operator='tele2')
try:
print(status['vk_0']) # 274789
except:
print(status['message']) # Текст ошибки
result = sa.getTopCountriesByService('vk')
try:
print(result[0]['count']) # 2350
except:
print(result['message']) # Текст ошибки
balance = sa.getBalance() # {'balance': '100.00'}
try:
print(balance['balance']) # 100.00
except:
print(balance['message']) # Текст ошибки
balance = sa.getBalanceAndCashBack() # {'balance': '100.00'}
try:
print(balance['balance']) # 100.00
except:
print(balance['message']) # Текст ошибки
operators = sa.getOperators(country=0)
try:
print(operators['countryOperators']['0'])
except:
print(operators['error']) # Статус ошибки
activations = sa.getActiveActivations()
try:
print(activations['activeActivations'])
except:
print(activations['error']) # Статус ошибки
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']) # Текст ошибки
number = sa.getNumberV2(service='vk', country=0)
try:
print(number['phoneNumber']) # 79999999999
except:
print(number['message']) # Текст ошибки
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']) # Текст ошибки
status = sa.setStatus(id=000000000, status=1) # ACCESS_READY
try:
print(status) # ACCESS_READY
except:
print(status['message']) # Текст ошибки
status = sa.getStatus(id=000000000) # STATUS_WAIT_CODE
try:
print(sa.activationStatus(status)) # {'status': 'STATUS_WAIT_CODE', 'message': 'Ожидание смс'}
except:
print(status['message']) # Текст ошибки
status = sa.getIncomingCallStatus(id=000000000)
try:
print(status['status']) # 2
except:
print(status['message']) # Текст ошибки
prices = sa.getPrices(service='fb', country=0)
try:
print(prices['0']) # {'fb': {'cost': 9, 'count': 27934}}
except:
print(prices['message']) # Текст ошибки
countries = sa.getCountries()
try:
print(countries['0']['eng']) # Russia
except:
print(countries['message']) # Текст ошибки
service = sa.getAdditionalService(id=000000000, service='ig')
try:
print(service['phone']) # 79999999999
except:
print(service['message']) # Текст ошибки
service = sa.getRentServicesAndCountries(time=4, operator='tele2', country=0)
try:
print(service['services']['full']['cost']) # 100.00
except:
print(service['message']) # Текст ошибки
rent = sa.getRentNumber(service='ig', time=4, operator='tele2', country=0)
try:
print(rent['phone']['number']) # 79999999999
except:
print(rent['message']) # Текст ошибки
status = sa.getRentStatus(000000000)
try:
print(status['values']['0']['text']) # SMS
except:
print(status['message']) # Текст ошибки
status = sa.setRentStatus(id=000000000, status=1)
try:
print(status['status']) # success
except:
print(status['message']) # Текст ошибки
rent = sa.getRentList()
try:
print(rent['values']['0']['phone']) # 79999999999
except:
print(rent['message']) # Текст ошибки
rent = sa.continueRentNumber(id=000000000, time=4)
try:
print(rent['phone']['number']) # 79999999999
except:
print(rent['message']) # Текст ошибки
rent = sa.getContinueRentPriceNumber(000000000)
try:
print(status['price']) # 4.00
except:
print(status['message']) # Текст ошибки
import ru.sms_activate.SMSActivateApi;//Включение класса в проект
SMSActivateApi smsActivateApi = new SMSActivate("API_KEY");//Создать экземпляр класса SMSActivate
BigDecimal balance = smsActivateApi.getBalance();//Получить текущий баланс на аккаунте
System.out.println("Balance: "+ balance)//Вывести полученный баланс
SMSActivateGetBalanceAndCashbackResponse smsActivateGetBalanceAndCashbackResponse = smsActivateApi.getBalanceAndCashback();//Получить текущий баланс и кэшбек
System.out.println("Cashback + balance: "+ smsActivateGetBalanceAndCashbackResponse.getBalanceAndCashback());//Вывести сумму баланса и кэшбека
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Получить активацию для сервиса Вконтакте в России
System.out.println(activation);//Вывести полученную активацию
SMSActivateGetNumbersStatusResponse smsActivateGetNumbersStatusResponse= smsActivateApi.getNumberStatus(0,null);//Получить информацию о доступных сервисах для России
SMSActivateServiceInfo go = smsActivateGetNumbersStatusResponse.getSMSActivateServiceInfoByShortName("go");//Получение информации о номерах для сервиса Google
System.out.println("Short name service: " + go.getShortName();//Получить короткое имя сервиса
System.out.println("count phone numbers: "+ go.getCountPhoneNumber();//Получить количество номеров для сервиса
System.out.println(""Forwarding is available: "+ go.isForward() ? "yes" : "no"//Узнать, есть ли переадресация у сервиса
SMSActivateActivation activation=smsActivateApi.getNumbersStatus(0,"ot",true);//Получение активации
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Установка статуса MESSAGE_WAS_SENT после отправки смс для номера
SMSActivateActivation childActivation =smsActivateApi.getAdditionalService(activation,"av");//Запрос новой активации для дополнительного сервиса
System.out.println(childActivation);//Вывод информации о дополнительной активации
Set<String>operatorSet= new HashSet<>();
operatorSet.add("mts");//Добавление оператора МТС в набор операторов
Map<String,Boolean>serviceMap= new HashMap<>();
serviceMap.put("av",false);//Добавление сервиса Авито в список сервисов(указывать true, если нужен сервис с переадресацией)
SMSActivateGetMultiServiceNumberResponse multiServiceNumberResponse=smsActivateApi.getMultiServiceNumber(0, serviceMap, operatorSet);//Получение активации для нескольких сервисов
multiServiceNumberResponse.getSMSActivateActivationList().forEach(activation->{
System.out.println("Id: " + activation.getId());
System.out.println("Number: " + activation.getNumber());
System.out.println("Service name: " + activation.getShortName());
}
//Вывод информации о полученных активациях
SMSActivateGetPricesResponse smsActivateGetPricesResponse=smsActivateApi.getPricesByCountryIdAndServiceShortName(0, "vk");//Получение списка цен для России по сервису Вконтакте. Для получения полного списка цен используйте метод getAllPrices();
SMSActivateGetPriceInfo vk=smsActivateGetPricesResponse.getPriceInfo(0, "vk");//Получение информации о сервисе Вконтакте для России
System.out.println(">>> Cost: "+ vk.getCost());//Получить цену для сервиса
System.out.println(">>> count phone numbers: " + vk.getCountPhoneNumbers());//Получить количество номеров для сервиса
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Получить активацию для сервиса Вконтакте в России
System.out.println(activation);//Вывести полученную активацию
SMSActivateGetStatusResponse getResponse = smsActivateApi.getStatus(activation);//Получение статуса для активации
System.out.println(getResponse.getSMSActivateGetStatus());//Вывод информации о статусе активации
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Установка статуса MESSAGE_WAS_SENT после получения смс для номера
smsActivateApi.setStatus(activation, SMSActivateClientStatus.FINISH);//Установка статуса FINISH после получения смс для номера
SMSActivateGetCountriesResponse smsActivateGetCountriesResponse =smsActivateApi.getCountries();//Получение списка стран с информацией
SMSActivateCountryInfo countryInfo = smsActivateGetCountriesResponse.get(0)//Получение информации о первой стране в списке
System.out.println("Russian name: "+countryInfo.getRussianName();//Вывести русское название страны
System.out.println("English name: "+countryInfo.getEnglishName();//Вывести русское название страны
System.out.println("Support multi-service: "+ countryInfo.isSupportMultiService() ? "yes" : "no"//Вывести, поддерживает ли страна мульти-сервисы
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Получить активацию для сервиса Вконтакте в России
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Установка статуса MESSAGE_WAS_SENT после отправки смс для номера
String code=smsActivateApi.waitSms(activation,2)//Установить получение sms в течение 2 минут
if(code == null) {
smsActivateApi.setStatus(activation, SMSActivateClientStatus.CANCEL);//Установка статуса CANCEL, если sms не пришла
}
else{
SMSActivateGetFullSmsResponse smsActivateGetFullSmsResponse=smsActivateApi.getFullSms(activation)//Получение текста sms
System.out.println("Full SMS: "+smsActivateGetFullSmsResponse.getText());//Вывод текста SMS
}
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk", 6);//Получение номера с арендой
System.out.println(">> ID: "+rentActivation.getId());//Вывод ID активации
System.out.println(">> Number: "+rentActivation.getId());//Вывод номера активации
System.out.println(">> End date: "+rentActivation.getId());//Вывод даты окончания активации
SMSActivateGetRentServicesAndCountriesResponse smsActivateGetRentServicesAndCountriesResponse= smsActivateApi.getRentServicesAndCountries(0, null, 4);//Получение информации о сервисах и странах, поддерживающих аренду
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());
}
//Вывод информации о полученных сервисах
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk");//Получение номера с арендой
SMSActivateGetRentStatusResponse smsActivateGetRentStatusResponse= smsActivateApi.getRentStatus(rentActivation);//Получение статуса активации
System.out.println(">> Count sms: "+ smsActivateGetRentStatusResponse.getCountSms());//Вывод количество sms на арендованном номере