Comprendre les API personnalisées
Les API personnalisées (Custom APIs) sont des objets Dataverse permettant de définir des points d’entrée métier spécifiques, exposés via l’API Web. Contrairement aux plug-ins, elles ne dépendent pas d’un événement du modèle de données (create, update, delete) mais sont appelables explicitement par une application, un flux ou un autre service. Elles constituent une évolution naturelle des actions personnalisées introduites dans les versions antérieures de Dynamics 365.
Définition
Une API personnalisée est un contrat exécutable publié dans Dataverse qui comprend :
- Un nom logique et un nom d’affichage.
- Des paramètres d’entrée et de sortie typés (string, integer, EntityReference, etc.).
- Un ou plusieurs plug-ins handlers associés à la logique exécutée.
- Un niveau d’autorisation contrôlant les rôles qui peuvent l’appeler.
Les API sont enregistrées dans les métadonnées Dataverse et peuvent être consommées via les connecteurs Power Platform, Postman ou n’importe quel client HTTP.
Comparaison avec les alternatives
| Mécanisme | Portée | Mode d’exécution | Avantages | Limites |
|---|---|---|---|---|
| Plug-in | Entité | Lié à un événement CRUD | Performance, synchronisme | Couplage fort au schéma |
| Business Process Flow | Utilisateur | Guidage manuel | Facile à concevoir | Non automatisable |
| Power Automate / Logic Apps | Cloud | Orchestration externe | Intégration multi-systèmes | Latence, coût |
| Custom API | Plateforme | Invocation directe via API | Flexible, gouvernable | Nécessite développement |
Cas d’usage typiques
Les API personnalisées se distinguent par leur polyvalence : elles permettent de relier des systèmes, de centraliser la logique et de standardiser les échanges. Dans un contexte où Dataverse devient la couche d’intégration commune, elles représentent la solution la plus propre pour exposer des opérations métier de manière sécurisée et réutilisable.
- Encapsulation d’une logique métier complexe : regrouper plusieurs opérations Dataverse en une seule exécution cohérente et transactionnelle.
- Exposition contrôlée vers l’extérieur : offrir une API REST sécurisée aux applications externes (portails, Azure Functions, ERP) tout en respectant les politiques DLP et RBAC.
- Interopérabilité entre Power Apps et Dynamics 365 CE : permettre à une app canvas ou model-driven d’appeler directement une logique CE native sans dépendance de couche intermédiaire.
- Automatisation d’actions métier : intégrer l’API dans Power Automate pour exécuter des processus centralisés et audités à partir d’un point unique de vérité.
Exemple simplifié
Une API ValidateCustomerCredit peut être créée pour vérifier le plafond de crédit d’un client avant la création d’une commande. L’API prend en entrée un identifiant client et retourne un booléen. Elle peut être appelée depuis :
- une app Power Apps (via le connecteur Dataverse),
- un flux Power Automate,
- un plug-in d’un autre processus (ex : avant la création d’une commande).
Cette flexibilité illustre le rôle central des Custom APIs comme mécanisme d’abstraction et de cohérence dans les architectures Dynamics 365 CE et Dataverse.