Маршрутизация запросов
Все запросы в White Server отправляются от имени одного из агрегаторов. Список агрегаторов можно посмотреть в разделе Агрегаторы административной панели WS.
Существует две основные схемы маршрутизации запросов:
- Прямые запросы в кассу
- Запросы через мультиагент.

Мультиагент
Мультиагент подключается автоматически при активации интеграции с r_k Delivery.
Если на ресторане обнаружены мультиагенты, то для каждого мультиагента будут зарегистрированы следующие параметры:
- Приоритет — от 0 до 19999. Задача передается на мультиагент с наименьшим значением приоритета, если он имеет право обработать данную задачу
- Пропускать запросы от — список агрегаторов, запросы от которых мультиагент пропускает и не обрабатывает. Если список пуст, то мультиагент обрабатывает запросы от всех агрегаторов.
Каждый мультиагент при активации по событию оповещает WS о следующих параметрах:
- Активность агента — список ресторанов, задачи для которых этот мультиагент обрабатывает
- Обрабатывает задачи — список типов задач, которые обрабатывает мультиагент.

Правило распределения задач:
- Берется мультиагент с минимальным приоритетом
- Если задача может быть обработана мультиагентом: поддерживается тип задачи, и запрос сделан от агрегатора, которого нет в списке Пропускает запросы от, то задача отдается ему
- Иначе берется и проверяется следующий по приоритету мультиагент
- Если нет мультиагентов, которые могут обработать задачу, она отправляется на агент в ресторане.
Прямые запросы для подключенных систем
Маршрутизация запросов доступна для следующих типов подключенных систем:
По умолчанию запросы отправляются для выбранной подключенной системы.
Но также есть возможность, при уже выбранной основной подключённой системе, отправлять запросы на другую подключенную систему при использовании SystemName в запросе. Это актуально для всех подключенных систем кроме StoreHouse.
Для примера рассмотрим запрос CreateOrder с использованием systemName.
В данной конфигурации по умолчанию для RKMid выбрана подключенная система MID3, но также доступна и система MID4 для отправки запросов.
Для выполнения запроса потребуется в секцию "params" добавить "systemName": "MID4". Такой подход актуален и для других подключенных систем типа RK Ref, SQL.
"taskType": "CreateOrder",
"params": {
"sync": {
"objectId": 199990236,
"timeout": 120,
"systemName": "MID4"
},
Описание общих параметров запросов к WhiteServer | ||||
Параметр | Тип | Обязательный | Описание | Значение |
async | - | Асинхронный вызов метода (допустимо использовать один из: синхронный, либо асинхронный) | ||
objectId | int | да | Код ресторана в системе лицензирования | Присутствует во всех методах, кроме GetAgentList |
sync | - | Синхронный вызов метода (допустимо использовать один из: синхронный, либо асинхронный) | ||
systemName | string | нет | Указание конкретной подключенной системы для которой выполняется запрос | Присутствует во всех методах, кроме GetAgentList |
timeout | int | - | Время ожидания ответа от агента в секундах | по умолчанию 120 секунд, |