API буфера обмена

Этот API позволяет интегрироваться со сторонними программами, работающими на удалённом сервере по RDP, в случае если установка AzureLabel на удалённый сервер невозможна. В таких случаях обмен данными происходит через буфер обмена, общий для локального и удалённого компьютеров.

Для использования этого API программа должна быть запущена в режиме Сервер Печати (Приложение).

После первого запуска необходимо включить опцию Использовать API через буфер обмена через контекстное меню значка программы в трее:

Включение Clipboard API

В этом режиме приложение опрашивает буфер обмена каждую секунду. Если в нём обнаружен текст, соответствующий ожидаемому формату запроса, команда обрабатывается, а ответ записывается обратно в буфер обмена.

Запрос передаётся в виде текстового блока в буфере обмена и должен иметь следующую структуру:

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

Запрос должен быть размещён в буфере обмена в виде трёх отдельных строк в следующем порядке:

  1. AzureLabelClipboardAPIRequest — фиксированный идентификатор начала запроса.
  2. Путь к конечной точке (endpoint), включая параметры запроса, как указано в документации по REST API.
    Примеры:

    /labels?encoding=utf-8&format=text

    /labels/print

  3. Необязательное тело запроса в формате JSON — такое же, как описано в разделе Request body конечной точки /labels/print. Эта строка требуется только в случае, если конечная точка ожидает данные.

Полный список доступных конечных точек REST API вы можете найти в документации по REST API AzureLabel.

Примеры запросов

Предварительный просмотр с готовыми данными:

AzureLabelClipboardAPIRequest
/labels/preview
{
    "label": "Моя этикетка",
    "printData": {
        "source": "ready",
        "data": [
            {
                "PrintQuantity": 3,
                "Имя": "AzureLabel Pro, годовая подписка",
                "Штрихкод": "5678901234562",
                "Цена": 69,
                "Единица": "шт",
                "Код": "pro-y"
            },
            {
                "PrintQuantity": 1,
                "Имя": "AzureLabel Corporate, годовая подписка",
                "Штрихкод": "8901234567890",
                "Цена": 102,
                "Цена 2": 95,
                "Цена старая": 110,
                "Единица": "шт",
                "Код": "corp-y"
            }
        ]
    }
}

Получение списка всех этикеток в папке Labels:

AzureLabelClipboardAPIRequest
/labels?encoding=utf-8&format=text

Ответ сервера

Программа помещает в буфер обмена ответ, в котором первая строка это:

  • AzureLabelClipboardAPIAnswer::OK - при отсутствии ошибки. Последующие строки - это данные от программы, если запрос подразумевал получение данных от программы.
  • AzureLabelClipboardAPIAnswer::ERROR - в случае ошибки. Последующие строки - это описание ошибки.