Compartir a través de


Intercambio de mensajes X12 en flujos de trabajo B2B mediante Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo + estándar)

Para enviar y recibir mensajes X12 en flujos de trabajo que cree mediante Azure Logic Apps, use el conector X12 . Este conector proporciona operaciones que admiten y administran la comunicación X12.

En esta guía se muestra cómo agregar las acciones de codificación y descodificación para X12 a un flujo de trabajo de aplicación lógica existente. Puede usar cualquier desencadenador con las acciones X12. En los ejemplos de esta guía se usa el desencadenador de solicitud.

Referencia técnica del conector

El conector X12 tiene versiones diferentes, basadas en el tipo de aplicación lógica y el entorno de host.

Aplicación lógica Medio ambiente Versión del conector
Consumo Azure Logic Apps multiinquilino Conector administrado X12, que aparece en la galería de conectores en Compartido. El conector X12 tiene un desencadenador y varias acciones. Puede usar cualquier desencadenador que funcione para su escenario. Para obtener más información, consulte:

- Referencia del conector administrado X12
- Límites de mensajes X12
Estándar Implementación híbrida, Azure Logic Apps de un solo inquilino y App Service Environment v3 (solo planes de Windows) Conector integrado X12, que aparece en la galería de conectores bajo Integrado, y conector gestionado X12, que aparece en la galería de conectores bajo Compartido. El conector administrado X12 tiene un desencadenador y varias acciones. El conector integrado X12 solo proporciona acciones. Puede usar cualquier desencadenador que funcione para su escenario.

La versión integrada difiere de las siguientes maneras:

- La versión integrada puede acceder directamente a las redes virtuales de Azure. No necesita una puerta de enlace de datos local.

- La versión integrada proporciona un mayor rendimiento y una menor latencia.

Para obtener más información, consulte:

- Referencia del conector administrado X12
- Operaciones del conector integrado X12
- Límites de mensajes X12

Operaciones integradas X12

En las secciones siguientes se describen las operaciones del conector integrados X12 y sus parámetros:

Descodificar X12

Identificador de operación: x12Decode

Descodifica un mensaje X12 convirtiendo el archivo plano en formato XML.

Parámetros
Nombre para mostrar Nombre JSON Obligatorio Tipo Descripción
Mensaje que se descodificará messageToDecode String Mensaje X12 para descodificar.
Identificador de seguimiento B2B b2bTrackingId No String Identificador de seguimiento B2B.

Codificar X12

Identificador de operación: x12Encode

Codifica un mensaje X12 convirtiendo XML en formato de archivo plano.

Parámetros
Nombre para mostrar Nombre JSON Obligatorio Tipo Descripción
Mensaje que se codificará messageToEncode String El mensaje X12 para codificar.
Identidad del remitente Calificador del remitente senderIdentity.qualifier No String Calificador del remitente.
Identidad del remitente Identificador del remitente senderIdentity.value No String Identificador del remitente.
Identidad del receptor Calificador de receptor receiverIdentity.qualifier No String Calificador del receptor.
Identidad del receptor, Identificador del receptor receiverIdentity.value No String Identificador del receptor.
Nombre del contrato X12 agreementName No String Nombre del contrato X12.
Identificador de seguimiento B2B b2bTrackingId No String Identificador de seguimiento B2B.

Codificación del lote X12

Identificador de operación: x12BatchEncode

Codifica un lote de mensajes X12 convirtiendo XML en formato de archivo plano.

Parámetros
Nombre para mostrar Nombre JSON Obligatorio Tipo Descripción
Mensajes por lotes batchMessage.items Array Mensaje X12 que se va a codificar.
Message ID batchMessage.items.messageId String Identificador único del elemento del lote.
Contenido batchMessage.items.content String Contenido del elemento del lote.
Nombre del lote batchMessage.batchName No String Nombre del lote.
Nombre de partición batchMessage.partitionName No String Nombre de la partición.
Identidad del remitente Calificador de remitente senderIdentity.qualifier No String Calificador del remitente.
Identidad del remitente Identificador del remitente senderIdentity.value No String Identificador del remitente.
Identidad del receptor Calificador de receptor receiverIdentity.qualifier No String Calificador del receptor.
Identidad del receptor, Identificador del receptor receiverIdentity.value No String Identificador del receptor.
Nombre del contrato X12 agreementName No String Nombre del acuerdo X12.
Identificador de seguimiento B2B b2bTrackingId No String Identificador de seguimiento B2B.

Requisitos previos

Codificación de mensajes X12

La operación de Codificar en mensaje X12 realiza las siguientes tareas:

  • Resuelve el contrato haciendo coincidir las propiedades de contexto de remitente y de receptor.

  • Serializa el intercambio electrónico de datos (EDI) y convierte los mensajes codificados con XML en conjuntos de transacciones EDI en el intercambio.

  • Aplica segmentos de encabezado y finalizador del conjunto de transacciones.

  • Genera un número de control de intercambio, un número de control de grupo y un número de control del conjunto de transacciones para cada intercambio de salida.

  • Reemplaza los separadores en los datos de carga útil.

  • Valida propiedades EDI y específicas del asociado.

    • Validación del esquema de elementos de datos del conjunto de transacciones en relación con el esquema de mensaje.
    • Validación de EDI en los elementos de datos del conjunto de transacciones.
    • Validación extendida en los elementos de datos del conjunto de transacciones.
  • Solicita una confirmación técnica y funcional, si esta opción está configurada.

    • Se genera una confirmación técnica como resultado de la validación de encabezado. La confirmación técnica informa del estado del procesamiento de un encabezado y finalizador de intercambio por parte del receptor de la dirección.
    • Se genera una confirmación funcional como resultado de la validación del cuerpo. La confirmación funcional informa de cada error encontrado al procesar el documento recibido.

Para codificar mensajes con el conector X12, siga estos pasos:

  1. En Azure Portal, abra el recurso de la aplicación lógica y el flujo de trabajo en el diseñador.

  2. En el diseñador, siga estos pasos generales para agregar la acción X12 denominada Codificar en mensaje X12 por nombre del contrato al flujo de trabajo.

    Nota:

    Si quiere usar la acción Codificar en mensaje X12 por identidades en su lugar, más adelante tendrá que proporcionar valores de parámetros diferentes, como el identificador de remitente y el identificador de receptor especificados por el contrato X12. También debe especificar el valor del mensaje XML para codificar, que puede seleccionar como salida del desencadenador o de una acción previa.

  3. Cuando se le pida que cree una conexión a su cuenta de integración, proporcione la siguiente información:

    Parámetro Obligatorio Descripción
    Nombre de la conexión Nombre de la conexión.
    Id. de cuenta de integración El identificador de recurso de la cuenta de integración, que tiene el formato siguiente:

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

    Por ejemplo:
    /subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Para encontrar este identificador de recurso, siga estos pasos:

    1. En el Azure Portal, abra la cuenta de integración.
    2. En la barra lateral de la cuenta de integración, seleccione Información general.
    3. En la página Información general, seleccione el Vista JSON.
    4. Desde la propiedad Identificador de recurso, copie el valor.
    Dirección URL de SAS de la cuenta de integración La dirección URL del punto de conexión de solicitud que usa la autenticación de firma de acceso compartido (SAS) para proporcionar acceso a la cuenta de integración. Esta dirección URL de devolución de llamada tiene el formato siguiente:

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

    Por ejemplo:
    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

    Para encontrar esta dirección URL, siga estos pasos:

    1. En el Azure Portal, abra la cuenta de integración.
    2. En la barra lateral de la cuenta de integración, en Configuración, seleccione Dirección URL de devolución de llamada.
    3. Desde la propiedad Dirección URL de devolución de llamada generada, copie el valor.
    Tamaño del bloque de números de control No Tamaño de bloque de números de control que se van a reservar de un contrato para escenarios de alto rendimiento

    Por ejemplo:

    Captura de pantalla que muestra el portal de Azure, un flujo de trabajo con una acción denominada Codificar a mensaje X12 por nombre de acuerdo e información de conexión de acción.

  4. Cuando haya terminado, seleccione Crear nuevo.

  5. En el panel de información de acciones X12, proporcione los siguientes valores:

    Parámetro Obligatorio Descripción
    Nombre del contrato X12 El contrato X12 que se va a usar.
    Mensaje XML que se va a codificar Mensaje XML que se va a codificar.
    Parámetros avanzados No Más parámetros que puede seleccionar:

    - Separador de elementos de datos
    - Separador de componentes
    - Carácter de reemplazo
    - Terminador de segmentos
    - Sufijo de terminador de segmento
    - Número de versión de control (ISA12)
    - Código GS02/Identificador de remitente de la aplicación
    - Código GS03/Identificador de receptor de la aplicación

    Para obtener más información, consulte Configuración de mensajes X12.

    Por ejemplo, puede usar la salida de contenido de Cuerpo del desencadenador de Solicitud como carga del mensaje XML.

    Para buscar y seleccionar esta salida, siga estos pasos:

    1. Seleccione en el cuadro de mensaje XML para codificar y luego seleccione el icono de rayo para abrir la lista de contenido dinámico.

    2. En la lista, en Cuando se recibe un mensaje HTTP, seleccione Cuerpo.

    La captura de pantalla muestra una acción denominada Codificar en el mensaje X12 según el nombre del acuerdo con los parámetros especificados.

Descodificación de mensajes X12

La operación de Descodificar mensaje X12 realiza las siguientes tareas:

  • Valida el sobre con el acuerdo entre socios comerciales.

  • Valida propiedades EDI y específicas del asociado.

    • Validación estructural de EDI y validación del esquema extendido
    • Validación estructural del sobre de intercambio
    • Validación del esquema del sobre con respecto al esquema de control
    • Validación del esquema de los elementos de datos del conjunto de transacciones con respecto al esquema de mensaje.
    • Validación de EDI en los elementos de datos del conjunto de transacciones
  • Comprueba que los números de control de intercambio, grupo y conjunto de transacciones no están duplicados.

    • Comprueba el número de control del intercambio en relación con los intercambios recibidos anteriormente.
    • Comprueba el número de control del grupo en relación con otros números de control de grupo en el intercambio.
    • Comprueba el número de control del conjunto de transacciones con otros números de control del conjunto de transacciones de dicho grupo.
  • Divide un intercambio en conjuntos de transacciones o conserva todo el intercambio:

    • Dividir el intercambio en conjuntos de transacciones o suspender conjuntos de transacciones en caso de error: Analizar cada conjunto de transacciones. La acción de descodificación X12 solo genera los conjuntos de transacciones que no superan la validación para badMessages y los resultados de las transacciones restantes se establecen en goodMessages.

    • Dividir el intercambio en conjuntos de transacciones o suspender el intercambio en caso de error: Analizar cada conjunto de transacciones. Si uno o varios conjuntos de transacciones del intercambio no superan la validación, la acción de descodificación X12 establece todos los conjuntos de transacciones del intercambio en badMessages.

    • Conservar el intercambio o suspender conjuntos de transacciones en caso de error: Conservar el intercambio y procesar todo el intercambio por lotes. La acción de descodificación X12 solo genera los conjuntos de transacciones que no superan la validación para badMessages y los resultados de las transacciones restantes se establecen en goodMessages.

    • Conservar el intercambio o suspenderlo en caso de error: Conservar el intercambio y procesar todo el intercambio por lotes. Si uno o varios conjuntos de transacciones del intercambio no superan la validación, la acción de descodificación X12 establece todos los conjuntos de transacciones del intercambio en badMessages.

  • Genera una confirmación técnica y funcional, si esta opción está configurada.

    • Se genera una confirmación técnica como resultado de la validación de encabezado. La confirmación técnica informa del estado del procesamiento de un encabezado y finalizador de intercambio por parte del receptor de la dirección.
    • Se genera una confirmación funcional como resultado de la validación del cuerpo. La confirmación funcional informa de cada error encontrado al procesar el documento recibido.

Para descodificar mensajes X12 en el flujo de trabajo con el conector X12, siga estos pasos:

  1. En Azure Portal, abra el recurso de la aplicación lógica y el flujo de trabajo en el diseñador.

  2. En el diseñador, siga estos pasos generales para agregar la acción X12 denominada Descodificar mensaje X12 al flujo de trabajo.

  3. Cuando se le pida que cree una conexión a su cuenta de integración, proporcione la siguiente información:

    Parámetro Obligatorio Descripción
    Nombre de la conexión Nombre de la conexión.
    Id. de cuenta de integración El identificador de recurso de la cuenta de integración, que tiene el formato siguiente:

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

    Por ejemplo:
    /subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Para encontrar este identificador de recurso, siga estos pasos:

    1. En el Azure Portal, abra la cuenta de integración.
    2. En la barra lateral de la cuenta de integración, seleccione Información general.
    3. En la página Información general, seleccione el Vista JSON.
    4. Desde la propiedad Identificador de recurso, copie el valor.
    Dirección URL de SAS de la cuenta de integración La dirección URL del punto de conexión de solicitud que usa la autenticación de firma de acceso compartido (SAS) para proporcionar acceso a la cuenta de integración. Esta dirección URL de devolución de llamada tiene el formato siguiente:

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

    Por ejemplo:
    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

    Para encontrar esta dirección URL, siga estos pasos:

    1. En el Azure Portal, abra la cuenta de integración.
    2. En la barra lateral de la cuenta de integración, en Configuración, seleccione Dirección URL de devolución de llamada.
    3. Desde la propiedad Dirección URL de devolución de llamada generada, copie el valor.
    Tamaño del bloque de números de control No Tamaño de bloque de números de control que se van a reservar de un contrato para escenarios de alto rendimiento

    Por ejemplo:

    Captura de pantalla que muestra Azure Portal, flujo de trabajo con acción denominada Descodificar mensaje X12 e información de conexión de acción.

  4. Cuando haya terminado, seleccione Crear nuevo.

  5. En el cuadro de información de acción X12, proporcione los siguientes valores:

    Parámetro Obligatorio Descripción
    Mensaje de archivo plano X12 que se va a descodificar El mensaje X12 en formato de archivo plano que se va a descodificar

    Nota: La carga de mensajes XML o el contenido de una matriz de mensajes está codificada en base64. Debe usar una expresión que procese este contenido. Por ejemplo, la expresión siguiente procesa el contenido de una matriz de mensajes como XML mediante las xml()funciones , base64ToBinary()y item() :

    xml(base64ToBinary(item()?['Body']))
    Parámetros avanzados No Esta operación incluye los siguientes parámetros:

    - Conservar intercambio
    - Suspender intercambio en caso de error

    Para obtener más información, consulte Configuración de mensajes X12.

    Por ejemplo, puede usar la salida de contenido body del desencadenador Request como carga del mensaje XML, pero primero debe procesar este contenido como se muestra en la expresión siguiente:

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

    Para completar esta tarea, siga estos pasos:

    1. Seleccione dentro del cuadro mensaje de archivo plano X12 para descodificar y, a continuación, seleccione el icono de función para abrir el editor de expresiones.

    2. En el cuadro editor de expresiones, escriba la expresión siguiente, que hace referencia a la salida Cuerpo del desencadenador Solicitud:

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

    3. Cuando finalice, seleccione Agregar.

    Captura de pantalla que muestra una acción denominada Descodificar mensaje X12 con parámetros especificados.