Controlar esquemas para monitorizar mensagens B2B no Azure Logic Apps
Aplica-se a: Azure Logic Apps (Consumo + Standard)
O Azure Logic Apps inclui o controlo incorporado que pode ativar para partes do seu fluxo de trabalho. Para o ajudar a monitorizar a entrega ou o recibo com êxito, erros e propriedades das mensagens empresa-empresa (B2B), pode criar e utilizar esquemas as2, X12 e de controlo personalizados na sua conta de integração. Este guia de referência descreve a sintaxe e os atributos destes esquemas de controlo.
AS2
- Esquema de controlo de mensagens AS2
- Esquema de controlo de Notificações de Eliminação de Mensagens (MDN) AS2
Esquema de controlo de mensagens AS2
A seguinte sintaxe descreve o esquema de controlo 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 seguinte descreve os atributos num esquema de controlo para uma mensagem AS2:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
senderPartnerName | Não | String | Nome do parceiro do remetente da mensagem AS2 |
receiverPartnerName | Não | String | Nome do parceiro do recetor de mensagens AS2 |
as2To | Sim | String | Nome do recetor de mensagens AS2 a partir dos cabeçalhos da mensagem AS2 |
as2From | 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 é receive ou send |
messageId | Não | String | ID da mensagem AS2 dos cabeçalhos da mensagem AS2 |
dispositionType | Não | String | Valor do tipo de disposição de Notificação de Eliminação de Mensagens (MDN) |
fileName | Não | String | Nome do ficheiro do cabeçalho da mensagem AS2 |
isMessageFailed | Yes | Booleano | Se a mensagem AS2 falhou |
isMessageSigned | Yes | Booleano | Se a mensagem AS2 foi assinada |
isMessageEncrypted | Yes | Booleano | Se a mensagem AS2 foi encriptada |
isMessageCompressed | Yes | Booleano | Se a mensagem as2 foi comprimida |
correlationMessageId | Não | String | ID da mensagem AS2, para correlacionar mensagens com MDNs |
incomingHeaders | No | Dicionário do JToken | Detalhes do cabeçalho da mensagem AS2 recebida |
cabeçalhos de envio | No | Dicionário do JToken | Detalhes do cabeçalho da mensagem AS2 a enviar |
isNrrEnabled | Yes | Booleano | Se pretende utilizar o valor predefinido se o valor não for conhecido |
isMdnExpected | Yes | Booleano | Se pretende utilizar o valor predefinido se o valor não for conhecido |
mdnType | Yes | Enumeração | Valores permitidos: NotConfigured , Sync e Async |
Esquema de controlo do AS2 MDN
A seguinte sintaxe descreve o esquema de controlo 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 seguinte descreve os atributos num esquema de controlo para uma mensagem MDN AS2:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
senderPartnerName | Não | String | Nome do parceiro do remetente da mensagem AS2 |
receiverPartnerName | Não | String | Nome do parceiro do recetor de mensagens AS2 |
as2To | Sim | String | Nome do parceiro que recebe a mensagem AS2 |
as2From | 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 é receive ou send |
messageId | Não | String | ID da mensagem AS2 |
originalMessageId | Não | String | ID da mensagem original do AS2 |
dispositionType | Não | String | Valor do tipo de disposição MDN |
isMessageFailed | Yes | Booleano | Se a mensagem AS2 falhou |
isMessageSigned | Yes | Booleano | Se a mensagem AS2 foi assinada |
isNrrEnabled | Yes | Booleano | Se pretende utilizar o valor predefinido se o valor não for conhecido |
statusCode | Yes | Enumeração | Valores permitidos: Accepted , Rejected e AcceptedWithErrors |
micVerificationStatus | Yes | Enumeração | Valores permitidos:NotApplicable , Succeeded e Failed |
correlationMessageId | Não | String | ID de Correlação, que é o ID da mensagem original que tem o MDN configurado |
incomingHeaders | No | Dicionário do JToken | Detalhes do cabeçalho da mensagem recebida |
cabeçalhos de envio | No | Dicionário do JToken | Detalhes do cabeçalho da mensagem a enviar |
X12
- Esquema de controlo do conjunto de transações X12
- Esquema de controlo de confirmação do conjunto de transações X12
- Esquema de controlo de intercâmbio X12
- Esquema de controlo de confirmação do intercâmbio X12
- Esquema de controlo de grupo funcional X12
- Esquema de controlo de confirmação de grupo funcional X12
Esquema de controlo do conjunto de transações X12
A seguinte sintaxe descreve o esquema de controlo 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 seguinte descreve os atributos num esquema de controlo para um conjunto de transações X12:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
senderPartnerName | Não | String | Nome do parceiro do remetente da mensagem X12 |
receiverPartnerName | 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 o 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 | Yes | Enumeração | Direção do fluxo da mensagem, que é receive ou send |
interchangeControlNumber | Não | String | Número de controlo de intercâmbio |
functionalGroupControlNumber | Não | String | Número de controlo funcional |
transactionSetControlNumber | Não | String | Número de controlo do conjunto de transações |
CorrelationMessageId | Não | String | ID da mensagem de correlação, que é uma combinação de {AgreementName}{GroupControlNumber}{TransactionSetControlNumber} |
messageType | Não | String | Conjunto de transações ou tipo de documento |
isMessageFailed | Yes | Booleano | Se a mensagem X12 falhou |
isTechnicalAcknowledgmentExpected | Yes | Booleano | Se a confirmação técnica está configurada no contrato X12 |
isFunctionalAcknowledgmentExpected | Yes | Booleano | Se a confirmação funcional está configurada no contrato X12 |
needAk2LoopForValidMessages | Yes | Booleano | Se o ciclo AK2 é necessário para uma mensagem válida |
segmentsCount | No | Número inteiro | Número de segmentos no conjunto de transações X12 |
Esquema de controlo de confirmação do conjunto de transações X12
A seguinte sintaxe descreve o esquema de controlo para uma confirmação do 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 seguinte descreve os atributos num esquema de controlo para uma confirmação do conjunto de transações X12:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
senderPartnerName | Não | String | Nome do parceiro do remetente de mensagens X12 |
receiverPartnerName | 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 o 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 | Yes | Enumeração | Direção do fluxo da mensagem, que é receive ou send |
interchangeControlNumber | Não | String | Número de controlo de intercâmbio da confirmação funcional. O valor é preenchido apenas para o lado do envio onde é recebida a confirmação funcional das mensagens enviadas para o parceiro. |
functionalGroupControlNumber | Não | String | Número de controlo de grupo funcional da confirmação funcional. O valor é preenchido apenas para o lado do envio onde a confirmação funcional é recebida para as mensagens enviadas para o parceiro |
isaSegment | Não | String | Segmento ISA da mensagem. O valor é preenchido apenas para o lado do envio onde a confirmação funcional é recebida para as mensagens enviadas para o parceiro |
gsSegment | Não | String | Segmento GS da mensagem. O valor é preenchido apenas para o lado do envio onde a confirmação funcional é recebida para as mensagens enviadas para o parceiro |
responderfunctionalGroupControlNumber | Não | String | O número de controlo de intercâmbio de resposta |
respondingFunctionalGroupId | Não | String | O ID de grupo funcional que responde, que mapeia para a AK101 na confirmação |
respondingtransactionSetControlNumber | Não | String | O número de controlo do conjunto de transações que responde |
respondingTransactionSetId | Não | String | O ID do conjunto de transações que responde, que mapeia para a AK201 na confirmação |
statusCode | Yes | Booleano | Código de estado de confirmação do conjunto de transações |
segmentsCount | Yes | Enumeração | Código de estado de confirmação com estes valores permitidos: Accepted , Rejected e AcceptedWithErrors |
processingStatus | Yes | Enumeração | Estado 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 | Yes | Booleano | Se a mensagem X12 falhou |
ak2Segment | Não | String | Confirmação de um conjunto de transações no grupo funcional recebido |
ak3Segment | Não | String | Comunica erros num segmento de dados |
ak5Segment | Não | String | Comunica se o conjunto de transações identificado no segmento AK2 é aceite ou rejeitado e porquê |
Esquema de controlo de intercâmbio X12
A seguinte sintaxe descreve o esquema de controlo 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 seguinte descreve os atributos num esquema de controlo para um intercâmbio X12:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
senderPartnerName | Não | String | Nome do parceiro do remetente da mensagem X12 |
receiverPartnerName | 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 | Yes | Enumeração | Direção do fluxo de mensagens, que é receive ou send |
interchangeControlNumber | Não | String | Número de controlo de intercâmbio |
isaSegment | Não | String | Segmento ISA da Mensagem |
isTechnicalAcknowledgmentExpected | Booleano | Se a confirmação técnica está configurada no contrato X12 | |
isMessageFailed | Yes | Booleano | Se a mensagem X12 falhou |
isa09 | Não | String | Data de intercâmbio de documentos X12 |
isa10 | Não | String | Hora de intercâmbio de documentos X12 |
isa11 | Não | String | Identificador de normas de controlo de intercâmbio X12 |
isa12 | Não | String | Número da versão do controlo de intercâmbio X12 |
isa14 | Não | String | A confirmação X12 é pedida |
isa15 | Não | String | Indicador para teste ou produção |
isa16 | Não | String | Separador de elemento |
Esquema de controlo de confirmação de intercâmbio X12
A seguinte sintaxe descreve o esquema de controlo 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 seguinte descreve os atributos num esquema de controlo para uma confirmação de intercâmbio X12:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
senderPartnerName | Não | String | Nome do parceiro do remetente de mensagens X12 |
receiverPartnerName | 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 o 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 | Yes | Enumeração | Direção do fluxo da mensagem, que é receive ou send |
interchangeControlNumber | Não | String | Número de controlo de intercâmbio do reconhecimento técnico recebido dos parceiros |
isaSegment | Não | String | IsA segment for the technical acknowledgment that's received from partners (Segmento ISA para a confirmação técnica recebida dos parceiros) |
respondendoInterchangeControlNumber | Não | String | Número de controlo de intercâmbio para a confirmação técnica recebida dos parceiros |
isMessageFailed | Yes | Booleano | Se a mensagem X12 falhou |
statusCode | Yes | Enumeração | Código de estado de reconhecimento de intercâmbio com estes valores permitidos: Accepted , Rejected e AcceptedWithErrors |
processingStatus | Yes | Enumeração | Estado de confirmação com estes valores permitidos: Received , Generated e Sent |
ta102 | Não | String | Data do intercâmbio |
ta103 | Não | String | Tempo de intercâmbio |
ta105 | Não | String | Código de nota de intercâmbio |
Esquema de controlo de grupo funcional X12
A seguinte sintaxe descreve o esquema de controlo 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 seguinte descreve os atributos num esquema de controlo para um grupo funcional X12:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
senderPartnerName | Não | String | Nome do parceiro do remetente de mensagens X12 |
receiverPartnerName | 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 o 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 | Yes | Enumeração | Direção do fluxo da mensagem, receber ou enviar |
interchangeControlNumber | Não | String | Número de controlo de intercâmbio |
functionalGroupControlNumber | Não | String | Número de controlo funcional |
gsSegment | Não | String | Segmento GS da Mensagem |
isTechnicalAcknowledgmentExpected | Yes | Booleano | Se a confirmação técnica está configurada no contrato X12 |
isFunctionalAcknowledgmentExpected | Yes | Booleano | Se a confirmação funcional está configurada no contrato X12 |
isMessageFailed | Yes | Booleano | Se a mensagem X12 falhou |
gs01 | Não | String | Código do identificador funcional |
gs02 | Não | String | Código do remetente da aplicação |
gs03 | Não | String | Código do recetor de aplicações |
gs04 | Não | String | Data do grupo funcional |
gs05 | Não | String | Hora funcional do grupo |
gs07 | Não | String | Código de agência responsável |
gs08 | Não | String | Código do identificador para a versão, versão ou indústria |
Esquema de controlo de confirmação de grupo funcional X12
A seguinte sintaxe descreve o esquema de controlo 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 seguinte descreve os atributos num esquema de controlo para uma confirmação de grupo funcional X12:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
senderPartnerName | Não | String | Nome do parceiro do remetente de mensagens X12 |
receiverPartnerName | 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 o 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 | Yes | Enumeração | Direção do fluxo da mensagem, que é receive ou send |
interchangeControlNumber | Não | String | Número de controlo de intercâmbio, que é preenchido para o lado do envio quando é recebida uma confirmação técnica dos parceiros |
functionalGroupControlNumber | Não | String | Número de controlo de grupo funcional do reconhecimento técnico, que é preenchido para o lado do envio quando é recebida uma confirmação técnica dos parceiros |
isaSegment | Não | String | O mesmo que o número de controlo de intercâmbio, mas preenchido apenas em casos específicos |
gsSegment | Não | String | O mesmo que o número de controlo de grupo funcional, mas preenchido apenas em casos específicos |
respondendofunctionalGroupControlNumber | Não | String | Controlar o número do grupo funcional original |
respondendoFunctionalGroupId | Não | String | Mapas para a AK101 no ID do grupo funcional de confirmação |
isMessageFailed | Booleano | Se a mensagem X12 falhou | |
statusCode | Yes | Enumeração | Código de estado de confirmação com estes valores permitidos: Accepted , Rejected e AcceptedWithErrors |
processingStatus | Yes | Enumeração | Estado 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ções aceites no grupo funcional identificado |
ak9Segment | Não | String | Se o grupo funcional identificado no segmento AK1 é aceite ou rejeitado e porquê |
Personalizado
Pode configurar o controlo personalizado que regista eventos do início ao fim do fluxo de trabalho da aplicação lógica. Por exemplo, pode registar eventos de camadas que incluem o fluxo de trabalho, SQL Server, BizTalk Server ou qualquer outra camada. A secção seguinte fornece código de esquema de controlo personalizado que pode utilizar 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 seguinte descreve os atributos num esquema de controlo personalizado:
Propriedade | Necessário | Tipo | Description |
---|---|---|---|
sourceType | Sim | String | Tipo da origem de execução com estes valores permitidos: Microsoft.Logic/workflows , custom |
source | Yes | Cadeia ou JToken | Se o tipo de origem for Microsoft.Logic/workflows , as informações de origem têm de seguir este esquema. Se o tipo de origem for custom , o esquema é um JToken. |
systemId | Sim | String | ID do sistema de aplicações lógicas |
runId | Sim | String | ID de execução da aplicação lógica |
operationName | Sim | String | Nome da operação, por exemplo, ação ou acionador |
repeatItemScopeName | Sim | String | Repita o nome do item se a ação estiver dentro de um foreach ciclo ou until |
repeatItemIndex | Yes | Número inteiro | Indica que a ação está dentro de um foreach ciclo ou until e é o número de índice de item repetido. |
trackingId | Não | String | ID de controlo para correlacionar as mensagens |
correlationId | Não | String | ID de Correlação para correlacionar as mensagens |
clientRequestId | Não | String | O cliente pode preencher esta propriedade para correlacionar mensagens |
eventLevel | Sim | String | Nível do evento |
eventTime | Yes | DateTime | Hora do evento no formato UTC: YYYY-MM-DDTHH:MM:SS.00000Z |
recordType | Sim | String | Tipo de registo de registo apenas com este valor permitido: custom |
gravar | Yes | JToken | Tipo de registo personalizado apenas com formato JToken |