Schemi di rilevamento per il monitoraggio dei messaggi B2B in App per la logica di Azure
Si applica a: App per la logica di Azure (a consumo e standard)
App per la logica di Azure include il rilevamento predefinito che è possibile abilitare per parti del flusso di lavoro. Per monitorare correttamente il recapito o la ricezione, gli errori e le proprietà per i messaggi business-to-business (B2B), è possibile creare e usare schemi di rilevamento personalizzati AS2, X12 e personalizzati nell'account di integrazione. Questa guida di riferimento descrive la sintassi e gli attributi per questi schemi di rilevamento.
AS2
- Schema di rilevamento dei messaggi AS2
- Schema di rilevamento MDN (Message Disposition Notification) AS2
Schema di rilevamento messaggi AS2
La sintassi seguente descrive lo schema di rilevamento per un messaggio AS2:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"as2To": "",
"as2From": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"messageId": "",
"dispositionType": "",
"fileName": "",
"isMessageFailed": "",
"isMessageSigned": "",
"isMessageEncrypted": "",
"isMessageCompressed": "",
"correlationMessageId": "",
"incomingHeaders": {},
"outgoingHeaders": {},
"isNrrEnabled": "",
"isMdnExpected": "",
"mdnType": ""
}
}
La tabella seguente descrive gli attributi in uno schema di rilevamento per un messaggio AS2:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
senderPartnerName | No | String | Nome partner del mittente del messaggio AS2 |
receiverPartnerName | No | String | Nome partner del destinatario del messaggio AS2 |
as2To | Sì | String | Nome del ricevitore di messaggi AS2 dalle intestazioni del messaggio AS2 |
as2From | Sì | String | Nome del mittente del messaggio AS2 dalle intestazioni del messaggio AS2 |
agreementName | No | String | Nome del contratto AS2 in base al quale vengono risolti i messaggi. |
direction | Sì | String | Direzione del flusso del messaggio, ovvero receive o send |
messageId | No | String | ID messaggio AS2 dalle intestazioni del messaggio AS2 |
dispositionType | No | String | Valore del tipo di eliminazione MDN (Message Disposition Notification) |
fileName | No | String | Nome file dall'intestazione del messaggio AS2 |
isMessageFailed | Sì | Booleano | Indica se il messaggio AS2 non è riuscito |
isMessageSigned | Sì | Booleano | Indica se il messaggio AS2 è stato firmato |
isMessageEncrypted | Sì | Booleano | Indica se il messaggio AS2 è stato crittografato |
isMessageCompressed | Sì | Booleano | Indica se il messaggio AS2 è stato compresso |
correlationMessageId | No | String | ID messaggio AS2, per correlare i messaggi con mdn |
incomingHeaders | No | Dizionario di JToken | Dettagli dell'intestazione del messaggio AS2 in arrivo |
outgoingHeaders | No | Dizionario di JToken | Dettagli dell'intestazione del messaggio AS2 in uscita |
isNrrEnabled | Sì | Booleano | Indica se usare il valore predefinito se il valore non è noto |
isMdnExpected | Sì | Booleano | Indica se usare il valore predefinito se il valore non è noto |
mdnType | Sì | Enum | Valori consentiti: NotConfigured , Sync e Async |
Schema di rilevamento MDN AS2
La sintassi seguente descrive lo schema di rilevamento per un messaggio MDN AS2:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"as2To": "",
"as2From": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"messageId": "",
"originalMessageId": "",
"dispositionType": "",
"isMessageFailed": "",
"isMessageSigned": "",
"isNrrEnabled": "",
"statusCode": "",
"micVerificationStatus": "",
"correlationMessageId": "",
"incomingHeaders": {
},
"outgoingHeaders": {
}
}
}
La tabella seguente descrive gli attributi in uno schema di rilevamento per un messaggio MDN AS2:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
senderPartnerName | No | String | Nome partner del mittente del messaggio AS2 |
receiverPartnerName | No | String | Nome partner del destinatario del messaggio AS2 |
as2To | Sì | String | Nome partner che riceve il messaggio AS2 |
as2From | Sì | String | Nome partner che invia il messaggio AS2 |
agreementName | No | String | Nome del contratto AS2 in base al quale vengono risolti i messaggi. |
direction | Sì | String | Direzione del flusso del messaggio, ovvero receive o send |
messageId | No | String | ID messaggio AS2 |
originalMessageId | No | String | ID messaggio originale AS2 |
dispositionType | No | String | Valore del tipo di eliminazione MDN |
isMessageFailed | Sì | Booleano | Indica se il messaggio AS2 non è riuscito |
isMessageSigned | Sì | Booleano | Indica se il messaggio AS2 è stato firmato |
isNrrEnabled | Sì | Booleano | Indica se usare il valore predefinito se il valore non è noto |
statusCode | Sì | Enum | Valori consentiti: Accepted , Rejected e AcceptedWithErrors |
micVerificationStatus | Sì | Enum | Valori consentiti:NotApplicable , Succeeded e Failed |
correlationMessageId | No | String | ID di correlazione, ovvero l'ID per il messaggio originale con l'MDN configurato |
incomingHeaders | No | Dizionario di JToken | Dettagli intestazione messaggio in arrivo |
outgoingHeaders | No | Dizionario di JToken | Dettagli intestazione messaggio in uscita |
X12
- Schema di rilevamento del set di transazioni X12
- Schema di rilevamento del riconoscimento del set di transazioni X12
- Schema di rilevamento interscambio X12
- Schema di rilevamento del riconoscimento interscambio X12
- Schema di rilevamento dei gruppi funzionali X12
- Schema di rilevamento del riconoscimento del gruppo funzionale X12
Schema di rilevamento X12 per set di transazioni
La sintassi seguente descrive lo schema di rilevamento per un set di transazioni X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"functionalGroupControlNumber": "",
"transactionSetControlNumber": "",
"CorrelationMessageId": "",
"messageType": "",
"isMessageFailed": "",
"isTechnicalAcknowledgmentExpected": "",
"isFunctionalAcknowledgmentExpected": "",
"needAk2LoopForValidMessages": "",
"segmentsCount": ""
}
}
La tabella seguente descrive gli attributi in uno schema di rilevamento per un set di transazioni X12:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
senderPartnerName | No | String | Nome partner del mittente del messaggio X12 |
receiverPartnerName | No | String | Nome partner del destinatario di messaggi X12 |
senderQualifier | Sì | String | Invia qualificatore partner |
senderIdentifier | Sì | String | Invia identificatore partner |
receiverQualifier | Sì | String | Ricevi qualificatore partner |
receiverIdentifier | Sì | String | Ricevere l'identificatore del partner |
agreementName | No | String | Nome del contratto X12 in base al quale vengono risolti i messaggi |
direction | Sì | Enum | Direzione del flusso del messaggio, ovvero receive o send |
interchangeControlNumber | No | String | Numero di controllo interscambio |
functionalGroupControlNumber | No | String | Numero di controllo funzionale |
transactionSetControlNumber | No | String | Numero di controllo del set di transazioni |
CorrelationMessageId | No | String | ID messaggio di correlazione, che è una combinazione di {AgreementName}{GroupControlNumber}{TransactionSetControlNumber} |
messageType | No | String | Set di transazioni o tipo di documento |
isMessageFailed | Sì | Booleano | Indica se il messaggio X12 non è riuscito |
isTechnicalAcknowledgmentExpected | Sì | Booleano | Indica se il riconoscimento tecnico è configurato nel contratto X12 |
isFunctionalAcknowledgmentExpected | Sì | Booleano | Indica se il riconoscimento funzionale è configurato nel contratto X12 |
needAk2LoopForValidMessages | Sì | Booleano | Indica se il ciclo AK2 è necessario per un messaggio valido |
segmentsCount | No | Intero | Numero di segmenti nel set di transazioni X12 |
Schema di rilevamento del riconoscimento del set di transazioni X12
La sintassi seguente descrive lo schema di rilevamento per un riconoscimento del set di transazioni 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 tabella seguente descrive gli attributi in uno schema di rilevamento per un riconoscimento del set di transazioni X12:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
senderPartnerName | No | String | Nome partner del mittente del messaggio X12 |
receiverPartnerName | No | String | Nome partner del destinatario di messaggi X12 |
senderQualifier | Sì | String | Invia qualificatore partner |
senderIdentifier | Sì | String | Invia identificatore partner |
receiverQualifier | Sì | String | Ricevi qualificatore partner |
receiverIdentifier | Sì | String | Ricevere l'identificatore del partner |
agreementName | No | String | Nome del contratto X12 in base al quale vengono risolti i messaggi |
direction | Sì | Enum | Direzione del flusso del messaggio, ovvero receive o send |
interchangeControlNumber | No | String | Numero di controllo interscambio del riconoscimento funzionale. Il valore popola solo per il lato invio in cui viene ricevuto il riconoscimento funzionale per i messaggi inviati al partner. |
functionalGroupControlNumber | No | String | Numero di controllo del gruppo funzionale del riconoscimento funzionale. Il valore viene popolato solo per il lato di invio in cui viene ricevuto il riconoscimento funzionale per i messaggi inviati al partner |
isaSegment | No | String | Segmento ISA del messaggio. Il valore viene popolato solo per il lato di invio in cui viene ricevuto il riconoscimento funzionale per i messaggi inviati al partner |
gsSegment | No | String | Segmento GS del messaggio. Il valore viene popolato solo per il lato di invio in cui viene ricevuto il riconoscimento funzionale per i messaggi inviati al partner |
respondingfunctionalGroupControlNumber | No | String | Numero di controllo interscambio in risposta |
respondingFunctionalGroupId | No | String | ID gruppo funzionale che esegue il mapping a AK101 nel riconoscimento |
respondingtransactionSetControlNumber | No | String | Numero di controllo del set di transazioni che risponde |
respondingTransactionSetId | No | String | ID del set di transazioni che risponde, che esegue il mapping a AK201 nel riconoscimento |
statusCode | Sì | Booleano | Codice di stato del riconoscimento del set di transazioni |
segmentsCount | Sì | Enum | Codice di stato di riconoscimento con questi valori consentiti: Accepted , Rejected e AcceptedWithErrors |
processingStatus | Sì | Enum | Stato di elaborazione del riconoscimento con questi valori consentiti: Received , Generated e Sent |
CorrelationMessageId | No | String | ID messaggio di correlazione, che è una combinazione di {AgreementName}{GroupControlNumber}{TransactionSetControlNumber} |
isMessageFailed | Sì | Booleano | Indica se il messaggio X12 non è riuscito |
ak2Segment | No | String | Riconoscimento per un set di transazioni all'interno del gruppo funzionale ricevuto |
ak3Segment | No | String | Segnala errori in un segmento di dati |
ak5Segment | No | String | Segnala se il set di transazioni identificato nel segmento AK2 viene accettato o rifiutato e perché |
Schema di rilevamento X12 per interscambio
La sintassi seguente descrive lo schema di rilevamento per un interscambio X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"isaSegment": "",
"isTechnicalAcknowledgmentExpected": "",
"isMessageFailed": "",
"isa09": "",
"isa10": "",
"isa11": "",
"isa12": "",
"isa14": "",
"isa15": "",
"isa16": ""
}
}
La tabella seguente descrive gli attributi in uno schema di rilevamento per un interscambio X12:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
senderPartnerName | No | String | Nome partner del mittente del messaggio X12 |
receiverPartnerName | No | String | Nome partner del destinatario di messaggi X12 |
senderQualifier | Sì | String | Invia qualificatore partner |
senderIdentifier | Sì | String | Invia identificatore partner |
receiverQualifier | Sì | String | Ricevi qualificatore partner |
receiverIdentifier | Sì | String | Ricevere l'identificatore del partner |
agreementName | No | String | Nome del contratto X12 in base al quale vengono risolti i messaggi |
direction | Sì | Enum | Direzione del flusso del messaggio, ovvero receive o send |
interchangeControlNumber | No | String | Numero di controllo interscambio |
isaSegment | No | String | Segmento ISA del messaggio |
isTechnicalAcknowledgmentExpected | Booleano | Indica se il riconoscimento tecnico è configurato nel contratto X12 | |
isMessageFailed | Sì | Booleano | Indica se il messaggio X12 non è riuscito |
isa09 | No | String | Data interscambio documento X12 |
isa10 | No | String | Tempo di interscambio documento X12 |
isa11 | No | String | Identificatore degli standard di controllo interscambio X12 |
isa12 | No | String | Numero di versione del controllo interscambio X12 |
isa14 | No | String | Richiesta di riconoscimento X12 |
isa15 | No | String | Indicatore per test o produzione |
isa16 | No | String | Separatore di elementi |
Schema di rilevamento del riconoscimento interscambio X12
La sintassi seguente descrive lo schema di rilevamento per un riconoscimento dell'interscambio X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"isaSegment": "",
"respondingInterchangeControlNumber": "",
"isMessageFailed": "",
"statusCode": "",
"processingStatus": "",
"ta102": "",
"ta103": "",
"ta105": ""
}
}
La tabella seguente descrive gli attributi in uno schema di rilevamento per un riconoscimento dell'interscambio X12:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
senderPartnerName | No | String | Nome partner del mittente del messaggio X12 |
receiverPartnerName | No | String | Nome partner del destinatario di messaggi X12 |
senderQualifier | Sì | String | Invia qualificatore partner |
senderIdentifier | Sì | String | Invia identificatore partner |
receiverQualifier | Sì | String | Ricevi qualificatore partner |
receiverIdentifier | Sì | String | Ricevere l'identificatore del partner |
agreementName | No | String | Nome del contratto X12 in base al quale vengono risolti i messaggi |
direction | Sì | Enum | Direzione del flusso del messaggio, ovvero receive o send |
interchangeControlNumber | No | String | Numero di controllo interscambio del riconoscimento tecnico ricevuto dai partner |
isaSegment | No | String | Segmento ISA per il riconoscimento tecnico ricevuto dai partner |
respondingInterchangeControlNumber | No | String | Numero di controllo interscambio per il riconoscimento tecnico ricevuto dai partner |
isMessageFailed | Sì | Booleano | Indica se il messaggio X12 non è riuscito |
statusCode | Sì | Enum | Codice di stato di riconoscimento interscambio con questi valori consentiti: Accepted , Rejected e AcceptedWithErrors |
processingStatus | Sì | Enum | Stato di riconoscimento con questi valori consentiti: Received , Generated e Sent |
ta102 | No | String | Data interscambio |
ta103 | No | String | Tempo interscambio |
ta105 | No | String | Codice nota interscambio |
Schema di rilevamento X12 per gruppi funzionali
La sintassi seguente descrive lo schema di rilevamento per un gruppo funzionale 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 tabella seguente descrive gli attributi in uno schema di rilevamento per un gruppo funzionale X12:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
senderPartnerName | No | String | Nome partner del mittente del messaggio X12 |
receiverPartnerName | No | String | Nome partner del destinatario di messaggi X12 |
senderQualifier | Sì | String | Invia qualificatore partner |
senderIdentifier | Sì | String | Invia identificatore partner |
receiverQualifier | Sì | String | Ricevi qualificatore partner |
receiverIdentifier | Sì | String | Ricevere l'identificatore del partner |
agreementName | No | String | Nome del contratto X12 a cui vengono risolti i messaggi |
direction | Sì | Enum | Direzione del flusso del messaggio, ricezione o invio |
interchangeControlNumber | No | String | Numero di controllo interscambio |
functionalGroupControlNumber | No | String | Numero di controllo funzionale |
gsSegment | No | String | Segmento GS del messaggio |
isTechnicalAcknowledgmentExpected | Sì | Booleano | Indica se il riconoscimento tecnico è configurato nel contratto X12 |
isFunctionalAcknowledgmentExpected | Sì | Booleano | Indica se il riconoscimento funzionale è configurato nel contratto X12 |
isMessageFailed | Sì | Booleano | Indica se il messaggio X12 non è riuscito |
gs01 | No | String | Codice identificatore funzionale |
gs02 | No | String | Codice del mittente dell'applicazione |
gs03 | No | String | Codice del ricevitore dell'applicazione |
gs04 | No | String | Data gruppo funzionale |
gs05 | No | String | Tempo gruppo funzionale |
gs07 | No | String | Codice dell'agenzia responsabile |
gs08 | No | String | Codice di identificatore per la versione, la versione o il settore |
Schema di rilevamento del riconoscimento del gruppo funzionale X12
La sintassi seguente descrive lo schema di rilevamento per un riconoscimento del gruppo funzionale X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"functionalGroupControlNumber": "",
"isaSegment": "",
"gsSegment": "",
"respondingfunctionalGroupControlNumber": "",
"respondingFunctionalGroupId": "",
"isMessageFailed": "",
"statusCode": "",
"processingStatus": "",
"ak903": "",
"ak904": "",
"ak9Segment": ""
}
}
La tabella seguente descrive gli attributi in uno schema di rilevamento per un riconoscimento del gruppo funzionale X12:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
senderPartnerName | No | String | Nome partner del mittente del messaggio X12 |
receiverPartnerName | No | String | Nome partner del destinatario di messaggi X12 |
senderQualifier | Sì | String | Invia qualificatore partner |
senderIdentifier | Sì | String | Invia identificatore partner |
receiverQualifier | Sì | String | Ricevi qualificatore partner |
receiverIdentifier | Sì | String | Ricevere l'identificatore del partner |
agreementName | No | String | Nome del contratto X12 in base al quale vengono risolti i messaggi |
direction | Sì | Enum | Direzione del flusso del messaggio, ovvero receive o send |
interchangeControlNumber | No | String | Numero di controllo interscambio, che popola per il lato di invio quando viene ricevuto un riconoscimento tecnico dai partner |
functionalGroupControlNumber | No | String | Numero di controllo del gruppo funzionale del riconoscimento tecnico, che popola per il lato invio quando viene ricevuto un riconoscimento tecnico dai partner |
isaSegment | No | String | Uguale al numero di controllo dell'interscambio, ma popolato solo in casi specifici |
gsSegment | No | String | Uguale al numero di controllo del gruppo funzionale, ma popolato solo in casi specifici |
respondingfunctionalGroupControlNumber | No | String | Numero di controllo del gruppo funzionale originale |
respondingFunctionalGroupId | No | String | Esegue il mapping a AK101 nell'ID gruppo funzionale di riconoscimento |
isMessageFailed | Booleano | Indica se il messaggio X12 non è riuscito | |
statusCode | Sì | Enum | Codice di stato di riconoscimento con questi valori consentiti: Accepted , Rejected e AcceptedWithErrors |
processingStatus | Sì | Enum | Stato di elaborazione del riconoscimento con questi valori consentiti: Received , Generated e Sent |
ak903 | No | String | Numero di set di transazioni ricevuti |
ak904 | No | String | Numero di set di transazioni accettati nel gruppo funzionale identificato |
ak9Segment | No | String | Indica se il gruppo funzionale identificato nel segmento AK1 viene accettato o rifiutato e perché |
Personalizzazione
È possibile configurare il rilevamento personalizzato che registra gli eventi dall'inizio alla fine del flusso di lavoro dell'app per la logica. Ad esempio, è possibile registrare eventi da livelli che includono il flusso di lavoro, SQL Server, BizTalk Server o qualsiasi altro livello. La sezione seguente fornisce codice dello schema di rilevamento personalizzato che è possibile usare nei livelli esterni al flusso di lavoro.
{
"sourceType": "",
"source": {
"workflow": {
"systemId": ""
},
"runInstance": {
"runId": ""
},
"operation": {
"operationName": "",
"repeatItemScopeName": "",
"repeatItemIndex": ,
"trackingId": "",
"correlationId": "",
"clientRequestId": ""
}
},
"events": [
{
"eventLevel": "",
"eventTime": "",
"recordType": "",
"record": {}
}
]
}
La tabella seguente descrive gli attributi in uno schema di rilevamento personalizzato:
Proprietà | Richiesto | Type | Descrizione |
---|---|---|---|
sourceType | Sì | String | Tipo dell'origine di esecuzione con questi valori consentiti: Microsoft.Logic/workflows , custom |
source | Sì | Stringa o JToken | Se il tipo di origine è Microsoft.Logic/workflows , le informazioni sull'origine devono seguire questo schema. Se il tipo di origine è custom , lo schema è JToken. |
systemId | Sì | String | ID sistema dell'app per la logica |
runId | Sì | String | ID esecuzione dell'app per la logica |
operationName | Sì | String | Nome dell'operazione, ad esempio azione o trigger |
repeatItemScopeName | Sì | String | Ripetere il nome dell'elemento se l'azione si trova all'interno di un foreach ciclo o until |
repeatItemIndex | Sì | Intero | Indica che l'azione si trova all'interno di un foreach ciclo o until ed è il numero di indice dell'elemento ripetuto. |
trackingId | No | String | ID di rilevamento per correlare i messaggi |
correlationId | No | String | ID di correlazione per correlare i messaggi |
clientRequestId | No | String | Il client può popolare questa proprietà per correlare i messaggi |
eventLevel | Sì | String | Livello dell'evento |
eventTime | Sì | Data/Ora | Ora dell'evento in formato UTC: AAAA-MM-GGTHH:MM:SS.00000Z |
recordType | Sì | String | Tipo di record di traccia con questo solo valore consentito: custom |
registra | Sì | JToken | Tipo di record personalizzato solo con formato JToken |