Partilhar via


Rastreando esquemas para monitorar mensagens B2B nos Aplicativos Lógicos do Azure

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

As Aplicações Lógicas do Azure incluem controlo incorporado que pode ativar para partes do seu fluxo de trabalho. Para ajudá-lo a monitorar a entrega ou recebimento bem-sucedidos, erros e propriedades de mensagens B2B (business-to-business), você pode criar e usar esquemas AS2, X12 e de acompanhamento personalizado em sua conta de integração. Este guia de referência descreve a sintaxe e os atributos para esses esquemas de rastreamento.

AS2

Esquema de controle de mensagens AS2

A sintaxe a seguir descreve o esquema de controle para 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 controle para uma mensagem AS2:

Property Necessário Type Description
senderPartnerName Não String Nome do parceiro do remetente da mensagem AS2
destinatárioNome do parceiro Não String Nome do parceiro do recetor de mensagens AS2
as2To Sim String Nome do recetor da mensagem AS2 dos cabeçalhos da mensagem AS2
as2De Sim String Nome do remetente da mensagem AS2 a partir dos cabeçalhos da mensagem AS2
agreementName Não String Nome do contrato AS2 para o qual as mensagens são resolvidas
direção Sim String Direção do fluxo de mensagens, que é ou receivesend
messageId Não String ID da mensagem AS2 dos cabeçalhos da mensagem AS2
dispositionType Não String Valor do tipo de disposição MDN (Message Disposition Notification)
fileName Não String Nome do arquivo do cabeçalho da mensagem AS2
isMessageFailed Sim Boolean Se a mensagem AS2 falhou
isMessageSigned Sim Boolean Se a mensagem AS2 foi assinada
isMessageEncrypted Sim Boolean Se a mensagem AS2 foi encriptada
isMessageCompressed Sim Boolean Se a mensagem AS2 foi compactada
correlationMessageId Não String ID de mensagem AS2, para correlacionar mensagens com MDNs
incomingHeaders Não Dicionário de JToken Detalhes do cabeçalho da mensagem AS2 recebida
outgoingHeaders Não Dicionário de JToken Detalhes do cabeçalho da mensagem AS2 de saída
isNrrEnabled Sim Boolean Se o valor padrão deve ser usado se o valor não for conhecido
isMdnEsperado Sim Boolean Se o valor padrão deve ser usado se o valor não for conhecido
mdnType Sim Enumeração Valores permitidos: NotConfigured, Synce Async

Esquema de rastreamento AS2 MDN

A sintaxe a seguir descreve o esquema de controle para uma mensagem AS2 MDN:

{
   "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 controle para uma mensagem AS2 MDN:

Property Necessário Type Description
senderPartnerName Não String Nome do parceiro do remetente da mensagem AS2
destinatárioNome do parceiro Não String Nome do parceiro do recetor de mensagens AS2
as2To Sim String Nome do parceiro que recebe a mensagem AS2
as2De Sim String Nome do parceiro que envia a mensagem AS2
agreementName Não String Nome do contrato AS2 para o qual as mensagens são resolvidas
direção Sim String Direção do fluxo de mensagens, que é ou receivesend
messageId Não String ID da mensagem AS2
originalMessageId Não String ID da mensagem original AS2
dispositionType Não String Valor do tipo de disposição MDN
isMessageFailed Sim Boolean Se a mensagem AS2 falhou
isMessageSigned Sim Boolean Se a mensagem AS2 foi assinada
isNrrEnabled Sim Boolean Se o valor padrão deve ser usado se o valor não for conhecido
statusCode Sim Enumeração Valores permitidos: Accepted, Rejectede AcceptedWithErrors
micVerificationStatus Sim Enumeração Valores permitidos:NotApplicable, Succeedede Failed
correlationMessageId Não String ID de correlação, que é a ID da mensagem original que tem o MDN configurado
incomingHeaders Não Dicionário de JToken Detalhes do cabeçalho da mensagem recebida
outgoingHeaders Não Dicionário de JToken Detalhes do cabeçalho da mensagem de saída

X12

Esquema de rastreamento do conjunto de transações X12

A sintaxe a seguir descreve o esquema de acompanhamento para 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:

Property Necessário Type Description
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
destinatárioNome do parceiro Não String Nome do parceiro do recetor de mensagens X12
senderQualifier Sim String Enviar qualificador de parceiro
senderIdentifier Sim String Enviar identificador de parceiro
receiverQualifier Sim String Receber qualificador de parceiro
receiverIdentifier Sim String Receber identificador de parceiro
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direção Sim Enumeração Direção do fluxo de mensagens, que é ou receivesend
interchangeControlNumber Não String Número de controlo de intercâmbio
funcionalGroupControlNumber Não String Número de controlo funcional
transactionSetControlNumber Não String Número de controle do conjunto de transações
CorrelationMessageId Não String ID da mensagem de correlação, que é uma combinação de {AgreementName}{GroupControlNumber}{TransactionSetControlNumber}
Tipo de mensagem Não String Conjunto de transações ou tipo de documento
isMessageFailed Sim Boolean Se a mensagem X12 falhou
isTechnicalAcknowledgmentExpected Sim Boolean Se o reconhecimento técnico está configurado no contrato X12
isFuncionalReconhecimentoEsperado Sim Boolean Se o reconhecimento funcional está configurado no contrato X12
needAk2LoopForValidMessages Sim Boolean Se o loop AK2 é necessário para uma mensagem válida
segmentsContagem Não Número inteiro Número de segmentos no conjunto de transações X12

Esquema de rastreamento de reconhecimento do conjunto de transações X12

A sintaxe a seguir descreve o esquema de rastreamento 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:

Property Necessário Type Description
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
destinatárioNome do parceiro Não String Nome do parceiro do recetor de mensagens X12
senderQualifier Sim String Enviar qualificador de parceiro
senderIdentifier Sim String Enviar identificador de parceiro
receiverQualifier Sim String Receber qualificador de parceiro
receiverIdentifier Sim String Receber identificador de parceiro
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direção Sim Enumeração Direção do fluxo de mensagens, que é ou receivesend
interchangeControlNumber Não String Número de controlo de intercâmbio do reconhecimento funcional. O valor é preenchido apenas para o lado de envio onde a confirmação funcional é recebida para as mensagens enviadas ao parceiro.
funcionalGroupControlNumber Não String Número de controlo do grupo funcional do reconhecimento funcional. O valor é preenchido apenas para o lado de envio onde a confirmação funcional é recebida para as mensagens enviadas ao parceiro
isaSegmento Não String Segmento ISA da mensagem. O valor é preenchido apenas para o lado de envio onde a confirmação funcional é recebida para as mensagens enviadas ao parceiro
gsSegmento Não String Segmento GS da mensagem. O valor é preenchido apenas para o lado de envio onde a confirmação funcional é recebida para as mensagens enviadas ao parceiro
respondendofuncionalGrupoControlNumber Não String O número de controlo de intercâmbio correspondente
respondingFunctionalGroupId Não String O ID do grupo funcional respondendo, que mapeia para AK101 no reconhecimento
respondingtransactionSetControlNumber Não String O número de controle do conjunto de transações que responde
respondingTransactionSetId Não String O ID do conjunto de transações respondedor, que mapeia para AK201 na confirmação
statusCode Sim Boolean Código de status de confirmação do conjunto de transações
segmentsContagem Sim Enumeração Código de status de reconhecimento com estes valores permitidos: Accepted, Rejectede AcceptedWithErrors
processandoStatus Sim Enumeração Status de processamento do reconhecimento 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 Se a mensagem X12 falhou
ak2Segmento Não String Reconhecimento de um conjunto de transações dentro do grupo funcional recebido
ak3Segmento Não String Relata erros em um segmento de dados
ak5Segmento Não String Informa se o conjunto de transações identificado no segmento AK2 é aceito ou rejeitado e por que

Esquema de rastreamento de intercâmbio X12

A sintaxe a seguir descreve o esquema de acompanhamento para 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:

Property Necessário Type Description
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
destinatárioNome do parceiro Não String Nome do parceiro do recetor de mensagens X12
senderQualifier Sim String Enviar qualificador de parceiro
senderIdentifier Sim String Enviar identificador de parceiro
receiverQualifier Sim String Receber qualificador de parceiro
receiverIdentifier Sim String Receber identificador de parceiro
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direção Sim Enumeração Direção do fluxo de mensagens, que é ou receivesend
interchangeControlNumber Não String Número de controlo de intercâmbio
isaSegmento Não String Segmento ISA de mensagens
isTechnicalAcknowledgmentExpected Boolean Se o reconhecimento técnico está configurado no contrato X12
isMessageFailed Sim Boolean Se a mensagem X12 falhou
ISA09 Não String Data de intercâmbio de documentos X12
ISA10 Não String Tempo de intercâmbio de documentos X12
ISA11 Não String Identificador de padrões de controle de intercâmbio X12
ISA12 Não String Número da versão do controle de intercâmbio X12
ISA14 Não String É solicitada a confirmação do X12
ISA15 Não String Indicador para teste ou produção
ISA16 Não String Separador de elementos

Esquema de rastreamento de confirmação de intercâmbio X12

A sintaxe a seguir 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:

Property Necessário Type Description
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
destinatárioNome do parceiro Não String Nome do parceiro do recetor de mensagens X12
senderQualifier Sim String Enviar qualificador de parceiro
senderIdentifier Sim String Enviar identificador de parceiro
receiverQualifier Sim String Receber qualificador de parceiro
receiverIdentifier Sim String Receber identificador de parceiro
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direção Sim Enumeração Direção do fluxo de mensagens, que é ou receivesend
interchangeControlNumber Não String Número de controlo de intercâmbio do reconhecimento técnico recebido dos parceiros
isaSegmento Não String Segmento ISA pelo reconhecimento técnico recebido dos parceiros
respondendoInterchangeControlNumber Não String Número de controle de intercâmbio para o reconhecimento técnico recebido dos parceiros
isMessageFailed Sim Boolean Se a mensagem X12 falhou
statusCode Sim Enumeração Trocar código de status de confirmação com estes valores permitidos: Accepted, Rejectede AcceptedWithErrors
processandoStatus Sim Enumeração Status de reconhecimento com estes valores permitidos: Received, Generatede Sent
TA102 Não String Data de intercâmbio
TA103 Não String Tempo de intercâmbio
TA105 Não String Código da nota de intercâmbio

Esquema de rastreamento de grupo funcional X12

A sintaxe a seguir descreve o esquema de controle para 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 controle para um grupo funcional X12:

Property Necessário Type Description
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
destinatárioNome do parceiro Não String Nome do parceiro do recetor de mensagens X12
senderQualifier Sim String Enviar qualificador de parceiro
senderIdentifier Sim String Enviar identificador de parceiro
receiverQualifier Sim String Receber qualificador de parceiro
receiverIdentifier Sim String Receber identificador de parceiro
agreementName Não String O nome do contrato X12 para o qual as mensagens são resolvidas
direção Sim Enumeração Direção do fluxo de mensagens, receber ou enviar
interchangeControlNumber Não String Número de controlo de intercâmbio
funcionalGroupControlNumber Não String Número de controlo funcional
gsSegmento Não String Segmento GS da mensagem
isTechnicalAcknowledgmentExpected Sim Boolean Se o reconhecimento técnico está configurado no contrato X12
isFuncionalReconhecimentoEsperado Sim Boolean Se o reconhecimento funcional está configurado no contrato X12
isMessageFailed Sim Boolean Se a mensagem X12 falhou
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 recetor do aplicativo
GS04 Não String Data do grupo funcional
GS05 Não String Tempo de grupo funcional
GS07 Não String Código da agência responsável
GS08 Não String Código identificador da versão, versão ou indústria

Esquema de acompanhamento de reconhecimento de 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 controle para uma confirmação de grupo funcional X12:

Property Necessário Type Description
senderPartnerName Não String Nome do parceiro do remetente da mensagem X12
destinatárioNome do parceiro Não String Nome do parceiro do recetor de mensagens X12
senderQualifier Sim String Enviar qualificador de parceiro
senderIdentifier Sim String Enviar identificador de parceiro
receiverQualifier Sim String Receber qualificador de parceiro
receiverIdentifier Sim String Receber identificador de parceiro
agreementName Não String Nome do contrato X12 para o qual as mensagens são resolvidas
direção Sim Enumeração Direção do fluxo de mensagens, que é ou receivesend
interchangeControlNumber Não String Número de controle de intercâmbio, que é preenchido para o lado de envio quando uma confirmação técnica é recebida de parceiros
funcionalGroupControlNumber Não String Número de controle do grupo funcional do reconhecimento técnico, que é preenchido para o lado enviado quando um reconhecimento técnico é recebido dos parceiros
isaSegmento Não String O mesmo que o número de controle de intercâmbio, mas preenchido apenas em casos específicos
gsSegmento Não String O mesmo que o número de controle do grupo funcional, mas preenchido apenas em casos específicos
respondendofuncionalGrupoControlNumber Não String Número de controlo do grupo funcional original
respondingFunctionalGroupId Não String Mapeia para AK101 no ID do grupo funcional de reconhecimento
isMessageFailed Boolean Se a mensagem X12 falhou
statusCode Sim Enumeração Código de status de reconhecimento com estes valores permitidos: Accepted, Rejectede AcceptedWithErrors
processandoStatus Sim Enumeração Status de processamento do reconhecimento 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ções aceites no grupo funcional identificado
ak9Segmento Não String Se o grupo funcional identificado no segmento AK1 é aceite ou rejeitado e porquê

Personalizado

Você pode configurar o acompanhamento personalizado que registra eventos do início ao fim 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 código de esquema de controle personalizado que você pode usar nas camadas fora do seu 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 controle personalizado:

Property Necessário Type Description
Tipo de fonte Sim String Tipo de fonte de execução com estes valores permitidos: Microsoft.Logic/workflows, custom
origem Sim String ou JToken Se o tipo de fonte for Microsoft.Logic/workflows, as informações de origem precisarão seguir esse esquema. Se o tipo de origem for custom, o esquema é um JToken.
systemId Sim String ID do sistema do aplicativo lógico
runId Sim String ID de execução do aplicativo lógico
operationName Sim String 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 foreachloop ou until
repeatItemIndex Sim Número inteiro Indica que a ação está dentro de um foreach loop ou until e é o número de índice do item repetido.
trackingId Não String ID de acompanhamento para correlacionar as mensagens
correlationId Não String ID de correlação para correlacionar as mensagens
clientRequestId Não String O cliente pode preencher essa propriedade para correlacionar mensagens
eventLevel Sim String Nível do evento
eventTime Sim DateTime Hora do evento no formato UTC: AAAA-MM-DDTHH:MM:SS.00000Z
recordType Sim String Tipo de registo apenas com este valor permitido: custom
recorde Sim JToken Tipo de registo personalizado apenas com formato JToken

Próximos passos