external:доставка:api:extv2

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
external:доставка:api:extv2 [2021/02/03 11:40] – [Создание заказа] Александр Ильинexternal:доставка:api:extv2 [2022/10/20 14:40] (текущий) – Добавил описание данных в callback_url Данила Матюшев
Строка 21: Строка 21:
  
 Базовый URL для запросов: **http://IP:PORT/api/v2/ext/** Базовый URL для запросов: **http://IP:PORT/api/v2/ext/**
- 
 Этот URL можно использовать для проверки работоспособности. Этот URL можно использовать для проверки работоспособности.
- 
  
 Если набрать в любом браузере:  http://192.168.1.10:11011/api/v2/ext/  -  при работоспособном настроенном API мы должны получить ответ  Если набрать в любом браузере:  http://192.168.1.10:11011/api/v2/ext/  -  при работоспособном настроенном API мы должны получить ответ 
Строка 32: Строка 30:
 В данном примере 11011 - порт DeliveryHatch, 192.168.1.10 - IP компьютера с установленным сервером мини-доставки. Аналогично стоит проверять доступность сервиса извне после проброса порта. В данном примере 11011 - порт DeliveryHatch, 192.168.1.10 - IP компьютера с установленным сервером мини-доставки. Аналогично стоит проверять доступность сервиса извне после проброса порта.
  
-**Важно**\\ +**Важно** 
-Не передавайте "нейтральные" значения для необязательных полей в запросах, если нет вещественных данных для этих полей.\\+Не передавайте "нейтральные" значения для необязательных полей в запросах, если нет вещественных данных для этих полей.
 Необязательные поля могут быть безболезненно исключены из запроса. Необязательные поля могут быть безболезненно исключены из запроса.
 +===== Список доступных функций ===== 
 +[[external:доставка:api:extv2#проверка_соединения|/ping]] - проверка соединения  
 +[[external:доставка:api:extv2#получение_меню|/getmenu]] - получение меню 
 +[[external:доставка:api:extv2#валидация_корзины|/validate]] - проверка возможности создания заказа 
 +[[external:доставка:api:extv2#создание_заказа|/postorder]] - создание заказ 
 +[[external:доставка:api:extv2#получение_статуса_заказа|/orderstate]] - Получение статуса заказа 
 +[[external:доставка:api:extv2#получение_списка_активных_заказов|/expressorders]] - Получение списка заказов 
  
 ===== Проверка соединения ===== ===== Проверка соединения =====
Строка 92: Строка 96:
   "name": "Булочка с корицей",   "name": "Булочка с корицей",
   "categpath": "Кухня\\Выпечка",   "categpath": "Кухня\\Выпечка",
 +  "categcode" : 88,
   "recipe": "Сдобная булочка в посыпке из сахарной пудры и корицы.",   "recipe": "Сдобная булочка в посыпке из сахарной пудры и корицы.",
   "price": 6500,   "price": 6500,
Строка 129: Строка 134:
 **name** - Название блюда для отображения.\\ **name** - Название блюда для отображения.\\
 **categpath** - Расположение блюда в дереве меню в справочниках r-keeper. Служит для разделения блюд по категориям\\ **categpath** - Расположение блюда в дереве меню в справочниках r-keeper. Служит для разделения блюд по категориям\\
 +**categcode** - Код категории меню из r_keeper, к которому пренадлежит блюдо.\\
 **recipe** - Значение поля "Рецепт" для блюда в справочниках rk-keeper. Может содержать данные БЖУ, рецепт или простое описание блюда, которое будет доступно в интерфейсе доставки.\\ **recipe** - Значение поля "Рецепт" для блюда в справочниках rk-keeper. Может содержать данные БЖУ, рецепт или простое описание блюда, которое будет доступно в интерфейсе доставки.\\
 **price** - Стоимость одной порции блюда в копейках.\\ **price** - Стоимость одной порции блюда в копейках.\\
Строка 160: Строка 166:
 <code> <code>
 { {
 +  "table": 1,
   "type": 1,   "type": 1,
   "discount": 3,   "discount": 3,
Строка 178: Строка 185:
 **(**так отмечены НЕ обязательные поля**)** **(**так отмечены НЕ обязательные поля**)**
  
 +**(table)** - (int) Код стола из r_keeper. Если передан, то будет использован при создании заказа на кассе. Если не передан, то будет использован код стола из конфигурации мини-доставки.
 **(type)** - (int) Тип заказа. 0 - Самовывоз, 1 - доставка.\\ **(type)** - (int) Тип заказа. 0 - Самовывоз, 1 - доставка.\\
 **(discount)** - (int) Код скидки из справочников rk7, с учетом которой будет рассчитана сумма заказа.\\ **(discount)** - (int) Код скидки из справочников rk7, с учетом которой будет рассчитана сумма заказа.\\
Строка 253: Строка 261:
   },   },
   "order":{   "order":{
 +    "table" : 2,
     "type": 1,     "type": 1,
     "comment": "Две персоны",     "comment": "Две персоны",
Строка 288: Строка 297:
 Не используется в логике ПО, но возвращается в orderstate, expressorders и order.status_callback Не используется в логике ПО, но возвращается в orderstate, expressorders и order.status_callback
 **введено с версии 3.0.5.1053**\\ **введено с версии 3.0.5.1053**\\
-**(guest.cardcode)** - (str) Код карты системы лояльности (прм ПДС) (**НЕ РЕКОМЕНДУЕТСЯ К ИСПОЛЬЗОВАНИЮ**)\\+**(guest.cardcode)** - (str) Код карты системы лояльности (например ПДС) (**НЕ РЕКОМЕНДУЕТСЯ К ИСПОЛЬЗОВАНИЮ**)\\
 **введено с версии 3.0.5.1053**\\ **введено с версии 3.0.5.1053**\\
  
 +**order.table** - (int) Код стола из r_keeper. Если передан, то будет использован при создании заказа на кассе. Иначе будет использован тот, что указан в конфигурации мини-доставки.
 **order.type** - (int) Тип заказа. 0 - Самовывоз, 1 - Доставка.\\ **order.type** - (int) Тип заказа. 0 - Самовывоз, 1 - Доставка.\\
 **(order.comment)** - (str) Комментарий к заказу\\ **(order.comment)** - (str) Комментарий к заказу\\
Строка 298: Строка 308:
 Запас по времени должен обсуждаться с конкретным заведением.\\ Запас по времени должен обсуждаться с конкретным заведением.\\
  
-**(order.status_callback)** - (url string) URL адрес, на который будут отправлены уведомления об изменении статуса заказа. **ВНИМАНИЕ. Внутри доставки адрес приводится к нижнему регистру (HttP://Ya.Ru/Status -> http://ya.ru/status)**\\+**(order.status_callback)** - (url string) URL адрес, на который будут отправлены уведомления об изменении статуса заказа.\\ **ВНИМАНИЕ. Внутри доставки адрес приводится к нижнему регистру (HttP://Ya.Ru/Status -> http://ya.ru/status)**\\ 
 +При изменении статуса заказа на указанный URL будет отправлен POST запрос со следующим JSON содержимым: 
 +<code> 
 +
 +  "order_id": Integer, // Идентификатор заказа 
 +  "guestmeta": Object, // Метаданные гостя 
 +  "phone_number": String, // Номер телефона гостя 
 +  "status": Integer //Новый статус заказа 
 +
 +</code>
 **введено с версии 3.0.5.1053**\\ **введено с версии 3.0.5.1053**\\
 **order.content** - (array) Список блюд, заказанных гостем. **order.content** - (array) Список блюд, заказанных гостем.
Строка 367: Строка 386:
  
 Расшифровка статусов заказов:\\ Расшифровка статусов заказов:\\
-  * 0 - "Ожидает" - Такой статус имеют заказы только что созданные через API \\ Они еще не обработаны оператором в ресторане +  * 0 - "Ожидает" - Такой статус имеют заказы только что созданные через API \\ Они еще не обработаны оператором в ресторане (в кипере заказа еще нет). \\ Заказы в статусе 0 не возвращают содержимое (массив items) 
-  * 1Х - "В работе" - Заказ обработан в заведении и передан на кухню. +  * 1Х - "В работе" - Заказ обработан в заведении и передан на кухню (заказ принят, в кипере создан стол, прошла сервис печать)
-  * 2Х - "В пути" - Заказ отправлен с курьером +  * 2Х - "В пути" - Заказ отправлен с курьером (в кипере выбит пречек или чек) 
-  * 3Х - "В архиве" - Курьер вернулся в ресторан, заказ полностью завершен +  * 3Х - "В архиве" - Курьер вернулся в ресторан, заказ полностью завершен (ручной статус, никак не связан с кипером) 
-  * 4Х - "Отменен" - Работники ресторана отменили заказ по той или иной причине+  * 4Х - "Отменен" - Работники ресторана отменили заказ по той или иной причине. Переход в этот статус возможен как из статуса 0 (т.е. заказ в кипере не создавался даже), так и из любого другого статуса (т.е. в кипере стол с блюдами был создан, потом все блюда удалены и пустой стол закрыт)
  
 ===== Получение списка активных заказов ===== ===== Получение списка активных заказов =====
Строка 422: Строка 441:
 **phone** - Телефон гостя\\ **phone** - Телефон гостя\\
 **fullname** - ФИО гостя\\ **fullname** - ФИО гостя\\
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
  • external/доставка/api/extv2.1612341623.txt.gz
  • Последнее изменение: 2021/02/03 11:40
  • Александр Ильин