Справочник API

API для разработчиков

Полная документация API для реализации SMS-верификации. Все ответы в формате JSON.

Примечание: Справочник для разработчиков и интеграторов. Каждый endpoint содержит описание, аутентификацию, примеры запросов и ответов.

Аутентификация

Все endpoint требуют Bearer-токен в заголовке Authorization.

Как получить API-ключ
  1. Войдите в аккаунт Proxnum и откройте страницу профиля
  2. Прокрутите до раздела «Управление API-ключами»
  3. Нажмите «Создать API-ключ»
  4. Скопируйте отображённый токен

Включайте API-токен в каждый запрос:

Authorization: Bearer YOUR_API_TOKEN_HERE
Accept: application/json
Content-Type: application/json

Быстрые ссылки:

Общий формат ответа

Ошибки используют нормализованную структуру с полем code. Все ошибки следуют этому шаблону:

{
  "success": false,
  "code": "no_numbers",
  "message": "No numbers available for the selected service and country"
}

Endpoints

GET /api/v1/resell/price?service=&country=

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

Параметры (query): service (string), country (int)

Пример запроса:

curl -s -X GET "https://proxnum.com/api/v1/resell/price?service=ig&country=6" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Успешный ответ:

{
  "country": "6",
  "service": "ig",
  "base_price": 0.0334,
  "sell_price": 0.1114892
}

GET /api/v1/prices

Полная ценовая информация по всем сервисам и странам. Возвращает базовые и реселлерские цены.

Параметры (query, необязательные):

  • service service (string) — фильтр по коду сервиса (например ig, wa, tg)
  • country country (int) — фильтр по коду страны

Пример запроса (все цены):

curl -s -X GET "https://proxnum.com/api/v1/prices" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Пример запроса (фильтр по стране):

curl -s -X GET "https://proxnum.com/api/v1/prices?country=6" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Успешный ответ (фильтр по стране):

{
  "success": true,
  "prices": {
    "6": {
      "ig": {
        "base_price": 0.0334,
        "sell_price": 0.1114892,
        "available": 245
      },
      "wa": {
        "base_price": 0.0389,
        "sell_price": 0.1298737,
        "available": 189
      },
      "tg": {
        "base_price": 0.0223,
        "sell_price": 0.0744551,
        "available": 521
      },
      "go": {
        "base_price": 0.0278,
        "sell_price": 0.0928206,
        "available": 312
      }
    }
  }
}

Примечание: Ответ — вложенный объект: первый уровень — коды стран, второй — коды сервисов. Каждый сервис содержит base_price, sell_price и available (или null).


POST /api/v1/resell/virtual/buy

Купить временный (виртуальный) номер. Попытка выделить номер и списать средства.

Тело (JSON): {"service":"ig","country":6}

Пример запроса:

curl -s -X POST "https://proxnum.com/api/v1/resell/virtual/buy" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"service":"ig","country":6}'

Успешный ответ (нормализованный):

{
  "success": true,
  "activation": {
    "id": 737,
    "phone": "62895406203932",
    "activation_id": "4390520873",
    "msg": "Waiting Sms",
    "date_created": "2025-11-08 21:50:34",
    "amount_paid": 0.111489,
    "status": 1
  }
}

Частые коды ошибок:

{
  "success": false,
  "code": "no_numbers",
  "message": "No numbers available for this service in the selected country"
}

{
  "success": false,
  "code": "insufficient_balance",
  "message": "Not enough balance to place the order"
}

GET /api/v1/resell/virtual/{id}/status

Проверить статус активации. {id} — строка activation id из покупки.

Пример запроса:

curl -s -X GET "https://proxnum.com/api/v1/resell/virtual/4390520873/status" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Успех (когда код доступен):

{
  "success": true,
  "status": "completed",
  "code": "1234",
  "activation": { "id": 737, "phone": "628...", "activation_id": "4390520873" }
}

POST /api/v1/resell/virtual/resend

Запросить повтор/реактивацию. Передайте activation id в теле запроса.

Тело: {"activation_id":"4390520873"}

curl -s -X POST "https://proxnum.com/api/v1/resell/virtual/resend" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"activation_id":"4390520873"}'

Ответ (принято):

{
  "success": true,
  "message": "Resend requested; new activation created",
  "activation": { "id": 738, "activation_id": "4390520874", "phone": "628..." }
}

POST /api/v1/resell/virtual/cancel

Запросить отмену и возврат. Сервер проверяет возможность возврата.

Тело: {"activation_id":"4390520873"}

curl -s -X POST "https://proxnum.com/api/v1/resell/virtual/cancel" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"activation_id":"4390520873"}'

Принято:

{
  "success": true,
  "code": "cancel_accepted",
  "message": "Cancellation accepted, refund processed"
}

Отклонено:

{
  "success": false,
  "code": "cancel_rejected",
  "message": "Cancellation rejected — activation already completed or not refundable"
}

GET /api/v1/resell/activations

Список активаций пользователя (с пагинацией). Поддерживает page и per_page.

curl -s -X GET "https://proxnum.com/api/v1/resell/activations?page=1&per_page=25" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Примечания по реализации

  • Операции списания идемпотентны по заказу; проверяйте поля order или transaction.
  • Используйте endpoint price для пробного расчёта перед оплатой.
  • Коды ошибок: no_numbers, insufficient_balance, service_unavailable, cancel_rejected.
Лучшие практики:
  • Обрабатывайте успешные и ошибочные ответы
  • Реализуйте обработку сетевых таймаутов
  • Кэшируйте списки стран и сервисов
  • Используйте webhooks для обновлений в реальном времени

chat us