VirtualSim API
Базовый адрес, ключ и лимиты
Все операции вызываются через один путь. Тип операции задаётся параметром action.
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| action | string | да | Имя операции: getBalance, getNumber, getStatus и т.д. |
| api_key | string | да* | Ваш ключ из профиля. Можно передать в query или в заголовке Authorization: Bearer YOUR_API_KEY. |
При неверном ключе вернётся BAD_KEY с HTTP 401. При неизвестном action — BAD_ACTION. Лимит: 2 запроса в секунду на API-ключ.
Поддерживаемые операции
| action | Метод | Ответ | Назначение |
|---|---|---|---|
getBalance | GET | text | Текущий баланс: ACCESS_BALANCE:<amount> |
getNumber | GET | text | Заказать номер: ACCESS_NUMBER:<id>:<number> |
getNumberV2 | GET | JSON | Заказать номер и получить расширенные поля |
setStatus | GET | text / JSON | Повтор SMS, завершение или отмена активации |
getStatus | GET | text | Статус активации: STATUS_WAIT_CODE, STATUS_OK:<code> |
getStatusV2 | GET | JSON | Структурированный статус и SMS |
getActiveActivations | GET | JSON | Список активных заказов |
getHistory | GET | JSON | История активаций |
reactivationPrice | GET | JSON | Цена повторной активации |
reactivate | POST | JSON | Повторная активация номера, если доступна |
getCountries | GET | JSON | Список стран |
getServicesList | GET | JSON | Список сервисов |
getOperators | GET | JSON | Список доступных операторов. В VirtualSim используйте any. |
getPrices | GET | JSON | Цены и количество номеров по странам/сервисам |
getTopCountriesByService | GET | JSON | Топ стран по сервису из текущего каталога |
getTopCountriesByServiceRank | GET | JSON | То же, совместимый alias |
getAllSms | GET | JSON | Все SMS по конкретной активации |
finishActivation | GET | 204 | Завершить активацию |
cancelActivation | GET | 204 | Отменить активацию, если по правилам ещё возможно |
GET Request account balance
Response 200
GET Request a number
Покупает номер для указанного сервиса и страны. Средства списываются с баланса.
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| service | string | да | Код сервиса из getServicesList, например tg. |
| country | number | да | ID страны из getCountries. |
| operator | string | нет | Можно передать any. Если указан конкретный оператор, он будет передан поставщику, если тот поддерживает. |
| maxPrice | number | нет | Максимальная цена покупки. |
| fixedPrice | string | нет | Строго покупать по maxPrice, если поддерживается поставщиком. |
| ref | string | нет | Реферальная метка. |
Response 200
Typical errors
GET Request number V2
То же, что getNumber, но ответ — JSON.
GET Change activation status
| status | Значение | Response |
|---|---|---|
3 | Запросить повторную SMS | ACCESS_RETRY_GET или ответ поставщика |
6 | Завершить активацию | ACCESS_ACTIVATION |
8 | Отменить активацию и вернуть средства, если возможно | ACCESS_CANCEL |
GET Get activation status
Response examples
V2 JSON
Active activations and history
GET getActiveActivations
GET getHistory
Параметры start, end, offset, size необязательны.
GET Request list of countries
GET Request a list of services
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| country | number | нет | Если передан, вернёт сервисы конкретной страны. |
| lang | string | нет | Совместимый параметр |
GET Get current prices
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| service | string | нет | Код сервиса. |
| country | number | нет | ID страны. Если не передан, вернутся все страны. |
Operators and top countries
GET getOperators
GET getTopCountriesByService
Также поддерживается alias getTopCountriesByServiceRank.
SMS and activation closing
GET getAllSms
GET finishActivation / cancelActivation
При успехе ответ 204 No Content. Если отмена уже невозможна, вернётся JSON с ошибкой.
Reactivation
GET reactivationPrice
POST reactivate
Повторная активация доступна не для каждого заказа. Если поставщик не поддерживает повтор, вернётся ошибка.
Webhooks
Webhook уведомляет ваш сервер, когда по активации пришла SMS. URL вебхука задаётся в профиле VirtualSim. Метод: POST, Content-Type: application/json. Ваш сервер должен быстро ответить HTTP 200.