Esercitazione sull’estensione delle valutazioni

Questa esercitazione ti guida attraverso la creazione di un'estensione di valutazione del prodotto per Adobe Commerce as a Cloud Service utilizzando Adobe App Builder e strumenti di sviluppo assistiti da IA.

Prima di iniziare, completa i prerequisiti.

Verificare i prerequisiti

Verifica che siano installati i seguenti prerequisiti:

# Check Node.js version (should be 22.x.x)
node --version

# Check npm version (should be 9.0.0 or higher)
npm --version

# Check Git installation
git --version

# Check Bash shell installation
bash --version

Se uno dei comandi precedenti non restituisce i risultati previsti, consultare i prerequisiti.

Sviluppo delle estensioni

Questa sezione ti guida attraverso lo sviluppo di un’estensione di valutazione per Adobe Commerce as a Cloud Service utilizzando strumenti di sviluppo assistiti da intelligenza artificiale.

  1. Passare a Cursor > Settings > Cursor Settings > Tools & MCP e verificare che il set di strumenti commerce-extensibility sia abilitato senza errori. Se vengono visualizzati degli errori, disattiva e attiva la serie di strumenti.

    Impostazioni IDE cursore che mostrano il set di strumenti di estendibilità e commerce MCP abilitato {width="600" modal="regular"}

    note note
    NOTE
    Quando si lavora con strumenti di sviluppo assistiti da intelligenza artificiale, è probabile che il codice e le risposte generate dall’agente presentino variazioni naturali.
    In caso di problemi con il codice, puoi sempre chiedere all'agente di aiutarti a eseguire il debug.
  2. Disattiva qualsiasi documentazione nel contesto del cursore:

    • Passa a Cursor > Settings > Cursor Settings > Indexing & Docs ed elimina la documentazione elencata.

    L'indicizzazione del cursore e le impostazioni dei documenti con l'elenco della documentazione sono vuoti {width="600" modal="regular"}

  3. Genera il codice per un’estensione di valutazione del prodotto:

    • Dalla finestra di chat del cursore, selezionare la modalità Agent.
    • Immetti il seguente prompt:
    code language-shell-session
    Implement an Adobe Commerce as a Cloud Service extension to handle Product Ratings.
    
    Implement a REST API to handle GET ratings requests.
    
    GET requests will have to support the following query parameters:
    
    sku -> product SKU
    
    note note
    NOTE
    Se l’agente richiede di cercare nella documentazione, consenti.
  4. Rispondi alle domande dell'agente esattamente per aiutarlo a generare il codice migliore.

    Finestra di chat del cursore in modalità agente con richiesta di estensione immessa {width="600" modal="regular"} Agente di IA che pone domande chiarificatrici sui requisiti dell'estensione {width="600" modal="regular"}

  5. Utilizza il testo di esempio seguente per rispondere alle domande dell’agente per impostare dati di valutazione randomizzati:

    code language-shell-session
    Yes, this headless extension is for Adobe Commerce as a Cloud Service storefront,
    but we do not need any authentication for the GET API because guest users should be able to use it on the storefront.
    
    This extension is called directly from the storefront, no async invocation, such as events or webhooks, is required.
    
    Start with just the GET API for now, we will implement other CRUD operations at a later time.
    
    We do not need a DB or storage mechanism right now, just return random ratings data between 1 and 5 and a ratings count between 1 and 1000.
    
    The API should only return the average rating for the product and the total number of ratings.
    We do not need to add tests right now.
    

    L'agente crea un file requirements.md che funge da origine di verità per l'implementazione.

    File Requirements.md creato dall'agente di IA con dettagli di implementazione {width="600" modal="regular"}

  6. Esaminare il file requirements.md e verificare il piano.

    Se tutto sembra corretto, indicare all'agente di passare alla Fase 2 - Pianificazione architettura.

  7. Rivedi il piano dell’architettura.

  8. Indica all'agente di procedere con la generazione del codice.

    L'agente genera il codice necessario e fornisce un riepilogo dettagliato con i passaggi successivi.

    Piano dell'architettura dell'agente di IA di fase 2 per l'API di valutazione {width="600" modal="regular"} Riepilogo dei file di codice e della struttura generati {width="600" modal="regular"} Agente di IA che fornisce i passaggi successivi per il test e la distribuzione {width="600" modal="regular"}

Verifica l’estensione localmente

I passaggi seguenti descrivono come verificare il funzionamento dell’estensione prima di distribuirla.

  1. Chiedi all'agente di aiutarti a testare il codice localmente.

    code language-shell-session
    Test the ratings API locally on a dev server using cURL.
    
  2. Segui le istruzioni dell’agente e verifica che l’API funzioni localmente.

    Istruzioni agente IA per test API locali {width="600" modal="regular"} Terminale che mostra i risultati dei test API locali con cURL {width="600" modal="regular"}

Distribuire l’estensione

Distribuire l'estensione in Adobe I/O Runtime utilizzando l'agente.

  1. Dopo aver verificato il codice generato, distribuisci l’estensione utilizzando il seguente prompt:

    code language-shell-session
    Deploy the ratings API.
    

    Prima della distribuzione, l'agente esegue una valutazione di fattibilità pre-distribuzione.

    Elenco di controllo per la valutazione dell'idoneità dell'agente di IA pre-distribuzione {width="600" modal="regular"}

  2. Quando sei sicuro dei risultati della valutazione, indica all’agente di procedere con la distribuzione.

    L’agente utilizza il toolkit MCP per verificare, generare e distribuire automaticamente.

    Processo di compilazione e distribuzione del toolkit MCP {width="600" modal="regular"}

Verificare la distribuzione

Verifica l’API prima di integrarla nella vetrina. L’agente deve fornire la posizione della nuova azione e una strategia di test.

Strategia di test dell'agente di IA con URL azione distribuito e comandi di test {width="600" modal="regular"}

Puoi anche testare manualmente l’API utilizzando cURL in un terminale:

curl -s "https://<your-site>.adobeioruntime.net/api/v1/web/ratings/ratings?sku=TEST-SKU-123"

Terminale che mostra il test cURL dell'API di classificazione distribuita {width="600" modal="regular"} riuscito

Integrare con Edge Delivery Services

Per integrare l'API di valutazione con una vetrina Adobe Commerce con tecnologia Edge Delivery Services, chiedere all'agente di creare un contratto di servizio con i requisiti per l'API di valutazione:

Create a service contract for the ratings api that I can pass on to the storefront agent. Name it RATINGS_API_CONTRACT.md

Agente di IA che crea il file del contratto di servizio per l'integrazione storefront {width="600" modal="regular"}

File markdown del contratto API delle valutazioni con dettagli dell'endpoint e della risposta {width="600" modal="regular"}

Tornare al terminale ed eseguire il comando seguente nella cartella extension per copiare il file di contratto nella cartella storefront:

cp RATINGS_API_CONTRACT.md ../storefront

Connetti alla vetrina

Questa sezione ti guida attraverso l'implementazione della porzione vetrina dell'estensione delle classificazioni utilizzando Edge Delivery Services e strumenti di sviluppo assistiti da AI.

NOTE
I prompt forniti sono punti di partenza. Anche se puoi utilizzarli senza modifiche, puoi considerare di parlare naturalmente con l'agente.
Quando si lavora con strumenti di sviluppo assistiti da intelligenza artificiale, il codice e le risposte generate dall’agente hanno sempre varianti naturali.
Se riscontri problemi con il codice, chiedi all'agente di aiutarti a eseguirne il debug.

Prerequisiti per la vetrina

Prima di avviare l’integrazione con la vetrina, verifica di disporre dei seguenti elementi:

  • Progetto vetrina connesso all'istanza Commerce
  • Strumenti di intelligenza artificiale per vetrina Commerce installati utilizzando CLI

Configurare l’area di lavoro vetrina

Prepara l’ambiente della vetrina locale per lo sviluppo.

  1. Passare alla cartella storefront:

    code language-bash
    cd storefront
    
  2. Aprire la cartella vetrina in una nuova finestra Cursore.

    In alternativa, se è installato Cursor CLI, aprire la finestra utilizzando il comando seguente nel terminale:

    code language-bash
    cursor .
    
  3. Avvia il server di sviluppo locale:

    code language-bash
    npm run start
    
  4. In un browser, accedi a una pagina di prodotto:

    code language-shell-session
    http://localhost:3000/products/llama-plush-shortie/adb336
    
  5. Osserva la pagina dei dettagli del prodotto (PDP) della vetrina e osserva la mancanza di valutazioni visive del prodotto.

Integrare l’API di valutazione

Utilizza l’agente per integrare l’API di valutazione nella pagina dei dettagli del prodotto della vetrina.

  1. Chiedi all'agente di effettuare le seguenti operazioni:

    code language-shell-session
    Integrate the ratings API into the PDP to show star ratings and a review count for products. Here's the service contract: @RATINGS_API_CONTRACT.md
    
  2. L'agente valuta la complessità dell'attività e richiama un flusso di lavoro graduale. Durante la Fase 1 (Raccolta dei requisiti), l'agente crea un documento sui requisiti e pone domande di chiarimento quali:

    • Dove deve apparire la valutazione nel PDP?
    • Deve trattarsi di un nuovo blocco autonomo o di una personalizzazione degli slot all’interno del componente di rilascio PDP esistente?
    • Cosa deve essere il fallback se l’API non è disponibile o non restituisce dati?
    • Le valutazioni devono essere visualizzate anche su PLP (elenco prodotti) o solo su PDP?
    • Esistono specifiche o modelli di progettazione?

    Rispondi a queste domande in base ai requisiti del progetto. L'agente aggiorna il documento sui requisiti e contrassegna la fase come completata.

  3. Durante la Fase 2 (Pianificazione dell'architettura), l'agente cerca la documentazione e la base di codice prima di proporre un'architettura. L'agente dovrà:

    • Cerca nella documentazione di Commerce contenitori di rilascio PDP, slot e payload di eventi.
    • Analizzare la directory blocks e la cartella scripts/initializers/ per rilevare il codice esistente relativo a PDP.
    • Esplora le definizioni TypeScript per i contenitori disponibili e le forme contesto slot.

    L’agente presenta quindi opzioni di architettura quali:

    • Opzione A: Personalizzare uno slot di rilascio PDP esistente per inserire valutazioni simili al titolo del prodotto, in modo da semplificarne l'aggiornamento.
    • Opzione B: Crea un nuovo blocco product-ratings autonomo che recupera dall'API in modo indipendente, più flessibile e disaccoppiato.
    • Opzione C: Crea un nuovo blocco che ascolta anche gli eventi di rilascio PDP per lo SKU del prodotto, un approccio ibrido.

    Il piano include anche dettagli sull’integrazione API, considerazioni sulle prestazioni (caricamento lento, caching), sicurezza (bonifica degli input) e un approccio di test.

    Rivedi il piano dell’architettura e ordina all’agente di procedere.

  4. Durante la Fase 3 (Approccio all'implementazione), l'agente ti chiede di scegliere tra:

    • Opzione A: Rivedere un piano di implementazione dettagliato prima della generazione del codice (vedere prima tutti i file, i modelli e la struttura del codice).
    • Opzione B: Procedere direttamente alla generazione del codice.

    Seleziona l’approccio desiderato.

  5. Durante la fase 4 (implementazione), l'agente genera il codice in base all'architettura scelta. A seconda dell’approccio, l’agente utilizza diverse competenze specializzate:

    • Modellazione contenuto: Se è necessario un nuovo blocco, l'agente progetta una struttura di contenuto compatibile con l'autore, ad esempio una tabella di configurazione con l'URL dell'endpoint API.
    • Sviluppo del blocco: L'agente crea i file di blocco in base alle convenzioni di Edge Delivery Services, incluse le funzioni di decorazione JavaScript, gli stili CSS con ambito, le etichette ARIA per l'accessibilità e la gestione dello stato di caricamento e di errore.
    • Personalizzazione dell'eliminazione: Se l'architettura utilizza la personalizzazione degli slot, l'agente importa il contenitore corretto, utilizza uno slot verificato accanto al titolo del prodotto e si abbona agli eventi dei dati del prodotto per lo SKU corrente.

    Guarda il codice generato e fai domande o reindirizza l’agente secondo necessità. Al termine della generazione del codice, l'agente genera un riepilogo della fattibilità di produzione.

  6. Durante la fase 4.5 (test), l'agente offre di testare l'implementazione. Se accetti, l'agente:

    • Crea una pagina di test locale con gli script e gli stili appropriati.
    • Avvia un server di sviluppo.
    • Esegue la verifica basata su browser per il rendering visivo, l’interattività, il comportamento reattivo, l’accessibilità e le prestazioni.
    • Genera un report di test strutturato con i risultati.

    Segui il comportamento nel browser per confermarlo e segnalare eventuali problemi.

  7. Osserva le modifiche nella base di codice e controlla la pagina del prodotto per gli aggiornamenti.

    Dovresti visualizzare le seguenti modifiche nell’ambiente di sviluppo e nel browser:

    • Viene creato automaticamente un componente di valutazione del prodotto.
    • Il componente è integrato nel PDP utilizzando slot di rilascio o come blocco autonomo, a seconda dell'architettura scelta.
    • Le stelle vengono visualizzate con proporzioni di riempimento appropriate in base ai valori di valutazione dell’API.

    Pagina dei dettagli del prodotto con le classificazioni a stelle integrate sotto il titolo del prodotto {width="600" modal="regular"}

Riepilogo esercitazione

Di seguito è riportato un riepilogo degli argomenti trattati in questa esercitazione:

  • Sviluppo delle estensioni: scopri come descrivere nuove funzionalità per un agente AI e generare un'API REST funzionante utilizzando App Builder.
  • Test e distribuzione locali: Verifica locale dell'API e distribuzione tramite il toolkit MCP.
  • Contratti di servizio: creazione di contratti API che collegano estensioni back-end e implementazioni storefront.
  • Integrazione graduale della vetrina: Utilizzo di requisiti, architettura e implementazione tramite competenze basate sull'intelligenza artificiale.
  • Integrazione con l'eliminazione: Utilizzo di Adobe Commerce contenitori e slot di eliminazione.
  • Riutilizzabilità dei componenti: creazione di componenti condivisi utilizzati in più blocchi.

Passaggi successivi

Utilizza i seguenti suggerimenti per personalizzare l’estensione delle classificazioni o creare modifiche personalizzate:

Cambia i colori delle stelle

Chiedi all'agente di effettuare le seguenti operazioni:

Change the star fill color to red.

Risultato previsto:

Le stelle diventano rosse.

Valutazione dei prodotti con riempimento a stella rosso {width="600" modal="regular"}

Aggiungi una distribuzione di valutazione modale

I passaggi seguenti mostrano come l’agente gestisce funzioni complesse dell’interfaccia utente con riferimenti visivi.

  1. Prima di iniziare: Salva la seguente immagine fittizia e incollala nella chat con il tuo agente storefront.

    Mockup che mostra la suddivisione della distribuzione della classificazione per livello di stella {width="600" modal="regular"}

  2. Per creare la distribuzione modale delle valutazioni utilizzando come guida l’immagine di riferimento, segui la procedura riportata di seguito:

    • Aggiorna l’API per restituire dati aggiuntivi che rappresentano la distribuzione delle valutazioni.
    • Aggiorna il contratto API.
    • Aggiorna il contratto nella base di codice della vetrina.
    • Chiedi all’agente vetrina di utilizzare l’immagine di riferimento e il contratto API aggiornato per aggiungere la distribuzione delle valutazioni alla pagina PDP.
  3. Osserva le seguenti modifiche nella base di codice e controlla la pagina del prodotto per gli aggiornamenti:

    • Come l’agente interpreta il modello visivo
    • Indica se viene utilizzata la struttura HTML appropriata per l'accessibilità
    • Come gestisce gli stati di posizionamento e interazione

Risolvere i problemi relativi alla modalità di distribuzione

Se il modale non si comporta come previsto, prova quanto segue:

  • Se il modale non viene visualizzato, controlla la console del browser per verificare la presenza di errori.

  • Se il posizionamento è disattivato, chiedi all’agente di correggerlo utilizzando il seguente formato:

    code language-shell-session
    adjust the modal position to be...
    

Finestra modale con distribuzione dettagliata delle valutazioni con barre di suddivisione a livello di stella {width="600" modal="regular"}

recommendation-more-help
8562d99f-dbeb-485e-bae7-5e82fa87f463