Заказы

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

Список заказов

GET /api/merchant-service/orders/list

Возвращает заказы текущего магазина постранично. Все фильтры опциональны. Сортировка по умолчанию — по дате создания, новые сверху.

BASH
curl "https://admin.mobiusapp.ru/api/merchant-service/orders/list?status_code=in_progress&payed=true&limit=50" \ -H "Authorization: Bearer <token>"

Параметры запроса

Параметр Тип Описание
limit integer Размер страницы, 1–100 (по умолчанию 25).
page integer Номер страницы (по умолчанию 1).
id integer Точное совпадение по id заказа.
customer string Поиск по контактным данным покупателя (подстрока).
status_code string Точное совпадение по коду статуса.
payment_id integer Фильтр по способу оплаты.
delivery_id integer Фильтр по способу доставки.
person_type string individual или legal.
payed boolean Оплачен / не оплачен.
canceled boolean Отменён / не отменён.
created_at_from string Дата от, в формате d.m.Y (например, 01.06.2026).
created_at_to string Дата до, в формате d.m.Y.
sort_by string id, created_at или price.
sort_dir string asc или desc.

Ответ

Списочная обёртка с data, links, meta (см. Пагинация). Каждый элемент data — краткая карточка заказа:

JSON
{ "data": [ { "id": 1024, "created_at": "2026-06-20T12:30:00Z", "price": 3980, "delivery_price": 300, "bonus_spent": 0, "person_type": "individual", "status_code": "in_progress", "status_label": "В работе", "status_updated_at": "2026-06-20T13:00:00Z", "payed": true, "payed_updated_at": "2026-06-20T12:35:00Z", "canceled": false, "canceled_updated_at": null, "customer": { "name": "Иван", "phone": "+70000000000", "email": "ivan@example.com" }, "payment": { "id": 3, "title": "Онлайн-оплата" }, "delivery": { "id": 5, "title": "Курьер", "pickup_point": null, "location": { "id": 77, "name": "Москва" } } } ], "links": { "first": "…", "last": "…", "prev": null, "next": "…" }, "meta": { "current_page": 1, "per_page": 25, "total": 118, "last_page": 5 } }

Карточка заказа

GET /api/merchant-service/orders/item/{id}

Возвращает полную информацию о заказе: покупатель, поля заказа, оплата, доставка и состав корзины.

BASH
curl https://admin.mobiusapp.ru/api/merchant-service/orders/item/1024 \ -H "Authorization: Bearer <token>"

Ключевые поля data:

Поле Описание
id, created_at Идентификатор и дата заказа.
person_type individual или legal.
customer_comment Комментарий покупателя.
status Объект { code, label, updated_at }.
payed, payed_updated_at Признак оплаты и когда он менялся.
canceled, canceled_updated_at Признак отмены и когда он менялся.
price Итог заказа.
items_price Сумма товаров без доставки.
delivery_price Стоимость доставки.
bonus_spent Списано бонусов.
user Покупатель: { id, name, phonenumber, email } (или null).
customer_fields Заполненные поля заказа: список { code, title, type, value }.
payment Оплата: { id, title, handler, payload }.
delivery Доставка: { id, title, type, price, pickup_point, location }.
basket Состав корзины: список позиций.

delivery.typecourier или pickup. Для самовывоза заполняется delivery.pickup_point ({ id, title, address, phonenumber, worktime }), для курьера — delivery.location ({ id, name }).

Полная схема — OrderItem в OpenAPI документации.

Если заказ не найден в контексте текущего магазина — 404.

Обновление заказа

POST /api/merchant-service/orders/update/{id}

Все поля опциональны — передавайте только то, что нужно изменить. Поля, не переданные в теле, остаются прежними. Минимум одно поле должно быть передано. В ответе возвращается полная карточка заказа (как в карточке).

BASH
curl -X POST https://admin.mobiusapp.ru/api/merchant-service/orders/update/1024 \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{ "payed": true, "delivery_price": 300, "basket": [ { "product_external_id": "SKU-100", "quantity": 2, "price": 1990, "currency": "RUB" } ] }'

Поля запроса

Поле Тип Описание
person_type string individual или legal.
customer_comment string | null Комментарий покупателя.
customer_payload object Полная замена данных полей заказа.
payment_id integer | null Способ оплаты.
delivery_id integer | null Способ доставки.
delivery_price number | null Стоимость доставки (не меньше 0).
pickup_point_id integer | null Пункт самовывоза по внутреннему id.
pickup_point_external_id string | null Пункт самовывоза по внешнему id.
location_id integer | null Местоположение доставки.
payed boolean Признак оплаты.
basket array Полная замена корзины.

Замена корзины

Если передан basket, корзина перезаписывается целиком, а итог заказа пересчитывается автоматически: price = sum(quantity × price) + delivery_price. Передача пустого массива [] очищает корзину.

Позиция корзины (OrderBasketUpdateItem):

Поле Тип Описание
product_id integer | null Товар по внутреннему id.
product_external_id string | null Товар по внешнему id.
quantity number Количество, не меньше 0 (обязательно).
price number | null Цена за единицу. Если не задана — берётся минимальная цена товара по умолчанию.
currency string Код валюты.

Для товара укажите хотя бы одно из product_id / product_external_id — поиск идёт сначала по внутреннему id, затем по внешнему id в рамках текущего магазина. Так же работает пункт самовывоза: pickup_point_id / pickup_point_external_id.

Метки времени

Если передан payed и он отличается от текущего значения, метка payed_updated_at обновится на текущий момент.

Ошибки

422 — ошибка валидации (формат) или бизнес-ошибка (например, не найден товар или пункт самовывоза по переданному id). 404 — заказ не найден.

Смена статуса

POST /api/merchant-service/orders/status/{id}

Меняет статус заказа. Статус задаётся полем status — это код статуса. Поиск идёт сначала по внутреннему коду статуса, затем по внешнему коду статуса в рамках текущего магазина.

BASH
curl -X POST https://admin.mobiusapp.ru/api/merchant-service/orders/status/1024 \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{ "status": "in_progress" }'

Ответ:

JSON
{ "success": true, "data": { "id": 1024, "status_code": "in_progress", "status_label": "В работе", "status_updated_at": "2026-06-21T10:20:00Z" } }

Если переданный статус совпадает с текущим, запись не обновляется и status_updated_at остаётся прежним. Если статус с таким кодом не найден — бизнес-ошибка (422). Если заказ не найден — 404.

Отмена заказа

POST /api/merchant-service/orders/cancel/{id}

Помечает заказ отменённым (canceled = true) и обновляет метку времени отмены. Метод идемпотентный: повторный вызов для уже отменённого заказа не меняет данные. Статус заказа при этом не меняется — для смены статуса используйте отдельный метод.

BASH
curl -X POST https://admin.mobiusapp.ru/api/merchant-service/orders/cancel/1024 \ -H "Authorization: Bearer <token>"
JSON
{ "success": true, "data": { "id": 1024, "canceled": true, "canceled_updated_at": "2026-06-21T10:25:00Z" } }

Если заказ не найден — 404.

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

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