Запрос

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 — самовывоз

Проверка на заполнение обязательных полей:

  1. Передаётся определённые параметр (не обязательный) — проверка не включается
  2. Передаётся определённые параметр (обязательный) — проверка включается
  3. Передаётся весь заказ — проверка обязательных полей для заказа включается
  4. Передается параметр expeditionType — проверка обязательных полей для заказа включается 
Параметр
ОписаниеОбязательный для deliveryОбязательный для pickup
orderIdstringномер заказадада
commentstringкомментарий к заказунетнет
restaurantIdstringid ресторананетда
personsintколичество персоннетнет
dishListarrayсостав заказадада

-id

stringid блюда(формат GUID) из представления меню Delivery, которое используется для синхронизации с кассойдада
-namestringнаименование блюданетнет
-price

double

разделителем всегда будет  точка - "." 

цена блюданетнет
-measure
меранетнет
--valuedoubleразмер порциинетнет
--unitstringединица измерения: кг, литр, шт. Значение не словарное нетнет
-quantity

double

разделителем всегда будет  точка - "." 

количество блюддада
-ingredientsarrayингредиентынетнет
--idstringid ингредиента (формат GUID) из представления меню Delivery, которое используется для синхронизации с кассой

--namestringнаименование ингредиента

--price

double

разделителем всегда будет  точка - "." 

цена ингредиента

--quantity

double

разделителем всегда будет  точка - "." 

количество ингредиентадада
--ingredientsarrayмодификаторы 

---idstringid модификатора (формат GUID) из представления меню Delivery, которое используется для синхронизации с кассой

---namestringнаименование модификатора

---price

double

разделителем всегда будет  точка - "." 

цена модификатора

---quantity

double

разделителем всегда будет  точка - "." 

количество модификаторадада
expeditionTypestringспособ получения заказа (delivery, pickup)дада
expectedAtDateTimeвремя к которому ожидается заказдада
paymentTypeIdstring

id способа оплаты:

  • cash - оплата наличными,
  • card - оплата картой,
  • online - онлайн оплата.
дада
changeFrom

double

разделителем всегда будет  точка - "." 

сдача с какой суммынетнет
guest
гостьданет
-emailstringэлектронная почта гостянетнет
-phonestringномер телефонаданет
-firstNamestringимянетнет
-lastNamestringфамилия нетнет
address
адрес доставкинетнет
-postcodestringпочтовый индекснетнет
-streetstringулицаданет
-commentstringкомментарий к адресунетнет
-lat

double

разделителем всегда будет  точка - "." 

широтанетнет
-lon

double

разделителем всегда будет  точка - "." 

долготанетнет
-cityIdstringid городанетнет
-cityNamestringнаименование городаданет
-floorintэтажнетнет
-houseNumberstringномер домада
-apartmentNumberstringномер квартиры нетнет
-entrancestringвходнетнет
-subwaystringметронетнет
-fullAddressstringполный адресданет