Il parametro API_EXPORT_ORDERS_OPTIONS è utilizzato per personalizzare l'esportazione degli ordini tramite API. Consente di definire la mappatura dei tag XML di output e di configurare sistemi di monitoraggio per la gestione degli errori e degli ordini non inviati.
Struttura della Chiave Principale
Il parametro accetta un oggetto JSON la cui chiave principale identifica in modo univoco l'istanza di esecuzione. La chiave deve essere composta dagli ID dei connettori coinvolti, separati dal carattere pipe |.
-
Sintassi chiave:
"ID_Connettore1|ID_Connettore2|ID_Connettore3"
1. Mappatura Campi (fields)
Definisce come i campi interni del database di bindCommerce devono essere rinominati nel file XML prodotto.
-
order: Oggetto contenente la mappatura per i dati di testata dell'ordine.-
Esempio:
"order_shipping_total": "SpeseDiSpezioneTotaliCustom"genererà un tag<SpeseDiSpezioneTotaliCustom>contenente il valore del campo email.
-
-
rows: Oggetto contenente la mappatura per le righe d'ordine (articoli).-
Esempio:
"invoice_sent_time": "InvoiceSentTimePers"genererà un tag<InvoiceSentTimePers>per ogni riga.
-
2. Notifica Errori (notify_errors)
Gestisce l'invio di report in caso di anomalie registrate durante l'export.
-
log_time_check_hours: Frequenza di controllo dei log (es.24invierà un riepilogo ogni 24 ore se sono presenti errori). -
email.recipients: Array di stringhe contenente gli indirizzi email a cui inviare le segnalazioni tecniche.
3. Notifica Ordini non Inviati (notify_orders_not_sent)
Monitora la presenza di ordini che non sono stati ancora esportati, prevenendo ritardi nelle spedizioni.
-
range_hours: Specifica l'intervallo temporale (es. ultime 24 ore) entro il quale cercare ordini non ancora inviati. -
threshold_minutes: Tempo di attesa minimo dalla creazione dell'ordine prima di considerarlo "in ritardo" (es.30minuti). Serve a evitare segnalazioni per ordini appena acquisiti dal sistema. -
email.recipients: Elenco dei destinatari che riceveranno l'allerta per il mancato invio.
Valore Parametro JSON
{
"1710|3746|1122": {
"fields": {
"order": {
"order_shipping_total": "SpeseDiSpezioneTotaliCustom",
"payment_method": "MetodoPagamento"
},
"rows": {
"invoice_sent_time": "InvoiceSentTimePers",
"sku": "CodiceArticolo"
}
},
"notify_errors": {
"log_time_check_hours": 24,
"email": {
"recipients": [
"mail_adress"
]
}
},
"notify_orders_not_sent": {
"range_hours": 24,
"threshold_minutes": 30,
"email": {
"recipients": [
"mail_adress"
]
}
}
}
}
È stato riportato un esempio di configurazione JSON per simulare un caso di utilizzo reale su bindCommerce.
Nell'esempio, con l'esecuzione della catena di connettori identificata dalla chiave "1710|3746|1122", si ottiene l'export degli ordini con una struttura XML personalizzata.
Grazie alla mappatura definita nell'oggetto fields, il campo interno order_shipping_total verrà esportato nel tag XML <SpeseDiSpezioneTotaliCustom>, mentre per ogni riga d'ordine il valore invoice_sent_time verrà inserito nel tag <InvoiceSentTimePers>.
Oltre alla formattazione dei dati, la configurazione include logiche di monitoraggio proattivo:
-
Notifica errori: Il sistema controlla i log di esecuzione ogni 24 ore e invia un report agli indirizzi specificati (mailadress) in caso di anomalie.
-
Controllo pendenza: È attivo un sistema di allerta che monitora gli ordini creati nelle ultime 24 ore. Se un ordine non viene inviato entro 30 minuti dalla sua creazione, viene generata una notifica automatica per i destinatari indicati, garantendo che nessun ordine rimanga bloccato nei sistemi.
Qualsiasi campo non esplicitamente mappato nella sezione fields verrà esportato utilizzando il nome del tag predefinito dal connettore API, assicurando comunque la completezza del dato.


