Справочник
История изменений
Ломающие и заметные изменения в API v3. Мы следуем semver (откроется в новой вкладке) — аддитивные изменения (новые необязательные параметры, новые действия, новые поля в ответах) выходят в рамках мажорной версии; ломающие изменения идут в новую мажорную.
- Последняя
v3.2: Новая система заказов: один список ошибок, более простая постепенная подача, понятнее отмена и восполнение
Всё ниже выходит вместе под заголовком
X-NotPanel-API-Version: 2026-10. Каждое прежнее действие продолжает работать, а адреса /api/v1, /api/v2 и /api/v3 работают одинаково.- У каждого заказа один номер, который действует в панели, в поддержке и в API. Заказы через API сохраняют прежние номера.
- Постепенная подача:
runsсintervalпо-прежнему работает. Новая простая форма принимает общееquantityиdrip_feed_total_minutes, до 48 ч. - Отмена мгновенная с полным возвратом в течение первых 15 с. Позже можно запросить отмену там, где услуга это поддерживает, с автоматическим возвратом.
orderвозвращает один объект, как и раньше;ordersвозвращает массив. - Восполнение работает раз в 6 ч на заказ, без конечной даты и с понятной причиной в случае отказа.
- Реакции Telegram — одно поле
reactions: либо смесь (👍,❤️,🔥), либо точное количество (👍:60,❤️:40), проверяемое до списания средств. - Список услуг показывает теги, дополнительные поля с ограничениями, ограничения постепенной подачи и доступность.
cancel: trueтеперь означает, что запросы на отмену действительно работают. - У каждой ошибки есть фиксированный код, HTTP-статус и признак retryable. Прежние и текущие коды перечислены ниже.
- Новое действие
order_details, которое также может найти заказ по вашемуrequest_id. statusсразу показывает возврат: для отменённого или частичного заказаrefund— это сумма возврата, отдельный вызов не нужен.refund_quote— прежнее имя, которое возвращает тот же ответ, что иstatus.- Вебхуки теперь единая система: одно подписанное событие на вызов, с версией, с новыми событиями для отменённых и частичных заказов и для результатов восполнения.
- Удалено: пакетные тела вебхуков, параметр
coupon, а в status — поляrefund_pendingи два поля политики возврата. Прежний параметрdelayбольше не читается; используйтеdrip_feed_total_minutes. - Добавлено:
can_cancelв status иinstant_cancel_untilв ответеadd. Прежнее полеcancel_availableосталось в обоих, аcancel_window_secondsиcancel_beforeостались в ответеadd. - Сохранено: действия
catalogиaccount_statusработают как прежде, аcatalogтеперь описано в разделе «Список услуг». Прежние имена параметров по-прежнему работают:referer,lpost_count,hashtagдля списков хештегов,usernamesчерез запятую и прежняя карта реакций.webhook.addтакже принимает имена событийorder.refundedиorder.refill_completed. /api/v1,/api/v2и/api/v3продолжают работать и ведут себя одинаково. Документирован/api/v3.- У выполненного заказа
remainsвсегда равен 0.
v3.1: Названия услуг, привычные для рынка
Действия services и catalog теперь принимают необязательный код языка для названий, локализованных с использованием отобранной рыночной терминологии на десяти языках. Явные запросы добавляют метаданные канонического имени и фактического языка и безопасно возвращаются к английскому, если перевод отсутствует или устарел. Без language старая английская структура не меняется. Администраторы могут проверить или уточнить отдельные названия.
v3.0: v3 становится API по умолчанию
/api/v3 стал канонической точкой и прямой заменой базового URL для знакомого reseller-контракта. v3 добавляет необязательные точные ключи, 60-секундную защиту старых клиентов, расширенный каталог, числовые ID, refund_quote, account_status, одиночную или последовательную пакетную отмену и подписанные webhooks. Пропускная способность API теперь зависит от lifetime successful spend и использует одно 60-секундное скользящее окно, общее для всех ключей аккаунта. /api/v1 и /api/v2 — точные псевдонимы текущего контракта.
v2.5: Расширенный каталог, сверка возврата и отмена
Добавлены постраничное действие catalog и действие refund_quote только для чтения, расширены метаданные add и status и введено окно отмены в 15 секунд для обычных заказов через API. События вебхуков API теперь содержат стабильный id события, а deliveryId остается неизменным при повторных попытках доставки того же пакета; каждая попытка получает новую временную метку и подпись. Доставка вебхуков по-прежнему выполняется по мере возможности с повторами, без долговременной гарантии доставки хотя бы один раз.
v2.4: 12 новых медиаплатформ в каталоге
Добавлены услуги для Google, Rumble, Audiomack, Tumblr, Kwai, Clubhouse, Vimeo, Deezer, Tidal, Apple Music, Quora и GitHub. Они появляются в действии services, как любая другая услуга, и у каждой есть отдельная публичная страница платформы. Изменений на стороне клиента не требуется — новые ID услуг просто появляются в каталоге.
v2.3: Доступность услуги проверяется при добавлении
Недоступные услуги отклоняют action=add вместо молчаливого принятия или постановки нового заказа в очередь. Обновите каталог и выберите доступную услугу перед повтором.
v2.2: Необязательные параметры заказа
Действие add теперь принимает поддерживаемые необязательные поля конкретного типа услуги, например задержку старта и параметры взаимодействия для типа. Поля, уже определённые типом услуги, сохраняют документированное значение.
v2.1: Параметры drip-feed при размещении заказа
Действие add принимает runs и interval вместе для услуг с dripfeed=true. Общая доставка равна quantity × runs и не может превышать максимум услуги. Услуги без drip-feed отклоняют эти поля.
v2.0: Публичный запуск API v2
Запущен API действий v2 с form-encoded запросами, контролем частоты, подписанными best-effort вебхуками с повторами и идемпотентным размещением заказов. Текущие URL v1 и v2 являются псевдонимами контракта v3 и используют документированный общий лимит аккаунта.
Переход с прежних версий
Коды ошибок и названия событий вебхуков изменились. Воспользуйтесь этими списками один раз при обновлении кода.
Коды ошибок
В прежних ответах использовались коды слева. Версия 3.2 использует закрытый список, показанный в разделе «Ошибки». Последний столбец показывает соответствие.
| Было | Стало | Что изменилось |
|---|---|---|
| INVALID_ACTION | INVALID_ACTION | Тот же код. |
| MISSING_SERVICE, MISSING_LINK, MISSING_QUANTITY, MISSING_ORDER, MISSING_ORDER_PARAMETER, MISSING_REFILL, MISSING_WEBHOOK_URL, MISSING_WEBHOOK_ID, NO_ORDER_IDS, NO_REFILL_IDS, NO_WEBHOOK_EVENTS, MISSING_CUSTOM_FIELD | MISSING_PARAMETER | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| INVALID_SERVICE_ID, INVALID_QUANTITY, LINK_TOO_LONG, IDEMPOTENCY_EMPTY, IDEMPOTENCY_EMPTY_REQUEST, IDEMPOTENCY_TOO_LONG, IDEMPOTENCY_TOO_LONG_REQUEST, INVALID_LANGUAGE, INVALID_WEBHOOK_EVENT | INVALID_PARAMETER | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| INVALID_LINK_URL | INVALID_LINK, LINK_BLOCKED | Один прежний код стал несколькими, каждый более конкретный. |
| INVALID_CUSTOM_FIELD | INVALID_OPTION | Тот же код. |
| RUNS_INVALID, RUNS_TOO_HIGH, INTERVAL_INVALID, INTERVAL_TOO_HIGH | DRIP_FEED_INVALID | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| REQUEST_ID_CONFLICT | REQUEST_ID_CONFLICT | Тот же код. |
| SERVICE_NOT_FOUND, ADD_SERVICE_NOT_FOUND, WRONG_SERVICE_TYPE | SERVICE_NOT_FOUND | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| SERVICE_NOT_ACTIVE | SERVICE_PAUSED | Тот же код. |
| SERVICE_DISCONTINUED, REFILL_SERVICE_DISCONTINUED | SERVICE_DISCONTINUED | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| INSUFFICIENT_BALANCE | INSUFFICIENT_BALANCE | Тот же код. |
| ORDER_NOT_FOUND, STATUS_ORDER_NOT_FOUND, REFUND_ORDER_NOT_FOUND, REFILL_ORDER_NOT_FOUND | ORDER_NOT_FOUND | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| ORDER_ALREADY_COMPLETED, ORDER_ALREADY_REFUNDED | ORDER_FINISHED | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| ORDER_NOT_CANCELLABLE | CANCEL_NOT_AVAILABLE, ORDER_FINISHED | Один прежний код стал несколькими, каждый более конкретный. |
| TOO_MANY_ORDERS, TOO_MANY_REFILLS | TOO_MANY_IDS | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| INACTIVE_ACCOUNT, ACCOUNT_NOT_FOUND, ACCOUNT_ERROR | INACTIVE_ACCOUNT, EMAIL_UNVERIFIED | Один прежний код стал несколькими, каждый более конкретный. |
| API_RATE_LIMITED, IP_RATE_LIMITED, CANCEL_RATE_LIMITED | API_RATE_LIMITED | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| REFILL_STATUS_INELIGIBLE | REFILL_NOT_COMPLETED, REFILL_NOT_AVAILABLE | Один прежний код стал несколькими, каждый более конкретный. |
| REFILL_SERVICE_NOT_REFILLABLE, REFILL_REQUEST_FAILED | REFILL_NOT_AVAILABLE | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| REFILL_ALREADY_PENDING | REFILL_ALREADY_PENDING | Тот же код. |
| REFILL_WAITING_PERIOD | REFILL_COOLDOWN | Несколько прежних кодов стали одним. Подробности смотрите в details. |
| REFILL_NOT_FOUND | REFILL_NOT_FOUND | Тот же код. |
| INVALID_WEBHOOK_URL | INVALID_WEBHOOK_URL | Тот же код. |
| WEBHOOK_LIMIT | WEBHOOK_LIMIT | Тот же код. |
| WEBHOOK_NOT_FOUND | WEBHOOK_NOT_FOUND | Тот же код. |
| REQUEST_PROCESSING, REQUEST_OUTCOME_UNKNOWN, REQUEST_OUTCOME_NOT_RECORDED, REQUEST_UNCONFIRMED, REQUEST_RESULT_UNAVAILABLE, CONFLICTING_REQUEST_RECORDS | – | Больше не возникает. API никогда не ждёт другую систему, а более поздние проблемы приходят как заказ Canceled с кодом причины. |
Вебхуки
Два названия событий изменились. Пакетного тела больше нет: каждый вызов теперь несёт одно событие в конверте с id, type, schema_version, created_at, sequence и data, а конечные точки принадлежат аккаунту, а не ключу.
| Было | Стало |
|---|---|
| order.refunded | order.canceled |
| order.refill_completed | refill.completed |