Разместить заказ
Создаёт заказ в знакомой форме reseller-панелей. Старые клиенты могут не передавать идемпотентность; одинаковые данные одного аккаунта сопоставляются одному заказу в течение 60 секунд. Для точных повторов используйте тот же request_id или idempotency_key. Обычный заказ удерживается 15 секунд до отправки.
POST
https://notpanel.com/api/v3action=addТребуется API-ключОграничение частоты (общий аккаунт + IP + действие)Тело:
application/x-www-form-urlencodedrequest_id и idempotency_key необязательны. Без них одинаковые данные одного аккаунта защищены 60 секунд; намеренный дубль в этом окне вернёт первый заказ. Подождите 60 секунд или отправьте уникальный request_id для немедленного дубля.
Параметры
| Название | Тип | Описание |
|---|---|---|
| keyОбязательный | string | Ваш API-ключ. |
| actionОбязательный | string | Должно быть буквальной строкой «add». |
| serviceОбязательный | integer | ID услуги из списка services. Услуга должна быть активна на момент отправки. |
| request_id | string | Предпочтительный необязательный ключ, уникальный для логического заказа и длиной до 128 символов. Повторно используйте его для точных повторов; при двух псевдонимах применяется request_id. |
| idempotency_key | string | Необязательный псевдоним request_id. Если оба поля отсутствуют, сервер применяет 60-секундную защиту одинаковых данных. |
| linkУсловный | string (URL) | Целевой URL — профиль, публикация, видео или канал. Обязателен, если выбранной услуге нужна ссылка. Не более 1000 символов; требуется http(s). |
| quantityУсловный | integer | Количество единиц для выполнения в пределах минимума и максимума услуги. |
| runsУсловный | integer | Требуется вместе с interval только при dripfeed=true. Положительное целое в пределах действующего настроенного лимита; абсолютный максимум — 1000. quantity × runs не может превышать максимум услуги. |
| intervalУсловный | integer | Требуется вместе с runs только при dripfeed=true. Положительное целое число минут в пределах действующего лимита; абсолютный максимум — 2880 минут. Услуги без drip-feed отклоняют оба поля. График постепенной доставки: максимум 48 часов (число запусков × интервал). |
| coupon | string | Код купона для применения с учетом ограничений купона на пользователя, общих ограничений и ограничений по услугам. |
| delay | integer | Необязательная задержка запуска. Используйте целое число от 1 до 86400 секунд, если выбранная услуга поддерживает это поле. |
| lpost_count | integer | Необязательное число последних публикаций для совместимых обычных услуг. Целое число от 1 до 500, если услуга не определяет это поле самостоятельно. |
| reactions | string (map) | Необязательная карта эмодзи для совместимых обычных услуг. Передайте JSON или поддерживаемый PHP-формат с одинарными кавычками, не более 50 эмодзи. Значения должны быть либо все R для случайного распределения, либо все положительные целые до 1000000; режимы нельзя смешивать. Для точных значений сумма становится фактическим количеством и определяет подтверждённую сумму. |
Пример запроса
Замените YOUR_API_KEY на ключ, сгенерированный на странице API в вашей панели.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=add&service=1&request_id=550e8400-e29b-41d4-a716-446655440000&link=https://instagram.com/example&quantity=1000"const res = await fetch("https://notpanel.com/api/v3", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
key: "YOUR_API_KEY",
action: "add",
service: "1",
request_id: "550e8400-e29b-41d4-a716-446655440000",
link: "https://instagram.com/example",
quantity: "1000",
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={
"key": "YOUR_API_KEY",
"action": "add",
"service": "1",
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"link": "https://instagram.com/example",
"quantity": "1000",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'add',
'service' => '1',
'request_id' => '550e8400-e29b-41d4-a716-446655440000',
'link' => 'https://instagram.com/example',
'quantity' => '1000',
]);
$response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
'content' => $body,
'ignore_errors' => true,
],
]));
print_r(json_decode($response, true));
Пример ответа
{
"order": 7001,
"status": "Pending",
"status_key": "pending",
"charge": "0.50",
"currency": "USD",
"cancel_available": true,
"cancel_window_seconds": 15,
"cancel_before": "2026-08-25T10:30:15.000Z"
}Распространённые ошибки
| Статус | Тело | Причина |
|---|---|---|
| 400 | {"error":"Service not found"} | ID услуги не существует. Обновите список услуг и используйте актуальный ID. |
| 400 | {"error":"Service has been discontinued and is no longer available"} | Услуга существует, но отключена, архивирована или больше не принимает заказы. Обновите каталог и выберите доступную услугу. |
| 400 | {"error":"Insufficient balance"} | Баланс аккаунта ниже общей стоимости заказа. Пополните его через панель. |
| 400 | {"error":"Quantity must be a positive integer"} | Количество было нулевым, отрицательным или нецелым. Проверьте перед отправкой. |
| 409 | {"error":"request_id was already used with different parameters"} | Запрос конфликтует с существующим состоянием, например request_id действия add повторно используется для другого логического заказа. В зависимости от ситуации используйте исходный запрос или новый уникальный идентификатор. |