Изменение заказа
Запрос
PATCH https://delivery.ucs.ru/orders/api/v1/orders/{orderId}
Content-Type: application/json
Метод PATCH позволяет производить полное или частичное обновление модели.
Пример запроса — частичное изменение "Гостя"
{
"guest": {
"phone": "79215724648",
"firstName": "Максим"
}
}
JSON
Пример запроса — частичное изменение "Гостя" и "Адреса"
{
"guest":{
"phone":"77733595836",
"firstName":"Валерий Генадьевич"
},
"address":{
"postcode":"109443",
"street":"Юных Ленинцев",
"lat":55.69945,
"lon":37.773144,
"cityName":"Москва",
"apartmentNumber":"456",
"houseNumber":"85",
"entrance":"1 ",
"fullAddress":"109443, г Москва, ул Юных Ленинцев, д 85 к 1"
}
}
JSON
Пример запроса — полное изменение
{
"comment": "приготовьте с любовью ",
"restaurantId": "76439fb3-c0c4-42ca-a269-64f031a6a33b",
"orderStatusId": 1,
"orderStatusName": "Новый",
"persons": "1",
"dishList": [
{
"id": "76439fb3-c0c4-42ca-a269-64f031a6a33b",
"name": "салат цезарь",
"price": "400",
"measure": {
"value": "0.300",
"unit": "кг"
},
"quantity": "1",
"ingredients": [
{
"id": "76439fb3-c0c4-42ca-a269-64f031a6a33b",
"name": "помидоры",
"price": "120",
"measure": {
"value": "0.100",
"unit": "кг"
},
"quantity": "2"
}
]
}
],
"expeditionType": "delivery",
"expectedAt":"2020-10-22T10:44:51.586+00:00",
"paymentTypeId": "card",
"changeFrom": "5000",
"guest": {
"phone": "79215724648",
"firstName": "Максим"
},
"address": {
"postcode": "109443",
"cityId": "73439fb3-c0c4-42ca-a269-64f031a6a33b",
"street": "Юных Ленинцев",
"comment": " дом находится справа от школы",
"lat": "55.700897",
"lon": "37.773808",
"cityName": "Москва",
"entrance": "1",
"houseNumber": "85",
"apartmentNumber": "6",
"subway": "Кузьминки",
"fullAddress": "109443, г Москва, ул Юных Ленинцев, д 85 к 2, кв 6"
}
}
JSON
Ответ при успешном изменении заказа: 200 OK
Параметры
Обязательные поля зависят от выбранного способа доставки:
- delivery — доставка курьером
- pickup — самовывоз
Проверка на заполнение обязательных полей:
- Передаётся определённые параметр (не обязательный) — проверка не включается
- Передаётся определённые параметр (обязательный) — проверка включается
- Передаётся весь заказ — проверка обязательных полей для заказа включается
- Передается параметр expeditionType — проверка обязательных полей для заказа включается
| Параметр | Описание | Обязательный для delivery | Обязательный для pickup | |
|---|---|---|---|---|
| orderId | string | номер заказа | да | да |
| comment | string | комментарий к заказу | нет | нет |
| restaurantId | string | id ресторана | нет | да |
| persons | int | количество персон | нет | нет |
| dishList | array | состав заказа | да | да |
-id | string | id блюда(формат GUID) из представления меню Delivery, которое используется для синхронизации с кассой | да | да |
| -name | string | наименование блюда | нет | нет |
| -price | double разделителем всегда будет точка - "." | цена блюда | нет | нет |
| -measure | мера | нет | нет | |
| --value | double | размер порции | нет | нет |
| --unit | string | единица измерения: кг, литр, шт. Значение не словарное | нет | нет |
| -quantity | double разделителем всегда будет точка - "." | количество блюд | да | да |
| -ingredients | array | ингредиенты | нет | нет |
| --id | string | id ингредиента (формат GUID) из представления меню Delivery, которое используется для синхронизации с кассой | ||
| --name | string | наименование ингредиента | ||
| --price | double разделителем всегда будет точка - "." | цена ингредиента | ||
| --quantity | double разделителем всегда будет точка - "." | количество ингредиента | да | да |
| --ingredients | array | модификаторы | ||
| ---id | string | id модификатора (формат GUID) из представления меню Delivery, которое используется для синхронизации с кассой | ||
| ---name | string | наименование модификатора | ||
| ---price | double разделителем всегда будет точка - "." | цена модификатора | ||
| ---quantity | double разделителем всегда будет точка - "." | количество модификатора | да | да |
| expeditionType | string | способ получения заказа (delivery, pickup) | да | да |
| expectedAt | DateTime | время к которому ожидается заказ | да | да |
| paymentTypeId | string | id способа оплаты:
| да | да |
| changeFrom | double разделителем всегда будет точка - "." | сдача с какой суммы | нет | нет |
| guest | гость | да | нет | |
| string | электронная почта гостя | нет | нет | |
| -phone | string | номер телефона | да | нет |
| -firstName | string | имя | нет | нет |
| -lastName | string | фамилия | нет | нет |
| address | адрес доставки | нет | нет | |
| -postcode | string | почтовый индекс | нет | нет |
| -street | string | улица | да | нет |
| -comment | string | комментарий к адресу | нет | нет |
| -lat | double разделителем всегда будет точка - "." | широта | нет | нет |
| -lon | double разделителем всегда будет точка - "." | долгота | нет | нет |
| -cityId | string | id города | нет | нет |
| -cityName | string | наименование города | да | нет |
| -floor | int | этаж | нет | нет |
| -houseNumber | string | номер дома | да | |
| -apartmentNumber | string | номер квартиры | нет | нет |
| -entrance | string | вход | нет | нет |
| -subway | string | метро | нет | нет |
| -fullAddress | string | полный адрес | да | нет |