Справочник
Ошибки
У каждой ошибки есть фиксированный код, HTTP-статус и признак, показывающий, может ли повтор помочь. Ветвитесь по error_code и retryable, а не по тексту сообщения.
Структура ошибки
Неудачный запрос возвращает JSON-объект с HTTP-статусом ошибки. Текст error — фиксированная английская фраза, заполненная типизированными значениями; она никогда не содержит текст из других систем.
{
"error": "Minimum quantity is 100",
"error_code": "MINIMUM_QUANTITY",
"retryable": false,
"details": {
"n": 100
}
}Поля ошибки
errorstring- Фиксированное английское сообщение для людей. Старые скрипты, читающие только
error, продолжают работать. error_codestring- Код ошибки из списка ниже. По нему безопасно ветвиться.
retryablebooleantrue, когда повторная отправка того же запроса позже может завершиться успехом.detailsobject- Значения, подставленные в сообщение, по именам, например
param,rule,nилиtime. Присутствует, только когда они есть. retry_afterinteger- Сколько секунд подождать перед повтором. Присутствует, когда ожидание известно, и дублируется в заголовке
Retry-After.
HTTP-статусы
Это статусы, которые использует API. Текстовые пояснения HTTP — названия протокола и остаются на английском.
- 400
Bad Request
Запрос недопустим. Исправьте его перед повторной отправкой.
- 401
Unauthorized
Ключ API недействителен.
- 402
Payment Required
Баланс кошелька слишком мал.
- 403
403
Аккаунт сейчас не может использовать API.
- 404
Not Found
Услуга, заказ, восполнение или вебхук не найдены.
- 405
405
Принимается только POST.
- 409
Conflict
Запрос конфликтует с состоянием услуги, заказа или предыдущего идентификатора запроса.
- 410
410
Услуга снята с предложения.
- 413
413
Тело запроса слишком большое.
- 429
Too Many Requests
Достигнуто ограничение частоты. Подождите и повторите.
- 500
500
Сбой с нашей стороны. Повторять запрос безопасно.
- 503
503
API или оформление заказов приостановлено на короткое время. Подождите по Retry-After.
Безопасный повтор
Когда retryable равен true, подождите retry_after или заголовок Retry-After, добавьте немного случайного разброса и отправьте запрос снова. Когда он равен false, сначала измените запрос. Если вызов add завершился тайм-аутом или ошибкой INTERNAL_ERROR, отправьте его снова с тем же request_id (до 128 символов): вы получите исходный заказ, но никогда не второй.
Примеры
key=YOUR_API_KEY&action=add&service=7&link=https://instagram.com/example&quantity=10{
"error": "Minimum quantity is 100",
"error_code": "MINIMUM_QUANTITY",
"retryable": false,
"details": {
"n": 100
}
}key=YOUR_API_KEY&action=add&service=7&link=https://instagram.com/example&quantity=10000{
"error": "Insufficient balance",
"error_code": "INSUFFICIENT_BALANCE",
"retryable": false
}key=YOUR_API_KEY&action=balance{
"error": "Rate limit exceeded",
"error_code": "API_RATE_LIMITED",
"retryable": true,
"retry_after": 12
}key=YOUR_API_KEY&action=add&link=https://instagram.com/example&quantity=100{
"error": "Missing required parameter: service",
"error_code": "MISSING_PARAMETER",
"retryable": false,
"details": {
"param": "service"
}
}Все коды ошибок
Сообщение — фиксированный шаблон; его подстановки заполняются из details. Для каждого кода указаны HTTP-статус и то, может ли повтор помочь.
Запрос и аккаунт
- 401
INVALID_KEY
Invalid API keyКлюч отсутствует, неверен или отозван. Сначала исправьте запрос.
- 405
METHOD_NOT_ALLOWED
Use POSTЗапрос не был POST. Сначала исправьте запрос.
- 413
BODY_TOO_LARGE
Request body too largeТело запроса слишком большое. Сначала исправьте запрос.
- 400
INVALID_ACTION
Invalid actionДействие не входит в документированные действия. Сначала исправьте запрос.
- 400
MISSING_PARAMETER
Missing required parameter: {param}Отсутствует обязательный параметр. details.param называет его. Сначала исправьте запрос.
- 400
INVALID_PARAMETER
Invalid {param}: {rule}У параметра недопустимое значение. details.param и details.rule указывают, у какого и почему. Сначала исправьте запрос.
- 400
TOO_MANY_IDS
Maximum 100 IDs per requestВ списке больше идентификаторов, чем может содержать один запрос. Сначала исправьте запрос.
- 403
INACTIVE_ACCOUNT
Account suspendedАккаунт приостановлен. Сначала исправьте запрос.
- 403
EMAIL_UNVERIFIED
Email verification requiredАдрес электронной почты аккаунта ещё не подтверждён. Сначала исправьте запрос.
Доступность и ограничения
- 503
API_DISABLED
The API is temporarily disabledAPI отключён на короткое время. Retry-After указывает, когда повторить. Повтор может помочь.
- 429
API_RATE_LIMITED
Rate limit exceededДостигнуто ограничение частоты. См. «Ограничения частоты». Повтор может помочь.
- 500
INTERNAL_ERROR
Internal server errorСбой с нашей стороны. Повторять add с тем же request_id безопасно. Повтор может помочь.
Услуги и оформление заказов
- 404
SERVICE_NOT_FOUND
Service not foundНет услуги с таким идентификатором, либо она вам недоступна. Сначала исправьте запрос.
- 410
SERVICE_DISCONTINUED
Service has been discontinuedУслуга снята с предложения. Сначала исправьте запрос.
- 409
SERVICE_PAUSED
Service is temporarily unavailableУслуга пока приостановлена. Повторите позже. Повтор может помочь.
- 503
ORDER_PLACEMENT_PAUSED
Ordering is temporarily pausedОформление заказов приостановлено для всех на короткое время. Retry-After указывает, когда повторить. Повтор может помочь.
- 400
INVALID_LINK
Link is invalid for this serviceСсылка не подходит для этой услуги. Сначала исправьте запрос.
- 400
LINK_BLOCKED
This link is blocked. Contact support if this is a mistake.Ссылка заблокирована. Обратитесь в поддержку, если считаете, что это ошибка. Сначала исправьте запрос.
- 409
LINK_BUSY
An order for this link is still running. Wait until it finishes.Предыдущий заказ по этой ссылке ещё выполняется. Дождитесь его завершения. Повтор может помочь.
- 400
MINIMUM_QUANTITY
Minimum quantity is {n}Количество меньше минимума услуги. Сначала исправьте запрос.
- 400
MAXIMUM_QUANTITY
Maximum quantity is {n}Количество больше максимума услуги. Сначала исправьте запрос.
- 400
QUANTITY_STEP
Quantity must be a multiple of {step}Количество не кратно шагу услуги. Сначала исправьте запрос.
- 400
QUANTITY_MISMATCH
quantity must equal the number of items in {param} ({count})Количество не совпадает с числом элементов в списке или в поле реакций. Сначала исправьте запрос.
- 400
MINIMUM_ORDER_AMOUNT
Minimum order amount is ${amount}Сумма заказа меньше минимальной суммы заказа. Сначала исправьте запрос.
- 402
INSUFFICIENT_BALANCE
Insufficient balanceБаланс кошелька меньше суммы списания. Сначала исправьте запрос.
- 400
INVALID_OPTION
Invalid {param}: {rule}У дополнительного поля недопустимое значение. details.param и details.rule указывают, у какого и почему. Сначала исправьте запрос.
- 400
OPTION_NOT_SUPPORTED
This service does not accept {param}Услуга не принимает отправленное вами поле. Сначала исправьте запрос.
- 400
DRIP_FEED_NOT_AVAILABLE
Drip-feed is not available for this serviceУ услуги нет постепенной подачи либо нет для этого количества. Сначала исправьте запрос.
- 400
DRIP_FEED_CONFLICT
Send runs and interval, or drip_feed_total_minutes, not bothВ одном запросе переданы обе формы постепенной подачи. Сначала исправьте запрос.
- 400
DRIP_FEED_INVALID
{rule}Значения постепенной подачи не укладываются в ограничения. Сообщение указывает, в какое. Сначала исправьте запрос.
- 429
ORDER_LIMIT_REACHED
Too many orders. Try again later.Слишком много заказов оформлено или открыто одновременно. Повторите позже. Повтор может помочь.
- 409
SERVICE_CHANGED
Service settings changed while placing the order. Retry.Настройки услуги изменились во время оформления заказа. Отправьте запрос снова. Повтор может помочь.
- 409
REQUEST_ID_CONFLICT
request_id was already used with different parametersЭтот request_id уже создал заказ с другими параметрами. Сначала исправьте запрос.
Заказы и отмена
- 404
ORDER_NOT_FOUND
Order not foundЗаказа с таким номером нет в вашем аккаунте. Сначала исправьте запрос.
- 409
ORDER_FINISHED
Order is already {status}Заказ уже завершён. Сначала исправьте запрос.
- 409
CANCEL_NOT_AVAILABLE
Cancel is not available for this orderОтменить этот заказ нельзя. Сначала исправьте запрос.
- 409
CANCEL_REFUSED
The order could not be canceled. You can ask again after {time}.Запрос на отмену отклонён. Можно спросить снова по истечении времени из details.time. Повтор может помочь.
Восполнения
- 409
REFILL_NOT_AVAILABLE
Refill is not available for this orderВосполнение для этого заказа невозможно. Сначала исправьте запрос.
- 409
REFILL_NOT_COMPLETED
Refill is available after the order is completedВосполнение возможно после выполнения заказа. Повтор может помочь.
- 409
REFILL_COOLDOWN
You can request a refill again after {time}Для этого заказа недавно запрашивалось восполнение. Повторите после details.time. Повтор может помочь.
- 409
REFILL_ALREADY_PENDING
A refill request is already in progress for this orderДля этого заказа уже выполняется восполнение. Повтор может помочь.
- 404
REFILL_NOT_FOUND
Refill not foundВосполнения с таким идентификатором нет в вашем аккаунте. Сначала исправьте запрос.
Вебхуки
- 409
WEBHOOK_LIMIT
Maximum {limit} webhook endpoints per accountВ аккаунте уже максимальное число конечных точек вебхуков. Сначала исправьте запрос.
- 404
WEBHOOK_NOT_FOUND
Webhook not foundКонечной точки вебхука с таким идентификатором нет в вашем аккаунте. Сначала исправьте запрос.
- 400
INVALID_WEBHOOK_URL
Invalid webhook URLURL не является публичным адресом https. Сначала исправьте запрос.