Catalog Service per Adobe Commerce
L'estensione Catalog Service per Adobe Commerce fornisce dati di catalogo avanzati per modelli di visualizzazione (sola lettura) per riprodurre in modo rapido e completo le esperienze della vetrina relative ai prodotti, tra cui:
- Pagine dettagli prodotto
- Pagine di elenco prodotti e categorie
- Pagine dei risultati di ricerca
- Caroselli di prodotti
- Pagine di confronto dei prodotti
- Qualsiasi altra pagina che riproduce i dati di prodotto, come le pagine del carrello, dell’ordine e dell’elenco dei desideri
Catalog Service utilizza GraphQL per richiedere e ricevere i dati del catalogo, inclusi prodotti, attributi di prodotto, inventario e prezzi. GraphQL è un linguaggio di query che un client front-end utilizza per comunicare con l’API (Application Programming Interface) definita su un back-end come Adobe Commerce. GraphQL è un metodo di comunicazione diffuso perché è leggero e consente a un integratore di sistemi di specificare il contenuto e l’ordine di ciascuna risposta.
Adobe Commerce dispone di due sistemi GraphQL. Il sistema GraphQL di base fornisce un’ampia gamma di query (operazioni di lettura) e mutazioni (operazioni di scrittura) che consentono a un acquirente di interagire con molti tipi di pagine, tra cui prodotto, account cliente, carrello, pagamento e altro ancora. Tuttavia, le query che restituiscono le informazioni sul prodotto non sono ottimizzate per la velocità. Il sistema GraphQL dei servizi può eseguire query solo sui prodotti e sulle informazioni correlate. Queste query sono più performanti di query di base simili.
I dati disponibili per Catalog Service vengono forniti dall’estensione SaaS Data Export. Questa estensione sincronizza i dati tra l’applicazione Commerce e i servizi Commerce connessi per garantire che le query sugli endpoint API di GraphQL Services restituiscano i dati del catalogo più recenti. Per informazioni sulla gestione e la risoluzione dei problemi relativi alle operazioni di esportazione dei dati SaaS, vedere la Guida all'esportazione dei dati SaaS.
I clienti Catalog Service possono utilizzare l'Indicizzatore prezzi SaaS, che fornisce aggiornamenti dei prezzi e tempi di sincronizzazione più rapidi.
Architettura
Il diagramma seguente mostra i due sistemi GraphQL:
Nel sistema GraphQL di base, il PWA invia una richiesta all’applicazione Commerce, che riceve ogni richiesta, la elabora, eventualmente inviando una richiesta tramite più sottosistemi, quindi restituisce una risposta alla vetrina. Questo round trip può causare rallentamenti nei tempi di caricamento delle pagine, con possibili tassi di conversione più bassi.
Catalog Service è un gateway di servizi Storefront. Il servizio accede a un database separato contenente i dettagli del prodotto e le informazioni correlate, ad esempio attributi del prodotto, varianti, prezzi e categorie. Il servizio mantiene il database sincronizzato con Adobe Commerce tramite l’indicizzazione.
Poiché il servizio ignora la comunicazione diretta con l’applicazione, è in grado di ridurre la latenza del ciclo di richiesta e risposta.
I sistemi GraphQL di base e di servizio non comunicano direttamente tra loro. Puoi accedere a ogni sistema da un URL diverso e le chiamate richiedono informazioni di intestazione diverse. I due sistemi GraphQL sono progettati per essere utilizzati insieme. Il sistema GraphQL Catalog Service potenzia il sistema di base per rendere più veloci le esperienze di presentazione dei prodotti.
Facoltativamente, puoi implementare Mesh API per Adobe Developer App Builder per integrare i due sistemi Adobe Commerce GraphQL con API private e di terze parti e altre interfacce software tramite Adobe Developer. La mesh può essere configurata in modo da garantire che le chiamate instradate a ciascun endpoint contengano le informazioni di autorizzazione corrette nelle intestazioni.
Dettagli architetturali
Le sezioni seguenti descrivono alcune delle differenze tra i due sistemi GraphQL.
Gestione schema
Poiché Catalog Service funziona come un servizio, gli integratori non devono preoccuparsi della versione sottostante di Commerce. La sintassi delle query è la stessa per tutte le versioni. Inoltre, lo schema è coerente per tutti i commercianti. Questa coerenza semplifica la definizione delle best practice e aumenta in modo significativo il riutilizzo dei widget della vetrina.
Semplificazione dei tipi di prodotto
Lo schema riduce la diversità dei tipi di prodotto a due casi d’uso:
-
I prodotti semplici sono prodotti definiti con un unico prezzo e quantità. Catalog Service esegue il mapping dei tipi di prodotto semplici, virtuali, scaricabili e gift card su
simpleProductViews
. -
I prodotti complessi sono costituiti da più prodotti semplici. Il componente prodotti semplici può avere prezzi diversi. Un prodotto complesso può anche essere definito in modo che l'acquirente possa specificare la quantità di componenti semplici prodotti. Catalog Service mappa i tipi di prodotto configurabili, raggruppati e raggruppati su
complexProductViews
.
Le opzioni di prodotto complesse sono unificate e si distinguono per il loro comportamento, non per il tipo. Ogni valore di opzione rappresenta un prodotto semplice. Questo valore di opzione ha accesso agli attributi di prodotto semplici, incluso il prezzo. Quando l’acquirente seleziona tutte le opzioni per un prodotto complesso, la combinazione di opzioni selezionate punta a un prodotto semplice specifico. Il prodotto semplice rimane ambiguo finché l’acquirente non seleziona un valore per tutte le opzioni disponibili.
Attributi di visualizzazione del prodotto
Sia i prodotti semplici che quelli complessi dispongono di attributi definiti dal cliente che possono essere visualizzati nella vetrina. Questi attributi vengono restituiti come ProductViewAttributes. In Adobe Commerce, gli attributi disponibili vengono definiti al momento della creazione del prodotto. Puoi aggiungere attributi aggiuntivi dal backend di Adobe Commerce o a livello di programmazione. Vedi Estendere e personalizzare i dati del feed di esportazione dei dati SaaS.
Prezzi
I prodotti semplici rappresentano l'unità di vendita di base che ha un prezzo. Catalog Service calcola il prezzo regolare prima degli sconti e il prezzo finale dopo gli sconti. I calcoli dei prezzi possono includere imposte sui prodotti fisse. Escludono le promozioni personalizzate.
Un prodotto complesso non ha un prezzo stabilito. Catalog Service restituisce invece i prezzi dei semplici collegati. Ad esempio, un esercente può inizialmente assegnare gli stessi prezzi a tutte le varianti di un prodotto configurabile. Se determinate dimensioni o colori sono impopolari, il commerciante può ridurre i prezzi di tali varianti. Pertanto, il prezzo del prodotto complesso (configurabile) presenta inizialmente una fascia di prezzo, che riflette il prezzo sia delle varianti standard che di quelle impopolari. Dopo che l'acquirente ha selezionato un valore per tutte le opzioni disponibili, la vetrina visualizza un solo prezzo.
Catalog Service assicura aggiornamenti e calcoli accurati dei prezzi grazie al supporto di prezzi con valori elevati (fino a 16 cifre) e alta precisione decimale (fino a 4 cifre decimali).
Implementazione
Il processo di installazione richiede la configurazione di Commerce Services Connector. Al termine, il passaggio successivo consiste nell'aggiornamento del codice della vetrina da parte di un integratore di sistemi per incorporare le query Catalog Service. Tutte le query Catalog Service vengono instradate al gateway GraphQL. L’URL viene fornito durante il processo di onboarding.