GetRestaurantConfig
| Назначение | Запрос метаданных для настройки ресторана |
|---|---|
| Поддерживаемая версия агента | >= v2.2 |
| PluggetSystemType | RKRef |
ФОРМАТ ЗАПРОСА
ФОРМАТ ЗАПРОСА
Запрос
{
"taskType": "GetRestaurantConfig",
"params": {
"sync": {
"objectId": number,
"timeout": number
}
}
}
CODE
| Параметр | Тип | Обязательный | Описание | Значение по умолчанию |
| taskType | string | да | Тип задачи | |
| sync | Синхронный вызов метода (либо синхронный, либо асинхронный. Для этого изменить на "async") | |||
| int | да | Код ресторана в системе лицензирования | |
| int | - | Время ожидания ответа в секундах | 120 секунд |
ФОРМАТ ОТВЕТА
ФОРМАТ ОТВЕТА
Успешный ответ
Успешный ответ
{
"responseCommon":{
"taskGuid":"guid",
"taskType":"GetRestaurantConfig",
"objectId": 0
},
"taskResponse":{
"fields": [
{
"name": "string",
"path": "string",
"values": [{"Стол1", 10001}, {"Стол2", 10002} ... {"Стол для доставки", 10099}], //если null то свободный ввод
"required": bool,
"valueType": "string", //принимает значение number/text/boolean
"defaultValue": any
}
]
}
}
CODE
Ответ с ошибкой. Ошибка агента или сервера
Ответ с ошибкой. Ошибка агента или сервера
{
"responseCommon": {
"taskGuid": "string",
"taskType": "GetRestaurantConfig",
"objectId": 0
},
"error": {
"wsError": {
"code": "string",
"desc": "string"
},
"agentError": {
"code": "string",
"desc": "string"
}
}
}
CODE
| Параметр | Тип | Описание | ||||||
taskResponse | object | Данные от агента | ||||||
fields | array | Массив полей настроек ресторана, отображаемых на UI админки | ||||||
name | string | Наименование поля | ||||||
path | string | Путь в json конфигурации агента | ||||||
values | array | Массив доступных значений данного параметра (имя + значение), если null то свободный ввод указанного типа | ||||||
| valueType | string | Тип параметра принимает значение number/text/boolean | ||||||
required | bool | Обязательное/не обязательное поле | ||||||
defaultValue | any | Значение по умолчанию | ||||||
| guid | Тип задачи | ||||||
| string | Код ресторана в системе лицензирования | ||||||
| int | Код ресторана в системе лицензирования | ||||||
| error | object | Контейнер ошибок, см Описание ошибок | ||||||
| ||||||||
ВАЖНО
Результат выполнения запроса GetRestoranConfig сохранять в ObjectSettings в поле DataList в виде json со следующей структурой:
{
"updated": время последнего обновления,
"error": "Версия агента не поддерживает загрузку данных", //null если все ok
"fields": [
{
"name": "Стол",
"path": "OrderCreationPreferences.DefaultTableCode",
"values": [{"Стол1", 10001}, {"Стол2", 10002} ... {"Стол для доставки", 10099}],//если null, то свободный ввод, иначе выбор из указанного списка
"required": true,
"valueType": "number", //может принимать значения number/text/boolean
"defaultValue": 10099
},
{
"name": "Касса",
"path": "OrderCreationPreferences.DefaultStationId",
"values": [{"Основная", 20001}, ... ],//если null, то свободный ввод, иначе выбор из указанного списка
"required": true,
"valueType": "number", //может принимать значения number/text/boolean
"defaultValue": null
},
...
{
"name": "Кассир",
"path": "OrderCreationPreferences.DefaultCashierId",
"values": [{"Администратор", 70001}, {"Пользователь WSA", 70002} ... ],//если null, то свободный ввод, иначе выбор из указанного списка
"required": false,
"valueType": "number", //может принимать значения number/text/boolean
"defaultValue": 70002
}
]
}
CODE
ПРИМЕРЫ СТРУКТУРЫ ЗАПРОСОВ
ПРИМЕРЫ СТРУКТУРЫ ЗАПРОСОВ
{
"taskType": "GetRestaurantConfig",
"params": {
"sync": {
"objectId": "199996011",
"timeout": 120
}
}
}
{
"taskResponse": {
"Fields": [
{
"name": "Кассир",
"path": "RKeeper.OrderCreationPreferences.DefaultCashierId",
"values": [
{
"name": "Администратор",
"guid": "d388df80-fafa-44ea-9d2c-348879e82f27",
"value": 1
},
{
"name": "Кассир тест",
"guid": "4b889647-7a2b-4217-8e0a-b36c33bc4f85",
"value": 1000006
}
],
"required": true,
"valueType": "number",
"defaultValue": 9012,
"description": "Сотрудник с правами на функции кассы"
},
{
"name": "Валюта заказов",
"path": "RKeeper.OrderCreationPreferences.CurrencyCode",
"values": [
{
"name": "Рубли",
"guid": "16d72549-14d8-4f31-9e2a-0a833d4f5eed",
"value": 1
},
{
"name": "VISA",
"guid": "d7d5e50d-7246-4a71-939f-9b37aa300acf",
"value": 4
},
{
"name": "Оплата через WS",
"guid": "12f7b70f-0034-4823-acc0-d0af2ef4d81f",
"value": 18
}
],
"required": false,
"valueType": "number",
"defaultValue": 1,
"description": "Валюта, которая используется для онлайн оплат"
},
{
"name": "Касса",
"path": "RKeeper.OrderCreationPreferences.DefaultStationId",
"values": [
{
"name": "RK7CASH001",
"guid": "de5445c8-cb20-4305-963d-97907417bd42",
"value": 15006
}
],
"required": true,
"valueType": "number",
"defaultValue": 15006,
"description": "Касса для создания, оплаты заказов, печати пречеков и накладных доставки, применения скидок"
},
{
"name": "Тип заказа",
"path": "RKeeper.OrderCreationPreferences.OrderTypeCode",
"values": [
{
"name": "Общие",
"guid": "839218ba-96ae-4480-9dc1-50c802e13840",
"value": 1
},
{
"name": "Доставка курьером",
"guid": "c28ad1b8-0cc6-443b-a09a-f040823c47b9",
"value": 4
},
],
"required": true,
"valueType": "number",
"defaultValue": 4,
"description": "Тип заказа, которым отфильтровано меню для интеграции через WSA"
},
{
"name": "Категория заказа",
"path": "RKeeper.OrderCreationPreferences.OrderCategoryCode",
"values": [
{
"name": "Основная",
"guid": "1e113335-9f76-4cdf-a860-96adb5d33e77",
"value": 1
},
{
"name": "WSA: Доставка",
"guid": "600a98a1-ebdf-4108-b763-ffbef23554a5",
"value": 2
}
],
"required": true,
"valueType": "number",
"defaultValue": 2,
"description": "Категория заказа, которым отфильтровано меню для интеграции через WSA"
},
{
"name": "Причина отмены блюда",
"path": "RKeeper.OrderCreationPreferences.VoidingReasonCode",
"values": [
{
"name": "Ошибка оф-та без сп.",
"guid": "be3c50ef-7c7e-4b12-98e8-469a47039dc2",
"value": 1
},
{
"name": "Отказ без сп.",
"guid": "d4fa39cb-4b22-4759-b762-6b3d42278be2",
"value": 2
},
{
"name": "Ошибка оф-та со сп.",
"guid": "8a70ae79-3e96-4d08-b1ee-c735fe912d25",
"value": 3
},
{
"name": "Отказ со сп.",
"guid": "912b9397-8e03-4a9a-bdb6-fb8e41f15d7e",
"value": 4
},
{
"name": "Обновление заказа через WS",
"guid": "6309430b-7d44-4b83-ad20-07bea2116eb9",
"value": 11
}
],
"required": true,
"valueType": "number",
"defaultValue": 7,
"description": "Причина отмены, с которой будут отменяться блюда через WSA"
},
{
"name": "Причина отмены чека намерения",
"path": "RKeeper.OrderCreationPreferences.IntentVoidingReasonCode",
"values": [
{
"name": "Ошибка оф-та без сп.",
"guid": "be3c50ef-7c7e-4b12-98e8-469a47039dc2",
"value": 1
},
{
"name": "Отказ без сп.",
"guid": "d4fa39cb-4b22-4759-b762-6b3d42278be2",
"value": 2
},
{
"name": "Ошибка оф-та со сп.",
"guid": "8a70ae79-3e96-4d08-b1ee-c735fe912d25",
"value": 3
},
{
"name": "Отказ со сп.",
"guid": "912b9397-8e03-4a9a-bdb6-fb8e41f15d7e",
"value": 4
}
],
"required": true,
"valueType": "number",
"defaultValue": 7,
"description": "Причина отмены чека намерения по умолчанию, при отмене чека через WSA"
},
{
"name": "Время подтверждения заказа в секундах",
"path": "RKeeper.OrderCreationPreferences.CashierTimeoutSec",
"required": false,
"valueType": "number",
"defaultValue": 0,
"description": "Время, которое дается для вывода формы подтверждения заказа в интерфейсе кассы, после истечения которого происходит действие, выбранное в поле \"Создавать не подтвержденный заказ\". 0 - значит форма на кассе вообще не будет отображаться."
},
{
"name": "Имя узла с формой подтверждения заказа",
"path": "RKeeper.OrderCreationPreferences.OrderConfirmationHost",
"required": false,
"valueType": "text",
"description": "Если WSA установлен на том же ПК, что и касса, указать 127.0.0.1. Если WSA установлен удаленно, то указать IP адрес ПК на котором установлен WSA"
},
{
"name": "Создавать не подтвержденный заказ",
"path": "RKeeper.OrderCreationPreferences.ConfirmOrderIfIgnoredOnKass",
"required": false,
"valueType": "boolean",
"defaultValue": true,
"description": "Заказ будет создан или отменен на кассе, когда истечет время подтверждения заказа"
},
{
"name": "Создавать заказ как черновик",
"path": "RKeeper.OrderCreationPreferences.CreateOrdersAsDeffered",
"required": false,
"valueType": "boolean",
"defaultValue": false,
"description": "Если выставлено, все заказы будут создаваться как \"отложенные\" (\"черновики\")"
},
{
"name": "Код типа заказа для самовывоза",
"path": "RKeeper.OrderCreationPreferences.OrderTypeCodeForCustomerTaker",
"required": false,
"valueType": "number",
"description": "Опциональный код типа заказа для самовывоза"
},
{
"name": "Код категории заказа для самовывоза",
"path": "RKeeper.OrderCreationPreferences.OrderCategoryCodeCustomerTaker",
"required": false,
"valueType": "number",
"description": "Опциональный код категории заказа для самовывоза"
},
{
"name": "Тип гостя",
"path": "RKeeper.OrderCreationPreferences.GuestTypeId",
"values": [
{
"name": "Гость",
"guid": "0fd823b9-1645-42a7-9028-c69a98ce190a",
"value": 1
}
],
"required": false,
"valueType": "number",
"description": "Тип гостя, используемый при интеграции через WSA"
},
{
"name": "Игнорировать фильтрацию меню по торговым группам и типу цены",
"path": "RKeeper.OrderCreationPreferences.UseGetOrderMenuOnly",
"required": false,
"valueType": "boolean",
"defaultValue": false,
"description": "Если выставлено, через WSA будет выгружено полное меню без фильтров"
},
{
"name": "Оплата от Кассира",
"path": "RKeeper.OrderCreationPreferences.PayEmploy",
"values": [
{
"name": "Кассир из обязательных параметров",
"guid": "0f129164-8fc0-472e-8e2c-91c0f2000001",
"value": 1
},
{
"name": "Пользователь, создавший заказ",
"guid": "0f129164-8fc0-472e-8e2c-91c0f2000002",
"value": 2
}
],
"required": false,
"valueType": "number",
"defaultValue": 1,
"description": "Параметр, определяет какой пользователь будет указан при оплате через WSA командой PayOrder"
}
]
},
"responseCommon": {
"taskGuid": "df581ce2-871b-481f-b328-9cd9dc68bdef",
"taskType": "GetRestaurantConfig",
"objectId": 199996011,
"agentGuid": "c415aa96-8952-4689-8fcb-c6c969e25aad"
}
}
"responseCommon": { "taskGuid": "df581ce2-871b-481f-b328-9cd9dc68bdef", "taskType": "GetRestaurantConfig", "objectId": 199996011 }, "error": { "wsError": { "code": "Timeout", "desc": "Agent is offline or has been unresponsive" } }}