GetOrder
| Назначение | Получить заказ по Objectid+OrderGuid |
|---|---|
| Тип запроса | синхронный |
| Поддерживаемая версия агента | v1, v2 |
| PluggetSystemType | RKMid |
ФОРМАТ ЗАПРОСА
Запрос
{
"taskType": "GetOrder",
"params": {
"sync": {
"objectId": number,
"timeout": number
},
"orderGuid": "guid",
"allExtendedProperties": bool
}
}
| Параметр | Тип | Обязательный | Описание | Значение по умолчанию |
| taskType | string | + | Тип задачи | |
| sync | Синхронный вызов метода (либо синхронный, либо асинхронный. Для этого изменить на "async") | |||
| timeout | int | - | Время ожидания ответа от агента в секундах, по умолчанию 120 секунд | 120 секунд |
| orderGuid | string | + | Внутренний GUID заказа r_k, информацию о котором требуется получить | |
| objectId | int | + | Код ресторана в системе лицензирования | |
| allExtendedProperties | bool | - | Если true, то возвращает список расширенных свойств |
ФОРМАТ ОТВЕТА
Успешный ответ
Успешный ответ
{
"taskResponse": {
"order": {
"restaurantGuid": "Guid",
"categoryGuid": "Guid",
"rkFriendsAnchor": "Guid",
"originalOrderId": "string", // ВНЕШНИЙ ID (обычно, числовой)
"sourceOrderId": "string"
"createdAt": "2008-10-17T00:00:00",
"status": {
"value": "string",
"isBillPrinted": false
},
"substate": "string",
"delivery": {
"expectedTime": "2008-10-17T00:00:00"
},
"products": [
{ // простой вариант
"ingredients": []
"id": number,
"name": "string",
"price": number, // в кассе смотрят на цену из кассы, потому параметр не обязателен
"quantity": number,
"discountIds": [
{
"id": number,
"value":number
}
],
},
{ // вариант с модификаторами или комбо
"id": number,
"name": "string",
"price": number, // в кассе смотрят на цену из кассы, потому параметр не обязателен
"quantity": number,
"discountIds": [
{
"id": number,
"value":number
}
],
"ingredients": [ //массив модификаторов или элементов комбо
{
"id": number,
"name": "string",
"quantity": number,
"price": "string", // в кассе смотрят на цену из кассы, потому параметр не обязателен
"ingredients": [ //массив модификаторов для комбо-компонентов. Только с версии агента 2.7.9.1
{
"id": number,
"name": "string",
"quantity": number,
"price": number // в кассе смотрят на цену из кассы, параметр не обязателен
}
]
}
],
"voidingReason":"string"
}
],
"comment": "string",
"price": {
"total": number,
"sumToPay": number
},
"appliedPayments": [ // только WSA 2
{
"amount": number,
"guid": "guid",
"payType": "enum"
}],
"personsQuantity": number,
"tableCode": number,
"waiterId": number,
"queuePosition": "string",
"rejectingReason": {
"code": "string",
"message": "string"
},
"discountIds": [
{
"id": number,
"value":number
}
],
"queuePosition": "string",
"payMethod": "string",
"extProperties": {
"propertyCode1": "value1",
"propertyCode2": "value2",
}
}
},
"responseCommon": {
"taskGuid": "guid",
"taskType": "GetOrder",
"objectId": number
}
}
Ответ с ошибкой
Ответ с ошибкой
{
"responseCommon": {
"taskGuid": "string",
"taskType": "GetOrder",
"objectId": number
},
"error": {
"wsError": {
"code": "string",
"desc": "string"
},
"agentError": {
"code": "string",
"desc": "string"
}
}
}
| Параметр | Тип | Обязательный | Описание | ||||||
| order | да | ||||||||
| restaurantGuid | guid | - | RK Guid ресторана | ||||||
| categoryGuid | guid | - | RK Guid категории заказа | ||||||
| originalOrderId | string | Внешний идентификатор заказа, переданного в запросе на создание заказа | |||||||
| rkFriendsAnchor | guid | - | Идентификатор лояльности r_k Friend | ||||||
| sourceOrderId | string | - | Изначальный идентификатор заказа (например идентификатор в системе Yandex). Не обязательный. Сохраняется в r_k в одноименное расширенное поле | ||||||
| status.value | string | ||||||||
| status.isBillPrinted | bool | Флаг, показывающий, распечатан ли пречек заказа. | |||||||
| substate | string | Расширенный статус заказа | |||||||
| delivery. expectedTime | DateTime | К какому времени приготовить заказ | |||||||
| products | array | да | Состав заказа | ||||||
| - id | int | да | Идентификатор блюда | ||||||
| - name | string | Название блюда | |||||||
- price | string | Разделителем целой и дробной части суммы должна быть точка. | |||||||
| - quantity | float (нецелое - для полпорции?) | да | Количество блюд | ||||||
- voidReason | string | Причина удаления блюда из заказа (только агент v2) | |||||||
| - discountIds | array | - | Скидки блюда | ||||||
| - id | int | + | Идентификатор скидки | ||||||
| - value | decimal | - | Значение скидки. Сумма или процент. Принимает отрицательные значения | ||||||
| - ingredients | array | Ингредиенты или состав комбо-блюда | |||||||
| – id | int | да | Идентификатор ингредиента | ||||||
| comment | string | Комментарий к заказу | |||||||
| price | |||||||||
| – total | money | да | Полная стоимость заказа. Разделителем целой и дробной части суммы должна быть точка. | ||||||
| – sumToPay | money | да | Сколько осталось оплатить. Разделителем целой и дробной части суммы должна быть точка. | ||||||
| appliedPayments | Оплаты и предоплаты. (только WSA 2) | ||||||||
- amount | money | + | Значение суммы на оплату. Разделителем целой и дробной части суммы должна быть точка. | ||||||
| - guid | guid | + | Уникальный идентификатор факта оплаты (поле line_guid от R-Keeper) | ||||||
| - payType | enum | + | Тип оплаты: Cash, Card, Unknown. | ||||||
| personsQuantity | int | Количество персон | |||||||
| tableCode | int | Код стола (агент v2 только) | |||||||
| waiterId | int | + | Код официанта (агент v2 только) | ||||||
| error | string enum | Контейнер ошибок, см Описание ошибок | |||||||
| queuePosition | string | Расширенное свойство: номер эл. очереди киоска (может не быть, если нет такого расширенного свойства) | |||||||
| - rejectingReason.code | string | Код отмены | |||||||
| - rejectingReason.message | string | Причина отмены заказа | |||||||
| discountIds | array | Скидки | |||||||
| - id | int | + | Идентификатор скидки | ||||||
| - value | decimal | Значение скидки. Сумма или процент. Принимает отрицательные значения | |||||||
queuePosition | string? | - | Номер очереди, который генерирует RK7. WSA 2.7.7.1, RK7 7.06.05.459. Формируется по правилу: код кассы транслируется латинскую букву + последние цифры номера заказа | ||||||
payMethod | string? | - | Способ оплаты | ||||||
| extProperties | dictionary | - | Список расширенных свойств заказа. Возвращается, только если указан параметр "allExtendedProperties": true Возвращает только те расширенные свойства, которые заполнены у заказа. Возвращает все заполненные расширенные свойства, в том числе и те, что уже есть в основной модели данных. | ||||||
| - properyCode | string | properyCode = Системное имя свойства в r_k | |||||||
| - value | string | value = Актуальное значение данного расширенного свойства для заказа | |||||||
| error | Контейнер ошибок, см Описание ошибок | ||||||||
| |||||||||
Примеры структуры запросов
{
"taskType": "GetOrder",
"params": {
"sync": {
"objectId": "199990377",
"timeout": 120
},
"orderGuid": "4989005e-e09d-447d-b9f0-0c0d42a5dec8",
"allExtendedProperties": true
}
}
{
"taskResponse": {
"order": {
"originalOrderId": "#6a4e1a",
"orderGuid": "4989005e-e09d-447d-b9f0-0c0d42a5dec8",
"midServerPiblicId": "MID11",
"status": {
"value": "Created",
"isBillPrinted": false,
"isAutoAccepted": true
},
"substate": "None",
"products": [
{
"id": 1024545,
"name": "Напиток",
"price": 300,
"quantity": 0,
"ingredients": [],
"voidReason": "Аннулирование чека",
"kdsState": "None",
"discountIds": []
},
{
"id": 1024488,
"name": "Суп мексиканский фасолевый",
"price": 460,
"quantity": 1,
"ingredients": [],
"kdsState": "None",
"discountIds": []
}
],
"price": {
"total": 460,
"sumToPay": 460
},
"totalPieces": 0,
"createdAt": "2026-05-19T11:53:30",
"readyTime": "2026-05-19T21:00:00",
"comment": "Тестовый заказ",
"personsQuantity": 1,
"waiterId": 9001,
"waiter": "Система",
"tableName": "WSA2",
"tableCode": 6,
"extraTableCodes": [],
"appliedPayments": [],
"discountIds": [],
"aggregatorId": "392110001",
"extProperties": {
"OrderQueueNumber": "A38",
"CourierPhone": "+7 235-964-0042",
"CourierName": "Dr. Alfredo Nitzsche",
"AggregatorId": "392110001",
"GuestAddress": "08159 Sheridan Dale",
"GuestPhone": "+7 980-753-0499",
"GuestName": "Vernon Reinger",
"Phone": "+7 980-753-0499"
},
"queuePosition": "A38",
"restaurantGuid": "fc1bbb36-4d7f-4ef9-80c2-33b78adbdb6a",
"categoryGuid": "1e113335-9f76-4cdf-a860-96adb5d33e77"
}
},
"responseCommon": {
"taskGuid": "5d4e43ca-a3f8-4484-ad08-4163a4cac491",
"taskType": "GetOrder",
"objectId": 199990377,
"agentGuid": "3bee8cde-d8dd-4609-9de7-bb42c5a722ef"
}
}
{
"responseCommon": {
"taskGuid": "044abf12-e35c-42f2-8e8d-d6e6d2bf8af5",
"taskType": "GetOrder",
"objectId": 199990377,
"agentGuid": "3bee8cde-d8dd-4609-9de7-bb42c5a722ef"
},
"error": {
"agentError": {
"code": "WsaOrderError",
"desc": "RkInternal: Ошибки MidServ [2202] The order \"{4089005e-e09d-447d-b9f0-0c0d42a5dec8}\" is not found."
}
}
}
{
"responseCommon": {
"taskGuid": "46f146fd-bb2c-41a8-b4aa-6587007bd0b4",
"taskType": "GetOrder",
"objectId": 331760005
},
"error": {
"wsError": {
"code": "Timeout",
"desc": "Agent is offline or has been unresponsive"
}
}
}