Перейти к содержанию

Order Lifecycle API

Раздел описывает методы управления жизненным циклом заказа.


1. Запуск заказа в работу

POST /api/Orders/StartOrder?Id={order_id}

Запускает заказ из черновика или подготовленного состояния.

После запуска заказ становится доступен перевозчикам в соответствии с настройками видимости.

Query-параметры

Параметр Обязательность Описание
Id Да ID заказа
IsNew Нет Технический признак нового интерфейса, обычно не передается

Ответ

При успехе метод возвращает 200 OK без тела ответа.

После запуска проверьте карточку заказа через GET /api/Orders/GetInfo?Id={order_id}. В API заказ может иметь статус New (10) или другой статус жизненного цикла в зависимости от состояния подбора перевозчика и откликов.


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

POST /api/Orders/CancelOrder

Тело запроса

{
  "id": 798805,
  "saveInDirectory": false,
  "fromBook": false,
  "cancellationReasonComment": "машина сломалась"
}

Если причина выбирается из справочника:

{
  "id": 798805,
  "saveInDirectory": false,
  "fromBook": true,
  "cancellationReasonIds": [5, 6]
}

Поля модели:

Поле Обязательность Описание
id Да ID заказа
saveInDirectory Да Сохранить причину в справочник
fromBook Да Причина выбрана из справочника
cancellationReasonComment Нет Текстовая причина отмены
cancellationReasonIds Нет ID причин из справочника

Справочник причин отмены

GET /api/CancellationReasons/SelectByOrderList?OrderId={order_id}

Метод поддерживает фильтрацию и пагинацию.

Ответ

При успехе метод возвращает 200 OK без тела ответа.

После отмены проверьте карточку заказа через GET /api/Orders/GetInfo?Id={order_id}. Ожидаемый статус отмененного заказа — Canceled (50).


3. Возврат в черновик

POST /api/Orders/OrderToDraft?Id={order_id}

Возвращает отмененный заказ в статус черновика.

При возврате очищаются данные, присвоенные в ходе выполнения заказа, например выбранный перевозчик и фактические времена по точкам.

Query-параметры

Параметр Обязательность Описание
Id Да ID заказа
IsNew Нет Технический признак нового интерфейса, обычно не передается

Ответ

При успехе метод возвращает 200 OK без тела ответа.

После возврата проверьте карточку заказа. Ожидаемый статус — Draft (5).


4. Удаление заказа

POST /api/Orders/Delete

Тело запроса

{
  "id": 798805
}

Поля модели:

Поле Обязательность Описание
id Да ID заказа

Удаление заказа является необратимым. Удаленный заказ не отражается в отчетах.

Ответ

При успехе метод возвращает 200 OK без тела ответа.

После удаления заказ не должен использоваться в синхронизации и отчетах.


5. Статусы заказа

Основные статусы описаны в разделе Статусы.