НазначениеПолучить заказ по Objectid+OrderGuid
Тип запросаасинхронный/синхронный
Поддерживаемая версия агентаv1, v2
PluggetSystemTypeRKMid

Формат запроса

{
  "taskType": "GetOrder",
  "params": {
    "async": {
      "objectId": number,
       "timeout": number
    },
    "sync": {
      "objectId": number,
       "timeout": number
    },
     "orderGuid": "guid"
  }
}

ПараметрТипОбязательныйОписание
taskTypestring+Тип задачи
async

Асинхронный вызов метода (либо синхронный, либо асинхронный)
sync

Синхронный вызов метода (либо синхронный, либо асинхронный)
timeoutint-Время ожидания ответа от агента в секундах, по умолчанию 120 секунд
orderGuidstring+Внутренний киперовский GUID заказа, информацию о котором требуется получить
objectIdint+Код ресторана в системе лицензирования

Формат ответа


   "responseCommon":{ 
      "taskGuid":"guid",
      "taskType":"GetOrder",
      "objectId": number
   },
   "error":{ 
      "wsError":{ 
         "code":"string",
         "desc":"string"
      }
   }
}

Параметр

ТипОписание
taskGuidguidУникальный код этой задачи используется при получении задачи через очередь
taskTypestring enumТип задачи
objectIdintКод ресторана в системе лицензирования
error
Контейнер ошибок, внутри детализация по связанным системам
- wsError
Контейнер ошибок, см Описание ошибок

Формат асинхронного ответа

// Успешный ответ
{
  "taskResponse": {
     "order": {
        "originalOrderId": "string", // ВНЕШНИЙ ID (обычно, числовой)
        "createdAt": "2008-10-17T00:00:00",
        "status": {
           "value": "string",
           "isBillPrinted": false
        },
        "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
        },
        "appliedPayments": [ // только WSA 2
        {
            "amount": number,
            "guid": "guid",
            "payType": "enum"
        }],
        "personsQuantity": number,
        "tableCode": number,
        "waiterId": number,
        "substate": "string",  
        "queuePosition": "string",
        "rejectingReason": {
            "code": "string",
            "message": "string"
        },
        "discountIds": [
            {
                "id": number,
                "value":number
            }
        ],
        "queuePosition": "string",
        
"payMethod": "string"   
      }
  },
  "responseCommon": {
    "taskGuid": "guid",
    "taskType": "GetOrder",
    "objectId": number
  }
}
 
// Ответ с ошибкой
{
  "responseCommon": {
    "taskGuid": "guid",
    "taskType": "GetOrder",
    "objectId": number
  },
  "error": {
    "wsError": {
      "code": "string",
      "desc": "string"
    },
    "agentError": {
      "code": "string",
      "desc": "string"
    }
  }
}

Параметр

Тип параметра

Обязательный

Описание

order
да
originalOrderIdstring
Внешний идентификатор заказа, переданного в запросе на создание заказа
status.valuestring

Статус заказа, возможные варианты:
- Unknown - заказ не найден;
- Created - новый заказ;
- Accepted - заказ принят;
- Canceled - отменен по внешней команде во время ожидания подтверждения заказа от кассира;
- Ready - приготовлен (задел на будущее);
- Closed - закрыт (считается выполненным в ресторане)

status.isBillPrintedbool
Флаг, показывающий, распечатан ли пречек заказа.
delivery. expectedTimeDateTime
К какому времени приготовить заказ
productsarrayдаСостав заказа
- idintдаИдентификатор блюда
- namestring
Название блюда

- price

string
Разделителем целой и дробной части суммы должна быть точка.
- quantityfloat (нецелое - для полпорции?)даКол-во блюд

- voidingReason

string
Причина удаления блюда из заказа (только агент v2)
- discountIdsarray-Скидки блюда
     - idint+Идентификатор скидки
     - valuedecimal-Значение скидки. Сумма или процент. Принимает отрицательные значения
- ingredientsarray
Ингредиенты или состав комбо-блюда
– idintдаИдентификатор ингредиента
commentstring
Комментарий к заказу
price.totalmoneyдаПолная стоимость заказа. Разделителем целой и дробной части суммы должна быть точка.
appliedPayments

Оплаты и предоплаты. (только WSA 2)

- amount

money+Значение суммы на оплату. Разделителем целой и дробной части суммы должна быть точка. 
- guidguid+

Уникальный идентификатор факта оплаты (поле line_guid от R-Keeper)

- payTypeenum+

Тип оплаты: Cash, Card, Unknown.

personsQuantityint
Количество персон
tableCodeint

Код стола (агент v2 только)

waiterIdint+Код официанта (агент v2 только)
errorstring enum
Контейнер ошибок, см Описание ошибок
substatestring

Расширенный статус заказа

queuePositionstring

Расширенное свойство: номер эл. очереди киоска (может не быть, если нет такого расширенного свойства)

- rejectingReason.codestring
Код отмены
- rejectingReason.messagestring
Причина отмены заказа
discountIdsarray
Скидки
- idint+Идентификатор скидки
- valuedecimal
Значение скидки. Сумма или процент. Принимает отрицательные значения

queuePosition

string?-

Номер очереди, который генерирует RK7. WSA 2.7.7.1, RK7 7.06.05.459. Формируется по правилу: код кассы транслируется латинскую букву + последние цифры номера заказа.

payMethodstring?-Способ оплаты. С версии WSA 2.8.2.1