Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Waiter позволяет работать с базой зарегистрированных гостей и пользоваться механиками лояльности и внутренних платежей при использовании на предприятии системы отличной от iikoCard5.

...

Expand
titleПривязка гостя (Чекин)

Content-Type

application/json

Method

POST

Path

orders/{id}/checkin

Parameters

Parameters

Type

Description

id (path)

UUID

Id заказа

Body

CheckinRequest

Тело запроса

Payload

Code Block
languagejson
{
    "Value": "149725735",
    "WaiterPin": "12345"
}

Responses

Status Code

Content

Description

204 No Content

-

БРД гость был успешно привязан к заказу плагином внешней системы.

200 OK

CheckinResponse

БРД гость не был привязан.
WaiterMessage содержит сообщение, которое увидит официант во всплывающем окне.

Response sample
Code Block
languagejson
{
    "WaiterMessage": "LoyaltySystem error!"
}

DTO

CheckinRequest
Anchor
checkinRequest
checkinRequest

Property

Type

Description

Value

String

Отсканированное или введённое вручную значение идентификатора гостя.

WaiterPin

String

ПИН-код текущего официанта.

CheckinResponse
Anchor
checkinResponse
checkinResponse

Property

Type

Description

WaiterMessage

<required>

String

Сообщение, которое будет отображено официанту во всплывающем окне.

Expand
titleОтвязка гостя

Content-Type

application/json

Method

DELETE

Path

orders/{id}/checkin

Parameters

Parameters

Type

Description

id (path)

UUID

Id заказа

Body

UncheckinRequest

Тело запроса

Payload
Code Block
languagejson
{
    "WaiterPin": "12345"
}

Responses

Status Code

Content

Description

204 No Content

-

Приложение отобразит стандартное сообщение об успешной операции.

200 OK

UncheckinResponse

Используется для отображения кастомного сообщения официанту. Например: о неудачной попытке отвязать гостя от заказа.

Response sample
Code Block
languagejson
{
    "WaiterMessage": "Guest couldn't be unbinded!"
}

DTO

UncheckinRequest
Anchor
uncheckinRequest
uncheckinRequest

Property

Type

Description

WaiterPin

String

ПИН-код текущего официанта.

UncheckinResponse
Anchor
uncheckinResponse
uncheckinResponse

Property

Type

Description

WaiterMessage

<required>

String

Сообщение, которое будет отображено официанту во всплывающем диалоговом окне.

Expand
titleПолучение лояльности

Request

Method

GET

Path

orders/{id}/loyalty

Parameters

Parameters

Type

Description

id (path)

UUID

Id заказа

Request sample

Code Block
GET http://{plugin_host}/orders/{order_id}/loyalty
Code Block
curl -X 'GET' \
  'http://{plugin_host}/orders/{order_id}/loyalty'

plugin_host - хост, на котором развернуто API плагина внешней системы лояльности

order_id - Id заказа

Response

Status Code

Content-Type

Description

204 No Content

-

Данных по лояльности нет

200 OK

application/json

Передача информации о подарочных блюдах и кошельках гостя.

200 OK

multipart/form-data (спецификация)

Передача информации о подарочных блюдах, кошельках гостя и фотографии гостя.

Вам не Не нужно реализовывать все ответы. Выберите один или несколько, которые подходят для вашей задачи.

Response sample
Code Block
languagejson
Method: GET
Code: 200 (OK)
Content-Type: application/json

{
    "ProductSKUs": 
    [
        "11015",
        "11068",
        "10549"
    ],
    "UserWallets":
    [
        {
            "Id": "f87b4e69-2f01-46e7-9577-0b1b1534e121",
            "Name": "Rewards",
            "Balance": 142.15
        },
        {
            "Id": "5837a0b7-d509-4245-9062-1bf56f0db807",
            "Name": "Deposit",
            "Balance": 1000.57
        }
    ],
    "Suggestions":
    [
        "Suggestion 1",
        "Suggestion 2"
    ]
}
Code Block
Method: GET
Code: 200 (OK)
Content-Type: multipart/form-data

--BOUNDARY
Content-Type: application/json
Content-Disposition: form-data; name=loyalty

{"productSKUs":[],"userWallets":[],"suggestions":[],"waiterMessage":null}
--BOUNDARY
Content-Disposition: form-data; name=photo

/*массив байтов фотографии*/
--BOUNDARY--

DTO

LoyaltyResponse
Anchor
loyaltyResponse
loyaltyResponse

Property

Type

Description

Suggestions

List<string>

Текстовые подсказки.

ProductSKUs

List<String>

Артикул блюд, которые будут отображены официанту на странице чекина. Используется для отображения подарков и т.п. Официант может кликнуть на блюдо, добавив его к заказу.

UserWallets

List<ClientWallet>

Список кошельков гостя для отображения официанту.

WaiterMessage

String

Note

Используется исключительно для отображения сообщения о неуспешном выполнении операции.

ClientWallet
Anchor
wallet
wallet

Property

Type

Description

Id

<required>

UUID

Идентификатор кошелька

Name

<required>

String

Название кошелька

Balance

<required>

Decimal

Баланс кошелька

Expand
titleПолучение лимитов оплат бонусами и депозитом

Content-Type

application/json

Method

GET

Path

orders/{id}/paymentLimits

Parameters

Parameters

Type

Description

id (path)

UUID

Id заказа

Response

Status Code

Content

Description

200 OK

PaymentLimitsResponse

Response sample
Code Block
languagejson
{
    "BonusSum": 50.7,
    "DepositSum": 137.89
}

DTO

PaymentLimitsResponse
Anchor
paymentLimits
paymentLimits

Property

Type

Description

BonusSum

decimal

Доступная сумма для оплаты бонусами по заказу.

DepositSum

decimal

Доступная сумма для оплаты депозитом по заказу.

...