Перейти к основному содержимому

Обработка ошибок

Все ошибки API Intotes следуют единому JSON-формату, что упрощает программную обработку ошибок.

Формат ответа об ошибке

{
"error": {
"code": "ERROR_CODE",
"message": "Human-readable description of the error"
}
}
ПолеТипОписание
codestringМашиночитаемый код ошибки (например, INSUFFICIENT_BALANCE)
messagestringОписание на английском языке

HTTP-коды состояния

СтатусЗначениеКогда
400Bad RequestОшибка валидации или нарушение бизнес-правила
401UnauthorizedОтсутствует или недействительная аутентификация
403ForbiddenНедостаточно прав (например, не создатель)
404Not FoundРесурс не существует
409ConflictДублирование ресурса (например, email уже зарегистрирован)
429Too Many RequestsПревышен лимит запросов
500Internal Server ErrorНепредвиденная ошибка сервера

Распространенные коды ошибок

Ошибки аутентификации

КодОписание
INVALID_CREDENTIALSНеверный email или пароль
EMAIL_NOT_VERIFIEDТребуется подтверждение email
TOKEN_EXPIREDAccess-токен истек
UNAUTHORIZEDНе предоставлена аутентификация

Ошибки торговли

КодОписание
INSUFFICIENT_BALANCEНедостаточно средств
MARKET_PAUSEDРынок не принимает сделки
MARKET_RESOLVEDРынок уже разрешен
INVALID_AMOUNTСумма нулевая, отрицательная или превышает лимиты
INVALID_PRICEЦена вне диапазона 0-10000
ORDER_NOT_FOUNDОрдер не существует
POSITION_NOT_FOUNDНет позиции на этом рынке

Ошибки вывода

КодОписание
INSUFFICIENT_BALANCEНедостаточно средств для вывода
MIN_DEPOSIT_REQUIREDНеобходим минимальный депозит 1000 RUB
WITHDRAWAL_LIMIT_EXCEEDEDДневной лимит выводов достигнут
UNSUPPORTED_TOKENТокен не поддерживается
UNSUPPORTED_NETWORKСеть не поддерживается
INVALID_ADDRESSНедействительный адрес кошелька
PENDING_WITHDRAWAL_EXISTSВывод уже в процессе

Ошибки P2P

КодОписание
AD_NOT_ACTIVEОбъявление больше недоступно
DUPLICATE_AD_TYPEУже есть активное объявление этого типа
INVALID_AMOUNTСумма вне диапазона мин/макс
ORDER_ALREADY_PAIDОрдер уже отмечен как оплаченный
ORDER_ALREADY_COMPLETEDОрдер уже завершен
ORDER_ALREADY_CANCELLEDОрдер уже отменен
CANNOT_CANCELОрдер в состоянии, не допускающем отмену
INVALID_PAYMENT_METHODСпособ оплаты не принимается

Ошибки карточных операций

КодОписание
CARD_NOT_ACTIVEКарта платформы не активна
INVALID_AMOUNTСумма вне лимитов
ORDER_ALREADY_PAIDОрдер уже подтвержден
MIN_DEPOSIT_REQUIREDМинимальный депозит не выполнен

Пример обработки ошибок

const response = await fetch('https://intotes.com/api/v1/lmsr/trade', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
credentials: 'include',
body: JSON.stringify({
market_id: 42,
side: 'buy_yes',
amount_type: 'spend',
amount: 10000,
}),
});

if (!response.ok) {
const { error } = await response.json();

switch (error.code) {
case 'INSUFFICIENT_BALANCE':
showNotification('Недостаточно средств. Пополните баланс.');
break;
case 'MARKET_PAUSED':
showNotification('Этот рынок временно приостановлен.');
break;
default:
showNotification(error.message);
}
}