Skip to content

Latest commit

 

History

History
108 lines (87 loc) · 3.74 KB

set-delivery-date.md

File metadata and controls

108 lines (87 loc) · 3.74 KB

Указать дату доставки заказа

PUT /orders/{orderId}/delivery-date

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

Параметр Тип Описание
delivery_date object Диапазон времени доставки
delivery_date.from string Дата и время начала диапазона в формате ATOM
delivery_date.to string Дата и время окончания диапазона в формате ATOM (дата не может отличаться от даты в поле delivery_date.from, а время не может быть раньше)

Значение секунд игнорируется и в базу всегда сохраняется 00 для delivery_date.from и 59 для delivery_date.to.

Дата доставки не может превышать 20 дней с текущего момента для заказов с онлайн оплатой и 6 месяцев для заказов с оффлайн оплатой.

Указать дату доставки можно только для заказов в статусе processing (В обработке) до подтверждения заказа и передачи в доставку.

Пример запроса

PUT /orders/qz2wa/delivery-date
Authorization: bearer <token>
Accept: application/json; charset=utf-8
Content-Type: application/json; charset=utf-8
{
    "delivery_date": {
        "from": "2020-01-03T00:00:00+03:00",
        "to": "2020-01-03T12:00:00+03:00"
    }
}

Пример ответа

HTTP/2 204 No Content

Ответ при запросе от пользователя с неправильными учетными данными

HTTP/2 403 Forbidden
{
    "message": "Access denied"
}

Ответ при попытке изменить несуществующий заказ

HTTP/2 404 Not Found
{
    "message": "Not Found"
}

Ответ при попытке повторно установить дату доставки для заказа

HTTP/2 409 Conflict
{
    "message": "Дата и время доставки заказа уже указаны"
}

Ответ при попытке установить дату доставки для заказа в ненадлежащем статусе

HTTP/2 409 Conflict
{
    "message": "Недопустимый статус заказа"
}

Ответ при невалидном запросе

HTTP/2 422 Unprocessable Entity
Content-Type: application/json; charset=utf-8
{
    "message": "Validation failed",
    "errors": {
        "delivery_date": [
            "Укажите дату доставки"
        ]
    }
}

Возможные ошибки для полей:

Параметр Ошибки
delivery_date Укажите дату доставки
Значение поля должно быть массивом
Неверный интервал времени доставки
Дата доставки не может быть раньше текущей
Дата доставки заказа должна быть не позднее 20 дней с текущей даты
Дата доставки заказа должна быть не позднее 6 месяцев с текущей даты
delivery_date.from Неверный формат даты
Укажите интервал времени доставки
delivery_date.to Неверный формат даты
Укажите интервал времени доставки
Неверный интервал времени доставки