Tout script a besoin d'un token d'API pour pouvoir se connecter à Carto-SI.
Les tokens sont créés dans la section API de la page Administration.
Sur l'illustration, le tenant est default et le token est eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w
Intégration du token dans une requête HTTP
Le token et le tenant sont transférés dans l'entête Authorization en respectant le format suivant où TOKEN est la
valeur du token et TENANT la valeur du tenant :
Si le token n'est pas reconnu, l'API répondra avec un statut HTTP 401.
Exemple de script
Les scripts suivants se contentent de faire un appel à http://localhost:1080/api/v2/application/ en s'identifiant avec un token d'API.
Script sous Unix
Code
#!/bin/bash# remplacez la valeur exemple ci-dessous par celle de votre tokenTOKEN='eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w'# remplacez la valeur exemple ci-dessous par celle de votre tenantTENANT='default'# remplacez la valeur exemple ci-dessous par celle de votre hostHOST='http://localhost:1080'API="/api/v2/application/"URLAPI=${HOST}${API}echo TOKEN = $TOKENecho TENANT = $TENANTecho URLAPI = $URLAPIecho ""echo "---"curl "$URLAPI" -H 'Authorization: Bearer {"token":"'"$TOKEN"'","myTenant":{"id":"'"$TENANT"'"}}'echo ""echo "---"
Script python
Code
#! /usr/bin/env python3# remplacez la valeur exemple ci-dessous par celle de votre tokenTOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w'# remplacez la valeur exemple ci-dessous par celle de votre tenantTENANT = 'default'# remplacez la valeur exemple ci-dessous par celle de votre hostHOST = 'http://localhost:1080'print("TOKEN = %s" % TOKEN)print("TENANT = %s" % TENANT)print("HOST = %s" % HOST)#############################################################################import requestsimport sysheaders = { "Authorization": 'Bearer {"token":"%s","myTenant":{"id":"%s"}}' % (TOKEN, TENANT)}URLAPI = HOST + "/api/v2/application"rep = requests.get(URLAPI, headers=headers)if rep.status_code != 200: print("Erreur %d : %s" % (rep.status_code, rep.text)) sys.exit(1)for activity in rep.json(): print("- " + activity["label"])
Script sous Windows
Code
@echo offrem remplacez la valeur exemple ci-dessous par celle de votre tokenset TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w"rem remplacez la valeur exemple ci-dessous par celle de votre tenantset TENANT="default"rem remplacez la valeur exemple ci-dessous par celle de votre hostset HOST="http://localhost:1080"echo TOKEN = %TOKEN%echo TENANT = %TENANT%echo HOST= %HOST%rem exemple of upload filecurl -H "Authorization: Bearer {\"token\":\"%TOKEN%\", \"myTenant\":{\"id\":\"%TENANT%\"}}" "%HOST%/api/v2/application/"