Partager via


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 souhaitez peut-être combiner les messages Create, Assign et Update en un 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ésigner qu’un 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 l’appartenance à l’équipe, une erreur est renvoyée.
Définir la logique de l’opération principale avec du code Oui Oui Avec les actions de processus personnalisées, l’opération principale traite la définition de workflow qui peut inclure des activités de workflow 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 fournir 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ées, 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 elle est définie sur false, seuls les plug-ins du même éditeur de solutions s’exécutent lorsqu’une étape de plug-in est enregistrée pour le message.

Pour l’API personnalisée, définissez AllowedCustomProcessingStepType pour contrôler si les étapes de plug-ins peuvent être enregistrées ou si seuls les 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 de processus personnalisée, il est exposé publiquement dans le point de terminaison pour que toute autre personne 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 indique que vous ne prenez pas en charge les autres utilisateurs du message que vous créez et qu’il n’est 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 seront pas générées à l’aide des outils de génération de code, mais vous pourrez toujours les utiliser. Plus d’informations : Quand rendre votre API personnalisée privée
Noms et descriptions localisables Non Oui Bien que les actions de 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 et les 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 transmis 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 transmis 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 Vous pouvez utiliser les deux pour définir un message global non lié à une table.
Lier une opération à une table Oui Oui Vous pouvez utiliser les deux pour 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 quelle ne transmette pas une collection d’entités en tant que paramètre d’entrée, elle 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 renvoie 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.

Un document XAML Windows Workflow Foundation contient les données qui définissent l’action de processus personnalisée transportée 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 n’est pas prise 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 à une limite de temps de 2 minutes Non Oui Un plug-in qui implémente l’opération principale pour une API personnalisée est soumis à une limite de temps de 2 minutes pour terminer l’exécution.

Une action de processus personnalisée n’est pas techniquement limitée à deux minutes. Si une étape de la logique du workflow contient une activité de workflow personnalisée, cette partie est limitée à deux minutes. Mais l’ensemble du workflow ne peut pas s’exécuter indéfiniment. Il existe d’autres limitations qui entraînent 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