Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Utilitza els mètodes d'acció i funció de l'objecte dataApi per invocar APIs personalitzades de Dataverse vinculades a la pàgina.
Nota
Els mètodes d'acció i funció són opcionals en el contracte compartit dataApi . Alguns hosts no els implementen, així que comprova que existeix un mètode abans de cridar-lo. Que un mètode sigui present no vol dir que l'operació estigui vinculada a la pàgina, habilitada per a l'execució o permesa per a l'usuari actual. A diferència dels mètodes de connectors, aquests mètodes mai es llancen per fallades esperades; es resolen amb ok: false i un codi d'error en lloc d'això. Gestiona explícitament els resultats ok i error propietats.
listBoundActions retorna les accions i funcions que la configuració actual d'execució permet per a la pàgina quan aquest descobriment està activat; no garanteix que l'usuari actual tingui els privilegis de Dataverse necessaris per executar cada operació llistada.
| Mètode | Descripció |
|---|---|
executeAction |
Invoca una API personalitzada de Dataverse vinculada a la pàgina com a acció. |
executeFunction |
Invoca una API personalitzada de Dataverse vinculada a la pàgina com a funció. |
listBoundActions |
Llista les APIs personalitzades de Dataverse (accions i funcions) vinculades a la pàgina. |
executeAction mètode
Invoca una API personalitzada de Dataverse que un creador vincula a la pàgina com una acció (un missatge que podria canviar dades).
Paràmetres
Estableix un valor per a aquest paràmetre requerit.
| Nom | Tipus | Descripció |
|---|---|---|
request |
DataverseActionRequest | L'acció a invocar i els seus paràmetres d'entrada. |
DataverseActionRequest
| Nom | Tipus | Descripció |
|---|---|---|
name |
string |
El nom únic de l'API personalitzada, prefixat per editor, com new_ApproveExpenseReportara . |
parameters |
object |
(Opcional) Els paràmetres d'entrada requerits per l'acció, codificats pel nom únic del paràmetre. |
boundTo |
object |
(Opcional) Una referència de fila objectiu (entityName i id) per a accions vinculades a entitats. S'ometen les accions globals (no vinculades). |
Devolucions
Una promesa que conté un DataverseActionResultat. Aquest mètode mai llança fallades esperades (com un error de permisos 403, un paràmetre 400 malament, o que l'operació no estigui vinculada o habilitada) — comprova la ok propietat en canvi.
DataverseActionResult
| Nom | Tipus | Descripció |
|---|---|---|
ok |
boolean |
Indica si l'acció va tenir èxit. |
status |
number |
El codi d'estat HTTP retornat per Dataverse, o 0 quan no hi ha estat HTTP disponible. Un estat pot significar que el temps d'execució ha rebutjat la trucada abans d'enviar-la (per exemple, not_enabled, not_bound, not_permitted, wrong_operation_kind, invalid_parameter, o invalid_bound_to), la petició ha 0 fallat sense resposta HTTP, o que el resultat és desconegut (indeterminate és true). Utilitza error.code i indeterminate distingeix aquests casos. |
outputs |
object |
Els paràmetres de sortida retornats per l'acció, codificats per un nom únic. Buit per a accions sense sortides. |
indeterminate |
boolean |
(Opcional) true Quan un temps d'espera o una altra fallada després de l'enviament significa que el servidor podria haver comès l'acció; no ho tornis a intentar automàticament. |
error |
object |
(Opcional) L'error detalla quan ok és false, incloent-hi un llegible code per màquina i un .message
codeés un dels , , , , , , , , o network, o el codi d'estat HTTP de l'acció com a cadena (per exemple, "404") quan Dataverse retornava una resposta d'error, o "0" quan no hi havia cap estat HTTP disponible. indeterminateinvalid_bound_toinvalid_parameterwrong_operation_kindnot_permittednot_boundnot_enabled
not_permitted vol dir que l'acció o funció no està a la llista de permís de l'entorn per a pàgines generatives — no indica si l'usuari actual té els privilegis de Dataverse per executar-la. Un error de privilegi normalment apareix com status: 403 amb el codi "403"d'error ; si l'amfitrió no pot determinar l'estat HTTP, el retorna status: 0 en el seu lloc. |
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);
}
executeFunction mètode
Invoca una API personalitzada de Dataverse que un maker vincula a la pàgina com a funció (un missatge de només lectura amb semàntica GET).
Paràmetres
Estableix un valor per a aquest paràmetre requerit.
| Nom | Tipus | Descripció |
|---|---|---|
request |
DataverseFunctionRequest | La funció a invocar i els seus paràmetres d'entrada. |
DataverseFunctionRequest
| Nom | Tipus | Descripció |
|---|---|---|
name |
string |
El nom únic de l'API personalitzada, prefixat per editor, com new_GetExchangeRateara . |
parameters |
object |
(Opcional) Els paràmetres d'entrada requerits per la funció, codificats pel nom únic del paràmetre. |
boundTo |
object |
(Opcional) Una referència de fila objectiu (entityName i id) per a funcions unides a entitats. S'omet les funcions globals (no lligades). |
Devolucions
Una promesa que conté un DataverseActionResultat. Com amb executeAction, aquest mètode mai descarta fallades esperades — comprova la propietat en comptes d'això ok .
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);
}
listBoundActions mètode
Llista les APIs personalitzades de Dataverse (accions i funcions) que un creador vincula a la pàgina.
Paràmetres
Cap.
Devolucions
Una promesa que conté una sèrie d'entrades DataverseActionInfo . Retorna un array buit quan el descobriment no està activat per a l'execució.
DataverseActionInfo
DataverseActionInfo reflecteix el que el creador de la pàgina ha assignat per a aquesta acció o funció, no les metadades en temps real de Dataverse. No l'utilitzis per construir formularis d'entrada ni validar sortides — verifica els requisits de paràmetres i les formes de sortida amb la definició real de l'API personalitzada de Dataverse.
| Nom | Tipus | Descripció |
|---|---|---|
name |
string |
El nom únic (lògic) de l'API personalitzada de Dataverse. |
displayName |
string |
El nom de visualització d'una API personalitzada. |
isFunction |
boolean |
true si l'API personalitzada de Dataverse és una funció (només lectura); false si és una acció, incloent-hi quan aquest valor no es va registrar en temps d'enllaç. |
bindingType |
string |
El tipus d'enllaç: "Global" o "Entity". |
boundEntityLogicalName |
string |
(Opcional) La taula a la qual l'acció o funció està lligada, quan bindingType és "Entity". |
parameters |
Object[] |
Els paràmetres d'entrada enregistrats quan l'API personalitzada de Dataverse estava vinculada a la pàgina, cadascun amb un name i declaredKind.
type és sempre "unknown" i optional és sempre false — cap dels dos reflecteix les metadades reals de l'API personalitzada de Dataverse. |
outputs |
Object[] |
Sempre una matriu buida. El descobriment d'enllaços no registra els paràmetres de sortida. |
listBoundActions Exemple
const actions = await dataApi.listBoundActions?.();