Pipeline di sincronizzazione del connettore
Basato su SaaS Data Export, Adobe Commerce Optimizer Connector associa i dati raccolti dagli indicizzatori SaaS Data Export al formato richiesto da Adobe Commerce Optimizer Catalog Data Ingestion API e gestisce l’autenticazione, l’invio in batch e il controllo di sincronizzazione basato sull’ambito. Le sezioni seguenti descrivono come funziona tale sincronizzazione.
Contesto correlato:
-
Scopri il valore aziendale, le funzionalità chiave e l’architettura dell’integrazione nell’argomento Commerce Optimizer Connector panoramica.
-
Per i nomi dei pacchetti modulo, gli endpoint API di feed e i percorsi delle chiavi di configurazione, vedi Riferimento connettore
Funzionamento della sincronizzazione
Il diagramma seguente mostra la sincronizzazione dei dati da Adobe Commerce a Commerce Optimizer tramite Adobe I/O Gateway.
Quando i dati del catalogo cambiano in Adobe Commerce, la sincronizzazione si sposta attraverso queste fasi.
- Rilevamento modifiche entità — (ogni 1 minuto) Un processo cron (
indexer_reindex_all_invalid) rileva Adobe Commerce modifiche entità e attiva SaaS Data Export, che assembla gli elementi feed. - Trasformazione: Commerce Optimizer Connector seleziona i feed assemblati, mappa le entità e gli ambiti Adobe Commerce ai formati richiesti dall’API Commerce Optimizer e prepara il payload per la trasmissione.
- Trasmissione: i dati trasformati vengono inviati tramite HTTP POST (
/v1/catalog/<feed name>) tramite Adobe I/O Gateway a Commerce Optimizer, che convalida e mantiene i feed in ingresso. - Risultati persistenti — Stato della risposta API persistente nelle tabelle di feed.
- Nuovo tentativo non riuscito (ogni 5 minuti). Un processo cron separato (
*_resend_failed_items) rileva eventuali elementi di feed non riusciti e li invia nuovamente tramite la stessa pipeline.
Processi cron pianificati
I seguenti processi cron automatizzano la pipeline secondo una pianificazione fissa.
indexindexer_update_all_viewsindexindexer_reindex_all_invalidresync_failed_feeds_data_exporter*_resend_failed_itemscommerce_data_exportcleanup_deleted_feed_itemsL’estensione SaaS Data Export gestisce la raccolta di feed e il tracciamento dello stato. Il livello del connettore mappa entità e ambiti nel formato richiesto dall’API Commerce Optimizer e li invia tramite POST /v1/catalog/<feed name>.
Requisiti
- Commerce cron deve essere in esecuzione.
- Gli indicizzatori dei feed devono utilizzare la modalità Update by Schedule. Vedere Sincronizzazione parziale.
Controllo sincronizzazione basato su ambito
Il modulo CommerceOptimizerScopeMapper legge le impostazioni di esportazione per sito Web e per visualizzazione store e le applica durante la raccolta e l’invio dei feed.
- Ambiti abilitati esportano dati secondo la normale pianificazione delta.
- Gli ambiti disattivati sono esclusi dalla pipeline.
Le entità sincronizzate in precedenza vengono rimosse da Commerce Optimizer alla successiva esecuzione cron.
Se i problemi di sincronizzazione interessano una sola origine catalogo o un listino prezzi dedicato, vedere Dati non sincronizzati.
Per informazioni dettagliate sulla personalizzazione dell’ambito di sincronizzazione, vedere Personalizzare la configurazione di esportazione degli ambiti di Commerce.
Tempistica e monitoraggio
Monitorare lo stato per feed dalla pagina Data Feed Sync Status nell’amministrazione di Commerce. Vedere Verificare che la sincronizzazione dei dati funzioni.
Invio di feed e gestione degli errori
Il processo FeedSubmitter gestisce Catalog Data Ingestion API chiamate.
- Separa gli elementi di aggiornamento dagli elementi di eliminazione (endpoint API diversi).
- Le chiamate aggiornano ed eliminano gli endpoint in modo indipendente.
- Unisce i risultati dello stato per elemento in un’unica risposta.
Unione del codice di stato HTTP
Quando le chiamate di aggiornamento ed eliminazione restituiscono codici di stato diversi, FeedSubmitter combina i risultati come segue.
errors della risposta vengono visualizzati nell’amministratore e richiedono attenzione. Gli altri elementi del batch vengono ritentati.*_feed_resend_failed_items specifici del feed nel gruppo resync_failed_feeds_data_exporter.