L'API Antcas permet d'échanger des données entre plusieurs applications.
| ATTENTION: Faites attention à la sécurité lors de l'utilisation de cette API. Utilisez uniquement TLS et n'utilisez jamais le port sur une adresse accessible au public. |
Remarque: Comme l'API doit vérifier le token à chaque appel, cela peut entraîner une charge système plus élevée.
Dans la Gestion de Projet, un nouveau
Port API peut être ajouté. La description se trouve dans le chapitre Associer un Port au Projet.
Afin qu'une requête puisse être effectuée, celle-ci doit être authentifiée à l'aide d'un Token. La création d'un token est expliquée plus en détail dans le chapitre Gérer les Tokens.
L'API prend en charge plusieurs formats d'entrée : Requêtes HTTP, JSON et XML. La sortie peut être au format HTML, Texte, JSON ou XML. L'encodage des caractères est toujours UTF-8.
Remarque: Un appel par un élément dans le navigateur entraîne l'erreur 428 (Precondition Required). Il s'agit de la protection contre les attaques XSS, qui ne peut pas être contournée. Cela empêche une attaque sur Antcas Control.
Pour une requête POST ou PUT, les données peuvent être écrites dans le contenu au format correspondant. Chaque variable est sensible à la casse, ce qui signifie que la distinction entre majuscules et minuscules est faite. Le retour se fait cependant toujours dans le format déclaré. Le format de sortie peut être décrit via l'en-tête ou par la variable format. Le format d'entrée est toujours automatiquement reconnu.
GET /visu/var/eid?format=json&token=tokenid HTTP/1.1
Host: serveraddr.com
Content-Type: application/json
Les formats suivants sont pris en charge dans l'en-tête et comme variable format :
| Content-Type | Variable | Format |
|---|---|---|
| application/json | json | JSON |
| application/xml | xml | XML |
| text/plain | text | Texte |
| text/csv | csv | CSV* |
| (autres) | html | HTML |
*Pris en charge uniquement comme format de sortie.
Remarque: Les formats Texte et CSV contiennent le BOM UTF-8. Celui-ci peut être désactivé à l'aide de la variable bom=FALSE.
Si une valeur est décrite par plusieurs formats, le dernier format a la priorité :
Les variables suivantes sont définies globalement.
| Variable | Description |
|---|---|
| format | Format de la sortie. |
| bom | BOM au format UTF-8. La valeur par défaut est TRUE. |
| key | Lit uniquement une variable qui a été déclarée. Cette méthode est inefficace, car toutes les données sont préparées et filtrées ensuite. Elle ne doit être utilisée que pour de petites quantités de données. |
| header | Afficher l'en-tête. La valeur par défaut est TRUE. |
| compact | Regroupe tous les sous-éléments. Si aucune valeur booléenne n'est déclarée, cette valeur est prise pour regrouper les variables. Sinon, la valeur . est utilisée. |
| values | Renvoie uniquement les valeurs et non les noms de variables. Cette option n'est disponible que pour HTML, CSV et Texte. |
| minimal | Alias pour header=FALSE, compact=minimal et values=TRUE. |
| csvdel | Délimiteur CSV. La valeur par défaut est ; |
| csvenc | Parenthèses d'inclusion CSV. La valeur par défaut est " |
| csvesc | Caractère d'échappement CSV. La valeur par défaut est \ |
Les variables suivantes peuvent être utilisées globalement, ainsi que pour des variables individuelles. Pour s'adresser à une variable individuelle, celle-ci est définie comme suit :
time*:hr=true
L'exemple ci-dessus s'applique à toutes les variables commençant par time et à time elle-même. Toutes les règles sont vérifiées les unes après les autres. Ainsi, la dernière règle correspondante a la priorité. La recherche se fait à l'aide d'une expression régulière.
| Variable | Description |
|---|---|
| hr | Lisible par l'Homme. Les variables sont, si possible, converties en données lisibles par l'homme. La valeur par défaut est TRUE pour le format HTML, CSV et Texte. |
| numdec | Nombre de décimales. |
| numths | Séparateur de milliers. |
| numdot | Séparateur décimal. |
| prefix | Ajouter du texte avant la variable. |
| suffix | Ajouter du texte après la variable. |
Dans les chapitres suivants, toutes les applications de l'API sont définies.