Link Поиск Меню Развернуть Документ

Использование веб-сокетов

Инвойсбокс API поддерживает работу с веб-сокетами, для случаев, когда необходимо получить уведомление об изменении статуса заказа (оплате), а также статусе интеграции без наличия публичного сервиса (домена, IP адреса), по которому система Инвойсбокс могла бы передать такое уведомление.

Точка подключения

Основной адрес: ws-gate.invoicebox.ru

При подключении авторизационный токен передается в query параметре token, например, wss://ws-gate.invoicebox.ru/v3/gate/rpc?token=b37c4c689295904ed21eee5d9a48d42e

Для подключения к серверу веб-сокетов используется только версия API /v3/.

Обработка уведомления об оплате заказа

После поступления оплаты по заказу, при условии наличия активного WebSocket соединения с системой Инвойсбокс, система Инвойсбокс вызовет метод onOrderStatusChange с аргументом в виде объекта OrderNotification

Пример уведомления
{
  "jsonrpc" : "2.0",
  "id" : "01823fdac4b7a7b5a3ac",
  "method" : "onOrderStatusChange",
  "params": [
    {
      "id" : "01823fda-667f-6ddb-02a3-c4b7a7b5a3ac",
      "description" : "Описание заказа",
      "currencyId" : "RUB",
      "amount" : 1487.52,
      "vatAmount" : 247.92,
      "basketItems" : [
      ],
      "merchantId" : "0302756d-9d83-60c9-0356-c228562c7581",
      "status" : "completed",
      "subtype" : "order",
      "createdAt" : "2023-07-27T13:30:53+00:00",
      "merchantOrderId" : "1658928653",
      "expirationDate" : "2023-07-29T00:00:00+00:00",
      "metaData" : {
         "@type" : "LodgingReservation",
         "name" : "park inn"
      },
      "fileIds" : {
      }
    }
  ]
}

Обработка диагностической информации

Для контроля корректности подключения устройств к сервису, а также их правильной настройки, система Инвойсбокс может вызывать метод getStatus.

Пример запроса
{
  "jsonrpc" : "2.0",
  "id" : "01823fdac4b7a7b5a3ac",
  "method" : "getStatus",
  "params": {
      "logQuantity" : 40
  }
}
Пример ответа
{
  "jsonrpc" : "2.0",
  "id" : "01823fdac4b7a7b5a3ac",
  "method" : "getStatus",
  "result": {
      "version" : "2.1",
      "type" : "device",
      "settings" : {
        ...
      },
      "log" : [
          "Line 1",
          "Line 2",
          "Line 3"
      ]
    }
}

Читать далее »