Table of Contents

Connecteur Dynamics 365

Créer un enregistrement dans une table de Dynamics 365 (Dataverse) à chaque dépôt.

Important

Exemple à adapter. Dans cette version, le connecteur n'envoie aucune donnée du manifeste : l'enregistrement ne contient qu'une description, avec la date et l'identifiant de la requête. Utilisez-le comme point de départ, de préférence en reprenant sa logique dans un gestionnaire.

Identifiant dynamics
Adresse https://<serveur>/api/webhook/dynamics

Réglages

Section Connector:dynamics d'appsettings.json :

Clé Défaut Effet
ResourceUrl vide Adresse de votre environnement, par exemple https://<organisation>.crm3.dynamics.com.
EntityName contacts Nom du jeu d'entités dans lequel créer l'enregistrement.
ApiVersion v9.2 Version de l'API web de Dataverse.

Secrets

Sous Connectors.dynamics.Secrets : TenantId, ClientId et ClientSecret, d'une inscription d'application Microsoft Entra ID. Créez dans Dataverse un utilisateur d'application pour cette inscription, avec un rôle de sécurité qui permet seulement de créer dans la table cible.

Si l'un des trois secrets manque, chaque traitement échoue.

Ce qu'il fait

  1. Il obtient un jeton pour {ResourceUrl}/.default, par le flux d'identifiants client.
  2. Il envoie POST {ResourceUrl}/api/data/{ApiVersion}/{EntityName}, avec les en-têtes OData-MaxVersion: 4.0 et OData-Version: 4.0.
  3. L'enregistrement ne contient que description : Synchronized from SESAR at <date>, suivi de l'identifiant de la requête.
  4. En cas de succès, l'identifiant de l'enregistrement, tiré de l'en-tête OData-EntityId, est renvoyé dans ExternalReferenceId.

Tester

POST /api/connectors/dynamics/test obtient un jeton, puis appelle WhoAmI sur l'API web : l'essai valide donc aussi l'utilisateur d'application.

L'adapter

Dans votre gestionnaire, utilisez OAuth2ClientCredentialsHelper.ForDynamics365, puis construisez l'enregistrement à partir du manifeste. Voir Authentification vers vos systèmes.

En cas d'échec, la réponse du connecteur contient le code et le corps de l'erreur de Dataverse : elle n'est lue que par SESAR, mais ne la journalisez pas telle quelle.