Premiers pas
Tous les appels directs aux API v3 de Local Logic utilisent des jetons d'accès (JSON Web Tokens) pour autoriser les requêtes.
Récupération du jeton : POST oauth/token
POST oauth/token
Les jetons peuvent être récupérés depuis le point de terminaison https://api.locallogic.co/oauth/token avec un client_id et un client_secret en paramètres, que nous vous transmettrons de façon confidentielle. Assurez-vous de conserver ces identifiants en lieu sûr.
Paramètres du corps de la requête
Les paramètres suivants doivent être envoyés dans le corps de la requête au format JSON afin de récupérer un jeton :
| Paramètre | Statut | Description |
|---|---|---|
| client_id | requis | Identifiant client qui vous est fourni via un lien sécurisé 1Password lorsque vous devenez client de Local Logic. Conservez cette valeur et ne la partagez pas! |
| client_secret | requis | Secret client qui vous est fourni via un lien sécurisé 1Password lorsque vous devenez client de Local Logic. Conservez cette valeur et ne la partagez pas! |
| audience | optionnel | Ce paramètre est utilisé lors de la récupération d'un JWT destiné à l'API IOReports. |
Exemple de réponse
POST https://api.locallogic.co/oauth/token avec les paramètres de corps suivants
{
"client_id": "{CLIENT_ID}",
"client_secret": "{CLIENT_SECRET}"
}
retournera une réponse semblable à celle-ci :
{
"access_token": "{YOUR_ACCESS_TOKEN}",
"token_type": "Bearer"
}
Le flux décrit ici est destiné au code back-end. Vous ne devez JAMAIS placer client_id ou client_secret dans des clients front-end, car cela exposerait le secret. (N'importe qui pourrait consulter le code et voler ces identifiants.)
Si vous devez accéder à l'API depuis un client front-end, utilisez plutôt le SDK. Si vous avez un cas d'usage particulier, contactez le soutien technique.
Utilisation du jeton
Ce jeton doit être utilisé dans l'en-tête d'autorisation (Authorization Header) de toutes les requêtes API v3. N'oubliez pas d'inclure le mot Bearer au début de la chaîne d'autorisation.
Les jetons émis expirent 24 heures après leur récupération afin d'améliorer la sécurité (si un jeton venait à fuiter, il ne serait pas utilisable indéfiniment); nous recommandons donc de récupérer le jeton juste avant chaque appel aux API v3. Par exemple, en NodeJS, cela pourrait être implémenté comme suit :
var fetch = require("node-fetch");
// Appel de l'API d'autorisation
fetch('https://api.locallogic.co/oauth/token', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({client_id: '<CLIENT_ID>', client_secret: '<CLIENT_SECRET>'})
})
.then(authResponse => authResponse.json())
.then(authBody => {
var accessToken = authBody.access_token;
// Appel de l'API v3 avec le jeton d'accès
return fetch('api.locallogic.co/v3/<resource>?' + new URLSearchParams({
lat: 41.847206,
lng: -87.668825
}), {
method: 'GET',
headers: {
Accept: 'application/json',
Authorization: 'Bearer ' + accessToken
}
})
})
.then(response => response.json())
.then(body => {
// Appel API réussi
console.log(body)
})
.catch(error => {
// Gestion de l'erreur
console.log(error);
});