Utilisation des API TRINOV

Pour utiliser les API Trinov, il est nécessaire de s’authentifier à l’aide de vos informations d’identification associées à votre compte prestataires-déchets. L’authentification permet de récupérer un token d’accès.
Lors de l’appel d’un endpoint de l’API, il faudra fournir ce token d’accès en header de la requête.

Les informations dont vous disposez :

Information

Valeur

URL de demande de token

url de demande d’un jeton d’accès pour l’application
Exemple : https://accounts.trinov.com/realms/demo/protocol/openid-connect/token

client_id

identifiant de l’application (ou client)

client_secret

secret associé au client-id (il vous a été fourni dans le document “informations de connexion”)

URL des API TRINOV

Par exemple, pour l’environnement de test, l’url à appeler est “staging-api-waste-collections.trinov.com/api”

Etape 1 : Demande du jeton d’accès (acces token)
A l’aide d’un outil tel que curl, la requête à former est la suivante : il faudra remplacer {client_secret} par le secret du compte de service qui vous a été communiqué.

curl --location '<https://accounts-staging.trinov.com/realms/demo/protocol/openid-connect/token>' \\
--header 'Content-Type: application/x-www-form-urlencoded' \\
--data-urlencode 'client_id=demo' \\
--data-urlencode 'client_secret={client_secret}' \\
--data-urlencode 'grant_type=client_credentials' \\
--data-urlencode 'scope=openid profile'

Vous obtiendrez en retour une réponse du type :

Response: 200
{
"access_token": "eyJhbGciOiJSUzI1....",
"expires_in": 300,
"refresh_expires_in": 1800,
"refresh_token": "eyJhbGciOiJIU.....",
"token_type": "Bearer",
"id_token": "eyJhbGciOiJ.....",
"not-before-policy": 0,
"session_state": "88fde752-bd36-4405-9a87-8f9de848cc86",
"scope": "openid email profile"
}

Ce qui va vous intéresser dans la réponse est le contenu du champ "access_token”.

Etape 2 : Appel d’un endpoint
Il faudra renseigner ce token dans un header pour toute requête adressée à nos APIs.
Exemple : Pour récupérer la liste des collectes de déchets (commandes) vous pourrez lancer la commande suivante (en modifiant au préalable {access_token} par la valeur récupérée précédemment :

curl '<https://staging-api-waste-collections.trinov.com/api/v1/waste-collections?limit=50&page=0>' \\
--header 'Authorization: Bearer {access_token}'

En résultat, vous obtiendrez un objet comme dans l’exemple ci-dessous :

{
 "content": [..liste des collectes de déchet....],
 "number": 0,
 "size": 50,
 "totalElements": 72,
 "totalPages": 2,
 "last": false,
 "sort": {
 "empty": true,
 "sorted": false,
 "unsorted": true
}