Меняет статус заказа. От статуса зависит, списаны ли продукты и материалы заказа со склада (см. Заказы).
v1/orders/update_status.php
Параметры
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| order_id | int | Да | ID заказа |
| status | int | Да | Новый статус: 0 Новый, 1 Упакован, 3 Отправлен, 4 Отменен |
| date_shipped | string | Нет | Дата отправки. Учитывается при переходе в статус «Отправлен» |
Статус 2 «Частично отправлен» через API не ставится: он появляется, когда часть заказа отгружают в интерфейсе Controlata.
Как работает
- Остатки. В статусах «Упакован» и «Отправлен» продукты и материалы списываются со склада, в статусе «Новый» попадают в запланированное изменение остатка, в статусе «Отменен» на остатки не влияют. Остатки пересчитываются сразу.
- Дата отправки. При переходе в «Отправлен» переданная date_shipped записывается в заказ, и списание датируется ею. Без date_shipped дата отправки не меняется. В других статусах date_shipped игнорируется.
- Частичная отправка. Если заказ был в статусе «Частично отправлен», при переходе в «Отправлен» неотправленная часть оформляется еще одной отгрузкой.
- Возврат из отправленных. При переходе из «Отправлен» или «Частично отправлен» в «Новый», «Упакован» или «Отменен» отгрузки заказа удаляются.
- Тот же статус. Если заказ уже в переданном статусе, ничего не меняется, и метод отвечает успехом.
Пример запроса
{
"order_id": 43727,
"status": 3,
"date_shipped": "2026-10-08"
}
Пример ответа
{
"success": true
}
Ошибки
| Ошибка | Причина |
|---|---|
| No order_id in input | Не передано обязательное поле (вместо order_id будет имя поля) |
| Invalid status value. Must be one of: 0, 1, 3, 4 | Неверный статус, в том числе 2 |
| Order not found or access denied | Заказ не найден или удален |
| Date is not a valid date in format YYYY-MM-DD | Неверная date_shipped |