Esquemas de seguimiento para supervisar mensajes B2B en Azure Logic Apps
Se aplica a: Azure Logic Apps (consumo + estándar)
Azure Logic Apps incluye un seguimiento integrado que puede activar para partes de su flujo de trabajo. Para ayudarle a supervisar la entrega o recepción correcta, los errores y las propiedades de los mensajes de empresa a empresa (B2B), puede crear y utilizar esquemas de seguimiento AS2, X12 y personalizados en su cuenta de integración. Esta guía de referencia describe la sintaxis y los atributos de estos esquemas de seguimiento.
AS2
- Esquema de seguimiento de mensaje AS2
- Esquema de seguimiento de notificaciones de disposición de mensajes (MDN) AS2
Esquema de seguimiento de mensaje AS2
La siguiente sintaxis describe el esquema de seguimiento de un mensaje AS2:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"as2To": "",
"as2From": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"messageId": "",
"dispositionType": "",
"fileName": "",
"isMessageFailed": "",
"isMessageSigned": "",
"isMessageEncrypted": "",
"isMessageCompressed": "",
"correlationMessageId": "",
"incomingHeaders": {},
"outgoingHeaders": {},
"isNrrEnabled": "",
"isMdnExpected": "",
"mdnType": ""
}
}
La siguiente tabla describe los atributos de un esquema de seguimiento para un mensaje AS2:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
senderPartnerName | No | String | Nombre de asociado del remitente del mensaje AS2. |
receiverPartnerName | No | String | Nombre de asociado del receptor del mensaje AS2. |
as2To | Sí | String | Nombre del receptor del mensaje AS2 de los encabezados del mensaje AS2. |
as2From | Sí | String | Nombre del remitente del mensaje AS2 de los encabezados del mensaje AS2. |
agreementName | No | String | Nombre del contrato de AS2 en el que se resuelven los mensajes |
direction | Sí | String | Dirección del flujo de mensajes, que es receive o send . |
messageId | No | String | Identificador del mensaje AS2 de los encabezados del mensaje AS2. |
dispositionType | No | String | Valor del tipo de disposición de notificaciones de disposición del mensaje (MDN). |
fileName | No | String | Nombre de archivo del encabezado del mensaje AS2. |
isMessageFailed | Sí | Boolean | Si el mensaje AS2 genera un error. |
isMessageSigned | Sí | Boolean | Si el mensaje AS2 está firmado. |
isMessageEncrypted | Sí | Boolean | Si el mensaje AS2 está cifrado. |
isMessageCompressed | Sí | Boolean | Si el mensaje AS2 está comprimido. |
correlationMessageId | No | String | Identificador de mensaje AS2, para correlacionar mensajes con MDN. |
incomingHeaders | No | Diccionario de JToken | Detalles del encabezado del mensaje AS2 entrante. |
outgoingHeaders | No | Diccionario de JToken | Detalles del encabezado del mensaje AS2 saliente. |
isNrrEnabled | Sí | Boolean | Si se usará el valor predeterminado cuando se desconoce el valor. |
isMdnExpected | Sí | Boolean | Si se usará el valor predeterminado cuando se desconoce el valor. |
mdnType | Sí | Enum | Valores permitidos: NotConfigured , Sync y Async . |
Esquema de seguimiento de MDN AS2
La siguiente sintaxis describe el esquema de seguimiento de un mensaje AS2 MDN:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"as2To": "",
"as2From": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"messageId": "",
"originalMessageId": "",
"dispositionType": "",
"isMessageFailed": "",
"isMessageSigned": "",
"isNrrEnabled": "",
"statusCode": "",
"micVerificationStatus": "",
"correlationMessageId": "",
"incomingHeaders": {
},
"outgoingHeaders": {
}
}
}
La siguiente tabla describe los atributos de un esquema de seguimiento para un mensaje AS2 MDN:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
senderPartnerName | No | String | Nombre de asociado del remitente del mensaje AS2. |
receiverPartnerName | No | String | Nombre de asociado del receptor del mensaje AS2. |
as2To | Sí | String | Nombre del asociado que recibe el mensaje AS2. |
as2From | Sí | String | Nombre del asociado que envía el mensaje AS2. |
agreementName | No | String | Nombre del contrato de AS2 en el que se resuelven los mensajes |
direction | Sí | String | Dirección del flujo de mensajes, que es receive o send . |
messageId | No | String | Identificador del mensaje AS2. |
originalMessageId | No | String | Identificador del mensaje original AS2. |
dispositionType | No | String | Valor de tipo de disposición de MDN. |
isMessageFailed | Sí | Boolean | Si el mensaje AS2 genera un error. |
isMessageSigned | Sí | Boolean | Si el mensaje AS2 está firmado. |
isNrrEnabled | Sí | Boolean | Si se usará el valor predeterminado cuando se desconoce el valor. |
statusCode | Sí | Enum | Valores permitidos: Accepted , Rejected y AcceptedWithErrors . |
micVerificationStatus | Sí | Enum | Valores permitidos:NotApplicable , Succeeded y Failed . |
correlationMessageId | No | String | Identificador de correlación, que es el identificador del mensaje original con el MDN configurado. |
incomingHeaders | No | Diccionario de JToken | Detalles del encabezado del mensaje entrante. |
outgoingHeaders | No | Diccionario de JToken | Detalles del encabezado del mensaje saliente. |
X12
- Esquema de seguimiento de conjuntos de transacciones de X12
- Esquema de seguimiento de confirmación de conjuntos de transacciones de X12
- Esquema de seguimiento de intercambio de X12
- Esquema de seguimiento de confirmación de intercambio de X12
- Esquema de seguimiento de grupos funcionales de X12
- Esquema de seguimiento de confirmación de grupos funcionales de X12
Esquema de seguimiento de conjuntos de transacciones de X12
La siguiente sintaxis describe el esquema de seguimiento para un conjunto de transacciones X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"functionalGroupControlNumber": "",
"transactionSetControlNumber": "",
"CorrelationMessageId": "",
"messageType": "",
"isMessageFailed": "",
"isTechnicalAcknowledgmentExpected": "",
"isFunctionalAcknowledgmentExpected": "",
"needAk2LoopForValidMessages": "",
"segmentsCount": ""
}
}
La siguiente tabla describe los atributos de un esquema de seguimiento para un conjunto de transacciones X12:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
senderPartnerName | No | String | Nombre de asociado del remitente del mensaje X12. |
receiverPartnerName | No | String | Nombre de asociado del destinatario del mensaje X12. |
senderQualifier | Sí | String | Calificador del asociado remitente. |
senderIdentifier | Sí | String | Identificador del asociado remitente. |
receiverQualifier | Sí | String | Calificador del asociado destinatario. |
receiverIdentifier | Sí | String | Identificador del asociado destinatario. |
agreementName | No | String | Nombre del contrato X12 en el que se resuelven los mensajes |
direction | Sí | Enum | Dirección del flujo de mensajes, que es receive o send . |
interchangeControlNumber | No | String | Número de control de intercambio. |
functionalGroupControlNumber | No | String | Número de control funcional. |
transactionSetControlNumber | No | String | Número de control de conjunto de transacciones. |
CorrelationMessageId | No | String | El identificador de mensaje de correlación es la combinación de {AgreementName} {GroupControlNumber} {TransactionSetControlNumber}. |
messageType | No | String | Conjunto de transacciones o tipo de documento. |
isMessageFailed | Sí | Boolean | Si el mensaje X12 genera error. |
isTechnicalAcknowledgmentExpected | Sí | Boolean | Si la confirmación técnica se ha configurado en el contrato X12. |
isFunctionalAcknowledgmentExpected | Sí | Boolean | Si la confirmación funcional se ha configurado en el contrato X12. |
needAk2LoopForValidMessages | Sí | Boolean | Si el bucle AK2 es necesario para un mensaje válido. |
segmentsCount | No | Entero | Número de segmentos del conjunto de transacciones de X12. |
Esquema de seguimiento de confirmación de conjuntos de transacciones de X12
La siguiente sintaxis describe el esquema de seguimiento para un acuse de recibo de conjunto de transacciones 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": ""
}
}
La siguiente tabla describe los atributos de un esquema de seguimiento para un acuse de recibo de conjunto de transacciones X12:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
senderPartnerName | No | String | Nombre de asociado del remitente del mensaje X12. |
receiverPartnerName | No | String | Nombre de asociado del destinatario del mensaje X12. |
senderQualifier | Sí | String | Calificador del asociado remitente. |
senderIdentifier | Sí | String | Identificador del asociado remitente. |
receiverQualifier | Sí | String | Calificador del asociado destinatario. |
receiverIdentifier | Sí | String | Identificador del asociado destinatario. |
agreementName | No | String | Nombre del contrato X12 en el que se resuelven los mensajes |
direction | Sí | Enum | Dirección del flujo de mensajes, que es receive o send . |
interchangeControlNumber | No | String | Número de control de intercambio de la confirmación funcional. El valor se rellena solo en el lado de envío en el que se ha recibido confirmación funcional de los mensajes enviados al asociado. |
functionalGroupControlNumber | No | String | Número de control del grupo funcional de la confirmación funcional. El valor se rellena solo en el lado de envío en el que se ha recibido confirmación funcional de los mensajes enviados al asociado. |
isaSegment | No | String | Segmento ISA del mensaje. El valor se rellena solo en el lado de envío en el que se ha recibido confirmación funcional de los mensajes enviados al asociado. |
gsSegment | No | String | Segmento GS del mensaje. El valor se rellena solo en el lado de envío en el que se ha recibido confirmación funcional de los mensajes enviados al asociado. |
respondingfunctionalGroupControlNumber | No | String | Número de control de intercambio de respuesta. |
respondingFunctionalGroupId | No | String | Identificador del grupo funcional de respuesta, que se asigna a AK101 en la confirmación. |
respondingtransactionSetControlNumber | No | String | Número de control del conjunto de transacciones de respuesta. |
respondingTransactionSetId | No | String | Identificador del conjunto de transacciones de respuesta, que se asigna a AK201 en la confirmación. |
statusCode | Sí | Boolean | Código de estado de la confirmación del conjunto de transacciones. |
segmentsCount | Sí | Enum | Código de estado de confirmación con estos valores permitidos: Accepted , Rejected y AcceptedWithErrors |
processingStatus | Sí | Enum | Estado de procesamiento de la confirmación con estos valores permitidos: Received , Generated y Sent |
CorrelationMessageId | No | String | El identificador de mensaje de correlación es la combinación de {AgreementName} {GroupControlNumber} {TransactionSetControlNumber}. |
isMessageFailed | Sí | Boolean | Si el mensaje X12 genera error. |
ak2Segment | No | String | Confirmación para un conjunto de transacciones del grupo funcional recibido. |
ak3Segment | No | String | Indica que hay errores en un segmento de datos. |
ak5Segment | No | String | Indica si el conjunto de transacciones identificado en el segmento de AK2 se acepta o se rechaza y por qué. |
Esquema de seguimiento de intercambio de X12
La siguiente sintaxis describe el esquema de seguimiento para un intercambio X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"isaSegment": "",
"isTechnicalAcknowledgmentExpected": "",
"isMessageFailed": "",
"isa09": "",
"isa10": "",
"isa11": "",
"isa12": "",
"isa14": "",
"isa15": "",
"isa16": ""
}
}
La siguiente tabla describe los atributos de un esquema de seguimiento para un intercambio X12:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
senderPartnerName | No | String | Nombre de asociado del remitente del mensaje X12. |
receiverPartnerName | No | String | Nombre de asociado del destinatario del mensaje X12. |
senderQualifier | Sí | String | Calificador del asociado remitente. |
senderIdentifier | Sí | String | Identificador del asociado remitente. |
receiverQualifier | Sí | String | Calificador del asociado destinatario. |
receiverIdentifier | Sí | String | Identificador del asociado destinatario. |
agreementName | No | String | Nombre del contrato X12 en el que se resuelven los mensajes |
direction | Sí | Enum | Dirección del flujo de mensajes, que es receive o send . |
interchangeControlNumber | No | String | Número de control de intercambio. |
isaSegment | No | String | Segmento ISA del mensaje. |
isTechnicalAcknowledgmentExpected | Boolean | Si la confirmación técnica se ha configurado en el contrato X12. | |
isMessageFailed | Sí | Boolean | Si el mensaje X12 genera error. |
isa09 | No | String | Fecha de intercambio del documento X12. |
isa10 | No | String | Hora de intercambio del documento X12. |
isa11 | No | String | Identificador de los estándares de control del intercambio de X12. |
isa12 | No | String | Número de versión de control del intercambio de X12. |
isa14 | No | String | Se solicita la confirmación de X12. |
isa15 | No | String | Indicador de prueba o producción. |
isa16 | No | String | Separador de elementos. |
Esquema de seguimiento de confirmación de intercambio de X12
La siguiente sintaxis describe el esquema de seguimiento para un acuse de recibo de intercambio X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"isaSegment": "",
"respondingInterchangeControlNumber": "",
"isMessageFailed": "",
"statusCode": "",
"processingStatus": "",
"ta102": "",
"ta103": "",
"ta105": ""
}
}
La siguiente tabla describe los atributos de un esquema de seguimiento para un acuse de recibo de intercambio X12:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
senderPartnerName | No | String | Nombre de asociado del remitente del mensaje X12. |
receiverPartnerName | No | String | Nombre de asociado del destinatario del mensaje X12. |
senderQualifier | Sí | String | Calificador del asociado remitente. |
senderIdentifier | Sí | String | Identificador del asociado remitente. |
receiverQualifier | Sí | String | Calificador del asociado destinatario. |
receiverIdentifier | Sí | String | Identificador del asociado destinatario. |
agreementName | No | String | Nombre del contrato X12 en el que se resuelven los mensajes |
direction | Sí | Enum | Dirección del flujo de mensajes, que es receive o send . |
interchangeControlNumber | No | String | Número de control de intercambio de la confirmación técnica que se recibe de los asociados. |
isaSegment | No | String | Segmento ISA de la confirmación técnica que se recibe de los asociados. |
respondingInterchangeControlNumber | No | String | Número de control de intercambio de la confirmación técnica que se recibe de los asociados. |
isMessageFailed | Sí | Boolean | Si el mensaje X12 genera error. |
statusCode | Sí | Enum | Código de estado de confirmación de intercambio con estos valores permitidos: Accepted , Rejected y AcceptedWithErrors |
processingStatus | Sí | Enum | Estado de confirmación con estos valores permitidos: Received , Generated y Sent |
ta102 | No | String | Fecha de intercambio. |
ta103 | No | String | Hora de intercambio. |
ta105 | No | String | Código de nota de intercambio. |
Esquema de seguimiento de grupos funcionales de X12
La siguiente sintaxis describe el esquema de seguimiento de un 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": ""
}
}
La siguiente tabla describe los atributos de un esquema de seguimiento para un grupo funcional X12:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
senderPartnerName | No | String | Nombre de asociado del remitente del mensaje X12. |
receiverPartnerName | No | String | Nombre de asociado del destinatario del mensaje X12. |
senderQualifier | Sí | String | Calificador del asociado remitente. |
senderIdentifier | Sí | String | Identificador del asociado remitente. |
receiverQualifier | Sí | String | Calificador del asociado destinatario. |
receiverIdentifier | Sí | String | Identificador del asociado destinatario. |
agreementName | No | String | Nombre del contrato X12 en el que se resuelven los mensajes. |
direction | Sí | Enum | Dirección del flujo de mensajes, recibidos o enviados. |
interchangeControlNumber | No | String | Número de control de intercambio. |
functionalGroupControlNumber | No | String | Número de control funcional. |
gsSegment | No | String | Segmento GS del mensaje. |
isTechnicalAcknowledgmentExpected | Sí | Boolean | Si la confirmación técnica se ha configurado en el contrato X12. |
isFunctionalAcknowledgmentExpected | Sí | Boolean | Si la confirmación funcional se ha configurado en el contrato X12. |
isMessageFailed | Sí | Boolean | Si el mensaje X12 genera error. |
gs01 | No | String | Código del identificador funcional. |
gs02 | No | String | Código del remitente de la aplicación. |
gs03 | No | String | Código del destinatario de la aplicación. |
gs04 | No | String | Fecha del grupo funcional. |
gs05 | No | String | Hora del grupo funcional. |
gs07 | No | String | Código de la agencia responsable. |
gs08 | No | String | Código identificador de la versión, el lanzamiento o el sector. |
Esquema de seguimiento de confirmación de grupos funcionales de X12
La siguiente sintaxis describe el esquema de seguimiento para un acuse de recibo 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": ""
}
}
La siguiente tabla describe los atributos de un esquema de seguimiento para un acuse de recibo de grupo funcional X12:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
senderPartnerName | No | String | Nombre de asociado del remitente del mensaje X12. |
receiverPartnerName | No | String | Nombre de asociado del destinatario del mensaje X12. |
senderQualifier | Sí | String | Calificador del asociado remitente. |
senderIdentifier | Sí | String | Identificador del asociado remitente. |
receiverQualifier | Sí | String | Calificador del asociado destinatario. |
receiverIdentifier | Sí | String | Identificador del asociado destinatario. |
agreementName | No | String | Nombre del contrato X12 en el que se resuelven los mensajes |
direction | Sí | Enum | Dirección del flujo de mensajes, que es receive o send . |
interchangeControlNumber | No | String | Número de control de intercambio, que se rellena en el lado del envío cuando se recibe una confirmación técnica de los asociados. |
functionalGroupControlNumber | No | String | Número de control del grupo funcional de la confirmación técnica, que se rellena en el lado de envío cuando se recibe una confirmación técnica de los asociados. |
isaSegment | No | String | Igual que el número de control de intercambio, pero se rellena solo en casos específicos. |
gsSegment | No | String | Igual que el número de control del grupo funcional, pero se rellena solo en casos específicos. |
respondingfunctionalGroupControlNumber | No | String | Número de control del grupo funcional original. |
respondingFunctionalGroupId | No | String | Se asigna a AK101 en el identificador del grupo funcional de confirmación. |
isMessageFailed | Boolean | Si el mensaje X12 genera error. | |
statusCode | Sí | Enum | Código de estado de confirmación con estos valores permitidos: Accepted , Rejected y AcceptedWithErrors |
processingStatus | Sí | Enum | Estado de procesamiento de la confirmación con estos valores permitidos: Received , Generated y Sent |
ak903 | No | String | Número de conjuntos de transacciones recibidos. |
ak904 | No | String | Número de conjuntos de transacciones aceptados en el grupo funcional identificado. |
ak9Segment | No | String | Si el grupo funcional identificado en el segmento AK1 se acepta o se rechaza y por qué. |
Personalizado
Puede configurar un seguimiento personalizado que registre los eventos desde el principio hasta el final del flujo de trabajo de su aplicación lógica. Por ejemplo, puede registrar eventos de capas que incluyan su flujo de trabajo, SQL Server, BizTalk Server o cualquier otra capa. La siguiente sección proporciona código de esquema de seguimiento personalizado que puede utilizar en las capas fuera de su flujo de trabajo.
{
"sourceType": "",
"source": {
"workflow": {
"systemId": ""
},
"runInstance": {
"runId": ""
},
"operation": {
"operationName": "",
"repeatItemScopeName": "",
"repeatItemIndex": ,
"trackingId": "",
"correlationId": "",
"clientRequestId": ""
}
},
"events": [
{
"eventLevel": "",
"eventTime": "",
"recordType": "",
"record": {}
}
]
}
La siguiente tabla describe los atributos de un esquema de seguimiento personalizado:
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
sourceType | Sí | String | Tipo del origen de ejecución con estos valores permitidos: Microsoft.Logic/workflows , custom |
source | Sí | String o JToken | Si el tipo de origen es Microsoft.Logic/workflows , la información de origen debe seguir este esquema. Si el tipo de origen es custom , el esquema es un JToken. |
systemId | Sí | String | Identificador del sistema de la aplicación lógica |
runId | Sí | String | Identificador de ejecución de la aplicación lógica |
operationName | Sí | String | Nombre de la operación (por ejemplo, acción o desencadenador) |
repeatItemScopeName | Sí | String | Repita el nombre del elemento si la acción se encuentra dentro de un bucle foreach o until . |
repeatItemIndex | Sí | Entero | Indica que la acción está dentro de un bucle foreach o until y es el número de índice del elemento repetido. |
trackingId | No | String | Identificador de seguimiento para correlacionar los mensajes |
correlationId | No | String | Identificador de correlación para correlacionar los mensajes |
clientRequestId | No | String | El cliente puede rellenar esta propiedad para correlacionar los mensajes |
eventLevel | Sí | String | Nivel del evento |
eventTime | Sí | DateTime | Hora del evento, en formato UTC: AAAA-MM-DDTHH:MM:SS.00000Z |
recordType | Sí | String | Tipo de registro de seguimiento con solo este valor permitido: custom |
registro | Sí | JToken | Tipo de registro personalizado solo con formato JToken |