Antcas API позволяет обмениваться данными между несколькими приложениями.
| ПРЕДУПРЕЖДЕНИЕ: Будьте осторожны с безопасностью при использовании этого API. Используйте только TLS и никогда не используйте порт на публичном адресе. |
Примечание: Поскольку 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.
Если значение определено через несколько форматов, то приоритет имеет последний формат:
Следующие переменные определены глобально.
| Переменная | Описание |
|---|---|
| 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.