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