{
  "info": {
    "name": "SMScash API",
    "description": "SMScash API: укажите личный api_key. Выдача и отмена номера меняют данные. Используйте одинаковый Idempotency-Key для повторов одной операции. Для новой выдачи меняйте request_key; при повторе того же запроса сохраняйте его.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "version": "0.23.0"
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://smscash.org"
    },
    {
      "key": "api_key",
      "value": "YOUR_API_KEY"
    },
    {
      "key": "session_id",
      "value": "42"
    },
    {
      "key": "phone",
      "value": "380670000000"
    },
    {
      "key": "request_key",
      "value": "replace-for-each-new-operation"
    },
    {
      "key": "operator",
      "value": "1",
      "type": "string",
      "description": "Public provider ID from operators/getOperators or the operator field in tariffs/catalog. Operator 1 uses operator=1. Accepts an integer or its decimal string. Omit operator or use any/0 for automatic selection; an explicit ID selects only that provider. Country operator record IDs and provider names are not selectors."
    },
    {
      "key": "user_public_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "service",
      "value": "go"
    },
    {
      "key": "country",
      "value": "86"
    },
    {
      "key": "session_ids",
      "value": "42,43"
    },
    {
      "key": "sms_cursor",
      "value": "0"
    }
  ],
  "item": [
    {
      "name": "getNumber — Получить номер",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Idempotency-Key",
            "value": "{{request_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=go&country=86&with_operator=1&operator={{operator}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getNumber"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "service",
              "value": "go"
            },
            {
              "key": "country",
              "value": "86"
            },
            {
              "key": "with_operator",
              "value": "1"
            },
            {
              "key": "operator",
              "value": "{{operator}}",
              "description": "Public provider ID from operators/getOperators or the operator field in tariffs/catalog. Operator 1 uses operator=1. Accepts an integer or its decimal string. Omit operator or use any/0 for automatic selection; an explicit ID selects only that provider. Country operator record IDs and provider names are not selectors."
            }
          ]
        },
        "description": "Создаёт сессию и закрепляет свободный номер за пользователем. Тариф и получатели реферальных долей фиксируются при выдаче, а вознаграждение начисляется после получения SMS с кодом.\n\nПередавайте Idempotency-Key: одинаковый запрос с тем же ключом возвращает прежнюю сессию. Изменение параметров вызывает IDEMPOTENCY_CONFLICT.\nЧисловая страна без пула даёт EMPTY_POOL; ошибочный формат country — BAD_COUNTRY.\nЧастота запросов и количество номеров не ограничены. Суточных и часовых квот нет."
      }
    },
    {
      "name": "getNumbersStatus — Проверить наличие",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getNumbersStatus&api_key={{api_key}}&country=86",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getNumbersStatus"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "country",
              "value": "86"
            }
          ]
        },
        "description": "Количество доступных номеров по сервисам и стране.\n\nСуффикс _0 означает выбор без конкретного оператора."
      }
    },
    {
      "name": "getStatus — Получить последний код",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id={{session_id}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getStatus"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "id",
              "value": "{{session_id}}"
            }
          ]
        },
        "description": "Лёгкий запрос состояния сессии и последнего SMS-кода. Начальные нули в коде сохраняются.\n\nОпрашивайте раз в 20 секунд. Повторное чтение не начисляет деньги.\nПосле retry старый код не возвращается: getStatus ждёт следующее SMS."
      }
    },
    {
      "name": "setStatus — Управлять сессией",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Idempotency-Key",
            "value": "{{request_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id={{session_id}}&status=3",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "setStatus"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "id",
              "value": "{{session_id}}"
            },
            {
              "key": "status",
              "value": "3"
            }
          ]
        },
        "description": "Завершает, отменяет или возобновляет ожидание SMS. Срок сессии остаётся прежним.\n\nRetry ждёт следующий код в пределах исходных 20 минут. Время выдачи и истечения не меняется.\nДля status=3 используйте Idempotency-Key: повтор запроса не сбросит уже полученный новый код. История SMS остаётся доступна.\nОтмена не списывает уже заработанные средства."
      }
    },
    {
      "name": "getRepeatNumber — Выдать прежний номер снова",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Idempotency-Key",
            "value": "{{request_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getRepeatNumber&api_key={{api_key}}&number={{phone}}&service=go",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getRepeatNumber"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "number",
              "value": "{{phone}}"
            },
            {
              "key": "service",
              "value": "go"
            }
          ]
        },
        "description": "Открывает новую сессию с конкретным номером из вашей истории. Можно выбрать другой доступный сервис той же страны.\n\nСначала завершите или отмените текущую сессию. При занятом номере повторная выдача не выполняется.\nНовая сессия получает новый ID и текущий тариф. Старые SMS в неё не копируются. ref задаётся заново.\nSMScash разрешает повтор только номеров из истории этого аккаунта. Страна определяется по номеру."
      }
    },
    {
      "name": "getSmsFull — Получить SMS в JSON",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getSmsFull&api_key={{api_key}}&id={{session_id}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getSmsFull"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "id",
              "value": "{{session_id}}"
            }
          ]
        },
        "description": "Структурированная история всех сообщений с ID, отправителем, кодом, текстом и данными страны, сервиса и поставщика.\n\nПредпочтительный формат для интеграции. Запоминайте sms[].id, чтобы обрабатывать только новые сообщения.\nЧисловой status SMScash: 1 — активна, 6 — завершена, 8 — отменена или истекла. status_name различает waiting, received, finished, canceled, expired.\nИстория доступна и после закрытия сессии. Для большого потока используйте REST /activations/{id}/sms с after_id."
      }
    },
    {
      "name": "getSms — Получить SMS текстовой строкой",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getSms&api_key={{api_key}}&id={{session_id}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getSms"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "id",
              "value": "{{session_id}}"
            }
          ]
        },
        "description": "Возвращает всю историю SMS в строковом формате для существующих клиентов.\n\nФормат сообщения: время|код|текст. Несколько сообщений разделяются двоеточием.\nТекст SMS сам может содержать двоеточия и вертикальные черты. Для надёжного разбора используйте getSmsFull."
      }
    },
    {
      "name": "getServices — Сервисы",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getServices&api_key={{api_key}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getServices"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            }
          ]
        },
        "description": "Доступные коды сервисов. Ответ ограничен областью API-ключа.\n\nСправочник сервисов общий для поставщика. Наличие номеров проверяется отдельно."
      }
    },
    {
      "name": "getCountries — Страны",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getCountries&api_key={{api_key}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getCountries"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            }
          ]
        },
        "description": "ID, название и телефонный префикс стран выбранного канала.\n\n"
      }
    },
    {
      "name": "getOperators — Операторы",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getOperators&api_key={{api_key}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getOperators"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "country",
              "value": "{{country}}",
              "disabled": true
            },
            {
              "key": "operator",
              "value": "{{operator}}",
              "disabled": true
            }
          ]
        },
        "description": "Доступные операторы: ID для API, название и срок холда.\n\nВозьмите ID из operators/getOperators (API)."
      }
    },
    {
      "name": "getRewards — Вознаграждение за SMS",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getRewards&api_key={{api_key}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getRewards"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            },
            {
              "key": "country",
              "value": "{{country}}",
              "disabled": true
            },
            {
              "key": "service",
              "value": "{{service}}",
              "disabled": true
            },
            {
              "key": "operator",
              "value": "{{operator}}",
              "disabled": true
            }
          ]
        },
        "description": "getRewards (SMScash): country ID → service code → public provider ID → reward. Rewards are exact USD decimal strings with 8 places. country, service and operator are optional filters; omit operator or use any/0 to include every permitted provider. The IDs match operator in catalog/tariffs and getOperators, not upstream channel IDs. Current enabled tariffs, account permissions and API key scopes apply. Empty selection returns {}. No stock check, allocation or financial operation is performed."
      }
    },
    {
      "name": "getBalance — Баланс пользователя",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getBalance&api_key={{api_key}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getBalance"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            }
          ]
        },
        "description": "getBalance возвращает доступный баланс в USD. Выдача номеров и выплаты временно недоступны."
      }
    },
    {
      "name": "getHoldBalance — В холде",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/stubs/handler_api.php?action=getHoldBalance&api_key={{api_key}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "stubs",
            "handler_api.php"
          ],
          "query": [
            {
              "key": "action",
              "value": "getHoldBalance"
            },
            {
              "key": "api_key",
              "value": "{{api_key}}"
            }
          ]
        },
        "description": "getBalance возвращает доступный баланс в USD. Выдача номеров и выплаты временно недоступны."
      }
    },
    {
      "name": "REST — Общая статистика",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/v1/statistics",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "statistics"
          ]
        },
        "description": "Общие агрегированные счётчики полученных кодов по оператору, стране и сервису за 30 дней, 7 дней, 24 часа и 1 час. Учитывается область доступа API-ключа."
      }
    },
    {
      "name": "REST — Холд начислений",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          }
        ],
        "url": "{{base_url}}/api/v1/earnings/holds",
        "description": "Only your earnings. Dates and daily groups use UTC; held earnings do not increase getBalance."
      }
    },
    {
      "name": "REST — Каталог с поиском",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/v1/catalog?service={{service}}&country={{country}}&q=&page=1&page_size=100",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "catalog"
          ],
          "query": [
            {
              "key": "service",
              "value": "{{service}}"
            },
            {
              "key": "country",
              "value": "{{country}}"
            },
            {
              "key": "q",
              "value": ""
            },
            {
              "key": "page",
              "value": "1"
            },
            {
              "key": "page_size",
              "value": "100"
            }
          ]
        },
        "description": "Разрешённые связки сервиса и страны с точным вознаграждением. Наличие проверяется при выдаче."
      }
    },
    {
      "name": "REST — Получить номер: сервис и страна",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "{{request_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/v1/activations",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "activations"
          ]
        },
        "description": "Идемпотентная выдача без поиска offer_id. Для новой операции измените request_key; для повтора сохраните ключ и параметры.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"service\": \"{{service}}\",\n  \"country\": {{country}},\n  \"operator\": {{operator}}\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "REST — Новые SMS",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/v1/activations/{{session_id}}/sms?after_id={{sms_cursor}}&limit=100",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "activations",
            "{{session_id}}",
            "sms"
          ],
          "query": [
            {
              "key": "after_id",
              "value": "{{sms_cursor}}"
            },
            {
              "key": "limit",
              "value": "100"
            }
          ]
        },
        "description": "Сохраняйте next_cursor. Код остаётся строкой, включая начальные нули."
      }
    },
    {
      "name": "REST — Проверить несколько номеров",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/v1/activations/batch?ids={{session_ids}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "activations",
            "batch"
          ],
          "query": [
            {
              "key": "ids",
              "value": "{{session_ids}}"
            }
          ]
        },
        "description": "До 100 собственных сессий, один снимок. Опрос раз в 20 секунд, без обращений к поставщику."
      }
    },
    {
      "name": "REST — Баланс",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/v1/summary",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "summary"
          ]
        },
        "description": "Собственный доступный баланс и холд; суммы *_minor — единицы 10^-8 USD."
      }
    },
    {
      "name": "SMS-Activate compatibility",
      "item": [
        {
          "name": "getBalance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=getBalance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getBalance"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getServicesList",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=getServicesList&country={{country}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getServicesList"
                },
                {
                  "key": "country",
                  "value": "{{country}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getCountries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=getCountries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getCountries"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getPrices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=getPrices&service={{service}}&country={{country}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getPrices"
                },
                {
                  "key": "service",
                  "value": "{{service}}"
                },
                {
                  "key": "country",
                  "value": "{{country}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getNumberV2",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Idempotency-Key",
                "value": "{{request_key}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=getNumberV2&service={{service}}&country={{country}}&operator={{operator}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getNumberV2"
                },
                {
                  "key": "service",
                  "value": "{{service}}"
                },
                {
                  "key": "country",
                  "value": "{{country}}"
                },
                {
                  "key": "operator",
                  "value": "{{operator}}",
                  "description": "Public provider ID from operators/getOperators or the operator field in tariffs/catalog. Operator 1 uses operator=1. Accepts an integer or its decimal string. Omit operator or use any/0 for automatic selection; an explicit ID selects only that provider. Country operator record IDs and provider names are not selectors."
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getStatusV2",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=getStatusV2&id={{session_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getStatusV2"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "setStatus 1",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=setStatus&id={{session_id}}&status=1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "setStatus"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                },
                {
                  "key": "status",
                  "value": "1"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "setStatus 3",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Idempotency-Key",
                "value": "{{request_key}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=setStatus&id={{session_id}}&status=3",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "setStatus"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                },
                {
                  "key": "status",
                  "value": "3"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "finishActivation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=finishActivation&id={{session_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "finishActivation"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "cancelActivation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=cancelActivation&id={{session_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "cancelActivation"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getActiveActivations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=getActiveActivations&start=0&limit=100",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getActiveActivations"
                },
                {
                  "key": "start",
                  "value": "0"
                },
                {
                  "key": "limit",
                  "value": "100"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getHoldBalance (SMScash)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?api_key={{api_key}}&action=getHoldBalance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getHoldBalance"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getRewards",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?action=getRewards&api_key={{api_key}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "action",
                  "value": "getRewards"
                },
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "country",
                  "value": "{{country}}",
                  "disabled": true
                },
                {
                  "key": "service",
                  "value": "{{service}}",
                  "disabled": true
                },
                {
                  "key": "operator",
                  "value": "{{operator}}",
                  "disabled": true
                }
              ]
            },
            "description": "getRewards (SMScash): country ID → service code → public provider ID → reward. Rewards are exact USD decimal strings with 8 places. country, service and operator are optional filters; omit operator or use any/0 to include every permitted provider. The IDs match operator in catalog/tariffs and getOperators, not upstream channel IDs. Current enabled tariffs, account permissions and API key scopes apply. Empty selection returns {}. No stock check, allocation or financial operation is performed."
          }
        },
        {
          "name": "getOperators",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/sms-activate/stubs/handler_api.php?action=getOperators&api_key={{api_key}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "sms-activate",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "action",
                  "value": "getOperators"
                },
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "country",
                  "value": "{{country}}",
                  "disabled": true
                },
                {
                  "key": "operator",
                  "value": "{{operator}}",
                  "disabled": true
                }
              ]
            },
            "description": "Доступные операторы: ID для API, название и срок холда.\n\nВозьмите ID из operators/getOperators (API)."
          }
        }
      ]
    },
    {
      "name": "HeroSMS compatibility",
      "item": [
        {
          "name": "getBalance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=getBalance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getBalance"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getServicesList",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=getServicesList&country={{country}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getServicesList"
                },
                {
                  "key": "country",
                  "value": "{{country}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getCountries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=getCountries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getCountries"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getPrices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=getPrices&service={{service}}&country={{country}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getPrices"
                },
                {
                  "key": "service",
                  "value": "{{service}}"
                },
                {
                  "key": "country",
                  "value": "{{country}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getNumberV2",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Idempotency-Key",
                "value": "{{request_key}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=getNumberV2&service={{service}}&country={{country}}&operator={{operator}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getNumberV2"
                },
                {
                  "key": "service",
                  "value": "{{service}}"
                },
                {
                  "key": "country",
                  "value": "{{country}}"
                },
                {
                  "key": "operator",
                  "value": "{{operator}}",
                  "description": "Public provider ID from operators/getOperators or the operator field in tariffs/catalog. Operator 1 uses operator=1. Accepts an integer or its decimal string. Omit operator or use any/0 for automatic selection; an explicit ID selects only that provider. Country operator record IDs and provider names are not selectors."
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getStatusV2",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=getStatusV2&id={{session_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getStatusV2"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "setStatus 1",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=setStatus&id={{session_id}}&status=1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "setStatus"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                },
                {
                  "key": "status",
                  "value": "1"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "setStatus 3",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Idempotency-Key",
                "value": "{{request_key}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=setStatus&id={{session_id}}&status=3",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "setStatus"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                },
                {
                  "key": "status",
                  "value": "3"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "finishActivation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=finishActivation&id={{session_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "finishActivation"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "cancelActivation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=cancelActivation&id={{session_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "cancelActivation"
                },
                {
                  "key": "id",
                  "value": "{{session_id}}"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getActiveActivations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=getActiveActivations&start=0&limit=100",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getActiveActivations"
                },
                {
                  "key": "start",
                  "value": "0"
                },
                {
                  "key": "limit",
                  "value": "100"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getHoldBalance (SMScash)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?api_key={{api_key}}&action=getHoldBalance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "action",
                  "value": "getHoldBalance"
                }
              ]
            },
            "description": "Ключ SMScash; выдача 0 USD, reward — вознаграждение за SMS. Для сетевого повтора сохраняйте прежний request_key и параметры."
          }
        },
        {
          "name": "getRewards",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?action=getRewards&api_key={{api_key}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "action",
                  "value": "getRewards"
                },
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "country",
                  "value": "{{country}}",
                  "disabled": true
                },
                {
                  "key": "service",
                  "value": "{{service}}",
                  "disabled": true
                },
                {
                  "key": "operator",
                  "value": "{{operator}}",
                  "disabled": true
                }
              ]
            },
            "description": "getRewards (SMScash): country ID → service code → public provider ID → reward. Rewards are exact USD decimal strings with 8 places. country, service and operator are optional filters; omit operator or use any/0 to include every permitted provider. The IDs match operator in catalog/tariffs and getOperators, not upstream channel IDs. Current enabled tariffs, account permissions and API key scopes apply. Empty selection returns {}. No stock check, allocation or financial operation is performed."
          }
        },
        {
          "name": "getOperators",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/hero-sms/stubs/handler_api.php?action=getOperators&api_key={{api_key}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "hero-sms",
                "stubs",
                "handler_api.php"
              ],
              "query": [
                {
                  "key": "action",
                  "value": "getOperators"
                },
                {
                  "key": "api_key",
                  "value": "{{api_key}}"
                },
                {
                  "key": "country",
                  "value": "{{country}}",
                  "disabled": true
                },
                {
                  "key": "operator",
                  "value": "{{operator}}",
                  "disabled": true
                }
              ]
            },
            "description": "Доступные операторы: ID для API, название и срок холда.\n\nВозьмите ID из operators/getOperators (API)."
          }
        }
      ]
    },
    {
      "name": "REST — Доступный баланс и холд",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/v1/balance",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "balance"
          ]
        },
        "description": "Собственный доступный баланс и холд; суммы *_minor — единицы 10^-8 USD."
      }
    },
    {
      "name": "REST — Получить номер: автоматический оператор",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "{{request_key}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"service\": \"{{service}}\",\n  \"country\": 86\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/api/v1/activations",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "v1",
            "activations"
          ]
        },
        "description": "Omit operator and operator (or use operator=any/0) for automatic routing for this service and country: most received codes in the last hour, then last 24 hours, then the higher SMS reward. EMPTY_POOL/NO_NUMBERS without a reservation tries the next permitted, configured provider under the same Idempotency-Key. An explicit operator or operator remains strict; a repeat number keeps its original provider. Timeouts, unknown outcomes and other errors do not trigger another allocation."
      }
    }
  ]
}
