Visser Labs – Plugins WooCommerce

  1. Accueil
  2. Base de connaissances
  3. WooCommerce Store Exporter Deluxe
  4. Comment exporter les données WooCommerce au format JSON
  1. Accueil
  2. Base de connaissances
  3. Formats de fichier
  4. Comment exporter les données WooCommerce au format JSON

Comment exporter les données WooCommerce au format JSON

Si vous alimentez les données du magasin dans un script, une API ou un autre système, une feuille de calcul plate devient un obstacle. Le JSON vous donne chaque enregistrement sous forme d'objet autonome que presque tous les langages de programmation et outils d'intégration peuvent lire directement. Store Exporter Deluxe peut exporter tout type de données pris en charge en JSON via son URL d'exportation CRON. Ci-dessous, vous activez les exportations CRON, construisez l'URL qui renvoie du JSON, et apprenez à lire, ouvrir et personnaliser la sortie.

Prérequis

ExigenceDétails
PluginStore Exporter Deluxe installé, actif et licencié
WooCommerceActif, avec au moins un enregistrement du type que vous souhaitez exporter
Accès administrateurVous aurez besoin d'un compte avec accès au tableau de bord d'administration de WordPress
Un moyen de demander une URLUn navigateur Web suffit. Un outil tel que curl ou wget fonctionne également si vous souhaitez l'automatiser

JSON ne fait pas partie des tuiles Format de fichier sur l'écran Exportation rapide, et il n'est pas proposé dans les Modèles d'exportation. Vous le demandez via l'URL d'exportation CRON à la place, comme décrit ci-dessous.

Étape 1 : Activer les exportations CRON

  1. Accédez à WooCommerce → Exportation du magasin.
  2. Dans la barre latérale, cliquez sur Paramètres.
  3. Cliquez sur Exportations CRON.
  4. Activez Activer CRON.
  5. Entrez une longue valeur aléatoire dans Clé secrète d'exportation.
  6. Sous Champs d'exportation, choisissez les champs qu'une exportation CRON inclut.
  7. Cliquez sur Enregistrer les modifications.

Activer CRON est désactivé par défaut. Tant qu'il est désactivé, le plugin ignore l'URL d'exportation. Il ignore également toute requête dont la clé ne correspond pas à Clé secrète d'exportation, et chaque requête pendant que ce champ est vide. Traitez la clé comme un mot de passe, car toute personne possédant la clé et votre URL peut télécharger les données de votre magasin.

Les options Champs d'exportation sont :

  • Tous les champs d'exportation : inclut tous les champs connus pour le type d'exportation que vous demandez.
  • Utiliser le modèle d'exportation : utilise les champs d'un modèle d'exportation enregistré.
  • Préférences de champs enregistrés : utilise les champs que vous avez enregistrés sur l'écran Exportation rapide pour ce type d'exportation.
La page des paramètres des Exports CRON avec le commutateur Activer CRON activé, une clé secrète d'exportation saisie et les Champs d'exportation définis sur Tous les champs d'exportation

Étape 2 : Construire l'URL d'exportation

Commencez par l'adresse de votre site et ajoutez les paramètres ci-dessous. Remplacez VOTRE_CLE_SECRETE par la clé que vous avez définie à l'étape 1 :

https://example.com/?action=woo_ce-cron&key=YOUR_SECRET_KEY&type=product&format=json&response=download
ParamètreCe que ça fait
actionToujours woo_ce-cron. Cela indique au plugin que la requête est une exportation CRON.
keyVotre clé secrète d'exportation.
typeLes données à exporter : product, category, tag, brand, order, customer, user, review, coupon, subscription, product_vendor, commission, shipping_class, ticket, ou booking. Les types subscription, product_vendor, commission, ticket et booking nécessitent que le plugin correspondant soit actif. Sans cela, l'exportation ne contient aucun enregistrement.
formatDéfini sur json. Si vous l'omettez, l'exportation est par défaut en CSV.
réponsedownload envoie un fichier .json à votre navigateur. raw affiche le JSON directement sur la page, ce qui convient aux scripts et aux requêtes de type API.
limiteOptionnel. Le nombre maximum d'enregistrements à exporter. Laissez vide pour tout exporter.
décalageOptionnel. Le nombre d'enregistrements à ignorer, utile lorsque vous exportez un grand magasin en plusieurs parties.

Étape 3 : Exécuter l’exportation

Ouvrez l'URL dans votre navigateur. Avec response=download, votre navigateur enregistre un fichier nommé comme mon-export-magasin_produit-2026_10_20-07_18_54-93680224.json. Avec response=raw, le JSON apparaît à la place.

Pour l'automatiser, demandez la même URL à partir d'un script ou d'une tâche planifiée sur votre serveur :

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

À quoi ressemble la sortie

Le fichier est un objet JSON. Sa seule clé est le type d'exportation, et sa valeur est une liste d'enregistrements. Un export de produits ressemble à ceci :

{
    "product": [
        {
            "productid": "15",
            "productsku": "HD-FLC-CLS",
            "productname": "Classic Fit Fleece Hoodie",
            "parentsku": {}
        }
    ]
}
Le début d'un export JSON de produits, avec la clé de type d'exportation, une valeur vide écrite comme {}, et un ID de produit écrit comme texte, chacun marqué par un appel

Quelques points à connaître avant de construire quoi que ce soit par-dessus :

  • Les noms de champs sont simplifiés : le nom de chaque champ est son libellé de colonne en minuscules, avec les espaces et la plupart des symboles supprimés. Les tirets et les underscores restent. Ainsi, Nom du produit devient nomproduit, et E-mail devient e-mail.
  • Toutes les valeurs sont du texte : les nombres, les prix et les identifiants sont écrits sous forme de chaînes de caractères, comme "15" plutôt que 15. Convertissez-les dans votre propre code si vous avez besoin de types numériques.
  • Certaines valeurs sont écrites comme {} : un champ sans valeur est écrit comme {}, pas comme "" ou null. Le champ Catégorie d'un export de produits, et le texte contenant des caractères spéciaux tels que des espaces insécables, sont également transmis sous forme de {}. Si vous avez besoin de ces valeurs, exportez les mêmes données en XML ou CSV.
  • Les commandes comportent une clé supplémentaire : chaque enregistrement de commande inclut également une entrée @attributes contenant l'ID de la commande.
  • Un seul enregistrement n'est pas encapsulé dans une liste : si votre export contient exactement un enregistrement, la clé du type d'exportation contient cet enregistrement directement au lieu d'une liste d'un élément. Si vous récupérez un enregistrement à la fois avec limit=1, gérez les deux formats dans votre code.
  • La sortie est formatée joliment : le fichier utilise l'indentation et les sauts de ligne pour être facile à lire.

Options spécifiques au format

Les exports JSON n'ont pas de paramètres propres. Il n'y a pas d'option de délimiteur ou de structure à choisir, et le fichier est toujours en UTF-8. Les paramètres généraux s'appliquent toujours, donc Format de date contrôle l'apparence des dates dans le JSON. Les paramètres qui ne s'appliquent qu'à d'autres formats, tels que Délimiteur de champ et Format de fin de ligne (CSV et TSV), ne modifient pas un fichier JSON. Pour modifier le JSON lui-même, utilisez les hooks dans la section développeur ci-dessous.

Ouverture de votre fichier JSON

  • Navigateur Web ou éditeur de code : ouvrez le fichier dans n'importe quel navigateur moderne, VS Code ou un éditeur de texte. La plupart des éditeurs peuvent réduire et développer chaque objet.
  • Ligne de commande : utilisez jq pour la filtrer et la remodeler, par exemple jq '.product[].productsku' products.json.
  • Outils d'API : des outils comme Postman peuvent charger un fichier JSON comme corps de requête ou comme données d'exemple.
  • Tableurs : l'option Excel Obtenir des données → À partir d'un fichier → À partir d'un fichier JSON (Power Query) peut aplatir les enregistrements en lignes. Si vous voulez principalement un tableur, une exportation CSV ou Excel est plus simple.
  • Votre propre code : tous les langages courants peuvent analyser le JSON avec une bibliothèque intégrée ou standard.

Personnalisation de la sortie JSON avec des hooks

Store Exporter Deluxe déclenche des hooks de filtre autour de l'exportation JSON, afin qu'un développeur puisse modifier la sortie sans éditer les fichiers du plugin. Ces hooks s'exécutent pour les exportations demandées via l'URL CRON.

FiltreCe que ça fait
woo_ce_export_json_constantsDéfinit les options passées à wp_json_encode(). La valeur par défaut est JSON_PRETTY_PRINT.
woo_ce_export_json_before_datasetS'exécute avant que les enregistrements ne soient ajoutés. Reçoit l'objet d'exportation vide.
woo_ce_export_json_after_datasetS'exécute après que les enregistrements ont été ajoutés. Reçoit l'objet d'exportation terminé, avant sa conversion en JSON.
woo_ce_cron_allowed_export_typesLimite les types d'exportation que l'URL CRON accepte.

Par exemple, pour supprimer l'indentation et garder les barres obliques et les caractères non-français lisibles, retournez différentes options JSON :

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

L'option JSON_UNESCAPED_SLASHES empêche les URL d'être écrites comme https:\/\/example.com. L'option JSON_UNESCAPED_UNICODE conserve les caractères tels que les accents et les scripts non latins tels quels au lieu de les transformer en codes \u.

Pour la liste plus large des hooks qui s'exécutent pendant une exportation, consultez Hooks et filtres disponibles pour une personnalisation plus poussée.

Ceci est une personnalisation pour développeurs. Si vous n'êtes pas à l'aise pour ajouter du code via un plugin personnalisé ou le fichier functions.php de votre thème, ouvrez un ticket de support et notre équipe pourra vous aider.

Dépannage

L'URL d'exportation affiche ma page d'accueil normale
Vérifiez que Activer CRON est activé, que la Clé secrète d'exportation n'est pas vide, et que la key dans votre URL correspond exactement. Lorsque l'une de ces conditions n'est pas remplie, le plugin ignore la requête et votre site se charge normalement.
L'URL d'exportation affiche une page blanche
Le plugin a accepté votre clé, mais il n'a pas reconnu le type d'exportation ou le format. Vérifiez que type est dans l'URL et qu'il s'agit de l'une des valeurs listées à l'étape 2. Vérifiez également que format est exactement json. Le plugin ne reconnaît aucune autre orthographe et ne retourne rien.
L'exportation n'affiche que null
Votre boutique n'a aucun enregistrement de ce type, il n'y a donc rien à exporter. Vérifiez que type correspond aux données attendues.
La page affiche seulement 1 ou 0
Ajoutez &response=download ou &response=raw à l'URL. Sans une valeur response valide, le plugin ne retourne qu'un numéro de statut au lieu du fichier.
L'URL d'exportation affiche une erreur critique
Définissez Encodage des caractères sous Paramètres → Général sur UTF-8, ou ajoutez &encoding=UTF-8 à l'URL d'exportation. Les exportations JSON ne fonctionnent pas avec UTF-16.
Le fichier se télécharge en CSV au lieu de JSON
Le paramètre format est manquant. Sans lui, l'export CRON utilise CSV par défaut. Ajoutez &format=json à l'URL.
Mon script échoue car un champ est {}
Faites en sorte que votre code accepte {} partout où il attend du texte. Les champs vides sont écrits comme {}, tout comme le champ Catégorie et le texte avec des caractères spéciaux tels que les espaces insécables. Si vous avez besoin de ces valeurs, exportez les mêmes données en XML ou CSV.
Le JSON a moins de champs que prévu
Les exports CRON utilisent le choix de champs sous Champs d'exportation dans Paramètres → Exports CRON. Passez-le à Tous les champs d'exportation, ou au modèle ou à la sélection enregistrée qui contient les champs dont vous avez besoin.

Questions fréquemment posées

Puis-je choisir JSON sur l'écran d'exportation rapide ?
Non. Les options Format de fichier sous Options d'exportation sur Exportation rapide sont CSV, TSV, XLS, XLSX et XML. Utilisez l'URL d'exportation CRON pour JSON.
Puis-je modifier l'encodage d'un export JSON ?
Non. Le fichier JSON est toujours en UTF-8. Si Encodage des caractères sous Paramètres → Général est défini sur UTF-16, l'export JSON échoue avec une erreur. Définissez-le sur UTF-8, ou ajoutez &encoding=UTF-8 à l'URL d'exportation. Pour modifier la façon dont les caractères spéciaux sont écrits, utilisez le filtre woo_ce_export_json_constants.
JSON fonctionne-t-il pour tous les types d'exportation ?
Oui. Tous les types de la liste type à l'étape 2 peuvent être demandés avec format=json.

Besoin d'aide ?

Si vous avez une question ou rencontrez des problèmes, nous sommes là pour vous aider.

Cet article vous a-t-il été utile ?

Articles Liés

Ressources et aide