Dimar FZC LLC
Flamingo Villas A-32-01-05-03 25314 United Arab Emirates, Ajman
+971585072431, https://smsactivate.s3.eu-central-1.amazonaws.com/assets/img/icons/logo/logo.svg, [email protected]

API протокол для работы с SMS-Activate

API - это протокол взаимодействия между вашим ПО и нашим сервером активаций.

API нужен для того, чтобы автоматизировать процесс получение смс сообщений на вашей стороне

Наше API полностью совместимо с сайтами конкурентов

Все запросы должны идти на https://api.sms-activate.guru/stubs/handler_api.php

POST или GET запросом.

Во всех запросах должен присутствовать API ключ в виде GET-параметра api_key

Скачать готовую реализацию протокола на php Скачать готовую реализацию протокола на Python

API Активаций

Запрос количества доступных номеров
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getNumbersStatus&country=$country&operator=$operator

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$country * - страна номера смотрите таблицу

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

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

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

ОТВЕТ:

Ответ сервиса будет в json формате. Пример:

{"vk_0":76,"ok_0":139,"wa_0":90,"vi_0":223,"tg_0":158,"wb_0":106,"go_0":182,"av_0":244,"av_1":211,"fb_0":107}
Где до черточки - название сервиса, после обозначение нужно ли включать переадресацию. 0 - нет. 1 - да.

Полный список сервисов

Запрос топ стран по сервису FreePrice
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getTopCountriesByService&service=$service&freePrice=$freePrice

ПАРАМЕТРЫ:

$api_key - ключ API

$service * - сервис смотрите таблицу

* необязательный параметр. Если не указано, то по умолчанию будет выданы топ страны по всем сервисам.

$freePrice * - необязательный параметр. Если передано true, количество и цена будут переданы в соответствии с Free Price

ОТВЕТ:

Ответ сервиса будет в json формате. Пример:

{ 0: { "country: 0, "count": 43575, "price": 15.00, "retail_price": 30.00 }, ... }

$freePrice = true:

{ 0: { "country: 0, "count": 43575, "price": 15.00, "retail_price": 30.00, "freePriceMap": { "15.00": 43242, "18.00": 333 } }, ... }
Запрос баланса
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getBalance

Запрос баланса с кэшбэк-счетом:

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

* возвращает баланс с учётом накопленного кэшбэка, если установлена галочка в настройках кэшбэк-счёта 'Тратить кэшбэк на активации'

ПАРАМЕТРЫ:

$api_key - ключ АПИ

ОТВЕТ:

ACCESS_BALANCE:'баланс на счету'

ВОЗМОЖНЫЕ ОШИБКИ:

BAD_KEY - неверный API-ключ

ERROR_SQL - ошибка SQL-сервера

Запрос доступных операторов
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getOperators&country=$country

* возвращает всех операторов доступных по переданной стране, если страна не передана - вернет всех операторов доступных по каждой стране

ПАРАМЕТРЫ:

$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 - записи не найдены (например передана несуществующая страна)

Запрос активных активаций
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getActiveActivations

ПАРАМЕТРЫ:

$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 - записи не найдены (нет активных активаций)

Запрос номера FreePrice
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getNumber&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country&phoneException=$phoneException&maxPrice=maxPrice&useCashBack=$useCashBack&activationType=$activationType&language=$language&userId=$userId

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$service - сервис для заказа смотрите таблицу

$forward * - необходимо ли запросить номер с переадресацией

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

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

* необязательный параметр, если он не указан, покупка пройдёт по обычной цене

$phoneException * - исключающие префиксы для номеров России. Указывать через запятую. Формат записи: код страны и от 3 до 6 цифр маски (например 7918, 7900111). По умолчанию берётся значение, заданное в профиле.

$operator * - сотовый оператор номера, можно указывать несколько через запятую (доступно только для **)

$activationType - тип активации: 0 - смс (по умолчанию), 1 - по номеру, 2 - по голосу

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

$userId * - идентификатор пользователя для бана за плохую статистику активаций, при этом не затрагивается аккаунт самого реселлера.

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

* необязательное поле

** доступно для $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 - нет номеров

При попытке получить номер конкретного оператора, не действующего в выбранной стране или у которого не обслуживается выбранный сервис - вернется номер первого подходящего под параметры запроса оператора

Запрос номера V2 FreePrice
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getNumberV2&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country&phoneException=$phoneException&maxPrice=maxPrice&activationType=$activationType&language=$language&userId=$userId

Метод работает аналогично методу getNumber, принимает те же параметры и дополнительно описанные ниже, но возвращает дополнительную информацию об активации

ПАРАМЕТРЫ:

$orderId - id активации из системы реселлера. При покупке эти данные сопоставляются с id активации и реселлером в нашей системе. Таким образом хотим достичь идемпотентности (вновь один и тот же ордер не обработается).

ОТВЕТ:

При успешном запросе ответ будет в формате:

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

При попытке получить номер конкретного оператора, не действующего в выбранной стране или у которого не обслуживается выбранный сервис - вернется номер первого подходящего под параметры запроса оператора

ВОЗМОЖНЫЕ ОШИБКИ:

ORDER_ALREADY_EXISTS - ордер уже создан

Webhooks

При получении SMS на номер, если у вас включен функционал Webhooks в настройках, мы отправим на указанные вами адреса информацию о SMS POST-запросом

ОТВЕТ:

Формат ответа будет следующим:

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

При отправке запроса мы будем ждать от вашего скрипта ответ с HTTP-статусом 200. Если ваш скрипт не ответит, мы будем отправлять запрос в течение 2 часов, но не более 8 раз.

Включить данный функционал Вы можете в настройках профиля

Заказ номера для нескольких сервисов
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getMultiServiceNumber&multiService=$service&multiForward=$forward&operator=$operator&ref=$ref&country=$country

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$service - сервис для заказа смотрите таблицу

$forward * - необходимо ли запросить номер с переадресацией

* необязательный параметр, символы переадресации указываются через запятую, количество цифр переадресации должно совпадать с количеством передаваемых сервисов в параметре $service. Допустимо передавать только 1 сервис с переадресацией, например "0,1,0,0" - корректно, "0,1,1,0" - некорректно. Принимает 0 (не выполнять , установлено по умолчанию), 1 (выполнять)

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

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

$ref - передать реферальный идентификатор. Подробнее

$country - страна номера смотрите таблицу

Получая номер через API Вы подтверждаете согласие с правилами проекта

ОТВЕТ:

NO_NUMBERS - нет номеров

NO_BALANCE - закончился баланс

{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}
, где (phone - id операции, activation - номер телефона, service - сервис)

ВОЗМОЖНЫЕ ОШИБКИ:

BAD_ACTION - некорректное действие

BAD_SERVICE - некорректное наименование сервиса

BAD_KEY - неверный API-ключ

ERROR_SQL - ошибка SQL-сервера

BANNED:'YYYY-m-d H-i-s' - время на которое аккаунт заблокирован

Изменение статуса активации
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=setStatus&status=$status&id=$id&forward=$forward

ПАРАМЕТРЫ:

$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 не является числом.

Получить состояние активации
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getStatus&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 - некорректное действие

Получить состояние активации Version 2
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getStatusV2&id=$id

ПАРАМЕТРЫ:

$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 - некорректное действие

Получить историю активаций
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getHistory&start=$start&end=$end&offset=$offset&limit=$limit

ПАРАМЕТРЫ:

$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 - некорректное действие

Получить топ 10 стран по сервису
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getListOfTopCountriesByService&service=$service

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$service - наименование сервиса

ОТВЕТ:

Формат ответа будет следующим:

[{
"country": 0,
"share": 50 - // (Покупки выбранного сервиса по стране в процентном отношении к общему количеству покупок у нас на сервисе),
"rate": 50 - // (% успешных активаций среди общего количества по стране)
}]

ВОЗМОЖНЫЕ ОШИБКИ:

ERROR_SQL - ошибка SQL-сервера

BAD_KEY - неверный API-ключ

WRONG_SERVICE - неверный сервис

BAD_ACTION - некорректное действие

Получить статус входящего звонка
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getIncomingCallStatus&activationId=$id

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$id - id активации

ОТВЕТ:

Ответ сервиса будет в json формате. Пример:

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

ВОЗМОЖНЫЕ СТАТУСЫ:

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

3 - успешно закрыта

4 - отменена

5 - возвращена

ВОЗМОЖНЫЕ ОШИБКИ:

BAD_KEY - неверный API-ключ

INVALID_ACTIVATION_ID - неверный id активации

Получить актуальные цены по странам
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getPrices&service=$service&country=$country

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$service - краткое наименование сервиса (необязательно, по умолчанию все сервисы) смотрите таблицу

$country - кодовое наименование страны (необязательно, по умолчанию все страны) смотрите таблицу

ОТВЕТ:

JSON - объект в формате
{"Страна":{"Сервис":{"cost":Стоимость,"count":Количество}}}

Получить актуальные цены по сервисам для верификации
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getPricesVerification&service=$service

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$service - краткое наименование сервиса (необязательно, по умолчанию все сервисы) смотрите таблицу

ОТВЕТ:

JSON - объект в формате
{"Сервис":{"Страна":{"count":Количество,"price":"Цена"}}}

Получить список всех стран
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getCountries

ПАРАМЕТРЫ:

$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- доступна.)

Получить список всех сервисов
https://api.sms-activate.org/stubs/handler_api.php?api_key=$api_key&action=getServicesList

ПАРАМЕТРЫ:

$api_key- ключ API

$country *- ID страны. Если передали страну, возвращаем сервисы, у которых есть цена по выбранной стране

$lang *- язык на котором передавать `name`. Возможные значения: 'ru','en','es','cn'. По умолчанию будет 'en'

* необязательный параметр

ОТВЕТ:

JSON - объект в формате { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }

Дополнительный сервис для номеров с переадресацией

Получив первую смс для номеров с переадресацией можно докупить другие смежные сервисы такие как Юла, Яндекс, Авито, Любой другой

Стоимость дополнительного сервиса составляет всего 5р

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

ПАРАМЕТРЫ:

$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 - ошибка базы данных, обратитесь в поддержку

Дополнительная активация номера

Если вы совершили успешную активацию на номере, то вы можете совершить её повторно.

Стоимость дополнительной активации определяется в зависимости от страны и сервиса. Конкретную стоимость можно получить по этому запросу.

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

ПАРАМЕТРЫ:

$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 - нет денег на счету

Получить цену за дополнительную активацию номера

Вы можете узнать доступность номера для совершения дополнительной активации и получить её стоимость

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

ПАРАМЕТРЫ:

$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 - сим-карта офлайн

Повторный парсинг голоса
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=parseCall&id=$id&newLang=$newLang

ПАРАМЕТРЫ:

$api_keyключ АПИ

$id - id активации

$newLang - новый язык парсинга смотрите таблицу

ОТВЕТ:

Формат ответа будет следующим:

{
"result": "OK"
}

STATUS_CANCEL - активация отменена

NO_CALL - не было звонка

PARSE_COUNT_EXCEED - лимит попыток парсинга (максимум 4)

ВОЗМОЖНЫЕ ОШИБКИ:

WRONG_ACTIVATION_ID - неверный id активации не существует

ERROR_SQL - ошибка SQL-сервера

BAD_KEY - неверный API-ключ

BAD_ACTION - некорректное действие

API АРЕНДЫ

Запросить доступные страны и сервисы
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getRentServicesAndCountries&rent_time=$time&operator=$operator&country=$country&incomingCall=$incomingCall

ПАРАМЕТРЫ:

$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 - закончились номера для этой страны

Заказ номера для Аренды
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getRentNumber&service=$service&rent_time=$time&operator=$operator&country=$country&url=$url&incomingCall=$incomingCall

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$service - сервис на который необходимо получить номер

$time * - время аренды в часах (по умолчанию: 4 часа). Следующий доступный временной период 12 часов, далее 24 часа. При запросе аренды на сутки и более, необходимо передавать: 24, 48, 72 и т.д.

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

$country * - страна (по умолчанию: Россия)

$url * - ссылка для webhook (по умолчанию не учитывается)

$incomingCall * - если передано "true", получить номер с возможностью приема звонка

Что такое webHook?

* необязательный параметр. Если не указано, то будет использован параметр по умолчанию.

ОТВЕТ:

Ответ сервиса будет в json формате. Пример:

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

ВОЗМОЖНЫЕ ОШИБКИ:

BAD_KEY - неверный API-ключ

Ответ в json формате:

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


Возможные ответы в поле "message":

BAD_SERVICE - сервис не указан или название неверно

NO_BALANCE - нет денег на счету

NO_NUMBERS - свободных номеров нет

ACCOUNT_INACTIVE - свободных номеров нет

SERVER_ERROR - ошибка сервера

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

Получить статус для Аренды
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getRentStatus&id=$id&page=$page&size=$size

ПАРАМЕТРЫ:

$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 - номер заблокирован, вам возвращены средства

Изменение статуса для Аренды
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=setRentStatus&id=$id&status=$status

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$id - ID аренды, полученный в ответе при заказе номера

$status - код для смены статуса (число)

Статус может быть принимать значения:

1
Финиш
2
Отмена

ОТВЕТ:

Ответ сервиса будет в 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 - ошибка сервера

Вывести список текущих активаций
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getRentList

👉Внимание! Данный метод отображает только последние 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 - ошибка сервера

Продлить аренду
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=continueRentNumber&id=$id&rent_time=$time

ПАРАМЕТРЫ:

$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 - превышено максимальное доступное время

info:

max - максимально доступное время

INVALID_PHONE - неверный ID аренды

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

NO_BALANCE - недостаточно средств

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

Получить стоимость продления аренды
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getContinueRentPriceNumber&id=$id&rent_time=$time

* данный метод доступен только для аренды с оператором 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 - превышено максимальное доступное время

info:

max - максимально доступное время

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

API JAVA

Начало работы

Включите библиотеку в maven

<dependecy><groupId>ru.sms-activate</groupId>
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependecy>

Пример оформления Вы можете посмотреть по ссылке на MavenRepository

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

import ru.sms_activate.SMSActivateApi

Для использования библиотеки Вам необходим API ключ, его можно получить на данной странице и по ссылке ниже.

SMS-Activate API-Key
Пример работы с балансом

Для получения текущего баланса на вашем аккаунте используйте метод getBalance. Если Вас интересует помимо баланса кэшбэк, то вызовите метод getBalanceAndCashBack.

Метод getBalanceAndCashBack возвращает объект класса SMSActivateGetBalanceAndCashBack.

getBalance: Получить текущий баланс на аккаунте

ПАРАМЕТРЫ:

ОТСУТСТВУЮТ

ВОЗВРАЩАЕМЫЙ ТИП:

BigDecimal

getBalanceAndCashBack: Получить сумму баланса и кэшбека, как полный баланс

ПАРАМЕТРЫ:

ОТСУТСТВУЮТ

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetBalanceAndCashBack

getNumber: Получить активацию

ПАРАМЕТРЫ:

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

service(String) - короткое имя сервиса.

forward*(boolean) -необходимо ли запросить номер с переадресацией.

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

phoneException*(Set) - исключающие префиксы только для России, набор чисел от 3 до 6 (7918,7900111).

* необязательное поле. Если не указано, то по умолчанию будет выдано количество в соответствии с настройкой в профиле.

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateActivation

getNumberStatus: Получить информацию о доступных сервисах

ПАРАМЕТРЫ:

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

operatorSet*(Set) - набор операторов, которые доступны у сервиса

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetNumbersStatus

getAdditionalService: Возвращает дополнительный сервис для номера с переадресацией.

ПАРАМЕТРЫ:

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

service(String) - короткое имя сервиса.

Вместо идентификатора активации можно передать полученный объект класса SMSActivateActivation после использования метода getNumber или одну из активаций после использования getMultiServiceNumber.

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetNumbersStatus

getMultiServiceNumber: Получить активацию для нескольких сервисов

ПАРАМЕТРЫ:

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

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

multiForwardList(List) - список сервисов с переадресацией

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

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetMultiServiceNumberResponse

getAllPrices: Получить полный список цен на активации

ПАРАМЕТРЫ:

ОТСУТСТВУЮТ

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetPriceInfo

getPricesByCountryIdAndServiceShortName: Получить список цен на активации по стране и сервису

ПАРАМЕТРЫ:

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

service(String) - короткое имя сервиса.

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetPriceInfo

getPricesAllServicesByCountryId: Получить список цен на активации по стране

ПАРАМЕТРЫ:

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

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetPriceInfo

getStatus: Получить статус активации

ПАРАМЕТРЫ:

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

Вместо идентификатора активации можно передать полученный объект класса SMSActivateActivation после использования метода getNumber или одну из активаций после использования getMultiServiceNumber.

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetStatusResponse

setStatus: Установить статус активации

ПАРАМЕТРЫ:

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

status(SMSActivateClientStatus) - статус, который нужно установить активации

Вместо идентификатора активации можно передать полученный объект класса SMSActivateActivation после использования метода getNumber или одну из активаций после использования getMultiServiceNumber.

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateSetStatusResponse

getCountries: Получить информацию о странах

ПАРАМЕТРЫ:

ОТСУТСТВУЮТ

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetCountriesResponse

getFullSms: Получить полный текст смс с номера

ПАРАМЕТРЫ:

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

Вместо идентификатора активации можно передать полученный объект класса SMSActivateActivation после использования метода getNumber или одну из активаций после использования getMultiServiceNumber.

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetFullSmsResponse

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

Получить номер используя метод 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-код и завершить активацию

getRentNumber: Получить номер с арендой

ПАРАМЕТРЫ:

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

service(String) - короткое имя сервиса.

hours(Integer)* - время аренды.

operator(String)* - имя мобильного оператора.

urlWebhook(String)* - ссылка для webhook (По умолчанию не учитывается)

Что такое webHook?

* необязательный параметр. Если не указано, то будет значение по умолчанию

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateRentActivation

GetRentServicesAndCountriesRun: Получить сервисы и страны для аренды

ПАРАМЕТРЫ:

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

operatorSet(Set) - набор сотовых операторов

hours(Integer)* - время аренды.

* необязательный параметр. Если не указано, то будет значение по умолчанию

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateGetRentServicesAndCountriesResponse

GetRentStatusJava: Получить статус для аренды

ПАРАМЕТРЫ:

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

Вместо rentId можно передать полученный объект класса SMSActivateRentActivation после использования метода getRentNumber

ВОЗВРАЩАЕМЫЙ ТИП:

SMSActivateRentStatus

API Почты

Описание статусов API

3 - Ожидание

4 - Отмена

5 - Успех

API Почты Version 2

ОПИСАНИЕ:

Более строгое следование принципам REST API и увеличенное количество почт gmail.com ящиков для регистрации аккаунтов Telegram.

Получить список предложений
https://api.sms-activate.guru/stubs/handler_api.php?action=getDomains&api_key=$api_key&site=$site

ПАРАМЕТРЫ:

$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 - некорректное действие

Купить верификацию по почте
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=buyMailActivation&site=$site&mail_type=$mail_type&mail_domain=$mail_domain

ПАРАМЕТРЫ:

$api_key - ключ API

$site - сайт для которого нужна почта

$mail_type - тип почты: популярные домены либо зоны (1 – zones 2 - popular)

$mail_domain - выбранная зона либо домен

ОТВЕТ:

Ответ сервиса будет в json формате. Пример:

{
                        "status":"OK",
                        "response":{"email":"[email protected]","id":241}
                        }

ВОЗМОЖНЫЕ ОШИБКИ:

BAD_KEY - неверный API-ключ

BAD_ACTION - некорректное действие

MAIL_TYPE_ERROR - нет такого домена для указанного сайта

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

Реактивация почты
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=reorderMailActivation&id=$id

ПАРАМЕТРЫ:

$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 - аккаунт заблокирован

Получить список активных покупок
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=getMailHistory&page=$page&per_page=$per_page&search=$search&sort=$sort

ПАРАМЕТРЫ:

$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
                        }
                        }
Отменить покупку почты
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=cancelMailActivation&id=$id

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$id - id покупки

ОТВЕТ:

Ответ сервиса будет в json формате. Пример:

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

ВОЗМОЖНЫЕ ОШИБКИ:

EARLY_CANCEL_DENIED - нельзя отменить почту первые 2 минуты.

Проверить, пришло ли письмо
https://api.sms-activate.guru/stubs/handler_api.php?api_key=$api_key&action=checkMailActivation&id=$id

ПАРАМЕТРЫ:

$api_key - ключ АПИ

$id - id купленной почты, возвращается после покупки почты

ОТВЕТ:

Ответ сервиса будет в json формате. Пример:

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

API Партнёрский софт

Купить партнерский софт
https://api.sms-activate.guru/stubs/handler_api.php?action=buyPartnerProduct&productId=$id&api_key=$api_key

ПАРАМЕТРЫ:

$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 на арендованном номере

{{ texts.verificationVoiceTextFirst }}

{{ texts.verificationVoiceTextSecond }}

{{ texts.verificationVoiceTextThird }}