La gestion d’une boutique en ligne est coûteuse et les propriétaires doivent souvent gérer de nombreux processus manuels. L’API REST de WooCommerce simplifie ce flux de travail, vous permettant de contrôler les plateformes de commerce électronique et de gérer et faire évoluer les boutiques WooCommerce de manière programmatique.

Les intégrations, l’automatisation et l’extension des capacités de votre boutique en ligne sont des opérations transparentes avec l’API REST de WooCommerce. Vous économisez des ressources et du temps, que vous pouvez utiliser pour rationaliser davantage vos processus. Cela vous permet également de personnaliser l’aspect et la convivialité de votre boutique avec des applications externes flexibles.

Cet article vous donne une compréhension complète de l’API REST de WooCommerce, vous permettant d’automatiser et d’améliorer de manière programmatique vos opérations de commerce électronique. Il fournit des informations pratiques, des cas d’utilisation et des exemples de code pour faciliter l’intégration et la personnalisation des boutiques WooCommerce.

Pré-requis

Pour commencer avec WooCommerce REST API, vous devez utiliser :

  • WooCommerce version 3.5 ou supérieure.
  • WordPress version 4.4 ou supérieure.
  • Postman ou Insomnia pour tester l’API et interagir avec elle.

Commencer avec l’API REST de WooCommerce

Pour commencer, vous devez créer un site WordPress et générer les identifiants de l’API dans WooCommerce.

Créer un site WordPress avec Kinsta

Si vous n’avez pas de site WordPress, vous pouvez facilement en créer un dans votre tableau de bord MyKinsta.

  1. Naviguez vers votre compte MyKinsta et cliquez sur Sites WordPress dans la colonne latérale de gauche.
  2. Dans le menu déroulant Ajouter un site, sélectionnez l’option Créer un nouveau site, puis passez à la page suivante, où vous pouvez choisir l’option Installer WordPress et cliquer sur Continuer.
  3. Saisissez le nom de votre site et l’emplacement de votre centre de données dans les options du site et cliquez sur Continuer.
  4. Dans l’onglet suivant, saisissez le titre de votre site et vos identifiants d’administration. Sélectionnez une langue et cochez la case Installer WooCommerce pour installer l’extension WooCommerce.

    Création d'un site WordPress et installation de WooCommerce.
    Création d’un site WordPress et installation de WooCommerce.

  5. Cliquez sur Continuer. Cela lance la création de votre site et envoie une notification à votre adresse e-mail d’administration WordPress une fois la création terminée. Veillez à conserver votre nom d’utilisateur et votre mot de passe d’administration WordPress dans un endroit sûr.

Générer les identifiants API dans WooCommerce

Pour générer vos identifiants API WooCommerce, suivez les étapes suivantes :

  1. Connectez-vous à votre tableau de bord WordPress, sélectionnez Extensions > Extensions installées dans la colonne latérale et activez l’extension WooCommerce.
  2. Après avoir activé l’extension, sélectionnez WooCommerce > Réglages. Cliquez ensuite sur l’onglet Avancé pour accéder à la page des réglages avancés de WooCommerce.
  3. Ensuite, cliquez sur REST API.

    Page des informations d'identification de la clé API.
    Page des informations d’identification de la clé API.

  4. Cliquez sur Créer une clé API ou sur Ajouter une clé pour générer une clé API.
  5. Ensuite, vous êtes invité à saisir les détails de la clé. Il s’agit de la description, de l’utilisateur et des autorisations. Saisissez la description de votre clé, modifiez l’utilisateur si nécessaire et sélectionnez Lecture/Écriture pour les autorisations.

    Générer les informations d'identification de la clé API.
    Générer les informations d’identification de la clé API.

  6. Cliquez sur Générer une clé API. Avec les clés API générées, vous pouvez accéder aux données de votre boutique et les gérer par programme. Prenez note de votre clé de consommateur et de votre secret, car vous les utiliserez dans la section suivante pour effectuer des demandes d’API.

    Informations d'identification de la clé API générée.
    Informations d’identification de la clé API générée.

Comprendre l’architecture de l’API REST de WooCommerce

L’API de WooCommerce est construite sur une architecture REST. Cela vous permet de lire et d’effectuer des opérations d’écriture sur les données de WooCommerce, telles que les commandes, les produits et les clients, en envoyant des requêtes via les méthodes appropriées (GET, POST, PUT, DELETE) au point de terminaison.

Un point de terminaison se compose des méthodes de requête ainsi que d’une URL standard. Avec un point de terminaison, vous pouvez utiliser l’outil de votre choix (Postman ou Insomnia) pour accéder à différentes données stockées.

Récupérer une liste de produits

Avant de récupérer la liste des produits, assurez-vous d’en avoir ajouté quelques-uns à votre boutique. Vous devez changer la structure du permalien en quelque chose d’autre que Simple.

Cliquez sur Réglages > Permaliens dans la colonne latérale et modifiez la structure des permaliens. Si vous n’effectuez pas cette modification, votre point de terminaison d’URL standard ne fonctionnera pas comme il se doit. Cliquez sur Enregistrer les modifications.

Ensuite, ouvrez Postman et ajoutez une nouvelle requêtes. Dans la section URL, utilisez https://<yourdomain>/wp-json/wc/v3/products. Assurez-vous de remplacer <yourdomain> par le domaine de votre site WooCommerce.

Dans l’onglet autorisation, sélectionnez Auth de base et saisissez votre clé de consommateur comme nom d’utilisateur et votre secret de consommateur comme mot de passe. Vous devez ajouter cette autorisation à chaque requête que vous faites à votre API REST WooCommerce. Envoyez la requête et vous devriez recevoir une liste de tous les produits de votre boutique.

Récupération d'une liste de produits dans Postman.
Récupération d’une liste de produits dans Postman.

Gérer les produits via l’API REST

L’objet produit possède une liste d’attributs qui permettent de regrouper les produits, de gérer les stocks et de fixer les prix, le tout de manière programmatique.

Supposons que vous souhaitiez ajouter un nouveau produit à un groupe de produits que vous avez créé. Tout ce dont vous avez besoin, c’est de l’identifiant du groupe de produits dans l’attribut grouped_products.

Pour gérer les stocks, utilisez les attributs manage_stock et stock_status, qui sont définis sur true ou false et instock, onbackorder et outofstock respectivement.

Voyons comment vous pouvez ajouter et mettre à jour les détails d’un produit existant.

Ajouter un produit avec l’API de WooCommerce

  1. Dans Postman, ajoutez une nouvelle requête et changez la méthode de requête en POST. Réutilisez l’URL utilisée dans la section précédente. Cliquez sur l’onglet Body , sélectionnez raw, et choisissez JSON comme format de corps. La charge utile JSON contient le nom du produit, son type (simple, variable ou groupé), sa description et sa brève description. Il contient également des catégories, des étiquettes et des images que vous pouvez ajouter si nécessaire.
    {
     "name": "iPhone 15 Pro Max",
     "type": "simple",
     "description": "",
     "short_description": "",
     "categories": [
     ],
     "tags": [],
     "images": []
    }
  2. Exécutez la requête. Si le produit est créé avec succès, vous devriez recevoir un objet produit en réponse. Prenez note de l’identifiant du produit, car vous en aurez besoin dans la section suivante.

    Création d'un produit.
    Création d’un produit.

Modifier un produit avec l’API WooCommerce

Modifions l’enregistrement que vous venez de créer.

  1. Dans l’onglet Body , ajoutez ce corps JSON :
    {
      "name": "iPhone 15 Pro"
    }

    Comme vous ne mettez à jour que le champ name, vous n’avez pas besoin d’inclure d’autres attributs. Dans ce cas, remplacez-le par « iPhone 15 Pro ». L’URL du point de terminaison doit être https://yourdomain/wp-json/wc/v3/products/<id>.

  2. Remplacez id par l’ID du produit que vous avez créé dans la section précédente. N’oubliez pas de changer la méthode de requête en PUT. Exécutez la requête et vous devriez recevoir un objet produit en réponse. Vous pouvez vérifier le nom du produit dans la réponse pour confirmer que la mise à jour a bien été effectuée.

    Modification d'un produit.
    Modification d’un produit.

Gestion des commandes avec l’API REST

L’API REST de WooCommerce facilite l’automatisation du traitement des commandes en permettant la récupération transparente des commandes et la mise à jour des états des commandes. Elle vous permet de récupérer les commandes de manière programmatique, de les filtrer en fonction de divers critères tels que la date, l’état ou le client, puis de les traiter efficacement.

Cela inclut la mise à jour des états des commandes pour refléter les différentes étapes de l’exécution ou du traitement. L’API REST de WooCommerce assure ensuite un suivi précis et la communication avec les clients. En outre, vous pouvez gérer les remboursements via l’API, y compris le traitement des demandes de remboursement, le traitement automatique des remboursements et la mise à jour des états de la commande (après les remboursements).

Voyons comment vous pouvez récupérer des commandes récentes et mettre à jour l’état d’une commande en la rendant « terminée »

Récupérer les commandes récentes avec l’API de WooCommerce

  1. Dans Postman, ajoutez une nouvelle requête pour récupérer les commandes en utilisant une requête GET . L’URL du point de terminaison doit être la suivante :
    https:///wp-json/wc/v3/orders
  2. Dans l’onglet Params, saisissez la clé after et la valeur de la date après laquelle vos commandes ont été créées. Dans ce cas, utilisez 2024-03-08T00:00:00. N’hésitez pas à modifier cette date si nécessaire. Cela vous permet de filtrer vos commandes en ne retenant que celles qui ont été créées après une date donnée. Laissez les autres réglages de Postman par défaut.
  3. Assurez-vous d’avoir effectué quelques commandes dans votre boutique WooCommerce pour éviter de renvoyer une liste vide. Exécutez la requête, et vous devriez obtenir une liste de toutes les commandes effectuées dans votre boutique qui correspondent aux critères spécifiés.

    Récupérer les commandes récentes après une date donnée.
    Récupérer les commandes récentes après une date donnée.

Mise à jour de l’état des commandes

Pour mettre à jour l’état de votre commande, récupérez l’identifiant d’une commande que vous avez déjà passée. Ajoutez une nouvelle requête dans Postman et changez sa requête en PUT. Utilisez ce point de terminaison pour une mise à jour : https://yourdomain/wp-json/wc/v3/orders/<existing-order-id>. Dans l’onglet Body , ajoutez ce corps JSON :

{
  "status": "completed"
}

Exécutez la requête, et vous devriez recevoir une réponse avec la commande marquée comme terminée.

Mise à jour de l'état de la commande.
Mise à jour de l’état de la commande.

Gestion des clients et engagement

Grâce à l’API REST de WooCommerce, les entreprises peuvent créer efficacement de nouveaux profils de clients, modifier les détails des clients existants et récupérer des informations complètes telles que l’historique des achats et les préférences.

En analysant ces informations, elles peuvent adapter des stratégies de marketing personnalisées, proposer des promotions ciblées, des recommandations de produits et des récompenses de fidélité basées sur les comportements d’achat individuels.

Ce niveau de gestion des données clients permet aux entreprises de construire des relations plus fortes avec leurs clients, d’augmenter leur satisfaction et d’encourager les achats répétés.

Ajouter un client avec l’API WooCommerce

  1. Envoyez une requête POST à l’URL de ce point de terminaison : https://<yourdomain>/wp-json/wc/v3/customers. N’oubliez pas d’inclure l’autorisation comme vous l’avez fait précédemment.
  2. Dans l’onglet Body, utilisez cet objet JSON pour créer un client :
    {
      "email": "[email protected]",
      "first_name": "Brian",
      "last_name": "Abraham",
      "role": "customer",
      "username": "briann.abraham",
      "billing": {
        "first_name": "Brian",
        "last_name": "Abraham",
        "company": "",
        "address_1": "969 Market",
        "address_2": "",
        "city": "San Francisco",
        "state": "CA",
        "postcode": "94103",
        "country": "US",
        "email": "[email protected]",
        "phone": "(555) 555-5555"
      },
      "shipping": {
        "first_name": "Brian",
        "last_name": "Abraham",
        "company": "",
        "address_1": "969 Market",
        "address_2": "",
        "city": "San Francisco",
        "state": "CA",
        "postcode": "94103",
        "country": "US"
      }
    }

    L’objet JSON contient des informations de base sur le client, telles que l’adresse e-mail, le nom, le rôle et le nom d’utilisateur. Il fournit également des informations de facturation et d’expédition, y compris l’adresse, la localisation et le numéro de téléphone du client.

  3. Exécutez la requête et vous devriez recevoir une réponse contenant l’objet client. N’oubliez pas l’identifiant du client, que vous utiliserez dans la section suivante pour retrouver un client.

Récupérer un client par son identifiant avec l’API WooCommerce

Récupérons l’utilisateur que vous venez de créer via son ID.

  1. Créez une nouvelle requête avec la méthode GET .
  2. Utilisez la même URL, https://<yourdomain>/wp-json/wc/v3/customers/<existing-customer-id> et ajoutez l’ID du client que vous souhaitez récupérer.

Cas d’utilisation avancés de l’API REST de WooCommerce

Outre la gestion des ressources de votre boutique, vous pouvez utiliser l’API REST de WooCommerce pour d’autres tâches complexes, telles que l’intégration au CRM, l’automatisation de la gestion de l’inventaire, l’analyse personnalisée et la création de rapports.

L’intégration de votre boutique WooCommerce dans le CRM de votre choix à l’aide de l’API REST garantit que chaque fois qu’un client est ajouté, il est instantanément reflété sur votre tableau de bord CRM en tant que prospect. Cela facilite la gestion de la synchronisation des informations sur les clients et l’historique des commandes.

Les API REST permettent également une gestion automatisée des stocks. En intégrant votre gestion externe des stocks, vous pouvez obtenir une visibilité en temps réel des stocks et de la disponibilité des produits. Il en va de même pour les rapports et les analyses personnalisés.

Avec l’API REST de WooCommerce, vous pouvez créer des fonctions de reporting qui vous donnent une vue d’ensemble, vous aidant à prendre des décisions, à identifier les tendances et à faire des prévisions.

Voici un extrait de code pour synchroniser les données clients de WooCommerce avec une plateforme CRM :

<?php
require __DIR__ . '/vendor/autoload.php';

use Automattic\WooCommerce\Client;

$woocommerce = new Client(
  'https://', // Your store URL
  'consumer_key', // Your consumer key
  'consumer_secret', // Your consumer secret
    [
      'version' => 'wc/v3' // WooCommerce WP REST API version
    ]
);

// CRM API endpoint and key
$crm_api_url = 'https://your-crm-api-url/api';
$crm_api_key = 'YOUR_CRM_API_KEY';

try {
// fetch customers from woocommerce store
  $customers = $woocommerce->get('customers');

  // Initialize cURL
  $ch = curl_init();

  // Check if cURL initialization succeeded
  if ($ch === false) {
    throw new Exception('Failed to initialize cURL');
  }

  foreach ($customers as $customer) {
    $crm_customer_data = array(
      'first_name' => $customer->first_name,
      'last_name' => $customer->last_name,
      'email' => $customer->email,
      // Other fields
    );

    // cURL options
    curl_setopt($ch, CURLOPT_URL, $crm_api_url . '/customers');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($crm_customer_data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Authorization: Bearer ' . $crm_api_key,
      'Content-Type: application/json',
    ));

    // Execute cURL request
    $crm_response = curl_exec($ch);

    // Check for cURL errors
    if ($crm_response === false) {
      throw new Exception('cURL error: ' . curl_error($ch));
    }

    // Check HTTP status code
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($http_code !== 200) {
      throw new Exception('Failed to sync customer data with CRM: ' . $http_code);
    }

    echo 'Customer data synced with CRM successfully.';
  }

  curl_close($ch);

} catch (Exception $e) {
  echo 'Error: ' . $e->getMessage();
}

Il s’agit d’un extrait de code PHP qui établit d’abord une connexion à l’API REST de WooCommerce, puis récupère les clients de la boutique WooCommerce. Enfin, il les envoie au CRM en utilisant cURL. Le code incorpore une gestion des erreurs pour gérer les échecs de flux. Il utilise une bibliothèque PHP appelée automattic/woocommerce, que vous pouvez installer à l’aide de Composer.

Le CRM utilisé ici l’est à des fins de démonstration pour vous montrer une approche générale de la synchronisation de vos données clients avec n’importe quel CRM.

Résumé

L’API REST de WooCommerce vous permet de gérer de manière programmatique les données de votre boutique, d’améliorer l’expérience eCommerce et d’étendre les fonctionnalités de votre boutique en ligne. Cet outil puissant transforme une installation WordPress de base en une plateforme plus sophistiquée.

Pour commencer, installez l’extension WooCommerce dans votre application WordPress et explorez l’API REST à l’aide des exemples fournis dans ce tutoriel. Ceux-ci serviront de base à vos solutions personnalisées.

La vitesse est cruciale pour les sites de commerce électronique ; des temps de chargement plus rapides améliorent l’expérience d’achat. L’API WooCommerce permet de multiples requêtes depuis le frontend vers le backend de WordPress, ce qui souligne l’importance d’une performance optimale du backend.

Le choix d’un fournisseur d’hébergement WooCommerce de haute qualité, tel que Kinsta, est vital pour la performance de votre site web. Apprenez à améliorer la vitesse de votre boutique WooCommerce grâce à notre guide complet.

Que pensez-vous de l’API WooCommerce ? L’avez-vous déjà utilisée ? Partagez avec nous dans la section des commentaires ci-dessous.

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).