Antcas API

Antcas API позволяет обмениваться данными между несколькими приложениями.

ПРЕДУПРЕЖДЕНИЕ: Будьте осторожны с безопасностью при использовании этого API. Используйте только TLS и никогда не используйте порт на публичном адресе.

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

Настройка порта API

В разделе Управление проектом можно добавить новый порт API. Описание см. в разделе Назначение порта проекту.

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

Форматы и значения

API поддерживает несколько форматов входных данных: HTTP-запросы, JSON и XML. Выходные данные могут быть в формате HTML, текста, JSON или XML. Кодировка символов всегда UTF-8.

Примечание: Вызов элемента в браузере приводит к ошибке 428 (Precondition Required). Это защита от атак XSS, её нельзя обойти. Она предотвращает атаку на Antcas Control.

При POST- или PUT-запросе данные могут быть записаны в контенте соответствующего формата. Каждая переменная при этом чувствительна к регистру, то есть различает заглавные и строчные буквы. Однако возврат данных всегда происходит в объявленном формате. Формат вывода можно указать через заголовок или переменную format. Формат ввода всегда определяется автоматически.

GET /visu/var/eid?format=json&token=tokenid HTTP/1.1
Host: serveraddr.com
Content-Type: application/json

Следующие форматы поддерживаются в заголовке и переменной format:

Content-Type Переменная Формат
application/json json JSON
application/xml xml XML
text/plain text Текст
text/csv csv CSV*
(другие) html HTML

*Поддерживается только как формат вывода.

Примечание: Форматы Текст и CSV содержат UTF-8 BOM. Его можно отключить с помощью переменной bom=FALSE.

Если значение определено через несколько форматов, то приоритет имеет последний формат:

  • HTTP-заголовок (только формат вывода через Content-Type)
  • GET
  • POST
  • JSON/XML (как POST- или PUT-контент)

Входные переменные

Следующие переменные определены глобально.

Переменная Описание
format Формат вывода.
bom BOM в формате UTF-8. По умолчанию TRUE.
key Чтение только одной переменной, которая была объявлена. Этот метод неэффективен, так как все данные подготавливаются и фильтруются только после этого. Он должен использоваться только для небольших объемов данных.
header Вывод заголовка. По умолчанию TRUE.
compact Сводит все подэлементы вместе. Если не указан булевский значение, то используется этот параметр для объединения переменных. В противном случае используется значение ..
values Возвращает только значения, а не имена переменных. Эта опция доступна только для HTML, CSV и текста.
minimal Псевдоним для header=FALSE, compact=minimal и values=TRUE.
csvdel Разделитель CSV. По умолчанию ;
csvenc Скобки заключения CSV. По умолчанию "
csvesc Символ экранирования CSV. По умолчанию \

Следующие переменные могут использоваться глобально, а также для отдельных переменных. Чтобы обратиться к одной переменной, она определяется следующим образом:

time*:hr=true

Приведенный выше пример обращается ко всем переменным, начинающимся с time и самой time. Проверяются все правила по порядку. Таким образом, последнее подходящее правило имеет приоритет. Поиск осуществляется с помощью регулярного выражения.

Переменная Описание
hr Человеко-читаемый. Переменные, если возможно, преобразуются в данные, читаемые человеком. По умолчанию TRUE для форматов HTML, CSV и текста.
numdec Количество знаков после запятой.
numths Разделитель тысяч.
numdot Десятичный разделитель.
prefix Добавить текст перед переменной.
suffix Добавить текст после переменной.

Пути

В следующих разделах определены все применения API.

Подчиненные страницы