Connexion de données de l'API REST - Automate_Evolve - Automate_Studio_Manager - 20.3

Guide d'utilisation d'Automate Evolve

Product type
Logiciels
Portfolio
Integrate
Product family
Automate
Product
Automate > Automate Evolve
Version
20.3
Language
Français
Product name
Automate Evolve
Title
Guide d'utilisation d'Automate Evolve
Topic type
Aperçu
Référence
Administration
First publish date
2018

Étape 1 : créez une connexion à l'API REST dans la portée globale ou d'application

  1. Accédez à Connexions → Sources de données au niveau global ou d'application.

  2. Définissez une nouvelle connexion d'API REST API.

  3. Spécifiez l'URL de base de l'API, ainsi que les détails d'authentification. Pour en savoir plus, reportez-vous à Créer des connexions de base de données.

Étape 2 : créez une connexion de données de solution

Suivez les étapes ci-dessous pour configurer la connexion des données en fonction de l'opération requise (Créer, Lire, Mettre à jour ou Supprimer) et des données requises par l'API System.

  1. Créez une nouvelle Solution de formulaire ou ouvrez-en une existante, et cliquez sur Ajouter une connexion de données depuis le menu du ruban Solution.

  2. Spécifiez son nom et sélectionnez le type API REST. Cela affichera toutes les sources de données de type "API Rest" qui existent soit dans la portée actuelle de l'application, soit dans la portée globale.

  3. Définissez l'URL de l'API ou Point final de l'API REST :

    1. Par défaut, l'URL de base de l'API est affichée, telle que définie lors de la création de connexion de données. Configurez cette URL conformément aux exigences, afin d'extraire les données d'un point final spécifique.

    2. Cliquez sur les trois points pour ouvrir l'outil de création de l'URL pour ajouter les parties de l'URL.

    3. Dans la boîte de dialogue Générateur d'URL, ajoutez l'URL nécessaire à la connexion des données de cette solution. Il peut s'agir d'une valeur fixe ou d'une valeur de champ de formulaire, ou les deux. Voici un exemple d'obtention de détails spécifiques sur un produit à partir de l'API SAP HANA.

      1. URL de base telle que définie dans le connexion : https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap

      2. La première partie de l'URL spécifie l'accès à l'API du produit : /API_PRODUCT_SRV/A_Product/

      3. La deuxième partie de l'URL pour spécifier le numéro de produit à partir d'un champ de formulaire : ('[/my:myFields/my:Search_Product_Id]') REMARQUE : cette valeur est conforme à la spécification de l'API SAP HANA ('<<Numéro de produit>>').

      4. L'URL finale ressemblera à ceci :

        https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PRODUCT_SRV/A_Product/('[/my:myFields/my:Search_Product_Id]')

    Le retour à l'URL de l'API définie dans la bibliothèque de connexion des données fonctionne si aucune URL d'API n'est définie avec le contrôle (Recherche/Requête/Liste déroulante).

    Si l'URL de l'API est modifiée dans la bibliothèque de connexion des données, elle est également modifiée dans la solution d'exécution.

    La connexion de données ajoutée à partir de la bibliothèque de connexion des données n'est pas modifiable à partir du niveau Connexion de données de la solution. L'utilisateur peut uniquement modifier l'URL de l'API à partir de la propriété Filtre (clause brute WHERE) du contrôle Recherche/Requête/Liste déroulante.

    La priorité suivante sera suivie :

    • Pour la connexion à la bibliothèque de connexion des données

      • L'URL de l'API définie dans le contrôle Requête/Recherche sera respectée en premier.

      • Si aucune URL d'API n'est définie dans Requête/Recherche, l'URL d'API définie au niveau de la bibliothèque de connexion de données est utilisée.

    • Pour la connexion de la solution

      • L'URL de l'API définie dans le contrôle Requête/Recherche sera respectée en premier.

      • Si aucune URL d'API n'est définie dans Requête/Recherche, l'URL d'API définie au niveau de la bibliothèque de connexion de données est utilisée.

  4. Opérations HTTP : l'API REST utilise la syntaxe HTTP pour spécifier que la requête permet de Lire/Mettre à jour/Supprimer ou Créer. Sélectionnez ce champ en fonction de l'utilisation actuelle de la connexion API. Les opérations prises en charge sont les suivantes :

    1. GET : pour extraire des données de l'API.

    2. Put / Patch : pour mettre à jour les données.

    3. Post : pour créer des données.

    4. Delete : pour supprimer des données.

      Remarque :

      Remarques :

      • Sélectionnez l'opération ci-dessous conformément aux spécifications de l'API du système, car certains systèmes peuvent ne pas respecter la syntaxe HTTP standard. L'opération d'envoi peut supprimer des données.

      • Module logiciel enfichable Adaptateur de connexion de données - Le nœud Exécuteur est pris en charge avec la connexion de données d'API REST.

  5. Définissez l'API Schema :

    1. Schéma d'entrée : le schéma d'entrée concerne les données qui seront transmises à l'API (c'est-à-dire, Contenu de demande dans JSON). Spécifiez le schéma JSON soit depuis le fichier ou copiez-le directement dans le champ de texte.

    2. Schéma de sortie : le schéma de sortie concerne les données qui seront transmises par l'API (c'est-à-dire, Contenu de réponse dans JSON). Spécifiez le schéma JSON soit depuis le fichier ou copiez-le directement dans le champ de texte.

      Pour plus d'informations, reportez-vous aux étapes de mise à jour du schéma d'entrée/sortie pour la connexion de l'API REST..

    3. Schéma d'erreur : en cas d'erreur ou d'exception, certaines API retourne les données dans un schéma JSON différent. Par exemple, le code de statut HTTP (4xxx ou 5xxx) sont considérées comme une erreur/exception dans l'appel d'API. Spécifiez le schéma JSON soit depuis le fichier ou copiez-le directement dans le champ de texte.

    4. En-tête de demande : il s'agit des données d'en-tête au format paires de clés-valeurs. L'en-tête de la demande correspond aux données qui seront envoyées à l'API dans la section En-têtes de demande. Spécifiez les en-têtes de demande attendus, conformément aux spécifications de l'API. Il est également possible de configurer la clé et la valeur pour qu'elles soient lues à partir de champs de formulaire ou d'une valeur fixe ou les deux.

      Exemple : si l'autorisation d'en-tête de demande est définie avec la valeur - bearer [FormFieldName] et si au moment de l'exécution la valeur FormFieldName est 1234, la valeur d' autorisation d'en-tête de demande est bearer 1234

      Ici, bearer est une valeur fixe et FormFieldName est un champ de formulaire.

    5. En-tête de réponse : il s'agit de l'en-tête au format paires de clés-valeurs. L'en-tête de réponse correspond aux données qui seront reçues de l'API en tant que réponse dans la section des en-têtes. Spécifiez les en-têtes de demande attendus, conformément aux spécifications de l'API. Le nom de la clé doit être une valeur fixe / statique spécifiée au moment de la conception de la solution, et la valeur sera un champ de formulaire et ce champ de formulaire sera mis à jour avec la valeur des données reçues de l'API. Les en-têtes de réponse ne fonctionnent qu'avec l'exécution du service Web (contrôle du service Web ou adaptateur de connexion de données).

      Remarque sur les en-têtes de demande

      Vous trouverez ci-dessous les détails de la prise en charge de l'en-tête par le champ du formulaire :

      1. Connexion de données async : la récupération automatique des données lorsque le formulaire est ouvert n'est pas activée, Cette opération n'est pas prise en charge.

      2. Connexion de données sync : la récupération automatique des données lorsque le formulaire est ouvert est activée. Cette fonction n'est prise en charge que pour les champs non répétitifs.

      Remarque :
      • Si la connexion de données de l'API REST (Sync/Async) est utilisée dans la liste déroulante avec un filtre défini et que l'utilisateur modifie la connexion de données, un message d'avertissement s'affiche. En fonction de la sélection, le mode de connexion de données change et les filtres sont effacés. La boîte de dialogue de filtre correspondante (filtre de synchronisation ou filtre d'URL d'API REST) s'ouvre où la connexion de données de l'API Rest est consommée.

      • Aucun message d'avertissement n'est affiché si la connexion de données de l'API REST utilisée dans la liste déroulante sans filtre est définie.

      Type de données de champ de charge utile JSON :

      L'application peut déterminer le type de données des champs JSON si le schéma JSON spécifié dans le schéma Entrée/Sorte/Erreur a spécifié le nom du type de données dans la valeur. Par exemple, pour spécifier le champ CityName en tant que type chaîne : {"CityName" : "string"} ou pour spécifier le champ CreatedOn en tant que type Date : {"CreatedOn" : "date"}. Vous trouverez ci-dessous le tableau de mappage des types de champs à titre de référence :

      Type de données Type de champ
      int, bigint Pour le champ Nombre.
      chaîne Pour une chaîne ou un champ de texte.
      decimal Pour un champ décimal.
      bit, bool, true Pour un champ booléen.
      date, datetime Pour un champ de Date.

      Si aucun type de données n'est spécifié, l'application tente de prédire le type de données sur la base de la valeur donnée. Valeur numérique en int (c'est-à-dire 0 ou 12, etc.), valeur décimale en double (c'est-à-dire 12,4 ou 9,1, 0,0 étant également considéré comme int), valeur de la date en date. Il est recommandé de spécifier le type de données pour obtenir des résultats plus précis.

      Prise en charge de tableau

      Les propriétés de type tableau sont également prises en charge. Vous trouverez ci-dessous un exemple de propriété de tableau et de notation de son type de données. Pour les propriétés de type tableau, le schéma de formulaire est généré sous la forme d'une table à une seule colonne (c'est-à-dire, section répétée avec un seul champ du formulaire).

      [{ "id": "int", "name": "string", "productType": "string", "sizes": ["string"], "otherDetails": { "colors": ["string"], "versions": ["int"] }}]

      Erreur de type de date lors de la génération de champs

      Si le champ d'API indiqué dans le contenu ne correspond pas au type de champ du formulaire (principalement avec les dates et les nombres), c'est-à-dire que le type de champ API est une chaîne de caractères, et qu'il est associé à un champ de formulaire de type date ou vice-versa, la conversation des données peut ne pas être correcte, car l'application considère que les données reçues du serveur d'API sont des chaînes de caractères. Le formulaire les traite comme des dates, ce qui peut entraîner une discordance de données ou des erreurs inconnues.

      Les contenu JSON fourni est traitée en tenant compte de la casse, et tous les noms de clé fournis sont traités avec la même casse que celle indiquée. Par exemple, "id" : "int", l'application cherche la clé avec le nom exact "id" et ne peut pas traiter les données reçues comme "Id" ou "ID", etc.

    6. Enregistrez la connexion et elle apparaîtra dans les Connexions de données de la solution.

Modification de la connexion de données (API REST) :

Si la connexion de données est en cours d'utilisation, seules les propriétés suivantes seront modifiables.

  • Adresse URL

  • En-têtes de demande/réponse

Étape 3 : mappage de la solution l'API Data Connection avec les champs du formulaire

Cette étape permet de mapper les champs de données de la solution API Data Connection avec les champs du formulaire. C'est semblable au mappage des champs du Service Web ou de la Connexion des données de référence avec les données de formulaire.

Voici les étapes pour le mappage de la connexion des données de la solution API avec les champs du formulaire :

  1. Cliquez du bouton droit sur Connexion de données de solution et choisissez l'option Créer les champs de formulaire.

  2. Dans la boîte de dialogue Mappage de champ, spécifiez les détails ci-dessous :

    1. Description : note textuelle sur ce mappage.

    2. Nom de groupe : nom du groupe des champs de schéma de formulaire. Tous les champs du formulaire seront créés dans ce groupe uniquement.

    3. Nom du service Web : nom de mappage qui sera utilsé dans le contrôle de formulaire ou les plugins.

    4. Cliquez sur Suivant dans cette boîte de dialogue.

  3. La boîte de dialogue Paramètres de mappage de champs affichera tous les champs de connexion de données de l'API Solution et les champs de formulaire, de la même manière que ce qui est affiché dans la boîte de dialogue Mappage de champ de service Web.

  4. Vérifiez ou modifiez le type de champ du formulaire ou la longueur maximale selon les besoins.

  5. Cliquez sur OK pour terminer le mappage.

Le mappage d'un champ de schéma à un type différent de champ de formulaire doit être effectué dans la boîte de dialogue Mappage de champ. La modification du type de champ de formulaire à partir des propriétés ne modifie pas le type de données dans WSDL.

Par exemple :

Dans le cas d'une méthode d'API GET, il existe un champ de date dans le schéma de sortie, et son type de données est une chaîne. L'utilisateur doit sélectionner Type de date dans la boîte de dialogue Mappage des champs.

Remarque : Le mappage du sélecteur de date à un champ de texte et le remplacement du type par Date à partir des propriétés de champ n'affichent pas les résultats attendus.

Étape 4 : concevoir le formulaire

Concevez le formulaire avec les champs créés et mappés à la connexion de l'API Solution Data. Placez également des contrôles de formulaire (c'est-à-dire service Web, recherche, requête ou liste déroulante) qui exécuteront la connexion de données d'API.

  1. Concevez les champs de formulaire sur la Vue Formulaire

  2. Placez le service Web et le contrôle de bouton sur la Vue Formulaire. Configurez le contrôle de service Web et le contrôle de bouton pour exécuter la connexion de données à l'API Solution lorsque vous cliquez sur ce bouton.

  3. Déployez la solution.

Remarque : La connexion à l'API Solution Data reposer sur la même conception que les autres connexions de données et peut être utilisée avec les contrôles de formulaires et les plugins pris en charge.

Étape 5 : Tester la connexion de données de l'API Solution

Lancez le formulaire et exécutez le connexion de données de l'API Solution.

  1. Lancez le formulaire

  2. Cliquez sur le bouton configuré pour exécuter la connexion de données de l'API Solution.

  3. Le formulaire exécutera l'API et affichera les données de la réponse dans les champs du formulaire.

    Lorsque vous utilisez la fonction Connexion de données dans la solution de formulaire pour télécharger les données dans le formulaire Evolve, vous pouvez effectuer l'une des opérations suivantes :

    • Télécharger les données sur les actions de l'utilisateur sur le formulaire.
    • Télécharger les données en arrière-plan à l'aide du modules logiciel enfichable Adaptateur de connexion de données.

    Il est recommandé de concevoir une solution qui ne télécharge pas un gros volume (plus de 1 000 enregistrements) de données dans le formulaire. L'enregistrement d'un tel volume de données dans un formulaire peut solliciter considérablement la RAM ou et le processeur. Cette situation peut avoir un impact sur d'autres fonctions de l'application, tel que l'augmentation du temps de réponse et le retardement du traitement des travaux.

    Par exemple, les champs de formulaire du paramètre d'entrée de la requête doivent être définis de manière à ce que la requête ne renvoie jamais plus de 1 000 enregistrements. Pour ce faire, vous pouvez rendre le paramètre d'entrée obligatoire. Si vous utilisez une API REST et qu'elle prend en charge le nombre maximal d'enregistrements à renvoyer pour une requête ou un filtre (comme l'API OData qui a généralement des paramètres count ou $count), ce paramètre doit être défini avec une valeur limite (inférieure à 1 000) au moment de la conception de la solution. Ainsi, si l'utilisateur final du formulaire fournit involontairement un filtre ou une entrée incorrects, il ne doit pas renvoyer des milliers d'enregistrements.

Exemple d'API qui retourne des produits

Spécification d'API

API avec point final "http://globalsystem/api/Product" retourne les produits au format JSON à l'aide de la syntaxe HTTP / l'opération GET. Et il est possible d'accéder à l'API à l'aide du code de clé fourni, qui doit être transmis dans l'en-tête de la requête dans le nom de clé accesskey. Le point de terminaison de l'URL de l'API a une adresse de base pour toutes les API et également une partie d'URL spécifique pour renvoyer les produits, c'est-à-dire que la partie d'URL de base est : « http://globalsystem/api » et la partie URL du produit est « /Product ». Cette API renvoie un ou plusieurs produits. Vous trouverez un exemple ci-dessous :

API response affichant les détails de deux produits. Il s'agit un tableau au format JSON.

[  { "id": 1, "name": "100-100", "productType": "A1", "weightUnit": "W1", "netWeight": 90, "grossWeight": 100, "validityStartDate": "2020-10-03T10:28:45.892275+05:30" }, { "id": 2, "name": "100-200", "productType": "A1", "weightUnit": "W1", "netWeight": 100, "grossWeight": 150, "validityStartDate": "2019-08-30T10:28:46.3904638+05:30" } ]

Étape 1 :

  1. Ajouter une nouvelle connexion soit au niveau de l'application soit au niveau global avec l'URL de base : « http://globalsystem/api » et avec le type d'authentification en tant qu'en-tête HTTP, c'est-à-dire ajouter un en-tête de nom de clé accesskey, et la valeur doit être la clé d'accès valide telle que reçue du système. Nommez la connexion "GlobalSystemAPI".

Étape 2 :

  1. Créez une nouvelle solution et ajoutez la connexion de données de l'API REST au nom de connexion "GlobalSystemAPI", créé à l'étape 1.

  2. Nommez cette connexion de données "conProductGlobalSystem".

  3. Définissez l'URL de l'API sur l'API du produit en ajoutant la part de l'URL "/Product" à l'aide de l'outil de création d'URL.

  4. Définissez l'opération GET.

  5. Il n'est pas nécessaire de définir un schéma d'entrée, car l'API n'attend pas de charge utile.

  6. Définissez le Schéma de sortie sur un produit seulement, car la connexion n'a besoin que du schéma et non la sortie exacte avec des données de plusieurs produits. Définissez le type de champ (Type de données), attendu dans le champ du formulaire de Composer. Il existe deux façons d'ajouter les détails du schéma à votre API. Vous pouvez soit enregistrer ce schéma dans un fichier et ensuite parcourir le fichier, soit convertir le schéma directement en texte. Voici un exemple de schéma (Tableau de produits)

    Exemple de schéma

    [ { "id": “int”, "name": "string", "productType": "string", "weightUnit": "string", "netWeight": “decimal”, "grossWeight": “decimal”, "validityStartDate": "date" } ]
    Remarque : Le schéma ci-dessus est un tableau de données qui sera retourné comme réponse par l'API. Il s'agit également d'une spécification standard du format JSON. Elle spécifie également chaque type de champ que le Composer utilisera lors de la création de champs de formulaire.
    Remarque : Si la valeur d'une clé dans le schéma ci-dessus attend le renvoi de plusieurs valeurs (un tableau de valeurs séparées par des virgules), cela est également pris en charge, et les types de données existants suffiront à cet effet. L'exemple d'une valeur de tableau reçue comme réponse pour une "clé" dans le schéma peut être le suivant : ["valeur_1", "valeur_2", "valeur_3"], qui peut être considérée comme une donnée de type "string" (chaîne).
  7. Enregistrez la connexion

Étape 3 : mappage de la solution la connexion de données de l'API avec les champs du formulaire.

  1. Cliquez du bouton droit sur la connexion "conProductGlobalSystem" créée ci-dessus dans l'arbre des solutions et choisissez "Créer les champs de formulaire". Nommez ce mappage / service Web "ProductGlobalSystemWS" et exécutez les étapes pour créer les champs de formulaire.

Étape 4 : concevoir le formulaire.

  1. Placez les champs de formulaire créés à l'étape 3 dans une Vue Formulaire.

  2. Ajoutez un contrôle de bouton et donnez-lui l'étiquette "Get Products".

  3. Ajoutez un contrôle de service Web et sélectionnez le mappage / nom du service Web "ProductGlobalSystemWS" et configurez-le également pour qu'il s'exécute sur "appel par bouton" et sélectionnez le bouton ajouté ci-dessus.

  4. Déployez la solution.

Remarque :

  • L'URL de demande du champ de solution n'est pas prise en charge directement dans les modèles de formulaire. L'utilisateur doit créer un brouillon ou une tâche pour l'utiliser.

  • Dans le cas de contrôles de formulaire tels que Requête, Recherche, Liste déroulante, PR, seule la section la plus externe du schéma est disponible. Par conséquent, les connexions de données n'affichent que l'ensemble de champs le plus externe sous forme de colonnes.

Étape 5 : tester la connexion de l'API REST.

  1. Lancez le modèle de formulaire et cliquez sur le bouton Obtenir des produits ; tous les produits seront extraits et le résultat devrait s'afficher dans un tableau.

Gestion DateTime dans l'intégration des API REST :

Opérations POST/PATCH/PUT

Case 1 A>Date de publication à l'aide du contrôle Sélecteur de date

Lors de l'utilisation du contrôle Sélecteur de date, l'utilisateur doit saisir la date dans le format défini dans le contrôle Sélecteur de date, indépendamment du format de date (ISO/Cycles) défini dans le DC de l'API Rest.

Cas 1 B>Partie horaire dans le contrôle Sélecteur de date

La partie horaire est perdue lors de la publication à l'aide du contrôle Sélecteur de date.

Cas 2 A>Publication date avec TextField

Lorsque vous utilisez Texfieldu, par exemple, le schéma comporte un champ de date, mais dans la fenêtre de création de mappage de champ, le champ de date est mappé au type Textfield. Ici, le format correct accepté par l'API doit être défini.

• Pour les ticks : l'utilisateur doit entrer une valeur dans le format Ticks. Exemple - /Date(1595808000000)/ .

• Pour ISO : l'utilisateur doit entrer la date dans le format ISO. Exemple - aaaa-mm-jj.

Cas-2 B >Partie horaire et TimeZone utilisant TextField

En utilisant Textfield , la partie horaire n'est pas perdue. En outre, le fuseau horaire est respecté si la valeur de date est fournie avec le décalage. Exemple - La fourniture d'une valeur telle que 2021-03-31T01:01:13.8366463+05:30 affiche la date dans le système avec le fuseau horaire.

Opération GET

Cas 1 A : Obtention d'une date dans le contrôle Sélecteur de date

Ici, la date sera définie selon le format du sélecteur de date, indépendamment du format de date (Ticks/ISO) défini dans la connexion de données de l'API REST.

Cas 1 B : partie horaire et fuseau horaire

Time part sera perdu. La date sera toujours renvoyée en UTC.

Cas 2 A->Obtention d'une date dans un champ de texte

Ici, la date sera définie selon le format de date dans la connexion de données de l'API REST. Par exemple - pour Ticks , la date est définie sous la forme /Date(1595808000000)/ et pour ISO , la date a le format aaaa-mm-jj hh:mm:ss.

Cas-2 B >Partie horaire et TimeZone utilisant TextField

La date sera toujours renvoyée selon le fuseau horaire UTC.

Par exemple - Si la date a été publiée sous la forme 2021-03-31T00:00:00.0000000+05:30 (Fuseau horaire de l'Inde), lors d'une opération GET, la date est retournée au format 2021-03-30 (c'est-à-dire, fuseau horaire UTC).