Udostępnij przez


Tracking schemas for B2B transactions in Standard workflows for Azure Logic Apps (Preview)

Dotyczy: Azure Logic Apps (Standard)

Uwaga

This capability is in preview and is subject to the Supplemental Terms of Use for Microsoft Azure Previews.

Azure Logic Apps includes built-in tracking that you can enable for parts of your Standard workflow. To help you monitor the successful delivery or receipt, errors, and properties for business-to-business (B2B) messages, this guide helps you better understand the tables that store B2B tracking data for your transactions.

Uwaga

This article applies only to Standard logic app workflows. For information about monitoring Consumption logic app workflows, see the following documentation:

AS2TrackRecords tracking table for AS2

The Azure Database Explorer table named AS2TrackRecords stores all AS2 tracking data. The following sample describes the query that creates this table and the required order for specifying the table columns:

.create table AS2TrackRecords (
   IntegrationAccountSubscriptionId: string, // Subscription ID for the integration account.
   IntegrationAccountResourceGroup: string, // Resource group for the integration account.
   IntegrationAccountName: string, // Name for the integration account.
   IntegrationAccountId: string, // ID for the integration account.
   WorkflowRunOperationInfo: dynamic, // Operation information for the workflow run. This dynamic type uses a specific JSON schema.
   ClientRequestId: string, // Client request ID.
   EventTime: datetime, // Time of the event.
   Error: dynamic, // Error, if any.
   RecordType: string, // Type of tracking record.
   Direction: string, // Message flow direction, which is either 'send' or 'receive'.
   IsMessageFailed: bool, // Whether the AS2 message failed.
   MessageProperties: dynamic, // Message properties. This dynamic type uses different schema based on the tracking record type.
   AdditionalProperties: dynamic, // Additional properties.
   TrackingId: string, // Custom tracking ID, if any.
   AgreementName: string, // Name for the AS2 agreement that resolves the messages.
   As2From: string, // Name for the AS2 message sender in the AS2 message headers.
   As2To: string, // Name for the AS2 message receiver in the AS2 headers.
   ReceiverPartnerName: string, // Partner name for the AS2 message receiver.
   SenderPartnerName: string, // Partner name for the AS2 message sender.
   MessageId: string, // AS2 message ID.
   OriginalMessageId: string,// Original AS2 message ID.
   CorrelationMessageId: string, // Message ID for correlating AS2 messages with Message Disposition Notifications (MDNs).
   IsMdnExpected: bool // Whether the Message Dispoition Notification (MDN) is expected.
)

Uwaga

The WorkflowRunOperationInfo table column has a dynamic type structure, which uses a specific JSON schema. The MessageProperties table column also has a dynamic type structure, but uses different JSON schema, based on the tracking record type. Aby uzyskać więcej informacji, zobacz następujące sekcje:

AS2 tracking record - MessageProperties schemas

The MessageProperties table column has a dynamic type structure that uses different JSON schema, based on the tracking record type.

AS2 message - MessageProperties schema

The following syntax describes the MessageProperties schema when the tracking record type is an AS2 message:

{
   "direction": "",
   "messageId": "",
   "dispositionType": "",
   "fileName": "",
   "isMessageFailed": "",
   "isMessageSigned": "",
   "isMessageEncrypted": "",
   "isMessageCompressed": "",
   "correlationMessageId": "",
   "incomingHeaders": {},
   "outgoingHeaders": {},
   "isNrrEnabled": "",
   "isMdnExpected": "",
   "mdnType": ""
}
Majątek Typ Opis
direction Sznurek Message flow direction (send or receive)
messageId Sznurek AS2 message ID from AS2 message header
dispositionType Sznurek Disposition type for the Message Disposition Notification (MDN)
nazwaPliku Sznurek File name from the AS2 message header
isMessageFailed Boolean Czy komunikat AS2 zakończył się niepowodzeniem
isMessageSigned Boolean Czy wiadomość AS2 została podpisana
isMessageEncrypted Boolean Czy komunikat AS2 został zaszyfrowany
isMessageCompressed Boolean Czy komunikat AS2 został skompresowany
correlationMessageId Sznurek Message ID for correlating AS2 messages with Message Disposition Notifications (MDNs)
incomingHeaders JToken dictionary Header details for the incoming AS2 message
outgoingHeaders JToken dictionary Header details for the outgoing AS2 message
isNrrEnabled Boolean Whether Non-Repudiation of Receipt (NRR) is enabled
isMdnExpected Boolean Is the Message Disposition Notification (MDN) expected
mdnType Enum Dozwolone wartości: NotConfigured, Synci Async

AS2 MDN - MessageProperties schema

The following syntax describes the MessageProperties schema when the tracking record type is an AS2 MDN:

{
   "direction": "",
   "messageId": "",
   "originalMessageId": "",
   "dispositionType": "",
   "isMessageFailed": "",
   "isMessageSigned": "",
   "isNrrEnabled": "",
   "statusCode": "",
   "micVerificationStatus" "",
   "correlationMessageId": "",
   "incomingHeaders": {},
   "outgoingHeaders": {},
}
Majątek Typ Opis
direction Sznurek Message flow direction (send or receive)
messageId Sznurek AS2 message ID from AS2 message header
originalMessageId Sznurek Message ID for the original AS2 message
dispositionType Sznurek Disposition type for the Message Disposition Notification (MDN)
isMessageFailed Boolean Czy komunikat AS2 zakończył się niepowodzeniem
isMessageSigned Boolean Czy wiadomość AS2 została podpisana
isNrrEnabled Boolean Whether Non-Repudiation of Receipt (NRR) is enabled
statusCode Enum Dozwolone wartości: Accepted, Rejectedi AcceptedWithErrors
micVerificationStatus Enum Dozwolone wartości: NotApplicable, Succeededi Failed
correlationMessageId Sznurek Identyfikator korelacji, czyli identyfikator oryginalnego komunikatu, który ma skonfigurowane MDN.
incomingHeaders JToken dictionary Header details for the incoming AS2 message
outgoingHeaders JToken dictionary Header details for the outgoing AS2 message

EdiTrackRecords tracking table for X12

The Azure Database Explorer table named EdiTrackRecords stores all X12 tracking data. The following sample describes the query that creates this table and the required order for specifying the table columns:

.create table EdiTrackRecords (
   IntegrationAccountSubscriptionId: string, // Subscription ID for the integration account.
   IntegrationAccountResourceGroup: string, // Resource group for the integration account.
   IntegrationAccountName: string, // Name for the integration account.
   IntegrationAccountId: string, // ID for the integration account.
   WorkflowRunOperationInfo: dynamic, // Operation information for the workflow run.
   ClientRequestId: string, // Client request ID.
   EventTime: datetime, // Time of the event.
   Error: dynamic, // Error, if any.
   RecordType: string, // Type of tracking record.
   Direction: string, // Message flow direction, which is either 'receive' or 'send'.
   IsMessageFailed: bool, // Whether the message failed.
   MessageProperties: dynamic, // Message properties.
   AdditionalProperties: dynamic, // Additional properties.
   TrackingId: string, // Custom tracking ID, if any.
   AgreementName: string, // Name for the agreement that resolves the messages.
   SenderPartnerName: string, // Partner name for the message sender.
   ReceiverPartnerName: string, // Partner name for the X12 message receiver.
   SenderQualifier: string, // Qualifier for the partner X12 message sender.
   SenderIdentifier: string, // Identifier for the partner X12 message sender.
   ReceiverQualifier: string, // Qualifier for the partner X12 message receiver.
   ReceiverIdentifier: string, // Identiifer for the partner X12 message receiver.
   TransactionSetControlNumber: string, // Control number for the transaction set.
   FunctionalGroupControlNumber: string, // Control number for the functional group.
   InterchangeControlNumber: string, // Control number for the interchange.
   MessageType: string, // Transaction set or document type.
   RespondingTransactionSetControlNumber: string, // Control number for the responding transaction set, in case of acknowledgment.
   RespondingFunctionalGroupControlNumber: string, // Control number for the responding functional group, in case of acknowledgment.
   RespondingInterchangeControlNumber: string, // Control number for the responding interchange, in case of acknowledgement.
   ProcessingStatus: string // Acknowledgment processing status with these permitted values: 'Received', 'Generated', and 'Sent'
)

X12 tracking record - MessageProperties schemas

The MessageProperties table column has a dynamic type structure that uses different JSON schema, based on the tracking record type.

X12 transaction set - MessageProperties schema

The following syntax describes the MessageProperties schema when the tracking record type is an X12 transaction set:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "transactionSetControlNumber": "",
   "correlationMessageId": "",
   "messageType": "",
   "isMessageFailed": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isFunctionalAcknowledgmentExpected": "",
   "needAk2LoopForValidMessages": "",
   "segmentsCount": ""
}
Majątek Typ Opis
direction Enum Message flow direction (send or receive)
interchangeControlNumber Sznurek Control number for the interchange
functionalGroupControlNumber Sznurek Control number for the functional group
transactionSetControlNumber Sznurek Control number for the transaction set
correlationMessageId Sznurek Message correlation ID, which combines these values: {AgreementName}{Interchange-or-FunctionalGroup-ControlNumber}{TransactionSetControlNumber}
messageType Sznurek Zestaw transakcji lub typ dokumentu
isMessageFailed Boolean Czy komunikat X12 zakończył się niepowodzeniem
isTechnicalAcknowledgmentExpected Boolean Czy potwierdzenie techniczne jest skonfigurowane w umowie X12
isFunctionalAcknowledgmentExpected Boolean Whether the functional acknowledgment is configured in the X12 agreement
needAk2LoopForValidMessages Boolean Czy pętla AK2 jest wymagana dla prawidłowego komunikatu
segmentsCount Integer Liczba segmentów w zestawie transakcji X12

X12 transaction set acknowledgment - MessageProperties schema

The following syntax describes the MessageProperties schema when the tracking record type is an X12 transaction set acknowledgment:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "respondingFunctionalGroupControlNumber": "",
   "respondingFunctionalGroupId": "",
   "respondingTransactionSetId": "",
   "statusCode": "",
   "processingStatus": "",
   "correlationMessageId": "",
   "isMessageFailed": ""
}
Majątek Typ Opis
direction Sznurek Message flow direction (send or receive)
interchangeControlNumber Sznurek Interchange control number for the functional acknowledgment. This value populates only for the sender when a functional acknowledgment is received for the messages sent to the partner.
functionalGroupControlNumber Sznurek Functional group control number for the functional acknowledgment. This value populates only for the sender when a functional acknowledgment is received for the messages sent to the partner.
respondingFunctionalGroupControlNumber Sznurek Control number for the responding functional group
respondingFunctionalGroupId Sznurek Control number for the responding functional group
respondingTransactionSetId Sznurek ID for the responding functional group that maps to AK101 in the acknowledgment
statusCode Boolean Acknowledgment status code for the transaction set
processingStatus Enum Acknowledgment processing status with these permitted values: Received, Generated, and Sent
correlationMessageId Sznurek Message correlation ID, which combines these values: {AgreementName}{InterchangeORFunctionalGroupControlNumber}{TransactionSetControlNumber}
isMessageFailed Sznurek Czy komunikat X12 zakończył się niepowodzeniem

X12 interchange - MessageProperties schema

The following syntax describes the MessageProperties schema when the tracking record type is an X12 interchange:

{
   "direction": "",
   "interchangeControlNumber": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isMessageFailed": "",
   "isa09": "",
   "isa10": "",
   "isa11": "",
   "isa12": "",
   "isa14": "",
   "isa15": "",
   "isa16": ""
}
Majątek Typ Opis
direction Enum Message flow direction (send or receive)
interchangeControlNumber Sznurek Control number for the interchange
isTechnicalAcknowledgmentExpected Boolean Czy potwierdzenie techniczne jest skonfigurowane w umowie X12
isMessageFailed Boolean Czy komunikat X12 zakończył się niepowodzeniem
isa09 Sznurek Data wymiany dokumentów X12
isa10 Sznurek Czas wymiany dokumentu X12
isa11 Sznurek Identyfikator standardów kontroli wymiany danych X12
isa12 Sznurek X12 interchange control version number
isa14 Sznurek X12 acknowledgment is requested
isa15 Sznurek Wskaźnik dla testowania lub produkcji
isa16 Sznurek Separator elementów

X12 interchange acknowledgment - MessageProperties schema

The following syntax describes the MessageProperties schema when the tracking record type is an X12 interchange acknowledgment:

{
   "direction": "",
   "interchangeControlNumber": "",
   "respondingInterchangeControlNumber": "",
   "isMessageFailed": "",
   "statusCode": "",
   "processingStatus": "",
   "ta102": "",
   "ta103": "",
   "ta105": ""
}
Majątek Typ Opis
direction Enum Message flow direction (send or receive)
interchangeControlNumber Sznurek Interchange control number for the technical acknowledgment that is received from partners
isMessageFailed Boolean Czy komunikat X12 zakończył się niepowodzeniem
statusCode Boolean Interchange acknowledgment status code with these permitted values: Accepted, Rejected, and AcceptedWithErrors
processingStatus Enum Acknowledgment processing status with these permitted values: Received, Generated, and Sent
ta102 Sznurek Interchange date
ta103 Sznurek Czas wymiany
ta103 Sznurek Interchange note code

X12 functional group - MessageProperties schema

The following syntax describes the MessageProperties schema when the tracking record type is an X12 functional group:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isFunctionalAcknowledgmentExpected": "",
   "isMessageFailed": "",
   "gs01": "",
   "gs02": "",
   "gs03": "",
   "gs04": "",
   "gs05": "",
   "gs07": "",
   "gs08": ""
}
Majątek Typ Opis
direction Enum Message flow direction (send or receive)
interchangeControlNumber Sznurek Control number for the interchange
functionalGroupControlNumber Sznurek Control number for the functional group
isTechnicalAcknowledgmentExpected Boolean Czy potwierdzenie techniczne jest skonfigurowane w umowie X12
isFunctionalAcknowledgmentExpected Boolean Whether the functional acknowledgment is configured in the X12 agreement
isMessageFailed Boolean Czy komunikat X12 zakończył się niepowodzeniem
gs01 Sznurek Functional group identifier code
gs02 Sznurek Application sender code
gs03 Sznurek Application receiver code
gs04 Sznurek Functional group date
gs05 Sznurek Functional group time
gs07 Sznurek Kod odpowiedzialnej agencji
gs08 Sznurek Kod identyfikatora wersji, wydania lub branży

X12 functional group acknowledgment - MessageProperties schema

The following syntax describes the MessageProperties schema when the tracking record type is an X12 functional group acknowledgment:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "respondingFunctionalGroupControlNumber": "",
   "respondingFunctionalGroupId": "",
   "isMessageFailed": "",
   "statusCode": "",
   "processingStatus": "",
   "ak903": "",
   "ak904": "",
}
Majątek Typ Opis
direction Enum Message flow direction (send or receive)
interchangeControlNumber Sznurek Control number for the interchange. This value populates for the sender when a technical acknowledgment is received from partners.
functionalGroupControlNumber Sznurek Control number for the functional group
respondingFunctionalGroupControlNumber Sznurek Control number for the original functional group
respondingFunctionalGroupId Sznurek Maps to AK101 in the acknowledgment functional group ID
statusCode Enum Kod stanu potwierdzenia z tymi dozwolonymi wartościami: Accepted, Rejectedi AcceptedWithErrors
processingStatus Sznurek Acknowledgment processing status with these permitted values: Received, Generated, and Sent
ak903 Sznurek Number of received transaction sets
ak903 Sznurek Number of accepted transaction sets in the identified functional group

WorkflowRunOperationInfo schema

The WorkflowRunOperationInfo table column in the AS2TrackRecords table and EdiTrackRecords table captures information about the Standard logic app workflow run. This column has a dynamic type structure that uses the following JSON schema:

{
   "title": "WorkflowRunOperationInfo",
   "type": "object",
   "properties": {
      "Workflow": {
         "type": "object",
         "properties": {
            "SystemId": {
               "type": "string",
               "description": "The workflow system ID."
            },
            "SubscriptionId": {
               "type": "string",
               "description": "The subscription ID of the workflow."
            },
            "ResourceGroup": {
               "type": "string",
               "description": "The resource group name of the workflow."
            },
            "LogicAppName": {
               "type": "string",
               "description": "The logic app name of the workflow."
            },
            "Name": {
               "type": "string",
               "description": "The name of the workflow."
            },
            "Version": {
               "type": "string",
               "description": "The version of the workflow."
            }
         }
      },
      "RunInstance": {
         "type": "object",
         "properties": {
            "RunId": {
               "type": "string",
               "description": "The logic app run id."
            },
            "TrackingId": {
               "type": "string",
               "description": "The tracking id of the run."
            },
            "ClientTrackingId": {
               "type": "string",
               "description": "The client tracking id of the run."
            }
         }
      },
      "Operation": {
         "type": "object",
         "properties": {
            "OperationName": {
               "type": "string",
               "description": "The logic app operation name."
            },
            "RepeatItemScopeName": {
               "type": "string",
               "description": "The repeat item scope name."
            },
            "RepeatItemIndex": {
            "type": "integer",
            "description": "The repeat item index."
            },
            "RepeatItemBatchIndex": {
               "type": "integer",
               "description": "The index of the repeat item batch."
            },
            "TrackingId": {
               "type": "string",
               "description": "The tracking id of the logic app operation."
            },
            "CorrelationId": {
               "type": "string",
               "description": "The correlation id of the logic app operation."
            },
            "ClientRequestId": {
               "type": "string",
               "description": "The client request id of the logic app operation."
            },
            "OperationTrackingId": {
               "type": "string",
               "description": "The operation tracking id of the logic app operation."
            }
         }
      }
   }
}