Activité API

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

Frontend / autre clientGET ou POST /api/connexions-tiers?service=…Route Next.js (proxy)Intent (apisandbox.hubintent.com)

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 action permet de choisir le chemin (streams, metrics, events ou interventions, quotations, reservations).

Services Intent (paramètre service=)

ServiceGET (ex.)POST
intenteAssets/api/assets/v1/assetsidem
intente-dataData/api/datahub/v1/activities?...streams | metrics | events (action=)
intente-operationsOperations/api/operations/v2/operationsinterventions | quotations | reservations (action=)
intente-contractsContracts/api/contracts/v1/contractsidem
intente-documentsDocuments/api/documents/v1/documentsidem
intente-webhooksWebhooksexemple 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-operations

La 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.