Créer vos propres messages

Microsoft Dataverse expose les API utilisant les messages. Il existe de nombreux messages prêts à l’emploi que vous pouvez utiliser. Les messages personnalisés sont généralement utilisés pour ajouter de nouvelles fonctionnalités spécifiques au domaine afin de combiner plusieurs requêtes de messages en une seule requête. Par exemple, dans un centre d’appels technique, vous pouvez combiner les messages Create, Assign et Update en un u nouveau message unique Escalate.

Il existe désormais deux façons de définir des messages personnalisés :

Méthode de message personnalisé Description
Action du processus personnalisée Également désignée sous le nom de Actions personnalisées, elles font partie de Dataverse depuis de nombreuses années. Les actions du processus personnalisées offrent un moyen sans code de définir un message personnalisé à l’aide du concepteur de flux de travail. La logique de ces workflows peut également être étendue avec du code à l’aide d’activités de workflow personnalisées. Plus d’informations : Utiliser des actions du processus personnalisées avec du code
API personnalisée Étend le concept des actions personnalisées pour fournir aux développeurs des fonctionnalités non limitées par le concepteur de flux de travail. Pour plus d’informations, voir : Créer et utiliser des API personnalisées

De nombreux développeurs ont créé des actions de processus personnalisées simplement pour créer de nouveaux messages sans implémenter de logique dans le concepteur de workflow. Au lieu de cela, ils enregistrent des plug-ins pour le message créé par l’action personnalisée afin d’implémenter toute leur logique. La fonction API personnalisée fait de ce modèle une capacité de première classe pour les développeurs à étendre Dataverse sans dépendre du concepteur de workflow ou de la technologie dont il dépend.

Comparer l’action du processus personnalisée et l’API personnalisée

Le tableau suivant décrit un certain nombre des possibilités qui diffèrent.

Fonctionnalité Action du processus personnalisée API personnalisée Description
Logique déclarative avec le workflow Oui Non Les actions de workflow peuvent avoir une logique définie sans écrire de code à l’aide du concepteur de workflow classique.
Les API personnalisées nécessitent un plug-in écrit en .NET pour implémenter la logique appliquée sur le serveur.
Exige un privilège spécifique Non Oui Avec une API personnalisée, vous pouvez décider qu’un certain utilisateur doit disposer d’un privilège spécifique pour appeler le message. Si l’utilisateur ne dispose pas de ce privilège via ses rôles de sécurité ou son appartenance à une équipe, une erreur sera renvoyée.
Définir la logique de l’opération principale avec du code Oui Oui Avec les actions du processus personnalisées, l’opération principale traite le définition de workflow qui peut inclure des activités de flux de travail personnalisées. Le code de ces activités de workflow personnalisé est traité dans l’opération principale avec toute autre logique éventuelle du workflow.
Si l′action de processus personnalisé ne contient aucune activité de workflow personnalisée, les développeurs ajoutent fréquemment une logique à l′étape de post-opération dans le pipeline d′événements pour définir la logique.

Avec une API personnalisée, le créateur du message associe simplement son type de plug-in à l’API personnalisée pour assurer la logique de l’opération principale.
Pour plus d’informations : Pipeline d’exécution des événements
Bloquer l’extension par d’autres plug-ins Oui Oui Avec les actions de processus personnalisé, définissez la propriété gérée IsCustomProcessingStepAllowedForOtherPublishers sur true si vous souhaitez autoriser l’exécution des plug-ins tiers lorsqu’ils sont enregistrés dans le message pour votre action de processus personnalisée. Si définie sur false, seuls les plug-ins du même éditeur de solutions seront exécutés lorsqu’une étape de plug-in est enregistrée pour le message.

Pour l’API personnalisée, définissez AllowedCustomProcessingStepType pour contrôler si des étapes de plug-ins peuvent être enregistrées ou si seuls des plug-ins asynchrones peuvent être enregistrés. Plus d’informations : Sélectionnez un type d’étape de traitement personnalisé
Rendre un message privé Non Oui Lorsque vous créez un message à l’aide d’une action du processus personnalisée, il est exposé publiquement dans le point de terminaison pour que quiconque puisse le découvrir et l’utiliser. Si une personne choisit de dépendre du message que vous avez créé, son code deviendra erroné si vous supprimez, renommez ou modifiez ultérieurement la signature du paramètre d’entrée ou de sortie.

Si vous n’avez pas l’intention que votre message soit utilisé par quelqu’un d’autre, vous pouvez le marquer comme message privé. Cela indiquera que vous ne prenez pas en charge les autres utilisateurs du message que vous créez et qu’il ne sera pas inclus dans les définitions des fonctions ou actions disponibles exposées par la définition du service $métadonnées de l’API web. Les classes pour appeler ces messages ne sont pas générées à l’aide des outils de génération de code, mais vous pouvez toujours l’utiliser. Plus d’informations : Quand rendre votre API personnalisée privée
Noms et descriptions localisables Non Oui Bien que les actions du processus personnalisées fournissent un nom convivial pour l’action personnalisée et tous les paramètres d’entrée et de sortie qu’elle utilise, ces valeurs ne sont pas localisables. Avec les API personnalisées, vous pouvez fournir des noms et des descriptions localisables. Ces chaînes localisées peuvent ensuite être liées à des contrôles qui offrent une interface utilisateur pour utiliser le message. Plus d’informations : Valeurs d’étiquette localisées
Créer une fonction OData Non Oui L’API web Dataverse est un service web OData. OData propose deux types d’opérations : les Actions & Fonctions.
  • Une action est une opération qui modifie les données du système. Elle est appelée à l’aide de la méthode Http POST et ses paramètres sont passés dans le corps de la requête.
  • Une Fonction est une opération qui n’apporte aucune modification aux données, par exemple une opération qui récupère simplement des données. Elle est appelée à l’aide de la méthode Http GET et ses paramètres sont passés dans l’URL de la requête.

Les actions du processus personnalisées sont toujours des actions. L’API personnalisée offre la possibilité de définir des fonctions personnalisées.
Plus d’informations : Quand créer une fonction
Créer une opération globale non liée à une table Oui Oui Les deux offrent la possibilité de définir un message global non lié à une table.
Lier une opération à une table Oui Oui Les deux offrent la possibilité de transmettre une référence à un enregistrement de table spécifique en le liant à une table.
Lier une opération à une collection de table Non Oui La liaison d’une opération à une collection de tables permet une autre façon de définir la signature de l’API personnalisée. Bien que cela ne transmette pas une collection d’entités en tant que paramètre d’entrée, cela limite le contexte de l’opération à ce type de collection de tables. Utilisez cette option si l′opération fonctionne avec une collection d’un type spécifique de tables ou si l′opération renvoit une collection de ce type.
Composer ou modifier une API personnalisée en éditant une solution Non Oui Les éditeurs de logiciels indépendants qui créent et maintiennent des produits compatibles avec Power Platform appliquent les pratiques ALM qui impliquent des solutions. Les données au sein d’une solution sont généralement archivées dans un référentiel de code source et extraites par un développeur qui leur applique des modifications.

Une action de processus personnalisée est définie par un document XAML Windows Workflow Foundation qui est transporté dans le cadre d’une solution. Cependant, la création de nouvelles définitions de workflow ou la modification de définitions de workflow existantes en dehors du concepteur de workflow ne sont pas prises en charge.

Les définitions d’API personnalisées sont des composants dépendants des solutions inclus dans une solution via un ensemble de dossiers et de documents XML. Ces fichiers et la structure des fichiers permettent de transporter l’API d’un environnement à un autre. Comme il s’agit de fichiers texte brut, il est possible de les modifier, ou de définir de nouvelles API en travaillant avec ces fichiers. Cette méthode de définition d’API personnalisées est prise en charge. Pour plus d’informations, consultez Créer une API personnalisée avec des fichiers de solution.
Soumis à un délai de 2 minutes Non Oui Un plug-in qui implémente l’opération principale pour une API personnalisée est soumis à l’achèvement de son exécution dans un délai de 2 minutes.

Une action de processus personnalisée n’est pas techniquement limitée à deux minutes. Si une étape de la logique d’un workflow contient une activité de workflow personnalisée, cette partie est contrainte par la limite de deux minutes. Mais l’ensemble du workflow ne peut pas s’exécuter indéfiniment. Il existe d’autres limitations qui entraîneront l’échec des actions de processus personnalisées de longue durée. Pour plus d’informations : Rechercher les actions longues

Étapes suivantes

Utiliser des actions de processus personnalisées avec du code
Créer et utiliser des API personnalisées

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).