Visser Labs – WooCommerce Plugins

  1. Home
  2. Kennisbank
  3. WooCommerce Store Exporter Deluxe
  4. Hoe WooCommerce-gegevens naar JSON te exporteren
  1. Home
  2. Kennisbank
  3. Bestandsformaten
  4. Hoe WooCommerce-gegevens naar JSON te exporteren

Hoe WooCommerce-gegevens naar JSON te exporteren

Als u winkelgegevens invoert in een script, een API of een ander systeem, staat een plat werkblad in de weg. JSON geeft u elk record als een op zichzelf staand object dat bijna elke programmeertaal en integratietool direct kan lezen. Store Exporter Deluxe kan elk ondersteund gegevenstype als JSON exporteren via de CRON-export-URL. Hieronder schakelt u CRON-exports in, bouwt u de URL die JSON retourneert, en leert u hoe u de uitvoer leest, opent en aanpast.

Vereisten

VereisteDetails
PluginStore Exporter Deluxe geïnstalleerd, actief en gelicentieerd
WooCommerceActief, met ten minste één record van het type dat je wilt exporteren
Administrator toegangU hebt een account nodig met toegang tot het WordPress-admin-dashboard
Een manier om een URL aan te vragenEen webbrowser is voldoende. Een tool zoals curl of wget werkt ook als u het wilt automatiseren

JSON is geen van de Bestandsindeling-tegels op het scherm Snelle Export, en het wordt niet aangeboden in Export Sjablonen. U vraagt het in plaats daarvan aan via de CRON-export-URL, zoals hieronder beschreven.

Stap 1: CRON-exports inschakelen

  1. Ga naar WooCommerce → Store Export.
  2. Klik in de zijbalk op Instellingen.
  3. Klik op CRON Exports.
  4. Schakel CRON inschakelen in.
  5. Voer een lange, willekeurige waarde in bij Exportgeheime Sleutel.
  6. Kies onder Exportvelden welke velden een CRON-export bevat.
  7. Klik op Wijzigingen Opslaan.

CRON inschakelen staat standaard uit. Zolang het uit staat, negeert de plugin de export-URL. Het negeert ook elk verzoek waarvan de sleutel niet overeenkomt met Exportgeheime Sleutel, en elk verzoek terwijl dat veld leeg is. Behandel de sleutel als een wachtwoord, want iedereen met de sleutel en uw URL kan uw winkelgegevens downloaden.

De opties voor Exportvelden zijn:

  • Alle exportvelden: bevat elk bekend veld voor het type export dat u aanvraagt.
  • Export Sjabloon gebruiken: gebruikt de velden van een opgeslagen Export Sjabloon.
  • Opgeslagen veldvoorkeuren: gebruikt de velden die u op het scherm Snelle Export hebt opgeslagen voor dat exporttype.
De instellingenpagina CRON-exports met de schakelaar Inschakelen CRON aan, een Exportgeheim sleutel ingevoerd, en Exportvelden ingesteld op Alle exportvelden

Stap 2: Bouw de export-URL

Begin met uw siteadres en voeg de onderstaande parameters toe. Vervang UW_GEHEIME_SLEUTEL door de sleutel die u in Stap 1 hebt ingesteld:

https://example.com/?action=woo_ce-cron&key=YOUR_SECRET_KEY&type=product&format=json&response=download
ParameterWat het doet
actionAltijd woo_ce-cron. Dit vertelt de plugin dat het verzoek een CRON-export is.
keyUw geheime export sleutel.
typeDe te exporteren gegevens: product, category, tag, brand, order, customer, user, review, coupon, subscription, product_vendor, commission, shipping_class, ticket, of booking. De typen subscription, product_vendor, commission, ticket en booking vereisen dat de bijbehorende plugin actief is. Zonder deze plugin bevat de export geen records.
formaatInstellen op json. Als u dit weglaat, is de standaardexport CSV.
reactiedownload stuurt een .json bestand naar je browser. raw drukt de JSON direct op de pagina, wat geschikt is voor scripts en API-achtige verzoeken.
limietOptioneel. Het maximale aantal records om te exporteren. Laat het leeg om alles te exporteren.
offsetOptioneel. Het aantal records om over te slaan, wat helpt wanneer je een grote winkel in stukken exporteert.

Stap 3: Voer de export uit

Open de URL in je browser. Met response=download slaat je browser een bestand op met de naam mijn-winkel-export_product-2026_10_20-07_18_54-93680224.json. Met response=raw verschijnt de JSON in plaats daarvan op de pagina.

Om het te automatiseren, vraag dezelfde URL aan vanuit een script of een geplande taak op je server:

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

Hoe de uitvoer eruitziet

Het bestand is één JSON-object. De enige sleutel is het exporttype en de waarde is een lijst met records. Een Producten-export ziet er als volgt uit:

{
    "product": [
        {
            "productid": "15",
            "productsku": "HD-FLC-CLS",
            "productname": "Classic Fit Fleece Hoodie",
            "parentsku": {}
        }
    ]
}
Het begin van een Products JSON-export, met de exporttype-sleutel, een lege waarde geschreven als {}, en een product-ID geschreven als tekst, elk gemarkeerd met een callout

Een paar dingen zijn het weten waard voordat je er iets op bouwt:

  • Veldnamen zijn vereenvoudigd: de naam van elk veld is de kolomkop in kleine letters, met verwijderde spaties en de meeste symbolen. Streepjes en underscores blijven. Dus Productnaam wordt productnaam en E-mail wordt e-mail.
  • Alle waarden zijn tekst: getallen, prijzen en ID's worden als strings geschreven, zoals "15" in plaats van 15. Converteer ze in je eigen code als je numerieke typen nodig hebt.
  • Sommige waarden worden geschreven als {}: een veld zonder waarde wordt geschreven als {}, niet als "" of null. Het veld Categorie van een Producten-export, en tekst die speciale tekens bevat zoals non-breaking spaces, komen ook door als {}. Als je die waarden nodig hebt, exporteer dan dezelfde gegevens als XML of CSV.
  • Bestellingen bevatten een extra sleutel: elk bestelrecord bevat ook een @attributes-vermelding met de ID van de bestelling.
  • Een enkel record is niet verpakt in een lijst: als je export precies één record bevat, bevat de sleutel van het exporttype dat record direct in plaats van een lijst met één item. Als je één record per keer ophaalt met limit=1, verwerk dan beide vormen in je code.
  • De uitvoer is mooi afgedrukt: het bestand gebruikt inspringing en regeleinden zodat het gemakkelijk te lezen is.

Indelingsspecifieke opties

JSON-exports hebben geen eigen instellingen. Er is geen scheidingsteken of structuurkeuze en het bestand is altijd UTF-8. Algemene instellingen zijn nog steeds van toepassing, dus Datumformaat bepaalt hoe datums in de JSON verschijnen. Instellingen die alleen van toepassing zijn op andere formaten, zoals Veldscheidingsteken en Eindtekens (CSV en TSV), veranderen een JSON-bestand niet. Om de JSON zelf te wijzigen, gebruik je de hooks in de onderstaande ontwikkelaarssectie.

Je JSON-bestand openen

  • Webbrowser of code-editor: open het bestand in een moderne browser, VS Code of een teksteditor. De meeste editors kunnen elk object inklappen en uitvouwen.
  • Commandoregel: gebruik jq om het te filteren en te herschikken, bijvoorbeeld jq '.product[].productsku' products.json.
  • API-tools: tools zoals Postman kunnen een JSON-bestand laden als request body of als voorbeeldgegevens.
  • Spreadsheets: Excel’s optie Gegevens ophalen → Van bestand → Van JSON (Power Query) kan de records plat slaan tot rijen. Als je voornamelijk een spreadsheet wilt, is een CSV- of Excel-export eenvoudiger.
  • Je eigen code: elke gangbare taal kan JSON parsen met een ingebouwde of standaardbibliotheek.

Het aanpassen van de JSON-uitvoer met hooks

Store Exporter Deluxe vuurt filter hooks af rond de JSON-export, zodat een ontwikkelaar de uitvoer kan wijzigen zonder plugin-bestanden te bewerken. Deze hooks worden uitgevoerd voor exports die via de CRON-URL worden aangevraagd.

FilterWat het doet
woo_ce_export_json_constantsStelt de opties in die aan wp_json_encode() worden doorgegeven. De standaard is JSON_PRETTY_PRINT.
woo_ce_export_json_before_datasetWordt uitgevoerd voordat de records worden toegevoegd. Ontvangt het lege exportobject.
woo_ce_export_json_after_datasetWordt uitgevoerd nadat de records zijn toegevoegd. Ontvangt het voltooide exportobject, voordat het naar JSON wordt geconverteerd.
woo_ce_cron_allowed_export_typesBeperkt welke exporttypen de CRON-URL accepteert.

Om bijvoorbeeld de inspringing te verwijderen en slashes en niet-Engelse tekens leesbaar te houden, retourneer je andere JSON-opties:

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

De optie JSON_UNESCAPED_SLASHES voorkomt dat URL's worden geschreven als https:\/\/example.com. De optie JSON_UNESCAPED_UNICODE behoudt tekens zoals accenten en niet-Latijnse scripts zoals ze zijn in plaats van ze om te zetten in \u-codes.

Voor de bredere lijst van hooks die tijdens een export worden uitgevoerd, zie Beschikbare hooks en filters voor verdere aanpassing.

Dit is een aanpassing voor ontwikkelaars. Als u er niet comfortabel mee bent om code toe te voegen via een aangepaste plugin of het functions.php-bestand van uw thema, opent u een ondersteuningsticket en ons team kan u helpen.

Probleemoplossing

De export-URL toont mijn normale startpagina
Controleer of CRON inschakelen aan staat, dat Export Secret Key niet leeg is, en dat de key in je URL hiermee exact overeenkomt. Wanneer een van deze zaken onjuist is, negeert de plugin het verzoek en laadt je site zoals gewoonlijk.
De export-URL toont een blanco pagina
De plugin heeft je sleutel geaccepteerd, maar herkende het exporttype of het formaat niet. Controleer of type in de URL staat en een van de waarden is die in Stap 2 worden vermeld. Controleer ook of format exact json is. De plugin herkent geen andere spelling en retourneert niets.
De export toont alleen null
Je winkel heeft geen records van dat type, dus er is niets te exporteren. Controleer of type de gegevens zijn die je verwacht.
De pagina toont slechts 1 of 0
Voeg &response=download of &response=raw toe aan de URL. Zonder een geldige response-waarde retourneert de plugin alleen een statusnummer in plaats van het bestand.
De export-URL toont een kritieke fout
Stel Tekencodering in onder Instellingen → Algemeen op UTF-8, of voeg &encoding=UTF-8 toe aan de export-URL. JSON-exports werken niet met UTF-16.
Het bestand wordt gedownload als CSV in plaats van JSON
De format parameter ontbreekt. Zonder dit staat de CRON-export standaard op CSV. Voeg &format=json toe aan de URL.
Mijn script faalt omdat een veld {} is
Zorg dat uw code {} accepteert waar het tekst verwacht. Lege velden worden geschreven als {}, net als het veld Categorie en tekst met speciale tekens zoals non-breaking spaces. Als u die waarden nodig hebt, exporteer dan dezelfde gegevens als XML of CSV.
De JSON heeft minder velden dan ik verwachtte
CRON-exports gebruiken de veldkeuze onder Exportvelden in Instellingen → CRON-exports. Schakel over naar Alle exportvelden, of naar de template of opgeslagen selectie die de benodigde velden bevat.

Veelgestelde vragen

Kan ik JSON kiezen op het scherm Snelle Export?
Nee. De opties Bestandsindeling onder Exportopties op Snelle Export zijn CSV, TSV, XLS, XLSX en XML. Gebruik de CRON-export URL voor JSON.
Kan ik de codering van een JSON-export wijzigen?
Nee. Het JSON-bestand is altijd UTF-8. Als Tekencodering onder Instellingen → Algemeen is ingesteld op UTF-16, mislukt de JSON-export met een foutmelding. Stel deze in op UTF-8, of voeg &encoding=UTF-8 toe aan de export-URL. Om te wijzigen hoe speciale tekens worden geschreven, gebruikt u de woo_ce_export_json_constants filter.
Werkt JSON voor elk exporttype?
Ja. Elk type in de type lijst in Stap 2 kan worden aangevraagd met format=json.

Hulp nodig?

Als u een vraag heeft of tegen problemen aanloopt, helpen we u graag.

Was dit artikel nuttig?

Gerelateerde artikelen

Bronnen & Hulp