API

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

Программа поддерживает 3 варианта API:

  1. REST API. Команды и данные передаются через протокол HTTP.
  2. API буфера обмена. Команды и данные передаются через буфер обмена.
  3. API командной строки. Команды и данные передаются в строке запуска программы.

REST API

Вы можете ознакомиться с REST API, посетив AzureLabel API документацию.

Для работы с данным API программа запускается в режиме API сервера, для этого используется параметр в командной строке -apiserver. Также для запуска программы в режиме API сервера вы можете использовать меню Windows Пуск:

Попробовать API в действии вы можете перейдя на локальную страницу документации через контекстное меню API сервера в трее:

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

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

Для работы с данным API программа запускается в режиме API сервера, для этого используется параметр в командной строке -apiserver. Также для запуска программы в режиме API сервера вы можете использовать меню Windows Пуск:

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

(это соответствует настройке "apiServer": {"useClipboardInsteadOfHttpForDataExchange": true} в файле настроек программы config.json).

В данном API приложение принимает запросы через буфер обмена и выполняет команды или отдает данные в буфер обмена. Для этого сервер с периодичностью в 1 секунду просматривает содержимое буфера обмена. Если буфер обмена содержит текстовые данные и эти данные являются запросом серверу, то сервер выполняет команды и помещает в буфер обмена ответ.

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

Запрос серверу

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

  1. AzureLabelClipboardAPIRequest
  2. Путь вместе с параметрами как в документации к REST API. Путь и параметры объединяются по правилу составления URI. Например, /templates?encoding=utf-8&format=text
  3. Данные в формате JSON так как они описаны в секции "Request body" раздела "/labels/print" документации к REST API.

    Необязательная строка.

Вы можете ознакомиться с REST API, посетив AzureLabel API документацию.

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

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

AzureLabelClipboardAPIRequest
/labels/preview
{
    "label": "Моя этикетка",
    "dataSource": {
        "sourceType": "readyData",
        "readyData": [
            {
                "PrintQuantity": 3,
                "Name": "AzureLabel Pro, годовая подписка",
                "Barcode": "5678901234562",
                "Price": 69,
                "Unit": "шт",
                "Code": "pro-y"
            },
            {
                "PrintQuantity": 1,
                "Name": "AzureLabel Corporate, годовая подписка",
                "Barcode": "8901234567890",
                "Price": 102,
                "Price2": 95,
                "PriceOld": 110,
                "Unit": "шт",
                "Code": "corp-y"
            }
        ]
    }
}

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

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

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

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

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

API командной строки

Выполнить команду из файла с данными

-allinonefile <Путь к файлу с данными> [-encoding <Кодировка файла>]

  • <Путь к файлу с данными>. Полный путь к файлу с данными.

    Данные в формате JSON так как они описаны в секции "Request body" раздела "/labels/print" документации к REST API.

    К этим данным должен быть добавлен один объект JSON:

    "request":"<Путь>"

    , где <Путь> - путь как в документации к REST API.
    Например, "request":"/labels/print".

    Вы можете ознакомиться с REST API, посетив AzureLabel API документацию.

  • <Кодировка файла>. Если не указана, то будет использоваться кодировка по умолчанию в системе.

Открыть дизайнер шаблонов

-designer [{-templateid <ID шаблона> | -templatename <Название шаблона>}]

Запустить API сервер

-apiserver [-username <Имя пользователя>] [-userpass <Пароль пользователя>]

  • <Имя пользователя>. Имя пользователя в справочнике Пользователи. При установленном пароле на вход в программу, если не указан или указан, но такого нет в программе, будет выведено окно входа в программу.

  • <Пароль пользователя>. Пароль пользователя в справочнике Пользователи. Если не указан, но пароль у пользователя установлен, то будет выведено окно входа в программу.

Выполнить задачу

-performtask -taskid <ID задачи>

  • <ID задачи>. ID задачи из справочника Задачи.

Выгрузить список шаблонов

-templates -file <Путь к файлу куда будет выгружен список шаблонов> [-encoding <Кодировка файла>] [-favorites] [-detailed]

  • <Путь к файлу куда будет выгружен список шаблонов>. Полный путь к файлу, в который будет выгружен список шаблонов ценников.

  • <Кодировка файла>. Если не указана, то будет использоваться кодировка по умолчанию в системе.

  • -favorites. Выгружать только "избранное".

  • -detailed. Выгружать детальную информацию.

Открыть Руководство пользователя

-help