Communiquer avec Intent
Une seule porte d’entrée, un proxy qui sécurise les clés et unifie les appels.
Principe : un proxy, pas d’appel direct
L’application ne parle jamais à Intent depuis le navigateur. Tous les appels passent par notre API Next.js /api/connexions-tiers. Cela permet de garder la clé API (Bearer) côté serveur, d’éviter les problèmes CORS et de centraliser la logique (choix d’URL, timeouts, gestion d’erreurs).
Flux
La route ajoute Authorization: Bearer … puis appelle l’URL Intent correspondant au service.
Authentification
Pour tout service Intent (intente, intente-data, etc.), la route utilise une seule clé : TIERS_API_KEY_INTENTE en variable d’environnement. Elle est envoyée en Bearer sur chaque requête vers Intent. Le client ne voit jamais cette clé.
GET et POST
- GET : test de connexion ou récupération de données. On envoie le paramètre
service(ex.intente-operations), la route appelle l’URL GET prévue pour ce service et renvoie la réponse JSON. - POST : envoi de données (création intervention, stream, contrat, etc.). Le body JSON est transmis tel quel à Intent. Pour Data et Operations, le paramètre
actionpermet de choisir le chemin (streams, metrics, events ou interventions, quotations, reservations).
Services Intent (paramètre service=)
| Service | GET (ex.) | POST |
|---|---|---|
intenteAssets | /api/assets/v1/assets | idem |
intente-dataData | /api/datahub/v1/activities?... | streams | metrics | events (action=) |
intente-operationsOperations | /api/operations/v2/operations | interventions | quotations | reservations (action=) |
intente-contractsContracts | /api/contracts/v1/contracts | idem |
intente-documentsDocuments | /api/documents/v1/documents | idem |
intente-webhooksWebhooks | exemple statique (pas d’appel externe) | — |
Exemple d’appel
Depuis le frontend ou un outil (Postman, curl), on appelle notre API avec le bon service :
GET https://dimcopilot.app/api/connexions-tiers?service=intente-operationsLa route Next.js ajoute le Bearer et appelle https://apisandbox.hubintent.com/api/operations/v2/operations (ou l’URL configurée via TIERS_API_URL_*).
Documentation Intent
Les formats de requête/réponse (body, champs, webhooks) sont décrits sur le portail développeur Intent : developers.intent.tech. Notre proxy ne fait qu’acheminer les appels ; la sémantique reste celle d’Intent.