НазначениеЗапрос метаданных для настройки ресторана
Поддерживаемая версия агента>= v2.2
PluggetSystemTypeRKRef
ФОРМАТ ЗАПРОСА

ФОРМАТ ЗАПРОСА

Запрос

{
  "taskType": "GetRestaurantConfig",
  "params": {
    "sync": {
      "objectId": number,
       "timeout": number
    }
  }
}
CODE
ПараметрТипОбязательныйОписаниеЗначение по умолчанию
taskTypestringдаТип задачи
sync

Синхронный вызов метода (либо синхронный, либо асинхронный. Для этого изменить на "async") 
  • objectId
intдаКод ресторана в системе лицензирования
  • timeout
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
ПараметрТипОписание
taskResponseobjectДанные от агента
fieldsarrayМассив полей настроек ресторана, отображаемых на UI админки
namestringНаименование поля
pathstringПуть в json конфигурации агента
valuesarrayМассив доступных значений данного параметра  (имя + значение), если null то свободный ввод указанного типа
valueTypestringТип параметра принимает значение number/text/boolean
requiredboolОбязательное/не обязательное поле
defaultValueanyЗначение по умолчанию
  • taskGuid
guidТип задачи
  • taskType
stringКод ресторана в системе лицензирования
  • objectId
intКод ресторана в системе лицензирования
errorobjectКонтейнер ошибок, см Описание ошибок
wsError
Ошибка от сервера
agentError
Ошибка от агента

ВАЖНО

Результат выполнения запроса 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"
    }
  }
}

ИМЕРЫ СТРУКТУРЫ ЗАПРОСОВ