SaveTo Wishlist per WooCommerce

Approfondimenti e aggiornamenti

Blog di SaveTo Wishlist

Guide e risorse di WordPress per aumentare le vendite con SaveTo Wishlist

API REST di WooCommerce Wishlist: La Guida dello Sviluppatore per Integrazioni Personalizzate

WooCommerce Wishlist REST API: La guida per sviluppatori per integrazioni personalizzate

Per gli sviluppatori che creano integrazioni WooCommerce personalizzate, la WooCommerce wishlist REST API è spesso il pezzo mancante. La maggior parte dei plugin per wishlist salta completamente l'API. Quelli che ne includono una di solito ti lasciano con alcuni endpoint non documentati da indovinare.

Quel divario è più importante di quanto sembri. La sincronizzazione dell'attività della wishlist con un CRM richiede un accesso programmatico. Lo stesso vale per la creazione di un dashboard di analisi personalizzato, l'alimentazione di uno storefront headless o l'invio di dati di intenti a una piattaforma di posta elettronica.

Questa guida illustra come lavorare con la API REST della wishlist di WooCommerce esposta da SaveTo Wishlist. Tratteremo l'autenticazione, le operazioni CRUD principali, i pattern di integrazione pratici e i webhook. Laddove i percorsi degli endpoint sottostanti non sono completamente documentati pubblicamente, faremo riferimento alla documentazione per sviluppatori del plugin.


Perché un'API REST è importante per le wishlist di WooCommerce

Un'API REST trasforma i dati della wishlist da una funzionalità bloccata del plugin a uno strato di dati accessibile. L'intero stack tecnologico può leggerlo e scriverci. Ciò cambia ciò che è possibile a valle.

Senza un'API, le tue opzioni sono limitate. Le query dirette al database sono fragili, strettamente accoppiate allo schema del plugin e probabilmente si romperanno con gli aggiornamenti. Lo scraping del frontend non è affidabile e lento. Nessuna delle due è una vera soluzione per le integrazioni di produzione.

Con una corretta API REST, ottieni endpoint HTTP standard che restituiscono dati strutturati. Ciò apre casi d'uso come:

  • Sincronizzazione CRM e piattaforme email: Invia eventi della wishlist a Klaviyo, Drip, Mailchimp o qualsiasi piattaforma che accetta webhook o chiamate API.
  • Dashboard di amministrazione personalizzate: Crea report interni che mostrano i prodotti più desiderati, i tassi di conversione delle wishlist e i pattern di intenti dei clienti.
  • Integrazione app mobile: Consenti ai clienti di gestire le wishlist dalle app mobili native tramite chiamate API autenticate.
  • Storefront headless: Disaccoppia l'interfaccia utente della wishlist da WordPress e renderizza i dati della wishlist in un frontend React, Vue o Next.js.
  • Pipeline di analisi: Invia i dati della wishlist a data warehouse o strumenti BI per analisi cross-canale.
Infografica in pixel art di un sistema integrato: API WishList centrale che collega CRM/email, dashboard, integrazione di app mobili, pipeline di analytics e frontend headless.
È facile collegare i dati del tuo negozio ad app mobili e piattaforme email quando utilizzi l'API REST della wishlist di WooCommerce (fai clic per ingrandire).

In breve, se stai creando qualcosa oltre l'esperienza di wishlist predefinita, un'API non è un optional. È un requisito.


Prerequisiti e autenticazione

Cosa ti serve prima di iniziare

Prima le buone notizie: l'accesso programmatico all'API è disponibile sia nella versione gratuita che nella versione Pro di SaveTo Wishlist. Avrai bisogno di:

  • SaveTo Wishlist installato e attivato (puoi usare sia la versione Lite che Pro di questo plugin per la wishlist, poiché l'API REST è inclusa in entrambe).
  • WooCommerce installato e attivato, poiché SaveTo Wishlist estende l'infrastruttura REST API di WooCommerce.
  • WordPress con permalink personalizzati abilitati. I permalink predefiniti non funzioneranno per la REST API.
  • Familiarità con i concetti della REST API: metodi HTTP, JSON e intestazioni di autenticazione.

Se hai meno familiarità con la REST API di WooCommerce in generale, la documentazione della REST API di WooCommerce è il punto di partenza giusto. Copre il modello di autenticazione e i pattern di richiesta su cui si basa SaveTo Wishlist.

Pattern di autenticazione

La REST API di SaveTo Wishlist segue il modello di autenticazione standard di WooCommerce. Ti autentichi utilizzando le chiavi API di WooCommerce, che sono una coppia di chiave consumer e segreto consumer. Generalele dalla tua bacheca di WordPress sotto WooCommerce, Impostazioni, Avanzate, REST API.

Per le richieste HTTPS, che dovresti sempre utilizzare in produzione, passa le tue credenziali come parametri di query o tramite autenticazione di base HTTP:

# Basic Auth approach (recommended)
curl https://yourstore.com/wp-json/wc/v3/wishlist-endpoint \
  -u consumer_key:consumer_secret

# Query parameter approach
curl "https://yourstore.com/wp-json/wc/v3/wishlist-endpoint?consumer_key=ck_xxx&consumer_secret=cs_xxx"

Una nota sul namespacing. Il namespace API esatto e il percorso base dell'endpoint potrebbero trovarsi sotto wc/v3, un namespace personalizzato come saveto/v1, o un altro pattern. Controlla le note per sviluppatori di SaveTo Wishlist per i percorsi canonici. Gli esempi in questa guida utilizzano percorsi segnaposto per illustrare i concetti.

Per lo sviluppo locale tramite HTTP anziché HTTPS, WooCommerce ripiega sull'autenticazione a una gamba OAuth 1.0a. La maggior parte degli sviluppatori trova più semplice impostare un certificato SSL locale e utilizzare invece l'autenticazione di base. Detto questo, OAuth 1.0a è il fallback documentato se ne hai bisogno.

Cosa abbiamo riscontrato: gli sviluppatori spesso incontrano errori 404 sulle route API della wishlist e presumono che gli endpoint non funzionino. Nella maggior parte dei casi, il problema è una delle tre cose. I permalink personalizzati potrebbero non essere abilitati. Le chiavi REST API di WooCommerce potrebbero non avere lo scope di lettura o scrittura corretto. Oppure il namespace API è diverso da quello che si aspettavano. Controlla queste tre cose prima di eseguire ulteriori debug.


Operazioni API Core: CRUD per le Wishlist

La REST API della wishlist di WooCommerce segue le convenzioni REST standard. Se hai lavorato con l'API degli ordini o dei prodotti di WooCommerce, i pattern ti sembreranno familiari. Questa è una scelta di progettazione deliberata.

Recupero delle wishlist (GET)

Il recupero dei dati tramite la REST API della wishlist di WooCommerce segue la stessa struttura di qualsiasi risorsa REST standard di WooCommerce. Una tipica richiesta GET per elencare le wishlist è simile a questa:

# List all wishlists (may require admin-level API keys)
GET /wp-json/{namespace}/wishlists

# List wishlists for a specific customer
GET /wp-json/{namespace}/wishlists?customer_id=123

# Retrieve a specific wishlist by ID
GET /wp-json/{namespace}/wishlists/{wishlist_id}

Conferma i percorsi esatti degli endpoint, i nomi dei parametri di query e il formato della risposta nelle note per sviluppatori di SaveTo Wishlist prima di andare in produzione. La struttura sottostante è concettuale piuttosto che un contratto.

{
  "id": 42,
  "customer_id": 123,
  "title": "My Birthday List",
  "items": [
    {
      "product_id": 456,
      "variation_id": 0,
      "date_added": "2026-03-15T10:30:00"
    }
  ],
  "date_created": "2026-03-01T09:00:00"
}

Tratta i nomi dei campi come illustrativi. Lo schema reale potrebbe differire in modi piccoli ma importanti, specialmente per quanto riguarda la gestione delle variazioni e le sessioni degli ospiti.

Creazione e aggiornamento delle wishlist (POST/PUT)

Per aggiungere elementi a una wishlist a livello di codice, in genere invieresti una richiesta POST con i dettagli del prodotto:

# Add an item to an existing wishlist
POST /wp-json/{namespace}/wishlists/{wishlist_id}/items
Content-Type: application/json

{
  "product_id": 789,
  "variation_id": 0
}

L'aggiornamento dei metadati della wishlist, come un titolo, la visibilità o le impostazioni di condivisione, segue un pattern PUT o PATCH standard:

# Update wishlist title
PUT /wp-json/{namespace}/wishlists/{wishlist_id}
Content-Type: application/json

{
  "title": "Holiday Gift Ideas"
}

Conferma i campi esatti accettati e se POST o PUT gestiscono gli aggiornamenti, nelle note per sviluppatori del plugin. Il formato wire segue JSON standard su HTTP in entrambi i casi.

Eliminazione di articoli dalla wishlist (DELETE)

La rimozione di singoli articoli o l'eliminazione di un'intera wishlist segue il pattern REST DELETE standard:

# Remove a specific item from a wishlist
DELETE /wp-json/{namespace}/wishlists/{wishlist_id}/items/{item_id}

# Delete an entire wishlist
DELETE /wp-json/{namespace}/wishlists/{wishlist_id}

Verifica se il plugin tratta l'eliminazione come immediata o come soft-delete con una finestra di recupero. Questo dettaglio è importante per qualsiasi interfaccia utente che consenta ai clienti di annullare una rimozione. In tutti i casi, aspettati codici di stato HTTP standard: 200 per operazioni riuscite, 201 per creazione di risorse, 404 per risorse mancanti e 401 o 403 per errori di autenticazione.


Lavorare con i dati della wishlist: pattern pratici

Una volta che le operazioni CRUD di base funzionano, ci sono alcuni pattern che si presentano ripetutamente nelle integrazioni reali. Conoscerli in anticipo consente di risparmiare lavoro di pulizia in seguito.

Recupero dei prodotti aggiunti alla wishlist con i dettagli del prodotto

Quando effettui una richiesta utilizzando l'API REST della wishlist di WooCommerce, le risposte restituiranno tipicamente ID prodotto anziché oggetti prodotto completi. Per visualizzare nomi, immagini e prezzi dei prodotti accanto ai dati della wishlist, di solito effettuerai una richiesta di follow-up all'API Prodotti di WooCommerce:

// Conceptual example: enrich wishlist items with product data
async function getWishlistWithProducts(wishlistId) {
  const wishlist = await fetchAPI(`/wishlists/${wishlistId}`);

  const enrichedItems = await Promise.all(
    wishlist.items.map(async (item) => {
      const product = await fetchAPI(`/wc/v3/products/${item.product_id}`);
      return {
        ...item,
        product_name: product.name,
        product_price: product.price,
        product_image: product.images[0]?.src
      };
    })
  );

  return { ...wishlist, items: enrichedItems };
}

Per wishlist più grandi o applicazioni ad alto traffico, raggruppa le ricerche dei prodotti o memorizza nella cache i dati del prodotto localmente. Ciò ti eviterà di sovraccaricare l'API Prodotti ad ogni caricamento della pagina.

Filtro e paginazione

L'API REST di WooCommerce utilizza parametri di paginazione standard (page, per_page) e restituisce intestazioni di paginazione (X-WP-Total, X-WP-TotalPages). L'API di SaveTo Wishlist dovrebbe seguire la stessa convenzione:

# Get page 2 of wishlists, 20 per page
GET /wp-json/{namespace}/wishlists?page=2&per_page=20

Per i parametri di filtro, aspettati un pattern simile all'endpoint Ordini di WooCommerce. I filtri comuni includono tipicamente intervalli di date, ID cliente e ID prodotto. Controlla la documentazione del plugin per i parametri di query esatti supportati nella tua versione.

Query per cliente o prodotto

Due dei pattern di query più comuni sono "mostrami tutte le wishlist per questo cliente" e "mostrami tutti i clienti che hanno aggiunto questo prodotto alla wishlist".

La query per cliente è semplice se l'API supporta un filtro customer_id. La query per prodotto, ovvero quali clienti hanno aggiunto il prodotto X alla wishlist, è più preziosa per le decisioni di merchandising. Potrebbe richiedere un endpoint o un approccio diverso:

# All wishlists containing a specific product
GET /wp-json/{namespace}/wishlists?product_id=456

Se l'interrogazione basata sui prodotti non è supportata direttamente, hai due opzioni. Recupera tutte le wishlist e filtra lato client, oppure affidati alle funzionalità di analisi di SaveTo Wishlist Pro. La dashboard di analisi avanzata aggrega già questa vista, il che spesso consente di risparmiare lavoro personalizzato.


Creazione di integrazioni personalizzate: 3 esempi reali

I pattern sopra sono utili in isolamento, ma il valore reale si manifesta quando li metti insieme. Ecco tre integrazioni che vediamo spesso e come l'API supporta ciascuna di esse.

Sincronizzazione dei dati della wishlist con una piattaforma di email marketing

L'integrazione più comune consiste nell'inviare gli eventi della wishlist alla tua piattaforma email. Questo alimenta campagne come avvisi di calo prezzi e promemoria della wishlist senza esportazioni manuali.

L'approccio in tempo reale utilizza webhook della wishlist. Quando un cliente aggiunge un articolo, un webhook viene inviato all'API della tua piattaforma email con i dati del cliente e del prodotto. Da lì, puoi creare segmenti come "clienti che hanno aggiunto articoli alla wishlist negli ultimi 7 giorni" o attivare automazioni immediatamente.

Se la tua piattaforma email non supporta webhook in entrata, il polling funziona come fallback. Un processo pianificato, che sia cron o uno scheduler esterno, interroga l'API della wishlist a intervalli. Confronta con lo stato noto più recente, quindi invia nuovi eventi alla piattaforma email.

Per una visione più ampia di come i dati della wishlist si inseriscono in una strategia email, consulta la nostra guida su marketing email per ecommerce e campagne basate sulla wishlist.

Creazione di una dashboard dei prodotti "più desiderati"

Una dashboard personalizzata che mostra i prodotti più desiderati aiuta i team di merchandising e pricing a prendere decisioni più accurate. Il flusso concettuale è il seguente:

  1. Interroga l'API della wishlist per tutte le wishlist, o utilizza un endpoint basato sui prodotti, se disponibile.
  2. Aggrega i conteggi della wishlist per ID prodotto.
  3. Unisci con i dati dei prodotti WooCommerce per nomi, categorie e prezzi.
  4. Visualizza il risultato in una pagina admin personalizzata di WordPress, uno strumento BI esterno o una semplice dashboard HTML.
// Conceptual: aggregate wishlist counts by product
async function getMostWishlisted() {
  const allWishlists = await fetchAllPages('/wishlists');
  const productCounts = {};

  allWishlists.forEach(wishlist => {
    wishlist.items.forEach(item => {
      productCounts[item.product_id] =
        (productCounts[item.product_id] || 0) + 1;
    });
  });

  return Object.entries(productCounts)
    .sort(([, a], [, b]) => b - a)
    .slice(0, 20);
}

Detto questo, SaveTo Wishlist Pro include già analisi e report integrati per questo specifico caso d'uso. Se la visualizzazione integrata è sufficiente, salti completamente il codice personalizzato.

Sincronizzazione wishlist app mobile

Per i negozi con app mobile native costruite in React Native, Flutter o simili, l'API REST consente ai clienti di gestire le wishlist dall'app. Le stesse chiamate autenticate gestiscono il lavoro:

  1. Autentica l'utente tramite il flusso di autenticazione standard di WooCommerce.
  2. Recupera le wishlist dell'utente al caricamento dell'app.
  3. Consenti all'utente di aggiungere o rimuovere articoli tramite chiamate POST e DELETE.
  4. Sincronizza in background in modo che le wishlist rimangano coerenti tra web e mobile.

La considerazione chiave è la gestione offline. Se un cliente aggiunge un articolo mentre è offline, accoda la chiamata API localmente e sincronizza quando la connettività ritorna.


Webhook: Eventi Wishlist in Tempo Reale

Mentre l'API REST ti consente di recuperare i dati su richiesta, i webhook della wishlist inviano i dati ai tuoi sistemi in tempo reale. Questo è l'approccio migliore quando hai bisogno di reazioni istantanee agli eventi della wishlist.

I webhook sono alimentati dal motore di automazione di SaveTo Wishlist Pro, quindi questa parte del toolkit è solo per Pro. I trigger comuni includono eventi come l'aggiunta di un articolo a una wishlist o la creazione di una nuova wishlist. Configura ciascuno nella dashboard di Automazione Wishlist, scegli l'azione "Chiama un Webhook", quindi incolla l'URL di destinazione.

Quando usare webhook rispetto all'API REST:

  • I webhook sono ideali per reazioni in tempo reale: trigger email, dashboard live, aggiornamenti CRM istantanei.
  • L'API REST è ideale per dati su richiesta: reporting, esportazioni massive, azioni avviate dall'utente in interfacce utente personalizzate.

La maggior parte delle integrazioni di produzione utilizza entrambi. I webhook gestiscono eventi in tempo reale e l'API REST copre il recupero dei dati e le operazioni batch.


Gestione degli errori e best practice

Quando si creano integrazioni di produzione contro l'API REST di WooCommerce Wishlist, alcune abitudini separano il codice fragile dal codice noioso e affidabile.

Infografica in pixel art che mostra lezioni di codifica sicura: 'Gestisci gli errori con grazia', data vaulting, controllo del flusso e best practice HTTPS.
Creerai integrazioni migliori con l'API REST di WooCommerce Wishlist se seguirai semplici regole come la memorizzazione nella cache dei dati e la gestione degli errori (fai clic per ingrandire).
  • Gestisci gli errori con grazia. Le risposte di errore comuni includono 401 per credenziali non valide, 403 per permessi insufficienti, 404 per una wishlist o un elemento mancante e 429 quando si raggiunge il limite di richieste. Crea logiche di ripetizione per fallimenti transitori e mostra messaggi chiari per quelli permanenti.
  • Memorizza nella cache in modo aggressivo per integrazioni con molte letture. Se la tua dashboard accede ai dati della wishlist ad ogni caricamento della pagina, memorizza nella cache le risposte per un TTL sensato da 5 a 15 minuti. Invalida queste cache quando un evento webhook segnala che i dati sono cambiati.
  • Rispetta i limiti di richieste. WooCommerce non applica limiti di richieste rigorosi per impostazione predefinita, ma il tuo ambiente di hosting potrebbe farlo. Su hosting condiviso, mantieni le richieste API al di sotto di una soglia ragionevole per evitare errori 503.
  • Utilizza sempre HTTPS in produzione. Le credenziali API viaggiano con ogni richiesta. Tramite HTTP semplice, vengono trasmesse in testo non crittografato. Non ci sono scuse per il traffico API non crittografato in produzione.
  • Archivia le credenziali in modo sicuro. Conserva le chiavi e i segreti del consumer nelle variabili d'ambiente o in un gestore di segreti. Non codificarli nella sorgente della tua applicazione né inserirli nel controllo di versione.

FAQ: API REST di WooCommerce Wishlist

La WooCommerce wishlist REST API è disponibile nella versione gratuita?

Sì. SaveTo Wishlist Lite, la versione gratuita, viene fornita con accesso completo all'API REST fin da subito. Puoi leggere e scrivere dati della wishlist a livello di programmazione senza un upgrade Pro. SaveTo Wishlist Pro aggiunge livelli aggiuntivi, come webhook automatizzati, analisi avanzate e avvisi di calo prezzi. I prezzi per Pro partono da $49,50 all'anno per un singolo sito.

Posso accedere ai dati della wishlist degli ospiti tramite API?

Le wishlist degli ospiti sono una funzionalità principale di SaveTo Wishlist. Come l'API le espone dipende dalla gestione della sessione nella tua versione del plugin. In generale, i dati degli ospiti sono collegati a un token di sessione piuttosto che a un ID cliente. Controlla le note per sviluppatori di SaveTo Wishlist per il modello di autenticazione guest-session corrente.

Come posso testare le richieste API durante lo sviluppo?

Utilizza Postman, Insomnia o curl per inviare richieste di test durante lo sviluppo. Configura un ambiente WordPress locale o di staging con SaveTo Wishlist installato, in modo da non testare sui dati di produzione. L'API REST di WooCommerce supporta anche un parametro ?context=edit che restituisce campi aggiuntivi utili per il debug.

Posso usare l'API per attivare avvisi di calo prezzi a livello di programmazione?

L'API REST di WooCommerce Wishlist ti dà accesso ai dati della wishlist. Ma gli trigger per gli avvisi di calo prezzo sono tipicamente gestiti dal motore di automazione integrato di SaveTo Wishlist, non direttamente dall'API. Potresti costruire una soluzione personalizzata: monitorare le modifiche dei prezzi dei prodotti tramite l'API WooCommerce Products, incrociare i dati con quelli della wishlist, quindi attivare le tue notifiche. Detto questo, verifica se il sistema di avviso di calo prezzo integrato copre già il tuo caso d'uso prima di costruire da zero.

Qual è la differenza tra l'uso della REST API e dei webhook?

La REST API è basata su pull. La tua applicazione invia una richiesta e riceve dati in risposta. I webhook sono basati su push. SaveTo Wishlist invia dati alla tua applicazione quando si verifica un evento. Usa l'API per dati su richiesta, come il recupero delle wishlist di un cliente per la visualizzazione o l'esecuzione di un report batch. Usa i webhook per reazioni in tempo reale, come l'attivazione di un'email o l'aggiornamento di una dashboard live. La maggior parte delle integrazioni di produzione utilizza entrambi.


Inizia a creare con l'API REST della wishlist di WooCommerce

L'accesso programmatico ai dati della wishlist sblocca integrazioni che non sono possibili solo tramite l'interfaccia di amministrazione di un plugin. Sia che tu stia sincronizzando dati di intenti a una piattaforma email, costruendo analytics personalizzati o alimentando uno storefront headless, una API REST adeguata rende i dati della wishlist una parte di prima classe del livello dati del tuo negozio.

Ecco su cosa concentrarsi prima:

  • Perché un'API REST è importante per le integrazioni basate sulla wishlist.
  • Autenticazione e prerequisiti, in modo da poter passare rapidamente dalla documentazione alle chiamate funzionanti.
  • Operazioni CRUD principali per leggere, scrivere ed eliminare dati della wishlist.
  • Pattern di integrazione pratici per la sincronizzazione email, dashboard e app mobili.
  • Webhooks vs. API, e quando usare ciascun approccio.

Pronto a costruire? Dai un'occhiata all'elenco completo delle funzionalità di SaveTo Wishlist e alla pagina dell'API REST di WooCommerce Wishlist per le ultime note sugli endpoint. SaveTo Wishlist Pro parte da $49.50 per il primo anno e si rinnova a $99 all'anno con una garanzia di rimborso di 14 giorni.

avatar autore
Michael Logarta

Ottieni il miglior plugin per liste dei desideri di WooCommerce

Crea funzionalità per liste dei desideri e fai crescere il tuo negozio in modo rapido e semplice.
Ottieni subito SaveTo Wishlist

Condividi articolo

Completa il Tuo Acquisto