Connexion initiale
La première requête doit être un login dans un domaine spécifique afin d’obtenir un token (bearer).
Ce token devra ensuite être fournit dans les header des requêtes subséquentes.
| Paramètre | Type | Requis | Description | 
|---|---|---|---|
| user | String | Oui | Nom d’utilisateur. | 
| password | String | Oui | Mot de passe. | 
| domainId | String | Oui | Domaine d’authentification. | 
La requête ci-dessous permet de s’authentifier avec les paramètres mentionnés:
curl --insecure -v \
     'https://<host>/SNV4SRV-ws-war/api/v1/login?user=<user>&password=<password>&domainId=<domain>'
En ligne de commande, attention à bien mettre l’URL entre guillemets ('), sinon cela ne fonctionnera pas car le & est utilisé pour lancer un processus en arrière-plan.
Si l’authentification est passée, le serveur renverra le code HTTP 200 ainsi que le message suivant:
{"message":"logged in domain <domain>"}
En cas d’erreur d’accès (codes 401 ou 403), les éléments suivants doivent être vérifiés:
- le nom d’utilisateur et mot de passe sont corrects (et ont été correctements échappés en ligne de commande).
- l’utilisateur est actif dans SYS02 (ou dans l’ActiveDirectory).
- l’accès à l’API a été activé en SYS22.
Il n’y a pas de paramètre spécial pour qu’un utilisateur ait accès à l’API. Si l’utilisateur peut se connecter à SAINet (via le client riche), alors il a accès l’API.
Dans la réponse HTTP retournée, il y a 2 valeurs retournées dans les en-têtes (headers):
| Cookie | Description | 
|---|---|
| Sai-Server-Instance | Nom de l’instance sur lequel la requête a été faite. Cette valeur doit être précisée dans les appels, notamment dans le cas de multi-instances. S’il n’y a qu’une seule instance, ce header n’est pas nécessaire. | 
| Sai-Bearer-Token | Token d’authentification pour les appels. Ce token doit être ensuite passé dans le header Authorizationsous la formeAuthorization: Bearer <token>. Ce header est nécessaire pour tous les prochains appels. | 
Les en-têtes se présentent comme suit dans la requête d’authentification (grâce à l’option -v de cURL):
< sai-bearer-token: ZXlKMGVYQWlPaUpLVjFRaUxDSmxZDVySV9Fa3pmMA==
< sai-server-instance: NA
Il suffit de reprendre les valeurs ci-dessus dans les requêtes suivantes:
curl --insecure \
     -H "Sai-Server-Instance: NA" \
     -H "Authorization: Bearer ZXlKMGVYQWlPaUpLVjFRaUxDSmxZDVySV9Fa3pmMA==" \
     'https://<host>/SNV4SRV-ws-war/api/v1/SYS02'
L’option -v génère du texte parasite à l’intérieur de la réponse JSON, le rendant invalide et empêchant son formatting. Il ne faut donc l’utiliser que lors du login afin de récupérer le token d’authentification.