Esquemas de rastreamento para monitorar mensagens B2B nos Aplicativos Lógicos do Azure

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

Os Aplicativos Lógicos do Azure incluem um acompanhamento interno que você pode habilitar para partes de seu fluxo de trabalho. Para ajudá-lo a monitorar a entrega ou recibo, erros e propriedades bem-sucedidos para mensagens B2B (entre empresas), você pode criar e usar esquemas de acompanhamento personalizado, AS2, X12 e AS2 em sua conta de integração. Este guia de referência descreve a sintaxe e os atributos para esses esquemas de acompanhamento.

AS2

Esquema de acompanhamento de mensagens AS2

A sintaxe a seguir descreve o esquema de acompanhamento de uma mensagem AS2:

{
   "agreementProperties": {
      "senderPartnerName": "",
      "receiverPartnerName": "",
      "as2To": "",
      "as2From": "",
      "agreementName": ""
   },
   "messageProperties": {
      "direction": "",
      "messageId": "",
      "dispositionType": "",
      "fileName": "",
      "isMessageFailed": "",
      "isMessageSigned": "",
      "isMessageEncrypted": "",
      "isMessageCompressed": "",
      "correlationMessageId": "",
      "incomingHeaders": {},
      "outgoingHeaders": {},
      "isNrrEnabled": "",
      "isMdnExpected": "",
      "mdnType": ""
    }
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento para uma mensagem AS2:

Propriedade Obrigatório Tipo Descrição
senderPartnerName Não String Nome do parceiro do remetente da mensagem AS2
receiverPartnerName Não String Nome do parceiro do destinatário da mensagem AS2
as2To Sim String Nome do destinatário da mensagem AS2 extraído dos cabeçalhos da mensagem AS2
as2From Sim String Nome do remetente da mensagem AS2 extraído dos cabeçalhos da mensagem AS2
agreementName Não String Nome do contrato AS2 para o qual as mensagens são resolvidas
direction Sim String Direção do fluxo da mensagem, que pode ser receive ou send
messageId Não String A ID da mensagem AS2 extraída dos cabeçalhos da mensagem AS2
dispositionType Não String O valor do tipo de disposição MDN (Notificação de Disposição de Mensagem)
fileName Não String Nome do arquivo extraído do cabeçalho da mensagem AS2
isMessageFailed Sim Boolean Verifica se há falha na mensagem AS2
isMessageSigned Sim Boolean Verifica se a mensagem AS2 foi assinada
isMessageEncrypted Sim Boolean Verifica se a mensagem AS2 foi criptografada
isMessageCompressed Sim Boolean Verifica se a mensagem AS2 foi compactada
correlationMessageId Não String A ID da mensagem AS2 usada para correlacionar mensagens e MDNs
incomingHeaders Não Dicionário de JToken Detalhes do cabeçalho da mensagem AS2 de entrada
outgoingHeaders Não Dicionário de JToken Detalhes do cabeçalho da mensagem AS2 de saída
isNrrEnabled Sim Boolean Verifica se é necessário usar o valor padrão caso o valor não seja conhecido
isMdnExpected Sim Boolean Verifica se é necessário usar o valor padrão caso o valor não seja conhecido
mdnType Sim Enumeração Valores permitidos: NotConfigured, Sync e Async

Esquema de acompanhamento MDN AS2

A seguinte sintaxe descreve o esquema de acompanhamento de uma mensagem MDN AS2:

{
   "agreementProperties": {
      "senderPartnerName": "",
      "receiverPartnerName": "",
      "as2To": "",
      "as2From": "",
      "agreementName": ""
   },
   "messageProperties": {
      "direction": "",
      "messageId": "",
      "originalMessageId": "",
      "dispositionType": "",
      "isMessageFailed": "",
      "isMessageSigned": "",
      "isNrrEnabled": "",
      "statusCode": "",
      "micVerificationStatus": "",
      "correlationMessageId": "",
      "incomingHeaders": {
      },
      "outgoingHeaders": {
      }
   }
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento para uma mensagem MDN AS2:

Propriedade Obrigatório Tipo Descrição
senderPartnerName Não String Nome do parceiro do remetente da mensagem AS2
receiverPartnerName Não String Nome do parceiro do destinatário da mensagem AS2
as2To Sim String O nome do parceiro que recebe a mensagem AS2
as2From Sim String O nome do parceiro que envia a mensagem AS2
agreementName Não String Nome do contrato AS2 para o qual as mensagens são resolvidas
direction Sim String Direção do fluxo da mensagem, que pode ser receive ou send
messageId Não String A ID da mensagem AS2
originalMessageId Não String A ID da mensagem AS2 original
dispositionType Não String Valor do tipo de disposição MDN
isMessageFailed Sim Boolean Verifica se há falha na mensagem AS2
isMessageSigned Sim Boolean Verifica se a mensagem AS2 foi assinada
isNrrEnabled Sim Boolean Verifica se é necessário usar o valor padrão caso o valor não seja conhecido
statusCode Sim Enumeração Valores permitidos: Accepted, Rejected e AcceptedWithErrors
micVerificationStatus Sim Enumeração Valores permitidos: NotApplicable, Succeeded e Failed
correlationMessageId Não String A ID de correlação, que é a ID da mensagem original em que o MDN foi configurado
incomingHeaders Não Dicionário de JToken Detalhes do cabeçalho da mensagem de entrada
outgoingHeaders Não Dicionário de JToken Detalhes do cabeçalho da mensagem de saída

X12

Esquema de acompanhamento do conjunto de transações X12

A sintaxe a seguir descreve o esquema de acompanhamento de um conjunto de transações X12:

{
   "agreementProperties": {
      "senderPartnerName": "",
      "receiverPartnerName": "",
      "senderQualifier": "",
      "senderIdentifier": "",
      "receiverQualifier": "",
      "receiverIdentifier": "",
      "agreementName": ""
   },
   "messageProperties": {
      "direction": "",
      "interchangeControlNumber": "",
      "functionalGroupControlNumber": "",
      "transactionSetControlNumber": "",
      "CorrelationMessageId": "",
      "messageType": "",
      "isMessageFailed": "",
      "isTechnicalAcknowledgmentExpected": "",
      "isFunctionalAcknowledgmentExpected": "",
      "needAk2LoopForValidMessages": "",
      "segmentsCount": ""
   }
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento para um conjunto de transações X12:

Propriedade Obrigatório Tipo Descrição
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
receiverPartnerName Não String Nome do parceiro do destinatário da mensagem X12
senderQualifier Sim String Qualificador do parceiro de envio
senderIdentifier Sim String Identificador do parceiro de envio
receiverQualifier Sim String Qualificador do parceiro de recebimento
receiverIdentifier Sim String Identificador do parceiro de recebimento
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direction Sim Enumeração Direção do fluxo da mensagem, que pode ser receive ou send
interchangeControlNumber Não String Número de controle de intercâmbio
functionalGroupControlNumber Não String Número de controle funcional
transactionSetControlNumber Não String Número de controle de conjunto de transação
CorrelationMessageId Não String ID da mensagem de correlação, que é uma combinação de {AgreementName}{GroupControlNumber}{TransactionSetControlNumber}
messageType Não String Tipo de documento ou conjunto de transações
isMessageFailed Sim Boolean Verifica se houve falha na mensagem X12
isTechnicalAcknowledgmentExpected Sim Boolean Verifica se a confirmação técnica está configurada no contrato X12
isFunctionalAcknowledgmentExpected Sim Boolean Verifica se a confirmação funcional está configurada no contrato X12
needAk2LoopForValidMessages Sim Boolean Verifica se o loop AK2 é necessário para uma mensagem válida
segmentsCount Não Integer Número de segmentos no conjunto de transações do X12

Esquema de acompanhamento de confirmação do conjunto de transações X12

A sintaxe a seguir descreve o esquema de acompanhamento para uma confirmação de conjunto de transações X12:

{
   "agreementProperties": {
      "senderPartnerName": "",
      "receiverPartnerName": "",
      "senderQualifier": "",
      "senderIdentifier": "",
      "receiverQualifier": "",
      "receiverIdentifier": "",
      "agreementName": ""
   },
   "messageProperties": {
      "direction": "",
      "interchangeControlNumber": "",
      "functionalGroupControlNumber": "",
      "isaSegment": "",
      "gsSegment": "",
      "respondingfunctionalGroupControlNumber": "",
      "respondingFunctionalGroupId": "",
      "respondingtransactionSetControlNumber": "",
      "respondingTransactionSetId": "",
      "statusCode": "",
      "processingStatus": "",
      "CorrelationMessageId": "",
      "isMessageFailed": "",
      "ak2Segment": "",
      "ak3Segment": "",
      "ak5Segment": ""
   }
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento para uma confirmação de conjunto de transações X12:

Propriedade Obrigatório Tipo Descrição
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
receiverPartnerName Não String Nome do parceiro do destinatário da mensagem X12
senderQualifier Sim String Qualificador do parceiro de envio
senderIdentifier Sim String Identificador do parceiro de envio
receiverQualifier Sim String Qualificador do parceiro de recebimento
receiverIdentifier Sim String Identificador do parceiro de recebimento
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direction Sim Enumeração Direção do fluxo da mensagem, que pode ser receive ou send
interchangeControlNumber Não String Número de controle de intercâmbio da confirmação funcional. O valor preenche apenas o lado de envio em que a confirmação funcional é recebida para as mensagens enviadas ao parceiro.
functionalGroupControlNumber Não String Número de controle do grupo funcional da confirmação funcional. O valor preenche apenas o lado de envio em que a confirmação funcional é recebida para as mensagens enviadas ao parceiro
isaSegment Não String O segmento ISA da mensagem. O valor preenche apenas o lado de envio em que a confirmação funcional é recebida para as mensagens enviadas ao parceiro
gsSegment Não String O segmento GS da mensagem. O valor preenche apenas o lado de envio em que a confirmação funcional é recebida para as mensagens enviadas ao parceiro
respondingfunctionalGroupControlNumber Não String Número de controle do intercâmbio de resposta
respondingFunctionalGroupId Não String ID de grupo funcional de resposta, que é mapeada para o AK101 na confirmação
respondingtransactionSetControlNumber Não String Número de controle do conjunto de transações de resposta
respondingTransactionSetId Não String ID do conjunto de transações de resposta, que é mapeada para o AK201 na confirmação
statusCode Sim Boolean Código de status da confirmação do conjunto de transações
segmentsCount Sim Enumeração Código de status de confirmação com estes valores permitidos: Accepted, Rejected e AcceptedWithErrors
processingStatus Sim Enumeração Status de processamento da confirmação com estes valores permitidos: Received, Generated e Sent
CorrelationMessageId Não String ID da mensagem de correlação, que é uma combinação de {AgreementName}{GroupControlNumber}{TransactionSetControlNumber}
isMessageFailed Sim Boolean Verifica se houve falha na mensagem X12
ak2Segment Não String Confirmação de um conjunto de transações dentro do grupo funcional recebido
ak3Segment Não String Relata erros em um segmento de dados
ak5Segment Não String Relata se o conjunto de transações identificado no segmento do AK2 foi aceito ou rejeitado e o porquê

Esquema de acompanhamento de intercâmbio X12

A sintaxe a seguir descreve o esquema de acompanhamento de um intercâmbio X12:

{
   "agreementProperties": {
      "senderPartnerName": "",
      "receiverPartnerName": "",
      "senderQualifier": "",
      "senderIdentifier": "",
      "receiverQualifier": "",
      "receiverIdentifier": "",
      "agreementName": ""
   },
   "messageProperties": {
      "direction": "",
      "interchangeControlNumber": "",
      "isaSegment": "",
      "isTechnicalAcknowledgmentExpected": "",
      "isMessageFailed": "",
      "isa09": "",
      "isa10": "",
      "isa11": "",
      "isa12": "",
      "isa14": "",
      "isa15": "",
      "isa16": ""
   }
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento para um intercâmbio X12:

Propriedade Obrigatório Tipo Descrição
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
receiverPartnerName Não String Nome do parceiro do destinatário da mensagem X12
senderQualifier Sim String Qualificador do parceiro de envio
senderIdentifier Sim String Identificador do parceiro de envio
receiverQualifier Sim String Qualificador do parceiro de recebimento
receiverIdentifier Sim String Identificador do parceiro de recebimento
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direction Sim Enumeração Direção do fluxo da mensagem, que pode ser receive ou send
interchangeControlNumber Não String Número de controle de intercâmbio
isaSegment Não String Segmento ISA da mensagem
isTechnicalAcknowledgmentExpected Boolean Verifica se a confirmação técnica está configurada no contrato X12
isMessageFailed Sim Boolean Verifica se houve falha na mensagem X12
isa09 Não String Data de intercâmbio do documento X12
isa10 Não String Hora de intercâmbio do documento X12
isa11 Não String Identificador de padrões de controle de intercâmbio X12
isa12 Não String Número de versão de controle de intercâmbio X12
isa14 Não String A confirmação do X12 é solicitada
isa15 Não String Indicador de teste ou produção
isa16 Não String Separador de elementos

Esquema de acompanhamento de confirmação do intercâmbio X12

A seguinte sintaxe descreve o esquema de acompanhamento para uma confirmação de intercâmbio X12:

{
   "agreementProperties": {
      "senderPartnerName": "",
      "receiverPartnerName": "",
      "senderQualifier": "",
      "senderIdentifier": "",
      "receiverQualifier": "",
      "receiverIdentifier": "",
      "agreementName": ""
   },
   "messageProperties": {
      "direction": "",
      "interchangeControlNumber": "",
      "isaSegment": "",
      "respondingInterchangeControlNumber": "",
      "isMessageFailed": "",
      "statusCode": "",
      "processingStatus": "",
      "ta102": "",
      "ta103": "",
      "ta105": ""
   }
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento para uma confirmação de intercâmbio X12:

Propriedade Obrigatório Tipo Descrição
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
receiverPartnerName Não String Nome do parceiro do destinatário da mensagem X12
senderQualifier Sim String Qualificador do parceiro de envio
senderIdentifier Sim String Identificador do parceiro de envio
receiverQualifier Sim String Qualificador do parceiro de recebimento
receiverIdentifier Sim String Identificador do parceiro de recebimento
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direction Sim Enumeração Direção do fluxo da mensagem, que pode ser receive ou send
interchangeControlNumber Não String Número de controle de intercâmbio da confirmação técnica recebida dos parceiros
isaSegment Não String Segmento ISA da confirmação técnica recebida dos parceiros
respondingInterchangeControlNumber Não String Número de controle de intercâmbio da confirmação técnica recebida dos parceiros
isMessageFailed Sim Boolean Verifica se houve falha na mensagem X12
statusCode Sim Enumeração Código de status da confirmação de intercâmbio com estes valores permitidos: Accepted, Rejected e AcceptedWithErrors
processingStatus Sim Enumeração Status de confirmação com estes valores permitidos: Received, Generated e Sent
ta102 Não String Data do intercâmbio
ta103 Não String Hora do intercâmbio
ta105 Não String Código da observação do intercâmbio

Esquema de acompanhamento de grupo funcional X12

A sintaxe a seguir descreve o esquema de acompanhamento de um grupo funcional X12:

{
   "agreementProperties": {
      "senderPartnerName": "",
      "receiverPartnerName": "",
      "senderQualifier": "",
      "senderIdentifier": "",
      "receiverQualifier": "",
      "receiverIdentifier": "",
      "agreementName": ""
   },
   "messageProperties": {
      "direction": "",
      "interchangeControlNumber": "",
      "functionalGroupControlNumber": "",
      "gsSegment": "",
      "isTechnicalAcknowledgmentExpected": "",
      "isFunctionalAcknowledgmentExpected": "",
      "isMessageFailed": "",
      "gs01": "",
      "gs02": "",
      "gs03": "",
      "gs04": "",
      "gs05": "",
      "gs07": "",
      "gs08": ""
   }
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento para um grupo funcional X12:

Propriedade Obrigatório Tipo Descrição
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
receiverPartnerName Não String Nome do parceiro do destinatário da mensagem X12
senderQualifier Sim String Qualificador do parceiro de envio
senderIdentifier Sim String Identificador do parceiro de envio
receiverQualifier Sim String Qualificador do parceiro de recebimento
receiverIdentifier Sim String Identificador do parceiro de recebimento
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direction Sim Enumeração Direção do fluxo de mensagens, que pode ser receber ou enviar
interchangeControlNumber Não String Número de controle de intercâmbio
functionalGroupControlNumber Não String Número de controle funcional
gsSegment Não String Segmento GS da mensagem
isTechnicalAcknowledgmentExpected Sim Boolean Verifica se a confirmação técnica está configurada no contrato X12
isFunctionalAcknowledgmentExpected Sim Boolean Verifica se a confirmação funcional está configurada no contrato X12
isMessageFailed Sim Boolean Verifica se houve falha na mensagem X12
gs01 Não String Código identificador funcional
gs02 Não String Código do remetente do aplicativo
gs03 Não String Código do receptor do aplicativo
gs04 Não String Data do grupo funcional
gs05 Não String Hora do grupo funcional
gs07 Não String Código da agência responsável
gs08 Não String Código de identificação da versão, do lançamento ou do setor

Esquema de acompanhamento de confirmação do grupo funcional X12

A sintaxe a seguir descreve o esquema de acompanhamento para uma confirmação de grupo funcional X12:

{
   "agreementProperties": {
      "senderPartnerName": "",
      "receiverPartnerName": "",
      "senderQualifier": "",
      "senderIdentifier": "",
      "receiverQualifier": "",
      "receiverIdentifier": "",
      "agreementName": ""
   },
   "messageProperties": {
      "direction": "",
      "interchangeControlNumber": "",
      "functionalGroupControlNumber": "",
      "isaSegment": "",
      "gsSegment": "",
      "respondingfunctionalGroupControlNumber": "",
      "respondingFunctionalGroupId": "",
      "isMessageFailed": "",
      "statusCode": "",
      "processingStatus": "",
      "ak903": "",
      "ak904": "",
      "ak9Segment": ""
   }
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento para uma confirmação de grupo funcional X12:

Propriedade Obrigatório Tipo Descrição
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
receiverPartnerName Não String Nome do parceiro do destinatário da mensagem X12
senderQualifier Sim String Qualificador do parceiro de envio
senderIdentifier Sim String Identificador do parceiro de envio
receiverQualifier Sim String Qualificador do parceiro de recebimento
receiverIdentifier Sim String Identificador do parceiro de recebimento
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direction Sim Enumeração Direção do fluxo da mensagem, que pode ser receive ou send
interchangeControlNumber Não String Número de controle de intercâmbio, que preenche o lado de envio quando uma confirmação técnica é recebida dos parceiros
functionalGroupControlNumber Não String Número de controle de grupo funcional da confirmação técnica, que preenche o lado de envio quando uma confirmação técnica é recebida dos parceiros
isaSegment Não String O mesmo que o número de controle de intercâmbio, mas preenchido somente em casos específicos
gsSegment Não String O mesmo que o número de controle de grupo funcional, mas preenchido somente em casos específicos
respondingfunctionalGroupControlNumber Não String Número de controle do grupo funcional original
respondingFunctionalGroupId Não String Mapeia para AK101 na ID do grupo funcional de confirmação
isMessageFailed Boolean Verifica se houve falha na mensagem X12
statusCode Sim Enumeração Código de status de confirmação com estes valores permitidos: Accepted, Rejected e AcceptedWithErrors
processingStatus Sim Enumeração Status de processamento da confirmação com estes valores permitidos: Received, Generated e Sent
ak903 Não String Número de conjuntos de transações recebidos
ak904 Não String Número de conjuntos de transação aceitos no grupo funcional identificado
ak9Segment Não String Se o grupo funcional identificado no segmento AK1 foi aceito ou rejeitado e o porquê

Personalizado

Você pode configurar o acompanhamento personalizado que registra eventos do início ao final do fluxo de trabalho do aplicativo lógico. Por exemplo, você pode registrar eventos de camadas que incluem seu fluxo de trabalho, SQL Server, BizTalk Server ou qualquer outra camada. A seção a seguir fornece o código de esquema de acompanhamento personalizado que você pode usar nas camadas fora do fluxo de trabalho.

{
   "sourceType": "",
   "source": {
      "workflow": {
         "systemId": ""
      },
      "runInstance": {
         "runId": ""
      },
      "operation": {
         "operationName": "",
         "repeatItemScopeName": "",
         "repeatItemIndex": ,
         "trackingId": "",
         "correlationId": "",
         "clientRequestId": ""
      }
   },
   "events": [
      {
         "eventLevel": "",
         "eventTime": "",
         "recordType": "",
         "record": {}
      }
   ]
}

A tabela a seguir descreve os atributos em um esquema de acompanhamento personalizado:

Propriedade Obrigatório Tipo Descrição
sourceType Sim String Tipo de fonte de execução com estes valores permitidos: Microsoft.Logic/workflows, custom
source Sim Cadeia de caracteres ou JToken Se o tipo de fonte for Microsoft.Logic/workflows, as informações de origem precisarão seguir este esquema. Se o tipo de origem for custom, o esquema será um JToken.
systemId Sim String ID do sistema de aplicativo lógico
runId Sim String ID de execução do aplicativo lógico
operationName Sim String O nome da operação, por exemplo, ação ou gatilho
repeatItemScopeName Sim String Repita o nome do item se a ação estiver dentro de um loop foreach ou until
repeatItemIndex Sim Integer Indica que a ação está dentro de um loop foreach ou until e é o número de índice de item repetido.
trackingId Não String A ID de rastreamento para correlacionar as mensagens
correlationId Não String A ID de correlação para correlacionar as mensagens
clientRequestId Não String O cliente pode popular essa propriedade para correlacionar mensagens
eventLevel Sim String Nível do evento
eventTime Sim Datetime A hora do evento no formato UTC: AAAA-MM-DDTHH:MM:SS.00000Z
recordType Sim String O tipo do registro com este valor permitido apenas: custom
registro Sim JToken Tipo de registro personalizado somente com o formato JToken

Próximas etapas