Partager via


Échanger des messages X12 dans des flux de travail B2B à l’aide d’Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation + Standard)

Pour envoyer et recevoir des messages X12 dans des flux de travail que vous créez à l’aide d’Azure Logic Apps, utilisez le connecteur X12 . Ce connecteur fournit des opérations qui prennent en charge et gèrent la communication X12.

Ce guide montre comment ajouter les actions d’encodage et de décodage pour X12 à un flux de travail d’application logique existant. Vous pouvez utiliser n’importe quel déclencheur avec les actions X12. Les exemples de ce guide utilisent le Déclencheur de requête.

Référence technique du connecteur

Le connecteur X12 a différentes versions, en fonction du type d’application logique et de l’environnement hôte.

Application logique Environnement Version du connecteur
Consommation Azure Logic Apps multilocataire Connecteur managé X12, qui apparaît dans la galerie de connecteurs sous Partagé. Le connecteur X12 a un déclencheur et plusieurs actions. Vous pouvez utiliser n’importe quel déclencheur qui fonctionne pour votre scénario. Pour plus d’informations, consultez :

- Informations de référence sur le connecteur managé X12
- Limites des messages X12
Standard Azure Logic Apps à locataire unique, App Service Environment v3 (plans Windows uniquement) et déploiement hybride Connecteur intégré X12, qui apparaît dans la galerie de connecteurs sous Connecteur intégré et connecteur managé X12, qui apparaît dans la galerie de connecteurs sous Shared. Le connecteur managé X12 a un déclencheur et plusieurs actions. Le connecteur intégré X12 fournit uniquement des actions. Vous pouvez utiliser n’importe quel déclencheur qui fonctionne pour votre scénario.

La version intégrée diffère des façons suivantes :

– La version intégrée peut accéder directement aux réseaux virtuels Azure. Vous n’avez pas besoin d’une passerelle de données locale.

- La version intégrée offre un débit plus élevé et une latence inférieure.

Pour plus d’informations, consultez :

- Informations de référence sur le connecteur managé X12
- Opérations intégrées du connecteur X12
- Limites des messages X12

Opérations intégrées X12

Les sections suivantes décrivent les opérations de connecteur intégrées X12 et leurs paramètres :

Décoder X12

ID d’opération : x12Decode

Décode un message X12 en convertissant un fichier plat au format XML.

Paramètres
Nom complet Nom JSON Obligatoire Type Description
Message à décoder messageToDecode Oui Chaîne Message X12 à décoder.
ID de suivi B2B b2bTrackingId Non Chaîne ID de suivi B2B.

Encoder X12

ID d’opération : x12Encode

Encode un message X12 en convertissant du code XML au format de fichier plat.

Paramètres
Nom complet Nom JSON Obligatoire Type Description
Message à encoder messageToEncode Oui Chaîne Message X12 à encoder.
Identité de l'expéditeur Qualificateur de l'expéditeur senderIdentity.qualifier Non Chaîne Qualificateur de l'expéditeur.
Identité de l'expéditeur Identificateur de l'expéditeur senderIdentity.value Non Chaîne Identificateur de l'expéditeur.
Identité du récepteur Qualificateur de récepteur receiverIdentity.qualifier Non Chaîne Qualificateur du destinataire.
Identité et identificateur du récepteur receiverIdentity.value Non Chaîne Identificateur du destinataire.
Nom de l’accord X12 agreementName Non Chaîne Nom du contrat X12.
ID de suivi B2B b2bTrackingId Non Chaîne ID de suivi B2B.

Encoder le lot X12

ID d’opération : x12BatchEncode

Encode un lot de messages X12 en convertissant du code XML au format de fichier plat.

Paramètres
Nom complet Nom JSON Obligatoire Type Description
Traiter les messages par lots batchMessage.items Oui Array Message X12 à encoder.
ID de message batchMessage.items.messageId Oui Chaîne ID unique de l’élément de lot.
Contenu batchMessage.items.content Oui Chaîne Contenu de l’élément de lot.
Nom du lot batchMessage.batchName Non Chaîne Nom du lot.
Nom de la partition batchMessage.partitionName Non Chaîne Nom de la partition.
Identité de l'expéditeur Qualificateur de l'expéditeur senderIdentity.qualifier Non Chaîne Qualificateur de l'expéditeur.
Identificateur de l’identité de l’expéditeur senderIdentity.value Non Chaîne Identificateur de l'expéditeur.
Identité du récepteur Qualificateur du récepteur receiverIdentity.qualifier Non Chaîne Qualificateur du destinataire.
Identité du récepteur Identificateur du récepteur receiverIdentity.value Non Chaîne Identificateur du destinataire.
Nom de l’accord X12 agreementName Non Chaîne Nom du contrat X12.
ID de suivi B2B b2bTrackingId Non Chaîne ID de suivi B2B.

Prérequis

Encoder des messages X12

L’opération Encoder en message X12 effectue les tâches suivantes :

  • Résout l’accord en faisant correspondre les propriétés de contexte de l’expéditeur et du destinataire.

  • Sérialise l’échange de données électronique (EDI) et convertit les messages encodés XML en jeux de transactions EDI dans l’échange.

  • Applique les segments d’en-tête et de code de fin du document informatisé

  • Génère un numéro de contrôle d’échange, un numéro de contrôle de groupe et un numéro de contrôle de document informatisé pour chaque échange sortant.

  • Remplace les séparateurs dans les données de charge utile.

  • Valide l’EDI et les propriétés spécifiques au partenaire.

    • Validation de schéma d’éléments de données du document informatisé par rapport au schéma de message.
    • Validation de l’EDI sur les éléments de données du document informatisé.
    • Validation étendue sur les éléments de données du document informatisé.
  • Demande un accusé de réception technique et fonctionnel, s’il est configuré.

    • Génère un accusé de réception technique à la suite de la validation de l’en-tête. L’accusé de réception technique renvoie l’état du traitement de l’en-tête et du code de fin d’un échange par le récepteur de l’adresse.
    • Génère un accusé de réception fonctionnel à la suite de la validation du corps. L’accusé de réception fonctionnel signale chaque erreur rencontrée lors du traitement du document reçu.

Pour encoder des messages avec le connecteur X12, procédez comme suit :

  1. Dans le portail Azure, ouvrez votre ressource d’application logique et votre flux de travail dans le concepteur.

  2. Dans le concepteur, suivez ces étapes générales pour ajouter l’action X12 nommée Encoder en message X12 en fonction du nom de l’accord à votre flux de travail.

    Remarque

    Pour utiliser l'action Encoder en message X12 par identités, vous devez ensuite fournir différentes valeurs de paramètres, telles que l’identificateur de l’expéditeur et l’identificateur du destinataire spécifiés par votre accord X12. Vous devez également spécifier la valeur du message XML à encoder, que vous pouvez sélectionner comme sortie du déclencheur ou d'une action précédente.

  3. Lorsque vous êtes invité à créer une connexion à votre compte d’intégration, fournissez les informations suivantes :

    Paramètre Obligatoire Description
    Nom de connexion Oui Nom de la connexion.
    ID de compte d’intégration Oui L’ID de ressource pour votre compte d’intégration, au format suivant :

    /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>

    Exemple :
    /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Pour trouver cet ID de ressource, effectuez les étapes suivantes :

    1. Dans le Portail Azure, ouvrez votre compte d’intégration.
    2. Dans la barre latérale du compte d’intégration, sélectionnez Vue d’ensemble.
    3. Dans la page Vue d’ensemble, sélectionnez Vue JSON.
    4. Dans la propriété ID de ressource, copiez la valeur.
    URL SAP du compte d’intégration Oui L’URL du point de terminaison de requête qui utilise l’authentification par signature d’accès partagé (SAP) pour fournir l’accès à votre compte d’intégration. Cette URL de rappel a le format suivant :

    https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

    Exemple :
    https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR

    Pour trouver cette URL, suivez ces étapes :

    1. Dans le Portail Azure, ouvrez votre compte d’intégration.
    2. Dans la barre latérale du compte d’intégration, sous Paramètres, sélectionnez URL de rappel.
    3. À partir de la propriété URL de rappel générée, copiez la valeur.
    Taille de bloc des numéros de contrôle Non La taille de bloc des numéros de contrôle à réserver sur la base d’un accord pour les scénarios à haut débit.

    Exemple :

    Capture d’écran montrant le portail Azure, le flux de travail avec une action nommée Encode to X12 message par nom de contrat et les informations de connexion de l'action.

  4. Lorsque vous avez terminé, sélectionnez Créer nouveau.

  5. Dans le volet d’informations d’action X12, fournissez les valeurs suivantes :

    Paramètre Obligatoire Description
    Nom de l’accord X12 Oui L’accord X12 à utiliser.
    Message XML à coder Oui Message XML à encoder.
    Paramètres avancés Non Autres paramètres que vous pouvez sélectionner :

    - Séparateur d’éléments de données
    - Séparateur de composants
    - Caractère de remplacement
    - Terminateur de segment
    - Suffixe du terminateur de segment
    - Numéro de version de contrôle (ISA12)
    - Code/identificateur d’application émettrice GS02
    - Code/identificateur d’application réceptrice GS03

    Pour plus d’informations, consultez les paramètres du message X12.

    Par exemple, vous pouvez utiliser la sortie du contenu Body du déclencheur de requête comme charge utile de message XML.

    Pour rechercher et sélectionner cette sortie, procédez comme suit :

    1. Sélectionnez la zone du message XML à encoder, puis sélectionnez l’icône éclair pour ouvrir la liste de contenu dynamique.

    2. Dans la liste, sous Lorsqu’un message HTTP est reçu, sélectionnez Corps.

    Capture d’écran montrant une action nommée Encode to X12 message par nom de contrat avec les paramètres spécifiés.

Décoder des messages X12

L’opération Décoder en message X12 effectue les tâches suivantes :

  • Valide l’enveloppe par rapport à l’accord de partenariat commercial.

  • Valide l’EDI et les propriétés spécifiques au partenaire.

    • Validation de la structure EDI et validation du schéma étendue
    • Validation structurelle de l’enveloppe d’échange
    • Validation de schéma de l’enveloppe par rapport au schéma de contrôle
    • Validation de schéma des éléments de données du document informatisé par rapport au schéma de message
    • Validation de l’EDI sur les éléments de données du document informatisé
  • Vérifie que les numéros de contrôle de l’échange, du groupe et du document informatisé ne sont pas dupliqués.

    • Vérifie le numéro de contrôle de l’échange par rapport aux échanges reçus précédemment.
    • Vérifie le numéro de contrôle du groupe par rapport aux autres numéros de contrôle de groupe dans l’échange.
    • Vérifie le numéro de contrôle du document informatisé par rapport aux autres numéros de contrôle de document informatisé dans ce groupe.
  • Fractionne un échange en documents informatisés ou conserve l’ensemble de l’échange :

    • Fractionnez l’échange en jeux de transactions ou suspendez les jeux de transactions en cas d’erreur : analysez chaque jeu de transactions. L’action X12 decode ne génère que les documents informatisés qui échouent à la validation badMessages et produit les documents informatisés restants en tant que goodMessages.

    • Fractionnez l’échange en jeux de transactions ou suspendez l’échange en cas d’erreur : analysez chaque jeu de transactions. Si la validation d’un ou de plusieurs documents informatisés de l’échange échoue, l’action Décoder de X12 génère tous les documents informatisés dans cet échange en tant que badMessages.

    • Préserver l'échange ou suspendre les documents informatisés en cas d'erreur : conserve l’échange et traite l’intégralité de l’échange par lot. L’action X12 decode ne génère que les documents informatisés qui échouent à la validation badMessages et produit les documents informatisés restants en tant que goodMessages.

    • Préserver l’échange ou suspendre l’échange en cas d’erreur : conserve l’échange et traite l’intégralité de l’échange par lot. Si la validation d’un ou de plusieurs documents informatisés de l’échange échoue, l’action Décoder de X12 génère tous les documents informatisés dans cet échange en tant que badMessages.

  • Génère un accusé de réception technique et fonctionnel, s’il est configuré.

    • Génère un accusé de réception technique à la suite de la validation de l’en-tête. L’accusé de réception technique renvoie l’état du traitement de l’en-tête et du code de fin d’un échange par le récepteur de l’adresse.
    • Génère un accusé de réception fonctionnel à la suite de la validation du corps. L’accusé de réception fonctionnel signale chaque erreur rencontrée lors du traitement du document reçu.

Pour décoder les messages X12 dans votre flux de travail avec le connecteur X12, procédez comme suit :

  1. Dans le portail Azure, ouvrez votre ressource d’application logique et votre flux de travail dans le concepteur.

  2. Dans le concepteur, suivez ces étapes générales pour ajouter l’action X12 nommée Décoder le message X12 à votre flux de travail.

  3. Lorsque vous êtes invité à créer une connexion à votre compte d’intégration, fournissez les informations suivantes :

    Paramètre Obligatoire Description
    Nom de connexion Oui Nom de la connexion.
    ID de compte d’intégration Oui L’ID de ressource pour votre compte d’intégration, au format suivant :

    /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>

    Exemple :
    /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Pour trouver cet ID de ressource, effectuez les étapes suivantes :

    1. Dans le Portail Azure, ouvrez votre compte d’intégration.
    2. Dans la barre latérale du compte d’intégration, sélectionnez Vue d’ensemble.
    3. Dans la page Vue d’ensemble, sélectionnez Vue JSON.
    4. Dans la propriété ID de ressource, copiez la valeur.
    URL SAP du compte d’intégration Oui L’URL du point de terminaison de requête qui utilise l’authentification par signature d’accès partagé (SAP) pour fournir l’accès à votre compte d’intégration. Cette URL de rappel a le format suivant :

    https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

    Exemple :
    https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR

    Pour trouver cette URL, suivez ces étapes :

    1. Dans le Portail Azure, ouvrez votre compte d’intégration.
    2. Dans la barre latérale du compte d’intégration, sous Paramètres, sélectionnez URL de rappel.
    3. À partir de la propriété URL de rappel générée, copiez la valeur.
    Taille de bloc des numéros de contrôle Non La taille de bloc des numéros de contrôle à réserver sur la base d’un accord pour les scénarios à haut débit.

    Exemple :

    Capture d’écran montrant le portail Azure, le flux de travail avec l’action nommée Décoder le message X12 et les informations de connexion d’action.

  4. Lorsque vous avez terminé, sélectionnez Créer nouveau.

  5. Dans la zone d’informations d’action X12, fournissez les valeurs suivantes :

    Paramètre Obligatoire Description
    Message de fichier plat X12 à décoder Oui Le message X12 au format de fichier plat à décoder

    Remarque : la charge utile ou le contenu du message XML dans un tableau de messages est encodé en base64. Vous devez utiliser une expression qui traite ce contenu. Par exemple, l’expression suivante traite le contenu d’un tableau de messages en tant que XML à l’aide des fonctions xml(), base64ToBinary(), et item() :

    xml(base64ToBinary(item()?['Body']))
    Paramètres avancés Non Cette opération comprend les autres paramètres suivants :

    - Conserver l’échange
    - Suspendre l'échange en cas d'erreur

    Pour plus d’informations, consultez les paramètres du message X12.

    Par exemple, vous pouvez utiliser la sortie du contenu corps du déclencheur de requête comme charge utile de message XML, mais vous devez d’abord traiter ce contenu comme indiqué dans l’expression suivante :

    xml(base64ToBinary(item()?['Body']))

    Pour effectuer cette tâche, procédez comme suit :

    1. Sélectionnez la zone Message de fichier plat X12 à décoder, puis sélectionnez l'icône de fonction pour ouvrir l'éditeur d'expressions.

    2. Dans la zone de l'éditeur d'expression, entrez l'expression suivante, qui fait référence à la sortie Body du déclencheur de requête :

      xml(base64ToBinary(string(triggerBody())))

    3. Une fois que vous avez terminé, sélectionnez Ajouter.

    Capture d’écran montrant une action nommée Décoder le message X12 avec les paramètres spécifiés.