Antcas API

Interfejs Antcas API umożliwia wymianę danych między wieloma aplikacjami.

OSTRZEŻENIE: Uwaga na bezpieczeństwo podczas korzystania z tego interfejsu API. Używaj tylko TLS i nigdy nie używaj portu na publicznym adresie.

Uwaga: Ponieważ interfejs API musi sprawdzać token przy każdym wywołaniu, może to powodować większe obciążenie systemu.

Konfiguracja portu API

W sekcji Zarządzanie projektem można dodać nowy port API. Opis znajduje się w rozdziale Przypisanie portu do projektu.

Aby utworzyć żądanie, musi ono zostać uwierzytelnione za pomocą tokenu. Tworzenie tokenu jest dokładniej omówione w rozdziale Zarządzanie tokenami.

Formaty i wartości

Interfejs API obsługuje kilka formatów wejściowych: zapytania HTTP, JSON i XML. Wyjście może być w formacie HTML, tekstu, JSON lub XML. Kodowanie znaków jest zawsze UTF-8.

Uwaga: Wywołanie przez element w przeglądarce powoduje błąd 428 (Precondition Required). Jest to ochrona przed atakami XSS, która nie może być omijana. Zapobiega ona atakowi na Antcas Control.

W przypadku żądania POST lub PUT dane mogą być zapisywane w treści odpowiedniego formatu. Każda zmienna jest wrażliwa na wielkość liter, co oznacza, że różnica między wielkimi i małymi literami ma znaczenie. Wynik zawsze jest zwracany w deklarowanym formacie. Format wyjścia można określić za pomocą nagłówka lub zmiennej format. Format wejściowy jest zawsze automatycznie rozpoznawany.

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

Poniższe formaty są obsługiwane w nagłówku i jako zmienna format:

Content-Type Zmienna Format
application/json json JSON
application/xml xml XML
text/plain text Tekst
text/csv csv CSV*
(inne) html HTML

*Obsługiwany tylko jako format wyjściowy.

Uwaga: Formaty tekstowe i CSV zawierają UTF-8 BOM. Można go wyłączyć za pomocą zmiennej bom=FALSE.

Jeśli wartość jest opisana w kilku formatach, ostatni format ma pierwszeństwo:

  • Nagłówek HTTP (tylko format wyjściowy za pomocą Content-Type)
  • GET
  • POST
  • JSON/XML (jako treść POST lub PUT)

Zmienne wejściowe

Poniższe zmienne są globalnie zdefiniowane.

Zmienna Opis
format Format wyjścia.
bom BOM w formacie UTF-8. Domyślnie TRUE.
key Odczytuje tylko jedną zmienną, która została zadeklarowana. Ta metoda jest nieskuteczna, ponieważ wszystkie dane są przygotowywane i filtrowane dopiero potem. Powinna być używana tylko przy małych ilościach danych.
header Wyświetl nagłówek. Domyślnie TRUE.
compact Złącza wszystkie podelementy w siebie. Jeśli nie zadeklarowano wartości logicznej, używany jest ten wartość, aby połączyć zmienne. W przeciwnym razie używana jest wartość ..
values Zwraca tylko wartości, a nie nazwy zmiennych. Ta opcja jest dostępna tylko dla HTML, CSV i tekstu.
minimal Alias dla header=FALSE, compact=minimal i values=TRUE.
csvdel Rozdzielacz CSV. Domyślnie ;
csvenc Nawiasy zamykające CSV. Domyślnie "
csvesc Znak ucieczki CSV. Domyślnie \

Poniższe zmienne mogą być używane globalnie, a także dla pojedynczych zmiennych. Aby odwołać się do pojedynczej zmiennej, definiuje się ją w następujący sposób:

time*:hr=true

Powierzchowny przykład odnosi się do wszystkich zmiennych rozpoczynających się od time i samej zmiennej time. Sprawdzane są wszystkie reguły w kolejności. Ostatnia pasująca reguła ma pierwszeństwo. Wyszukiwanie odbywa się za pomocą wyrażeń regularnych.

Zmienna Opis
hr Czytelny dla człowieka. Zmienne, jeśli to możliwe, są przekształcane w dane czytelne dla człowieka. Domyślnie TRUE dla formatu HTML, CSV i tekst.
numdec Liczba miejsc po przecinku.
numths Rozdzielacz tysięcy.
numdot Dziesiętny separator.
prefix Dodaj tekst przed zmienną.
suffix Dodaj tekst po zmiennej.

Ścieżki

W poniższych rozdziałach zdefiniowano wszystkie zastosowania interfejsu API.

Podrzędne strony