Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez les méthodes d’action et de fonction de l’objet dataApi pour appeler des API personnalisées Dataverse liées à la page.
Remarque
Les méthodes d’action et de fonction sont facultatives dans le contrat partagé dataApi . Certains hôtes ne les implémentent pas. Vérifiez donc qu’une méthode existe avant de l’appeler. Une méthode présente ne signifie pas que l’opération est liée à la page, activée pour le runtime ou autorisée pour l’utilisateur actuel. Contrairement aux méthodes de connecteur, ces méthodes ne lèvent jamais pour les échecs attendus ; ils résolvent avec ok: false et un code d’erreur à la place. Gérez explicitement les propriétés et error les ok résultats.
listBoundActions retourne les actions et fonctions que la configuration actuelle du runtime autorise pour la page lorsque cette découverte est activée ; il n’est pas garanti que l’utilisateur actuel conserve les privilèges Dataverse nécessaires pour exécuter chaque opération répertoriée.
| Méthode | Description |
|---|---|
executeAction |
Appelle une API personnalisée Dataverse liée à la page en tant qu’action. |
executeFunction |
Appelle une API personnalisée Dataverse liée à la page en tant que fonction. |
listBoundActions |
Répertorie les API personnalisées Dataverse (actions et fonctions) liées à la page. |
méthode executeAction
Appelle une API personnalisée Dataverse liée à la page en tant qu’action (message susceptible de modifier les données).
Parameters
Définissez une valeur pour ce paramètre obligatoire.
| Name | Catégorie | Description |
|---|---|---|
request |
DataverseActionRequest | Action à appeler et à ses paramètres d’entrée. |
DataverseActionRequest
| Name | Catégorie | Description |
|---|---|---|
name |
string |
Nom unique de l’API personnalisée, préfixée par l’éditeur, par new_ApproveExpenseReportexemple . |
parameters |
object |
(Facultatif) Paramètres d’entrée requis par l’action, clé par nom unique de paramètre. |
boundTo |
object |
(Facultatif) Référence de ligne cible (entityName et id) pour les actions liées à l’entité. Omettez les actions globales (non liées). |
Returns
Promesse contenant un DataverseActionResult. Cette méthode ne lève jamais pour les échecs attendus (par exemple, une erreur d’autorisation 403, un paramètre incorrect 400 ou l’opération qui n’est pas liée ou activée) : vérifiez la propriété à la ok place.
DataverseActionResult
| Name | Catégorie | Description |
|---|---|---|
ok |
boolean |
Indique si l’action a réussi. |
status |
number |
Code d’état HTTP retourné par Dataverse ou 0 lorsqu’aucun état HTTP n’est disponible. Un 0 état peut signifier que le runtime a rejeté l’appel avant de l’envoyer (par exemple, not_enabled, , not_permittednot_bound, wrong_operation_kind, invalid_parameterou invalid_bound_to), la requête a échoué sans réponse HTTP, ou le résultat est inconnu (indeterminate est true). Utilisez error.code et indeterminate dissyez ces cas. |
outputs |
object |
Paramètres de sortie retournés par l’action, clé par nom unique. Vide pour les actions sans sortie. |
indeterminate |
boolean |
(Facultatif) true lorsqu’un délai d’expiration ou une autre défaillance post-répartition signifie que le serveur a peut-être validé l’action ; ne réessayez pas automatiquement. |
error |
object |
(Facultatif) Détails de l’erreur quand ok c’est false, y compris un ordinateur lisible code et un désinfecté message.
codeest l’un des not_enabled, wrong_operation_kindinvalid_parameternetworkinvalid_bound_tonot_permittedindeterminatenot_boundou , ou le code d’état HTTP de l’action en tant que chaîne (par exemple"404") lorsque Dataverse a retourné une réponse d’erreur ou "0" quand aucun état HTTP n’a été disponible.
not_permitted signifie que l’action ou la fonction ne se trouve pas dans la liste verte de l’environnement pour les pages génératives . Elle n’indique pas si l’utilisateur actuel contient les privilèges Dataverse pour l’exécuter. Un échec de privilège s’affiche généralement comme status: 403 avec le code "403"d’erreur ; si l’hôte ne peut pas déterminer l’état HTTP, il retourne status: 0 à la place. |
exemple executeAction
if (!dataApi.executeAction) {
throw new Error("executeAction isn't available on this page.");
}
const result = await dataApi.executeAction({
name: "new_ApproveExpenseReport",
parameters: { comments: "Approved by manager" },
boundTo: { entityName: "new_expensereport", id: "30dc51e9-947d-47d8-ad48-4fc48fba4a95" },
});
if (result.ok) {
console.log(result.outputs);
}
else {
console.log(result.error?.code);
}
méthode executeFunction
Appelle une API personnalisée Dataverse liée à la page en tant que fonction (message en lecture seule avec sémantique GET).
Parameters
Définissez une valeur pour ce paramètre obligatoire.
| Name | Catégorie | Description |
|---|---|---|
request |
DataverseFunctionRequest | Fonction à appeler et à ses paramètres d’entrée. |
DataverseFunctionRequest
| Name | Catégorie | Description |
|---|---|---|
name |
string |
Nom unique de l’API personnalisée, préfixée par l’éditeur, par new_GetExchangeRateexemple . |
parameters |
object |
(Facultatif) Paramètres d’entrée requis par la fonction, clé par nom unique de paramètre. |
boundTo |
object |
(Facultatif) Référence de ligne cible (entityName et id) pour les fonctions liées à l’entité. Omettez les fonctions globales (non liées). |
Returns
Promesse contenant un DataverseActionResult. Comme avec executeAction, cette méthode ne lève jamais pour les échecs attendus : vérifiez la propriété à la ok place.
exemple executeFunction
if (!dataApi.executeFunction) {
throw new Error("executeFunction isn't available on this page.");
}
const result = await dataApi.executeFunction({
name: "new_GetExchangeRate",
parameters: { currencyCode: "EUR" },
});
if (result.ok) {
console.log(result.outputs);
}
méthode listBoundActions
Répertorie les API personnalisées Dataverse (actions et fonctions) qu’un créateur lié à la page.
Parameters
None.
Returns
Promesse contenant un tableau d’entrées DataverseActionInfo. Retourne un tableau vide lorsque la découverte n’est pas activée pour le runtime.
DataverseActionInfo
DataverseActionInfo reflète ce que le créateur de la page est lié à cette action ou fonction, et non pas les métadonnées Dataverse actives. Ne l’utilisez pas pour générer des formulaires d’entrée ou valider des sorties : vérifiez les exigences des paramètres et les formes de sortie par rapport à la définition d’API personnalisée Dataverse réelle.
| Name | Catégorie | Description |
|---|---|---|
name |
string |
Nom unique (logique) de l’API personnalisée Dataverse. |
displayName |
string |
Nom complet d’une API personnalisée. |
isFunction |
boolean |
true si l’API personnalisée Dataverse est une fonction (en lecture seule) ; false s’il s’agit d’une action, y compris lorsque cette valeur n’a pas été enregistrée au moment de la liaison. |
bindingType |
string |
Type de liaison : "Global" ou "Entity". |
boundEntityLogicalName |
string |
(Facultatif) La table à laquelle l’action ou la fonction est liée, quand bindingType est "Entity". |
parameters |
Object[] |
Les paramètres d’entrée enregistrés lorsque l’API personnalisée Dataverse était liée à la page, chacune avec un name et declaredKind.
typeest toujours et optional est toujours false"unknown" — ni ne reflète les métadonnées réelles de l’API personnalisée Dataverse. |
outputs |
Object[] |
Toujours un tableau vide. La découverte de liaison n’enregistre pas les paramètres de sortie. |
listBoundActions Exemple
const actions = await dataApi.listBoundActions?.();