Visser Labs – Plugin WooCommerce
  1. Casa
  2. Knowledge Base
  3. WooCommerce Store Exporter Deluxe
  4. Come esportare dati WooCommerce in JSON
  1. Casa
  2. Knowledge Base
  3. Formati file
  4. Come esportare dati WooCommerce in JSON

Come esportare dati WooCommerce in JSON

Se stai inserendo i dati del negozio in uno script, un'API o un altro sistema, un foglio di calcolo piatto diventa un ostacolo. JSON ti fornisce ogni record come un oggetto autonomo che quasi tutti i linguaggi di programmazione e gli strumenti di integrazione possono leggere direttamente. Store Exporter Deluxe può esportare qualsiasi tipo di dato supportato come JSON tramite il suo URL di esportazione CRON. Di seguito, attivi le esportazioni CRON, crei l'URL che restituisce JSON e impari come leggere, aprire e personalizzare l'output.

Prerequisiti

RequisitoDettagli
PluginStore Exporter Deluxe installato, attivo e con licenza
WooCommerceAttivo, con almeno un record del tipo che si desidera esportare
Accesso amministrativoAvrai bisogno di un account con accesso alla bacheca di amministrazione di WordPress
Un modo per richiedere un URLUn browser web è sufficiente. Uno strumento come curl o wget funziona anche se vuoi automatizzarlo

JSON non è una delle tessere File Format nella schermata Quick Export, né è offerto in Export Templates. Lo richiedi invece tramite l'URL di esportazione CRON, come descritto di seguito.

Passaggio 1: Attiva le esportazioni CRON

  1. Vai a WooCommerce → Store Export.
  2. Nella barra laterale, fai clic su Settings.
  3. Fai clic su CRON Exports.
  4. Attiva Enable CRON.
  5. Inserisci un valore lungo e casuale in Export Secret Key.
  6. Sotto Export Fields, scegli quali campi includere in un'esportazione CRON.
  7. Fai clic su Salva Modifiche.

Enable CRON è disattivato per impostazione predefinita. Finché è disattivato, il plugin ignora l'URL di esportazione. Ignora anche qualsiasi richiesta la cui chiave non corrisponde a Export Secret Key, e ogni richiesta mentre quel campo è vuoto. Tratta la chiave come una password, perché chiunque abbia la chiave e il tuo URL può scaricare i dati del tuo negozio.

Le opzioni Export Fields sono:

  • All export fields: include ogni campo conosciuto per il tipo di esportazione che richiedi.
  • Use Export Template: utilizza i campi da un modello di esportazione salvato.
  • Saved field preferences: utilizza i campi che hai salvato nella schermata Quick Export per quel tipo di esportazione.
La pagina delle impostazioni Esportazioni CRON con l'interruttore Abilita CRON attivato, una Chiave segreta di esportazione inserita e Campi di esportazione impostati su Tutti i campi di esportazione

Passaggio 2: Crea l'URL di esportazione

Inizia dall'indirizzo del tuo sito e aggiungi i parametri sottostanti. Sostituisci YOUR_SECRET_KEY con la chiave che hai impostato nel Passaggio 1:

https://example.com/?action=woo_ce-cron&key=YOUR_SECRET_KEY&type=product&format=json&response=download
ParametroCosa fa
actionSempre woo_ce-cron. Questo dice al plugin che la richiesta è un'esportazione CRON.
keyLa tua chiave segreta di esportazione.
tipoI dati da esportare: product, category, tag, brand, order, customer, user, review, coupon, subscription, product_vendor, commission, shipping_class, ticket, o booking. I tipi subscription, product_vendor, commission, ticket e booking richiedono il plugin corrispondente attivo. Senza di esso, l'esportazione non avrà record.
formatoImposta su json. Se lo ometti, l'esportazione sarà CSV per impostazione predefinita.
rispostadownload invia un file .json al tuo browser. raw stampa il JSON direttamente sulla pagina, il che è utile per script e richieste in stile API.
limiteFacoltativo. Il numero massimo di record da esportare. Lascia vuoto per esportare tutto.
offsetFacoltativo. Il numero di record da saltare, utile quando si esporta un negozio di grandi dimensioni in pezzi.

Passaggio 3: Esegui l'esportazione

Apri l'URL nel tuo browser. Con response=download, il tuo browser salva un file chiamato come my-store-export_product-2026_10_20-07_18_54-93680224.json. Con response=raw, il JSON appare invece sulla pagina.

Per automatizzarlo, richiedi lo stesso URL da uno script o da un processo pianificato sul tuo server:

curl -s "https://example.com/?action=woo_ce-cron&key=YOUR_SECRET_KEY&type=order&format=json&response=raw" -o orders.json

Aspetto dell'output

Il file è un singolo oggetto JSON. La sua unica chiave è il tipo di esportazione e il suo valore è un elenco di record. Un'esportazione di Prodotti appare così:

{
    "product": [
        {
            "productid": "15",
            "productsku": "HD-FLC-CLS",
            "productname": "Classic Fit Fleece Hoodie",
            "parentsku": {}
        }
    ]
}
L'inizio di un'esportazione JSON di Prodotti, con la chiave del tipo di esportazione, un valore vuoto scritto come {}, e un ID prodotto scritto come testo, ognuno contrassegnato da una freccia

Ci sono alcune cose da sapere prima di costruire qualcosa sopra:

  • I nomi dei campi sono semplificati: il nome di ogni campo è la sua etichetta di colonna in minuscolo, con spazi e la maggior parte dei simboli rimossi. Trattini e underscore rimangono. Quindi Nome Prodotto diventa productname e E-mail diventa e-mail.
  • Ogni valore è testo: numeri, prezzi e ID sono scritti come stringhe, ad esempio "15" invece di 15. Convertili nel tuo codice se hai bisogno di tipi numerici.
  • Alcuni valori sono scritti come {}: un campo senza valore è scritto come {}, non "" o null. Il campo Categoria di un'esportazione di Prodotti e il testo che contiene caratteri speciali come spazi unificati, vengono anch'essi resi come {}. Se hai bisogno di quei valori, esporta gli stessi dati come XML o CSV.
  • Gli ordini contengono una chiave aggiuntiva: ogni record d'ordine include anche una voce @attributes che contiene l'ID dell'ordine.
  • Un singolo record non è racchiuso in un elenco: se la tua esportazione contiene esattamente un record, la chiave del tipo di esportazione contiene quel record direttamente invece di un elenco di un elemento. Se recuperi un record alla volta usando limit=1, gestisci entrambe le forme nel tuo codice.
  • L'output è formattato in modo leggibile: il file utilizza indentazione e interruzioni di riga in modo che sia facile da leggere.

Opzioni specifiche del formato

Le esportazioni JSON non hanno impostazioni proprie. Non ci sono opzioni di delimitatore o struttura da scegliere e il file è sempre UTF-8. Le impostazioni generali si applicano ancora, quindi Formato Data controlla come appaiono le date nel JSON. Le impostazioni che si applicano solo ad altri formati, come Delimitatore Campi e Formattazione Fine Riga (CSV e TSV), non modificano un file JSON. Per modificare il JSON stesso, usa gli hook nella sezione sviluppatori qui sotto.

Apertura del file JSON

  • Browser web o editor di codice: apri il file in qualsiasi browser moderno, VS Code o un editor di testo. La maggior parte degli editor può comprimere ed espandere ogni oggetto.
  • Riga di comando: usa jq per filtrarla e rimodellarla, ad esempio jq '.product[].productsku' products.json.
  • Strumenti API: strumenti come Postman possono caricare un file JSON come corpo di una richiesta o come dati di esempio.
  • Fogli di calcolo: l'opzione di Excel Recupera dati → Da file → Da JSON (Power Query) può appiattire i record in righe. Se desideri principalmente un foglio di calcolo, un'esportazione CSV o Excel è più semplice.
  • Il tuo codice: ogni linguaggio mainstream può analizzare JSON con una libreria integrata o standard.

Personalizzazione dell'output JSON con hook

Store Exporter Deluxe attiva hook di filtro attorno all'esportazione JSON, in modo che uno sviluppatore possa modificare l'output senza modificare i file del plugin. Questi hook vengono eseguiti per le esportazioni richieste tramite l'URL CRON.

FiltroCosa fa
woo_ce_export_json_constantsImposta le opzioni passate a wp_json_encode(). L'impostazione predefinita è JSON_PRETTY_PRINT.
woo_ce_export_json_before_datasetEseguito prima che i record vengano aggiunti. Riceve l'oggetto di esportazione vuoto.
woo_ce_export_json_after_datasetEseguito dopo che i record sono stati aggiunti. Riceve l'oggetto di esportazione completato, prima che venga convertito in JSON.
woo_ce_cron_allowed_export_typesLimita quali tipi di esportazione accetta l'URL CRON.

Ad esempio, per rimuovere l'indentazione e mantenere leggibili slash e caratteri non inglesi, restituisci opzioni JSON diverse:

add_filter( 'woo_ce_export_json_constants', function () {
    return JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
} );

L'opzione JSON_UNESCAPED_SLASHES impedisce che gli URL vengano scritti come https:\/\/example.com. L'opzione JSON_UNESCAPED_UNICODE mantiene i caratteri come accenti e script non latini così come sono invece di trasformarli in codici \u.

Per un elenco più ampio di hook che vengono eseguiti durante un'esportazione, consulta Hook e filtri disponibili per ulteriori personalizzazioni.

Questa è una personalizzazione per sviluppatori. Se non ti senti a tuo agio nell'aggiungere codice tramite un plugin personalizzato o il file functions.php del tuo tema, apri un ticket di supporto e il nostro team potrà aiutarti.

Risoluzione dei problemi

L'URL di esportazione mostra la mia home page normale
Verifica che Abilita CRON sia attivo, che Chiave segreta di esportazione non sia vuota e che la key nel tuo URL corrisponda esattamente. Quando una di queste condizioni è errata, il plugin ignora la richiesta e il tuo sito viene caricato come al solito.
L'URL di esportazione mostra una pagina bianca
Il plugin ha accettato la tua chiave, ma non ha riconosciuto il tipo di esportazione o il formato. Verifica che type sia nell'URL e sia uno dei valori elencati nel Passaggio 2. Verifica anche che format sia esattamente json. Il plugin non riconosce altre diciture e non restituisce nulla.
L'esportazione mostra solo null
Il tuo negozio non ha record di quel tipo, quindi non c'è nulla da esportare. Verifica che type sia il dato che ti aspetti.
La pagina mostra solo 1 o 0
Aggiungi &response=download o &response=raw all'URL. Senza un valore response valido, il plugin restituisce solo un numero di stato invece del file.
L'URL di esportazione mostra un errore critico
Imposta Codifica caratteri in Impostazioni → Generali su UTF-8, oppure aggiungi &encoding=UTF-8 all'URL di esportazione. Le esportazioni JSON non funzionano con UTF-16.
Il file viene scaricato come CSV invece che JSON
Il parametro format è mancante. Senza di esso, l'esportazione CRON utilizza CSV per impostazione predefinita. Aggiungi &format=json all'URL.
Il mio script fallisce perché un campo è {}
Fai in modo che il tuo codice accetti {} ovunque si aspetti del testo. I campi vuoti vengono scritti come {}, così come il campo Categoria e il testo con caratteri speciali come gli spazi unificati. Se hai bisogno di quei valori, esporta gli stessi dati come XML o CSV.
Il JSON ha meno campi di quanto mi aspettassi
Le esportazioni CRON utilizzano la scelta dei campi in Campi di esportazione in Impostazioni → Esportazioni CRON. Impostala su Tutti i campi di esportazione, o sul modello o sulla selezione salvata che contiene i campi di cui hai bisogno.

Domande frequenti

Posso scegliere JSON nella schermata Esportazione Rapida?
No. Le opzioni Formato file in Opzioni di esportazione su Esportazione Rapida sono CSV, TSV, XLS, XLSX e XML. Usa l'URL di esportazione CRON per JSON.
Posso cambiare la codifica di un'esportazione JSON?
No. Il file JSON è sempre UTF-8. Se Codifica caratteri in Impostazioni → Generali è impostata su UTF-16, l'esportazione JSON fallisce con un errore. Impostala su UTF-8, o aggiungi &encoding=UTF-8 all'URL di esportazione. Per cambiare come vengono scritti i caratteri speciali, usa il filtro woo_ce_export_json_constants.
Il JSON funziona per ogni tipo di esportazione?
Sì. Ogni tipo nell'elenco type nel Passo 2 può essere richiesto con format=json.

Serve aiuto?

Se hai una domanda o riscontri problemi, siamo qui per aiutarti.

Questo articolo è stato utile?

Articoli Correlati

Risorse e Aiuto