Предыдущая версия справа и слева Предыдущая версия | |
external:procart:02_procart_api:01_api [2025/05/16 14:06] – Евгений Горносталь | external:procart:02_procart_api:01_api [2025/05/16 14:08] (текущий) – Евгений Горносталь |
---|
Рекомендуется выполнять запрос **/ping** при начале работы. | Рекомендуется выполнять запрос **/ping** при начале работы. |
| |
| ------------- |
=== getmenu === | === getmenu === |
| |
Метод **/*api/v3/getmenu** позволяет получить информацию о блюдах и их остатках, доступных для продажи во внешней системе. При большом количестве блюд, ответ на данный запрос может занимать значительное время (500-2000 мс), поэтому рекомендуется производить кеширование ответов на стороне внешней системы. Модуль ProCart так же кеширует меню на своей стороне и проверяет обновления с периодичностью 10-60 секунд. Поэтому для внешней системы вызывать метод **/getmenu** чаще чем 1 раз в минуту не имеет особого смысла. | Метод **/*api/v3/getmenu** позволяет получить информацию о блюдах и их остатках, доступных для продажи во внешней системе. При большом количестве блюд, ответ на данный запрос может занимать значительное время (500-2000 мс), поэтому рекомендуется производить кеширование ответов на стороне внешней системы. Модуль ProCart так же кеширует меню на своей стороне и проверяет обновления с периодичностью 10-60 секунд. Поэтому для внешней системы вызывать метод **/getmenu** чаще чем 1 раз в минуту не имеет особого смысла. |
| ------------- |
=== validate === | === validate === |
Метод **/api/v3/validate** так же не является обязательным, но его использование крайне рекомендовано. Данный метод позволяет провалидировать содержимое корзины. Т.е. убедиться что такой заказ можно создать в кассовой системе в текущий момент времени. | Метод **/api/v3/validate** так же не является обязательным, но его использование крайне рекомендовано. Данный метод позволяет провалидировать содержимое корзины. Т.е. убедиться что такой заказ можно создать в кассовой системе в текущий момент времени. |
**Важно!** Вызов данного метода не приводит ни к каким событиям на кассе (заказ не создается). | **Важно!** Вызов данного метода не приводит ни к каким событиям на кассе (заказ не создается). |
| |
| ------------- |
=== postorder === | === postorder === |
Метод **/api/v3/postorder** создает заказ на кассе r_keeper. Если заказ создан успешно, то в ответе на запрос вернется GUID созданного в системе r_keeper заказа, используя который в дальнейшем можно отслеживать изменения состояния этого заказа используя метод **/getorders** | Метод **/api/v3/postorder** создает заказ на кассе r_keeper. Если заказ создан успешно, то в ответе на запрос вернется GUID созданного в системе r_keeper заказа, используя который в дальнейшем можно отслеживать изменения состояния этого заказа используя метод **/getorders** |
**Важно!** Если логика внешней системы подразумевает оплату заказа, то перед тем как вызвать метод **/postorder** необходимо провести оплату заказа (а сумму к оплате взять из ответа на запрос **/validate**). И только после успешной оплаты создавать заказ методом **/postorder**, не забыв при этом передать данные об оплате. | **Важно!** Если логика внешней системы подразумевает оплату заказа, то перед тем как вызвать метод **/postorder** необходимо провести оплату заказа (а сумму к оплате взять из ответа на запрос **/validate**). И только после успешной оплаты создавать заказ методом **/postorder**, не забыв при этом передать данные об оплате. |
| ------------- |
=== getorders === | === getorders === |
Оба метода **/api/v3/getorders** получают информацию о заказах. | Оба метода **/api/v3/getorders** получают информацию о заказах. |
* В методе **POST** нужно передать токен, а так же GUID или список GUID'ов заказов. В ответ придёт информация по всем открытым заказам. | * В методе **POST** нужно передать токен, а так же GUID или список GUID'ов заказов. В ответ придёт информация по всем открытым заказам. |
* В методе **GET** нужно передать только токен. В ответ придёт информация информация по всем открытым через ProCart заказам. | * В методе **GET** нужно передать только токен. В ответ придёт информация информация по всем открытым через ProCart заказам. |
| |
| ------------- |
=== close === | === close === |
| |
Метод **/api/v3/close** является необязательным методом. Может потребоваться для закрытия заказа, если в ProCart.yaml в группе "r_keeper_references" указана настройка - close_paid_order: false. | Метод **/api/v3/close** является необязательным методом. Может потребоваться для закрытия заказа, если в ProCart.yaml в группе "r_keeper_references" указана настройка - close_paid_order: false. |
| |
| |
| |