Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Використовуйте методи dataApi дії та функції об'єкта, щоб викликати настроювані API Dataverse , прив'язані до сторінки.
Нотатка
У спільному dataApi контракті необов'язкові методи дій і функцій. Деякі хости не впроваджують їх, тому перевірте, чи існує метод, перш ніж викликати його. Наявний метод не означає, що операція прив'язана до сторінки, увімкнута для середовища виконання або дозволена для поточного користувача. На відміну від методів сполучної лінії, ці методи ніколи не кидають для очікуваних помилок; замість них буде вирішено проблему з ok: false кодом помилки. Явне оброблення результатів ok і error властивостей.
listBoundActions повертає дії та функції, які дозволяє поточна конфігурація середовища виконання для сторінки, якщо цю функцію активовано; це не гарантує, що поточний користувач має права Dataverse, необхідні для виконання кожної вказаної операції.
| Метод | Опис |
|---|---|
executeAction |
Викликає настроюваний API Dataverse, прив'язаний до сторінки як дію. |
executeFunction |
Викликає настроюваний API Dataverse, прив'язаний до сторінки як функцію. |
listBoundActions |
Список настроюваних API (дій і функцій) Dataverse, прив'язаних до сторінки. |
executeAction метод
Викликає настроюваний API Dataverse, який виробник прив'язав до сторінки як дію (повідомлення, яке може змінити дані).
Параметри
Установіть значення для цього обов'язкового параметра.
| Ім'я | Тип | Опис |
|---|---|---|
request |
DataverseActionRequest | Дія, яка викликається, і її вхідні параметри. |
DataverseActionRequest
| Ім'я | Тип | Опис |
|---|---|---|
name |
string |
Унікальне ім'я настроюваного API, префікса видавця, наприклад new_ApproveExpenseReport. |
parameters |
object |
(Необов'язково) Параметри вводу, необхідні для дії, з ключем від унікального імені параметра. |
boundTo |
object |
(Необов'язково) Посилання на цільовий рядок (entityName і id) для дій, пов'язаних із сутністю. Не пускати для глобальних (незв'язаних) дій. |
Відповіді
Обіцянка, що містить DataverseActionResult. Цей метод ніколи не кидає очікувані помилки (наприклад, помилку дозволу 403, неправильний параметр 400 або операцію не зв'язано або ввімкнуто) — перевірте ok властивість.
DataverseActionResult
| Ім'я | Тип | Опис |
|---|---|---|
ok |
boolean |
Указує, чи вдалося виконати дію. |
status |
number |
Код стану HTTP, повернутий Dataverse, або 0 якщо немає стану HTTP. Стан 0 може означати, що час виконання відхилив виклик перед надсиланням (наприклад, not_enabled, , not_bound, not_permittedwrong_operation_kind, invalid_parameter, або invalid_bound_to), помилка запиту без відповіді HTTP, або невідомий результат (indeterminate є true). Використовуйте error.code ці інциденти та indeterminate розкажіть їх окремо. |
outputs |
object |
Параметри виводу, повернуті дією, за допомогою унікального імені. Пусто для дій без вихідних результатів. |
indeterminate |
boolean |
(Необов'язково) true коли час очікування або інша помилка після відправлення означає, що сервер міг виконати цю дію; не повторюйте автоматично. |
error |
object |
(Необов'язково) Відомості про помилку , включно okfalseз машиночитабельними code та дезінфікованими файлами message.
code– це один із not_enabled, not_bound, not_permitted, invalid_parameterwrong_operation_kind, invalid_bound_to, , indeterminateабо network, або код стану HTTP дії як рядок (наприклад, "404"), коли Dataverse повернув відповідь на помилку або "0" коли статус HTTP не був доступний.
not_permitted означає, що дії або функції немає в списку довірених для генеративних сторінок середовища , це не вказує на те, чи має поточний користувач права на керування даними. Помилка прав зазвичай виникає, як status: 403 і з кодом "403"помилки; якщо хост не може визначити стан HTTP, він повертається status: 0 замість цього. |
executeAction example
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 метод
Викликає настроюваний API Dataverse, який виробник прив'язав до сторінки як функцію (повідомлення лише для читання з семантикою GET).
Параметри
Установіть значення для цього обов'язкового параметра.
| Ім'я | Тип | Опис |
|---|---|---|
request |
DataverseFunctionRequest | Функція, яка викликається, і її вхідні параметри. |
DataverseFunctionRequest
| Ім'я | Тип | Опис |
|---|---|---|
name |
string |
Унікальне ім'я настроюваного API, префікса видавця, наприклад new_GetExchangeRate. |
parameters |
object |
(Необов'язково) Параметри вводу, необхідні для функції, з ключем від унікального імені параметра. |
boundTo |
object |
(Необов'язково) Посилання на цільовий рядок (entityName і id) для функцій, пов'язаних із сутністю. Пропустити для глобальних (незв'язаних) функцій. |
Відповіді
Обіцянка, що містить DataverseActionResult. Як і у випадку з executeAction, цей метод ніколи не кидає на очікувані помилки - перевірте ok властивість замість.
executeFunction example
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 метод
У цій статті наведено список настроюваних API (дій і функцій), прив'язаних до сторінки виробником.
Параметри
None.
Відповіді
Обіцянка, що містить масив записів DataverseActionInfo. Повертає пустий масив, якщо виявлення не ввімкнуто для середовища виконання.
DataverseActionInfo
DataverseActionInfo відображає вміст, пов'язаний із цією дією або функцією, а не динамічні метадані Dataverse. Не використовуйте її для створення форм вводу або перевірки вихідних даних – перевірте вимоги до параметрів і фігури виводу відповідно до фактичного визначення настроюваного API Dataverse.
| Ім'я | Тип | Опис |
|---|---|---|
name |
string |
Унікальне (логічне) ім'я настроюваного API Dataverse. |
displayName |
string |
Коротке ім'я настроюваного інтерфейсу API. |
isFunction |
boolean |
true якщо настроюваний API Dataverse – це функція (лише для читання); false якщо це дія, включно з тим, коли це значення не було записано під час зв'язування. |
bindingType |
string |
Тип зв'язування: "Global" або "Entity". |
boundEntityLogicalName |
string |
(Необов'язково) Таблиця, до яку прив'язано дію або функцію , коли bindingType є "Entity". |
parameters |
Object[] |
Вхідні параметри, записані, коли настроюваний API Dataverse прив'язано до сторінки, кожен із яких містить a name та declaredKind.
type
"unknown"
optional
false не відображає фактичні метадані настроюваного API Dataverse. |
outputs |
Object[] |
Завжди пустий масив. Виявлення зв'язування не записує параметри виводу. |
listBoundActions Приклад
const actions = await dataApi.listBoundActions?.();