Compartir a través de


Automatización de mensajes B2B entre socios comerciales mediante flujos de trabajo en Azure Logic Apps

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

Para las integraciones de negocio a negocio (B2B), puede automatizar la comunicación entre socios comerciales mediante la creación de flujos de trabajo con artefactos B2B y protocolos estándar del sector en Azure Logic Apps.

Por ejemplo, puede crear una cuenta de integración para definir artefactos como socios comerciales, acuerdos, mapas y esquemas. Los flujos de trabajo admiten protocolos como AS2, X12, EDIFACT y RosettaNet. Cree integraciones de un extremo a otro mediante la combinación de estas funcionalidades B2B con más de 1400 conectores disponibles en Azure Logic Apps, como Office 365 Outlook, SQL Server y Salesforce.

En esta guía se muestra cómo crear un flujo de trabajo B2B de ejemplo que puede completar las siguientes tareas:

  • Recibir solicitudes HTTPS con el desencadenador Solicitud denominado Cuando se recibe una solicitud HTTP.
  • Descodifique el contenido del mensaje entrante con la acción de descodificación AS2 (v2) y la acción de descodificación X12 .
  • Devuelve una respuesta al autor de la llamada con la acción Respuesta .

Requisitos previos

  • Una cuenta y una suscripción de Azure. Obtenga una cuenta gratuita de Azure.

  • El recurso de la aplicación lógica y el flujo de trabajo en blanco donde desea construir la integración B2B.

    Las operaciones AS2 (v2) y X12 no incluyen ningún desencadenador. El flujo de trabajo puede comenzar con cualquier desencadenador o usar cualquier acción para recibir mensajes.

    En los ejemplos de este artículo se usa el desencadenador Solicitud denominado Cuando se recibe una solicitud HTTP.

    Para obtener más información, consulte:

  • Un recurso de cuenta de integración para definir y almacenar artefactos para flujos de trabajo de integración empresarial y B2B.

    • Tanto la cuenta de integración como el recurso de aplicación lógica deben existir en la misma suscripción de Azure y en la misma región de Azure.

    • Define al menos dos socios comerciales en su cuenta de integración. Las definiciones de ambos asociados deben usar el mismo calificador de identidad empresarial , como AS2, X12, EDIFACT o RosettaNet.

    • Define un contrato AS2 y un acuerdo X12 entre los socios comerciales que participan en el flujo de trabajo. En cada contrato hacen falta un asociado anfitrión y un asociado invitado.

      El contenido de los mensajes entre los asociados debe coincidir con el tipo de contrato. Para obtener información sobre la configuración del contrato que se va a usar al recibir y enviar mensajes, consulte:

  • Antes de empezar a trabajar con las operaciones AS2 y X12, debe vincular su aplicación lógica de Consumo o vincular su aplicación lógica Estándar a la cuenta de integración para que pueda trabajar con artefactos como socios comerciales y acuerdos. Puede vincular una cuenta de integración a varios recursos de aplicaciones lógicas de tipo Consumo o Estándar para compartir los mismos artefactos.

    Al agregar las operaciones AS2 y X12, es posible que tenga que crear una conexión a la cuenta de integración:

    Flujo de trabajo de la aplicación lógica ¿Se requiere conexión?
    Consumption - Conector AS2 (v2): no se requiere conexión

    - Conector X12: conexión necesaria
    Estándar - Conector AS2 (v2): no se requiere conexión

    - Conector integrado X12: no se requiere conexión

Adición del desencadenador Request

Para iniciar el flujo de trabajo en este ejemplo, agregue el desencadenador Solicitud.

  1. En el portal de Azure, abra su recurso de aplicación lógica.

  2. En el diseñador, abra el flujo de trabajo. Siga estos pasos generales para agregar el desencadenador integrado Request denominado Cuando se recibe una solicitud HTTP al flujo de trabajo.

    El panel de información del desencadenador se abre con la pestaña Parámetros seleccionada.

  3. Deje vacío el parámetro de esquema JSON del cuerpo de solicitud del desencadenador porque el desencadenador recibe mensajes X12 en formato de archivo plano.

    La captura de pantalla muestra Azure Portal, el diseñador de flujos de trabajo y los parámetros del desencadenador Request.

  4. Guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).

    Este paso genera la dirección URL HTTP, que se usará posteriormente para enviar una solicitud que desencadene el flujo de trabajo.

    Captura de pantalla que muestra el diseñador de flujos de trabajo, los parámetros de desencadenador de solicitud y la dirección URL generada para el desencadenador de solicitud.

  5. Copie y guarde la dirección URL para su uso posterior.

Incorporación de la acción Descodificación AS2

Siga estos pasos para agregar la acción de descodificación AS2 (v2).

  1. En el desencadenador Solicitud , siga estos pasos generales para agregar la siguiente acción AS2 (v2), en función del tipo de flujo de trabajo:

    Flujo de trabajo Nombre de la acción
    Consumption Descodificación AS2
    Estándar Descodificar AS2
  2. En el parámetro Message to decode (mensaje a decodificar) de la acción, proporcione el contenido del mensaje que se va a descodificar.

    En este ejemplo se especifica el contenido del cuerpo de la salida del desencadenador de Solicitud. Puede proporcionar este contenido seleccionando en la lista de contenido dinámico o escribiendo una expresión:

    • Para elegir la salida de las operaciones anteriores, siga estos pasos para la lista de contenido dinámico:

      1. Seleccione dentro del cuadro Mensaje para descodificar y, a continuación, seleccione el icono de rayo para abrir la lista de contenido dinámico.

      2. En Cuando se recibe una solicitud HTTP, seleccione Cuerpo, por ejemplo:

        Captura de pantalla que muestra el diseñador de flujos de trabajo, los parámetros del desencadenador de solicitud y la lista de contenido dinámico con el parámetro Body seleccionado.

        Nota:

        Si Body no aparece en la lista de contenido dinámico, junto a la etiqueta de sección Cuando se recibe una solicitud HTTP , seleccione Ver más.

    • Para introducir una expresión que haga referencia al contenido de la propiedad body desde la salida del desencadenador Solicitud, siga estos pasos:

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

      2. En el cuadro del editor, escriba la expresión siguiente y seleccione Agregar:

        triggerOutputs()['body']

  3. En el parámetro Encabezados de mensaje de la acción, escriba los encabezados que requiera la acción AS2. Puede encontrar estos valores en la propiedad headers de la salida del desencadenador Solicitud siguiendo estos pasos:

    1. En la sección Encabezados de mensaje, seleccione Cambiar encabezados de mensaje al modo de texto:

      Captura de pantalla que muestra la acción de descodificación AS2 con los encabezados del mensaje cambiados a modo texto seleccionado.

    2. Seleccione dentro del cuadro Encabezados de mensajes y luego seleccione el icono de función para abrir el editor de expresiones.

    3. En el cuadro del editor, escriba la expresión siguiente y seleccione Agregar:

      triggerOutputs()['Headers']

      Captura de pantalla que muestra el cuadro Encabezados de mensaje con una expresión que hace referencia a los encabezados en la salida del desencadenador.

    4. Para resolver la expresión en el token Headers, en la barra de herramientas del diseñador, seleccione Vista de código y, después, Diseñador.

Confirmación de la recepción de mensajes

Para confirmar la recepción del mensaje, devuelva una respuesta que contenga una notificación de disposición de mensajes AS2 (MDN) al remitente mediante las acciones Condición y respuesta .

Importante

Asegúrese de que estas acciones siguen inmediatamente la acción AS2 para que el flujo de trabajo continúe procesando si la acción AS2 se realiza correctamente. De lo contrario, el flujo de trabajo detiene el procesamiento si se produce un error en la acción AS2.

Agregar una acción Condición para elegir la ruta de la acción

Estos pasos agregan la acción Condición para que pueda especificar una o varias condiciones para evaluar y elegir las acciones que se deben realizar, en función de si la acción de descodificación as2 (v2) se realiza correctamente.

  1. En el diseñador, en la acción de decodificación AS2 (v2), siga estos pasos generales para agregar la acción integrada Condición.

    La acción Condición aparece con las rutas vacías True y False. Luego, agregue las acciones que se ejecutarán en estas rutas, según si la condición se evalúa como true (verdadera) o false (falsa).

    Captura de pantalla que muestra la acción Condición con rutas de acceso vacías.

  2. Seleccione la barra de título Condición para expandir la acción para que pueda proporcionar una o varias condiciones para evaluar.

  3. En el cuadro Elegir un valor del lado izquierdo, escriba la siguiente expresión, en función del tipo de flujo de trabajo:

    Consumo

    @body('AS2_Decode')?['messageContent']?['isMdnExpected']

    Estándar

    @body('Decode_AS2')?['messageContent']?['isMdnExpected']

    Importante

    Asegúrese de que el nombre de la acción de descodificación AS2 y los nombres de salida coincidan con los nombres de la acción AS2 seleccionada.

  4. En la lista central, seleccione el signo igual (=).

  5. En el cuadro Elegir un valor del lado derecho, escriba el valor Expected.

    Captura de pantalla que muestra la acción Condición con la condición de ejemplo que se va a evaluar.

  6. Guarde el flujo de trabajo.

Configuración de rutas de acciones

Estos pasos especifican las acciones que se deben realizar y las respuestas que se van a devolver en función de si la acción de descodificación as2 (v2) se realiza correctamente.

  1. Para cuando la acción de descodificación as2 (v2) se realiza correctamente, siga estos pasos:

    1. En el cuadro True , seleccione el signo más (+) >Agregar una acción.

    2. En el cuadro de búsqueda Agregar una acción , escriba response. En Solicitud, seleccione la acción integrada Respuesta .

    3. Para hacer referencia a MDN AS2 desde la salida de la acción de descodificación AS2 (v2), especifique las expresiones siguientes:

      • En el parámetro Headers de la acción, para el valor de clave, escriba la siguiente expresión:

        Consumo

        @body('AS2_Decode')?['outgoingMdnContent']?['outgoingMdnHeaders']

        Estándar

        @body('Decode_AS2')?['outgoingMdnContent']?['outgoingMdnHeaders']

      • En el parámetro Body de la acción, escriba la siguiente expresión:

        Consumo

        @body('AS2_Decode')?['outgoingMdnContent']?['messageContent']

        Estándar

        @body('Decode_AS2')?['outgoingMdnContent']?['messageContent']

      Importante

      Asegúrese de que el nombre de la acción de descodificación AS2 y los nombres de salida coincidan con los nombres de la acción AS2 seleccionada.

      En el ejemplo siguiente se muestra el aspecto de la acción Respuesta :

      Captura de pantalla que muestra la acción de Respuesta y las expresiones resueltas que acceden a AS2 MDN.

  2. Para cuando se produzca un error en la acción de descodificación as2 (v2), siga estos pasos:

    1. En el cuadro False , seleccione el signo más (+) >Agregar una acción.

    2. En el cuadro de búsqueda Agregar una acción , escriba response. En Solicitud, seleccione la acción integrada Respuesta .

    3. Configure la acción Respuesta para devolver el estado y el error que desea.

  3. Guarde el flujo de trabajo.

Incorporación de la acción Descodificar mensaje X12

Siga estos pasos para descodificar mensajes X12.

  1. En el diseñador, en la acción Respuesta , siga estos pasos generales para agregar la siguiente acción de descodificación X12, en función del tipo de flujo de trabajo:

    Flujo de trabajo Nombre de la acción
    Consumption Descodificar mensaje X12
    Estándar Descodificar X12

    Para más información, consulte Exchange X12 messages in B2B workflows with Azure Logic Apps (Intercambio de mensajes X12 en flujos de trabajo B2B con Azure Logic Apps).

  2. Si la acción le pide que cree una conexión, proporcione la siguiente información y seleccione Crear nuevo.

    • Nombre de conexión
    • Identificador de cuenta de integración
    • Dirección URL de SAS de la cuenta de integración

    Para obtener más información, vea Descodificar mensajes X12.

  3. En el panel de información de acciones, especifique el contenido de la acción que se va a descodificar, en función del tipo de flujo de trabajo:

    Flujo de trabajo Nombre de la acción Nombre del parámetro
    Consumption Descodificar mensaje X12 Mensaje de archivo plano X12 que se va a descodificar
    Estándar Descodificar X12 Mensaje que se descodificará

    En este ejemplo se usa el contenido del mensaje de la salida de la acción AS2 (v2). Sin embargo, esta salida usa el formato de objeto JSON y está codificado en base64. Debe convertir el contenido en una cadena.

    Para convertir el contenido, escriba la siguiente expresión en el cuadro de mensaje a descodificación, en función del tipo de flujo de trabajo:

    Consumo

    @base64ToString(body('AS2_Decode')?['messageContent'])

    Estándar

    @base64ToString(body('Decode_AS2')?['messageContent'])

    Importante

    Asegúrese de que el nombre de la acción de descodificación AS2 y los nombres de salida coincidan con los nombres de la acción AS2 seleccionada.

  4. Guarde el flujo de trabajo.

  5. Para resolver la expresión en un token, cambie entre la vista de código y la vista del diseñador. En la barra de herramientas del diseñador, seleccione Vista código y, a continuación, seleccione Diseñador.

Ya ha terminado de configurar este flujo de trabajo B2B de ejemplo. En una aplicación real, es posible que quiera almacenar el contenido X12 descodificado en una aplicación de línea de negocio (LOB) o un almacén de datos.

Para obtener más información, consulte:

Para conectar sus propias aplicaciones LOB y usar estas APIs en sus procesos de trabajo, agregue más acciones o escriba APIs personalizadas.