Ошибки

Общие соглашения, единые для всех методов Merchant API. На эту страницу ссылаются остальные разделы.

Формат успешного ответа

Методы, возвращающие одну сущность, оборачивают её в поле data:

JSON
{ "data": { "id": 1024, "price": 1990 } }

Часть методов дополнительно возвращают флаг success: true. Списки возвращаются с обёрткой пагинации (см. Пагинация).

HTTP-статусы

Статус Значение
200 Успех.
401 Неверные учётные данные (только на входе).
403 Нет валидного bearer-токена.
404 Сущность не найдена в контексте текущего магазина.
422 Ошибка валидации входных данных или бизнес-ошибка.
429 Превышен лимит частоты запросов.

Форматы ошибок

Тело ошибки зависит от её типа.

Ошибка авторизации (401, 403)

JSON
{ "error": "Unauthorized", "errorCode": "invalid_credentials", "message": "Неверный email или пароль" }

Ошибка валидации (422)

Поле messages — словарь, где ключ это имя поля запроса, а значение — список сообщений по этому полю.

JSON
{ "error": "Validation failed", "messages": { "0.price": ["Цена должна быть положительной"], "0.currency": ["Недопустимая валюта"] } }

Бизнес-ошибка (422)

Возвращается, когда запрос корректен по форме, но невыполним по сути — например, к учётной записи не привязан активный магазин, или не найден товар при обновлении заказа.

JSON
{ "error": "Business error", "message": "Не найден активный магазин" }

Не найдено (404)

JSON
{ "error": "Not found", "message": "Заказ не найден" }

Лимит частоты запросов

Часть открытых методов (например, получение токена) защищена от перебора: не более 10 запросов в минуту с одного IP. При превышении возвращается 429 со следующими заголовками:

Заголовок Описание
Retry-After Через сколько секунд можно повторить запрос.
X-RateLimit-Limit Допустимое число запросов в окне.
X-RateLimit-Remaining Сколько запросов осталось в текущем окне.

Тело:

JSON
{ "error": "Too many requests", "message": "Слишком много попыток. Повторите позже." }

Обрабатывайте 429 с уважением к Retry-After: дождитесь указанного времени перед повторной попыткой.

Пагинация

Списочные методы (например, список заказов) возвращают данные в обёртке с полями data, links и meta:

JSON
{ "data": [ /* элементы списка */ ], "links": { "first": "https://admin.mobiusapp.ru/api/merchant-service/orders/list?page=1", "last": "https://admin.mobiusapp.ru/api/merchant-service/orders/list?page=5", "prev": null, "next": "https://admin.mobiusapp.ru/api/merchant-service/orders/list?page=2" }, "meta": { "current_page": 1, "from": 1, "to": 25, "per_page": 25, "last_page": 5, "total": 118, "path": "https://admin.mobiusapp.ru/api/merchant-service/orders/list" } }
Поле meta Описание
current_page Текущая страница.
last_page Номер последней страницы.
per_page Размер страницы.
total Всего элементов по фильтру.
from / to Диапазон порядковых номеров на странице (или null, если пусто).
path Базовый путь без параметров страницы.

Страница и размер страницы задаются параметрами page и limit.

Связанные разделы

Обновлено 10.07.2026 09:36
Помогла ли статья?