API pour appeler le service de modèle de données de formulaire à partir de formulaires adaptatifs

Présentation

AEM Forms permet aux auteurs de formulaires de simplifier et améliorer le remplissage de formulaire en appelant les services configurés dans un modèle de données de formulaire depuis un champ de formulaire adaptatif. Pour appeler un service de modèle de données, vous pouvez créer une règle dans l’éditeur visuel ou spécifier un script JavaScript en utilisant l’API guidelib.dataIntegrationUtils.executeOperation dans l’éditeur de code de l’éditeur de règles.

Ce document se concentre sur l’écriture d’un script JavaScript en utilisant l’API guidelib.dataIntegrationUtils.executeOperation pour appeler un service.

Utilisation de l’API

L’API guidelib.dataIntegrationUtils.executeOperation appelle un service depuis un champ de formulaire adaptatif. La syntaxe API se présente comme suit :

guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)

La structure de l’API guidelib.dataIntegrationUtils.executeOperation spécifie les détails sur l’opération de service. La syntaxe de la structure se présente comme suit.

var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}

La structure de l’API spécifie les détails suivants concernant l’opération de service.

Paramètre Description
operationInfo Structure permettant de spécifier l’identifiant du modèle de données de formulaire, le titre de l’opération et le nom de l’opération
formDataModelId Spécifie le chemin du référentiel vers le modèle de données de formulaire, y compris son nom.
operationName Indique le nom de l’opération de service à exécuter.
inputs Mappe un ou plusieurs objets de formulaire aux arguments d’entrée pour l’opération de service.
Outputs Mappe un ou plusieurs objets de formulaire aux valeurs de sortie de l’opération de service afin de renseigner les champs de formulaire
.
success Renvoie des valeurs en fonction des arguments d’entrée pour l’opération de service. Il s’agit d’un paramètre facultatif utilisé comme fonction de rappel.
failure Affiche un message d’erreur si la fonction de rappel de succès n’affiche pas les valeurs de sortie en fonction des arguments d’entrée. Il s’agit d’un paramètre facultatif utilisé comme fonction de rappel.

Exemple de script pour appeler un service

L’exemple de script suivant utilise l’API guidelib.dataIntegrationUtils.executeOperation pour appeler l’opération de service getAccountById configurée dans le modèle de données de formulaire employeeAccount.

L’opération getAccountById utilise la valeur du champ de formulaire employeeID comme entrée pour l’argument empId et renvoie le nom de l’employé, le numéro de compte et le solde du compte pour l’employé correspondant. Les valeurs de sortie sont renseignées dans les champs de formulaire spécifiés. Par exemple, la valeur de l’argument name est renseignée dans l’élément de formulaire fullName et la valeur de l’argument accountNumber, dans l’élément de formulaire account.

var operationInfo = {
"formDataModelId": "/content/dam/formsanddocuments-fdm/employeeAccount",
"operationName": "getAccountDetails"
};
var inputs = {
"empid" : employeeID
};
var outputs = {
"name" : fullName,
"accountNumber" : account,
"balance" : balance
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs);

Utilisation de l’API avec la fonction de rappel

Vous pouvez également appeler le service de modèle de données de formulaire à l’aide de l’API guidelib.dataIntegrationUtils.executeOperation avec une fonction de rappel. La syntaxe API se présente comme suit :

guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, callbackFunction)

La fonction d’appel peut avoir des fonctions de rappel success et failure.

Exemple de script avec fonctions de rappel de succès et d’échec

L’exemple de script suivant utilise l’API guidelib.dataIntegrationUtils.executeOperation pour appeler l’opération de service GETOrder configurée dans le modèle de données de formulaire employeeOrder.

L’opération GETOrder prend la valeur du champ de formulaire Order ID comme entrée pour l’argument orderId et renvoie la valeur de quantité de commande dans la fonction de rappel success. Si la fonction de rappel success ne renvoie pas la quantité de commande, la fonction de rappel failure affiche le message Error occured.

REMARQUE

Si vous utilisez la fonction de rappel success, les valeurs de sortie ne sont pas renseignées dans les champs de formulaire spécifiés.

var operationInfo = {
    "formDataModelId": "/content/dam/formsanddocuments-fdm/employeeOrder",
    "operationTitle": "GETOrder",
    "operationName": "GETOrder"
};
var inputs = {
    "orderId" : Order ID
};
var outputs = {};
var success = function (wsdlOutput, textStatus, jqXHR) {
order_quantity.value = JSON.parse(wsdlOutput).quantity;
 };
var failure = function(){
alert('Error occured');
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, success, failure);

Sur cette page