Compartilhar via


Mensagens do Exchange X12 em fluxos de trabalho B2B usando Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Para enviar e receber mensagens X12 em fluxos de trabalho criados usando os Aplicativos Lógicos do Azure, use o conector X12 . Esse conector fornece operações que dão suporte e gerenciam a comunicação X12.

Este guia mostra como adicionar as ações de codificação e decodificação para X12 a um fluxo de trabalho de aplicativo lógico existente. Você pode usar qualquer gatilho com as ações X12. Os exemplos neste guia usam o Gatilho de solicitação.

Referência técnica do conector

O conector X12 tem versões diferentes, com base no tipo de aplicativo lógico e no ambiente do host.

Aplicativo lógico Ambiente Versão do conector
Consumo Aplicativos Lógicos do Azure multilocatários Conector gerenciado X12, que aparece na galeria de conectores em Compartilhado. O conector X12 tem um gatilho e várias ações. Você pode usar qualquer gatilho que funcione para seu cenário. Para obter mais informações, consulte:

- Referência de conector gerenciado X12
- Limites de mensagens X12
Standard Aplicativos Lógicos do Azure de locatário único, Ambiente do Serviço de Aplicativo v3 (somente planos do Windows) e implantação híbrida Conector integrado X12, que aparece na galeria de conectores sob Integrado, e conector gerenciado X12, que aparece na galeria de conectores sob Compartilhado. O conector gerenciado X12 tem um gatilho e várias ações. O conector integrado X12 fornece apenas ações. Você pode usar qualquer gatilho que funcione para seu cenário.

A versão interna é diferente das seguintes maneiras:

– A versão interna pode acessar diretamente as redes virtuais do Azure. Você não precisa de um gateway de dados local.

- A versão interna fornece maior taxa de transferência e menor latência.

Para obter mais informações, consulte:

- Referência do conector gerenciado X12
- Operações internas de conector X12
- Limites de mensagens X12

Operações integradas do X12

As seções a seguir descrevem as operações internas de conector X12 e seus parâmetros:

Decodificar X12

ID da operação: x12Decode

Decodifica uma mensagem X12 convertendo o arquivo simples em formato XML.

Parâmetros
Nome de exibição Nome JSON Obrigatório Tipo Descrição
Mensagem a ser decodificada messageToDecode Sim String A mensagem X12 a ser decodificada.
ID de acompanhamento B2B b2bTrackingId Não String O ID de rastreamento B2B.

Codificar X12

ID da operação: x12Encode

Codifica uma mensagem X12 convertendo XML em formato de arquivo simples.

Parâmetros
Nome de exibição Nome JSON Obrigatório Tipo Descrição
Mensagem a ser codificada messageToEncode Sim String A mensagem X12 a ser codificada.
Identidade do remetente Qualificador do remetente senderIdentity.qualifier Não String O qualificador do emissor.
Identidade do remetente Identificador do remetente senderIdentity.value Não String O identificador do emissor.
Identidade do receptor Qualificador do receptor receiverIdentity.qualifier Não String O qualificador do receptor.
Identidade do receptor Identificador do receptor receiverIdentity.value Não String O identificador do receptor.
Nome do contrato do X12 agreementName Não String O nome do contrato X12.
ID de acompanhamento B2B b2bTrackingId Não String A ID de acompanhamento B2B.

Codificar o lote X12

ID da operação: x12BatchEncode

Codifica um lote de mensagens X12 convertendo XML em formato de arquivo simples.

Parâmetros
Nome de exibição Nome JSON Obrigatório Tipo Descrição
Mensagens em lote batchMessage.items Sim Array A mensagem X12 a ser codificada.
ID da mensagem batchMessage.items.messageId Sim String O ID exclusivo do item do lote.
Conteúdo batchMessage.items.content Sim String O conteúdo do item do lote.
Nome do lote batchMessage.batchName Não String O nome do lote.
Nome da partição batchMessage.partitionName Não String O nome da partição.
Identidade do remetente Qualificador do remetente senderIdentity.qualifier Não String O qualificador do emissor.
Identidade do remetente Identificador de remetente senderIdentity.value Não String O identificador do emissor.
Identidade do receptor Qualificador do receptor receiverIdentity.qualifier Não String O qualificador do receptor.
Identidade do receptor Identificador do receptor receiverIdentity.value Não String O identificador do receptor.
Nome do contrato do X12 agreementName Não String O nome do contrato X12.
ID de acompanhamento B2B b2bTrackingId Não String O ID de acompanhamento B2B.

Pré-requisitos

Codificar mensagens do X12

A operação Codificação para mensagens X12 executa as seguintes tarefas:

  • Resolve o contrato fazendo a correspondência entre as propriedades de contexto do remetente e do destinatário.

  • Serializa o EDI (Electronic Data Interchange) e converte mensagens codificadas em XML em conjuntos de transações EDI no intercâmbio.

  • Aplica os segmentos de cabeçalho e rodapé do conjunto de transações

  • Gera um número de controle de intercâmbio, um número de controle de grupo e um número de controle de conjunto de transações para cada intercâmbio de saída.

  • Substitui os separadores nos dados do payload.

  • Valida o EDI e as propriedades específicas do parceiro.

    • Validação do esquema dos elementos de dados do conjunto de transações em relação ao esquema de mensagens.
    • Validação do EDI nos elementos de dados do conjunto de transações.
    • Validação estendida em elementos de dados do conjunto de transações.
  • Solicita um Reconhecimento Técnico e Funcional, se configurado.

    • Gera uma Confirmação Técnica como resultado da validação do cabeçalho. A confirmação técnica relata o status do processamento de um cabeçalho e rodapé de intercâmbio pelo destinatário no endereço.
    • Gera um Reconhecimento Funcional como resultado da validação do corpo. A confirmação funcional relata cada erro encontrado durante o processamento de documentos recebidos.

Para codificar mensagens com o conector X12, siga estas etapas:

  1. No portal do Azure, abra o recurso de aplicativo lógico e o fluxo de trabalho no designer.

  2. No designer, siga estas etapas gerais para adicionar a ação X12 denominada Codificação para mensagens X12 por nome do contrato para seu fluxo de trabalho.

    Observação

    Se, em vez disso, você quiser utilizar a ação Codificação para mensagem X12 por identidades, será necessário fornecer valores diferentes, como o Identificador do remetente e o Identificador do destinatário especificados pelo seu contrato X12. Você também deve especificar o valor da mensagem XML para codificação, que pode ser selecionado como a saída do gatilho ou uma ação anterior.

  3. Quando você for solicitado a criar uma conexão com sua conta de integração, forneça as seguintes informações:

    Parâmetro Obrigatório Descrição
    Nome da conexão Sim Um nome para a conexão.
    ID da Conta de Integração Sim O ID do recurso para sua conta de integração, que tem o seguinte formato:

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

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

    Para encontrar este ID de recurso, siga essas etapas:

    1. No portal do Microsoft Azure, abra sua conta de integração.
    2. Na barra lateral da conta de integração, selecione Visão geral.
    3. Na página Visão Geral, selecione Exibição JSON.
    4. Na propriedade ID do Recurso, copie o valor.
    URL SAS da Conta de Integração Sim A URL do ponto de extremidade de solicitação que usa a autenticação SAS (assinatura de acesso compartilhado) para fornecer acesso à sua conta de integração. Esse URL de retorno de chamada tem o seguinte formato:

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

    Por exemplo:
    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 esse URL, siga essas etapas:

    1. No portal do Microsoft Azure, abra sua conta de integração.
    2. Na barra lateral da conta de integração, em Configurações, selecione Callback URL.
    3. Na propriedade URL de Retorno de Chamada Gerada, copie o valor.
    Tamanho do bloco número de controle Não O tamanho do bloco dos números de controle a serem reservados de um contrato para cenários de alta taxa de transferência

    Por exemplo:

    A captura de tela mostra o portal do Azure, o fluxo de trabalho com uma ação chamada Codificação para mensagem X12 por nome do contrato, e as informações de conexão da ação.

  4. Quando terminar, selecione Criar novo.

  5. No painel de informações de ação X12, forneça os seguintes valores:

    Parâmetro Obrigatório Descrição
    Nome do contrato do X12 Sim O contrato X12 que será utilizado.
    Mensagem XML para codificar Sim A mensagem XML a ser codificada.
    Parâmetros avançados Não Mais parâmetros que você pode selecionar:

    - Separador de elemento de dados
    - Separador de componente
    - Caractere de substituição
    - Terminador de segmento
    - Sufixo do terminador de segmento
    - Número de versão de controle (ISA12)
    - Identificador/Código do Remetente do Aplicativo GS02
    - Identificador/Código do Receptor do Aplicativo GS03

    Para obter mais informações, consulte as configurações de mensagem X12.

    Por exemplo, você pode utilizar a saída de conteúdo Corpo do gatilho da Solicitação como payload da mensagem XML.

    Para localizar e selecionar essa saída, siga estas etapas:

    1. Selecione dentro da caixa mensagem XML para codificação e, em seguida, selecione o ícone de relâmpago para abrir a lista de conteúdo dinâmico.

    2. Na lista, sob Quando uma mensagem HTTP é recebida, selecione Corpo.

    A captura de tela mostra uma ação chamada Codificar para mensagem X12 conforme o nome do contrato, com parâmetros especificados.

Decodificar mensagens X12

A operação Decodificar a mensagem X12 desempenha as seguintes tarefas:

  • Valida o envelope com relação ao acordo entre parceiros comerciais.

  • Valida o EDI e as propriedades específicas do parceiro.

    • Validação estrutural do EDI e validação do esquema estendido
    • Validação estrutural do envelope de intercâmbio
    • Validação de esquema do envelope em relação ao esquema de controle
    • Validação de esquema dos elementos de dados do conjunto de transações em relação ao esquema de mensagem
    • Validação do EDI nos elementos de dados do conjunto de transações
  • Verifica se os números de controle do intercâmbio, do grupo e do conjunto de transações não são duplicados.

    • Verifica o número de controle de intercâmbio em relação aos intercâmbios recebidos anteriormente.
    • Verifica o número de controle de grupo em relação a outros números de controle no intercâmbio.
    • Verifica o número de controle do conjunto de transações em relação a outros números de controle de conjunto de transações nesse grupo.
  • Divide um intercâmbio em conjuntos de transações ou preserva o intercâmbio inteiro:

    • Dividir o intercâmbio em conjuntos de transações ou suspender os conjuntos de transações em caso de erro: analisar cada conjunto de transações. A ação de decodificação X12 emite apenas os conjuntos de transações que falham na validação para badMessages e emite os conjuntos de transações restantes para goodMessages.

    • Dividir o intercâmbio em conjuntos de transações ou suspender o intercâmbio em caso de erro: analisar cada conjunto de transações. Se um ou mais conjuntos de transações no intercâmbio falharem na validação, a ação de decodificação X12 enviará todos os conjuntos de transações nesse intercâmbio para badMessages.

    • Preservar o intercâmbio ou suspender os conjuntos de transações por erro: preservar o intercâmbio e processar todo o intercâmbio em lote. A ação de decodificação X12 emite apenas os conjuntos de transações que falham na validação para badMessages e emite os conjuntos de transações restantes para goodMessages.

    • Preservar o intercâmbio ou suspender o intercâmbio por erro: preservar o intercâmbio e processar todo o intercâmbio em lote. Se um ou mais conjuntos de transações no intercâmbio falharem na validação, a ação de decodificação X12 enviará todos os conjuntos de transações nesse intercâmbio para badMessages.

  • Gera uma Confirmação Técnica e Funcional, se configurado.

    • Gera uma Confirmação Técnica como resultado da validação do cabeçalho. A confirmação técnica relata o status do processamento de um cabeçalho e rodapé de intercâmbio pelo destinatário no endereço.
    • Gera um Reconhecimento Funcional como resultado da validação do corpo. A confirmação funcional relata cada erro encontrado durante o processamento de documentos recebidos.

Para decodificar mensagens X12 em seu fluxo de trabalho com o conector X12, siga estas etapas:

  1. No portal do Azure, abra o recurso de aplicativo lógico e o fluxo de trabalho no designer.

  2. No designer, siga estas etapas gerais para adicionar a ação X12 chamada Decodificar mensagem X12 ao fluxo de trabalho.

  3. Quando você for solicitado a criar uma conexão com sua conta de integração, forneça as seguintes informações:

    Parâmetro Obrigatório Descrição
    Nome da conexão Sim Um nome para a conexão.
    ID da Conta de Integração Sim O ID do recurso para sua conta de integração, que tem o seguinte formato:

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

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

    Para encontrar este ID de recurso, siga essas etapas:

    1. No portal do Microsoft Azure, abra sua conta de integração.
    2. Na barra lateral da conta de integração, selecione Visão geral.
    3. Na página Visão Geral, selecione Exibição JSON.
    4. Na propriedade ID do Recurso, copie o valor.
    URL SAS da Conta de Integração Sim A URL do ponto de extremidade de solicitação que usa a autenticação SAS (assinatura de acesso compartilhado) para fornecer acesso à sua conta de integração. Esse URL de retorno de chamada tem o seguinte formato:

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

    Por exemplo:
    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 esse URL, siga essas etapas:

    1. No portal do Microsoft Azure, abra sua conta de integração.
    2. Na barra lateral da conta de integração, em Configurações, selecione Callback URL.
    3. Na propriedade URL de Retorno de Chamada Gerada, copie o valor.
    Tamanho do bloco número de controle Não O tamanho do bloco dos números de controle a serem reservados de um contrato para cenários de alta taxa de transferência

    Por exemplo:

    A captura de tela mostra o portal do Azure, o fluxo de trabalho com a ação chamada Decodificar mensagem X12, e as informações de conexão da ação.

  4. Quando terminar, selecione Criar novo.

  5. Na caixa de informações de ação X12, forneça os seguintes valores:

    Parâmetro Obrigatório Descrição
    Mensagem X12 de arquivo simples para decodificar Sim A mensagem X12 em formato de arquivo simples para decodificar

    Observação: O payload ou conteúdo da mensagem XML em uma matriz de mensagens é codificado em base64. Você deve usar uma expressão que processe esse conteúdo. Por exemplo, a expressão a seguir processa o conteúdo em um array de mensagens como XML usando as funções xml(), base64ToBinary() e item().

    xml(base64ToBinary(item()?['Body']))
    Parâmetros avançados Não Essa operação inclui os seguintes outros parâmetros:

    - Preservar intercâmbio
    - Suspender intercâmbio em caso de erro

    Para obter mais informações, consulte as configurações de mensagem X12.

    Por exemplo, você pode utilizar a saída de conteúdo Corpo do gatilho da Solicitação como payload da mensagem XML, mas primeiro deve processar esse conteúdo conforme mostrado na expressão a seguir:

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

    Para concluir esta tarefa, siga estas etapas:

    1. Selecione dentro da caixa de mensagem de arquivo simples X12 para decodificação e, em seguida, selecione o ícone de função para abrir o editor de expressões.

    2. Na caixa do editor de expressão, insira a seguinte expressão, que faz referência à saída deCorpo do gatilho de solicitação:

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

    3. Quando terminar, selecione Adicionar.

    A captura de tela mostra uma ação chamada Decodificar mensagem X12 com parâmetros especificados.