L'API iNode
L'API iNode vous permet d'accéder par programmation à vos données de trafic, appareils et liens. Cette page couvre tout ce dont vous avez besoin pour démarrer — de l'authentification de vos requêtes à l'exécution d'exemples API complets dans plusieurs langages. Que vous intégriez iNode dans un système existant ou que vous construisiez un flux de travail personnalisé, les sections ci-dessous vous guideront pas à pas dans la configuration.
Authentification
iNode prend en charge deux méthodes d'authentification : OAuth2 et Clé API. Choisissez la méthode qui convient le mieux à votre configuration. OAuth2 est recommandé pour les applications nécessitant des capacités de renouvellement de jeton, tandis que la méthode par clé API est plus simple et idéale pour les intégrations rapides.
OAuth2
Pour utiliser OAuth2, contactez l'équipe de support SMATS afin d'obtenir votre client_id et votre client_secret, qui seront associés à votre compte.
Une fois ces identifiants obtenus, vous pouvez utiliser le nom d'utilisateur et le mot de passe du compte propriétaire de votre entreprise, ainsi que le client_id et le client_secret, pour récupérer un jeton d'accès.
Examples
cURL
Python
Construisez le corps d'authentification comme indiqué ci-dessous. Notez que le content-type doit être défini sur application/x-www-form-urlencoded.
auth_body = {
'grant_type': 'password',
'username': USERNAME,
'password': PASSWORD,
'client_id': CLIENT_ID,
'client_secret': CLIENT_SECRET,
'scope': 'sync'
}auth_response = requests.post("https://inode.smatstraffic.com/api/oauth/token/", data=auth_body)
auth_response_json = auth_response.json()
access_token = auth_response_json['access_token']
refresh_token = auth_response_json['refresh_token']Clé API
La méthode par clé API est la façon la plus simple d'accéder à l'API iNode. Pour récupérer votre clé, naviguez vers Paramètres > Mon profil > Accès API dans le tableau de bord iNode et copiez la clé affichée.
Note importante
Seuls les utilisateurs iNode ayant le rôle Propriétaire peuvent accéder à la clé API depuis le tableau de bord.
Une fois votre clé API obtenue, incluez-la dans l'en-tête Authorization de chaque requête envoyée à l'API iNode, comme illustré dans les exemples ci-dessous.
Examples
Les exemples ci-dessous effectuent une requête GET vers le point de terminaison iNode v1 pour récupérer les liens.
cURL
curl 'https://inode.smatstraffic.com/api/v1/links/' -H 'Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxx'
Python
import requests
headers = {
'Authorization': 'Token xxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
response = requests.get('https://inode.smatstraffic.com/api/v1/links/', headers=headers)PHP
GO
req, err := http.NewRequest("GET", "https://inode.smatstraffic.com/api/v1/links/", nil)
if err != nil {
// handle err
}
req.Header.Set("Authorization", "Token xxxxxxxxxxxxxxxxxxxxxxxx")
resp, err := http.DefaultClient.Do(req)
if err != nil {
// handle err
}
defer resp.Body.Close()Exemple d'API
Les exemples Python suivants montrent comment effectuer des appels API authentifiés pour récupérer vos liens et appareils. Deux versions sont fournies — une pour chaque méthode d'authentification. Les deux exemples récupèrent la liste complète des liens et des appareils toutes les minutes en boucle.
Authentification OAuth2
Utilisez cet exemple si vous vous êtes authentifié via la méthode OAuth2. Il inclut une logique pour renouveler automatiquement votre jeton d'accès lorsqu'il expire (après 5 jours).
Commencez par définir vos identifiants et les URL des points de terminaison :
Python
Note Importante
Le content-type doit être application/x-www-form-urlencoded.
Ensuite, authentifiez-vous et stockez vos jetons. La fonction get_new_token gère le renouvellement lorsque le jeton d'accès expire :
Une fois l'authentification configurée, la boucle ci-dessous récupère vos liens et appareils toutes les 60 secondes. Si le jeton a expiré (réponse 401), il se renouvelle automatiquement avant de continuer :
Authentification par Clé API
Si vous avez récupéré votre clé API depuis iNode > Paramètres > Profil > Accès API (réservé aux Propriétaires), utilisez plutôt l'exemple suivant. Cette approche est plus simple — aucune gestion de jeton n'est requise.
Configurez les URL des points de terminaison et incluez votre clé API dans l'en-tête :
Python
import requestsBASE_URL = "https://inode.smatstraffic.com/api/"
AUTH_URL = BASE_URL + "oauth/token/"
V1_URL = BASE_URL + "v1/"
LINKS_URL = V1_URL + "links/"
DEVICES_URL = V1_URL + "devices/"
API_ACCESS_KEY = '<---api key retrieved from iNode profile page of the owner--->'
header = {
'Authorization': 'Token %s' % API_ACCESS_KEY
}Exécutez ensuite la boucle pour récupérer vos liens et appareils toutes les 60 secondes :
Documentation Swagger
La référence complète de l'API iNode est disponible via la documentation Swagger. Vous pouvez y accéder ici.
Note Importante
Vous devez être connecté à iNode pour accéder à la documentation Swagger.