Het beheren van een online winkel is duur en eigenaren hebben daarbij vaak te maken met veel handmatige processen. De WooCommerce REST API vereenvoudigt deze workflow, zodat je e-commerce platforms kunt besturen en WooCommerce winkels programmatisch kunt beheren en schalen.

Het uitvoeren van integraties, automatisering en het uitbreiden van de mogelijkheden van je online winkel zijn naadloze handelingen met de WooCommerce REST API. Je bespaart middelen en tijd, die je kunt gebruiken om je processen verder te stroomlijnen. Hierdoor kun je ook de look en feel van je winkel aanpassen met flexibele externe toepassingen.

Dit artikel geeft je een uitgebreid inzicht in de WooCommerce REST API, waarmee je je e-commerce activiteiten programmatisch kunt automatiseren en verbeteren. Het biedt praktische inzichten, gebruikssituaties en codevoorbeelden om de naadloze integratie en aanpassing van WooCommerce winkels te vergemakkelijken.

Vereisten

Om met WooCommerce REST API aan de slag te gaan, moet je:

  • WooCommerce versie 3.5 of hoger.
  • WordPress versie 4.4 of hoger.
  • Postman of Insomnia voor API testen en interactie.

Aan de slag met de WooCommerce REST API

Om te beginnen moet je een WordPress site maken en vervolgens de API referenties genereren in WooCommerce.

Maak een WordPress site met Kinsta

Als je nog geen WordPress site hebt, kun je er eenvoudig een maken via je MyKinsta dashboard.

  1. Navigeer naar je MyKinsta account en klik op de WordPress Sites in de linker zijbalk.
  2. Selecteer in het vervolgkeuzemenu Site toevoegen de optie Nieuwe site maken en ga dan door naar de volgende pagina, waar je de optie WordPress installeren kunt kiezen en op Doorgaan kunt klikken.
  3. Voer je sitenaam en datacenterlocatie in bij Siteopties en klik op Doorgaan.
  4. Voer in het volgende tabblad je sitetitel en beheerdersgegevens in. Selecteer een taal en schakel het selectievakje WooCommerce installeren in om de plugin WooCommerce te installeren.

    Een WordPress site maken en WooCommerce installeren.
    Een WordPress site maken en WooCommerce installeren.

  5. Klik op Doorgaan. Dit start het maken van je site en stuurt een melding naar je WordPress admin e-mail zodra het is voltooid. Zorg ervoor dat je de gebruikersnaam en het wachtwoord van je WordPress-admin ergens veilig bewaart.

API-gegevens genereren in WooCommerce

Volg deze stappen om je WooCommerce API-referenties te genereren:

  1. Log in op je WordPress dashboard, selecteer Plugins > Installed plugins in de zijbalk en activeer de WooCommerce plugin.
  2. Nadat je de plugin hebt geactiveerd, selecteer je WooCommerce > Settings. Klik vervolgens op het tabblad Advanced om naar de pagina met geavanceerde instellingen voor WooCommerce te gaan.
  3. Klik vervolgens op REST API.

    De pagina met API-sleutelgegevens.
    De pagina met API-sleutelgegevens.

  4. Klik op Create an API key of Add key om een API sleutel te genereren.
  5. Vervolgens wordt je gevraagd om de Key details in te voeren. Dit zijn beschrijving, gebruiker en rechten. Voer je sleutelbeschrijving in, wijzig indien nodig de gebruiker en selecteer Read/Write voor de machtigingen.

    Het Key details venster. De beschrijving, gebruiker en rechten zijn toegevoegd
    API-sleutelgegevens genereren.

  6. Klik op Generate API key. Met de gegenereerde API sleutels kun je je winkelgegevens programmatisch benaderen en beheren. Noteer je consumer key en secret, want die zul je in het volgende gedeelte gebruiken om API calls te maken.

    Het venster Key details toont een bericht: API Sleutel succesvol gegenereerd. Zorg ervoor dat je nu je nieuwe sleutels kopieert, want de geheime sleutel wordt verborgen zodra je deze pagina verlaat.
    Gegenereerde API-sleutelgegevens.

De WooCommerce REST API architectuur begrijpen

De WooCommerce API is gebouwd op een REST architectuur. Hierdoor kun je lees- en schrijfbewerkingen uitvoeren op WooCommerce gegevens, zoals bestellingen, producten en klanten, door verzoeken via de juiste methoden (GET, POST, PUT, DELETE) naar het endpoint te sturen.

Een endpoint bestaat uit de verzoekmethoden samen met een standaard URL. Met een endpoint kun je de tool van je keuze (Postman of Insomnia) gebruiken om toegang te krijgen tot verschillende opgeslagen gegevens.

Een lijst met producten ophalen

Voordat je de lijst met producten ophaalt, moet je ervoor zorgen dat je er een paar aan je winkel hebt toegevoegd. Je moet de structuur van de permalink veranderen in iets anders dan Plain.

Klik op Settings > Permalinks in de zijbalk en wijzig de permalinkstructuur. Als je deze wijziging niet aanbrengt, zal je standaard URL endpoint niet werken zoals het hoort. Klik op Save changes.

Open vervolgens Postman en voeg een nieuw verzoek toe. Gebruik https://<yourdomain>/wp-json/wc/v3/products in de URL sectie. Zorg ervoor dat je <yourdomain> vervangt door het domein van je WooCommerce site.

Op het tabblad autorisatie selecteer je Basic Auth en voer je je user key in als Username en je secret key als Password. Je moet deze autorisatie toevoegen aan elk verzoek dat je doet naar je WooCommerce REST API. Verzend het verzoek en je zou een lijst met alle producten in je winkel moeten ontvangen.

Stuur een GET-verzoek op postman met basisauth gemarkeerd
Een lijst met producten ophalen in Postman.

Producten beheren via de REST API

Het productobject heeft een lijst met attributen waarmee je eenvoudig producten kunt groeperen, de voorraad kunt beheren en prijzen kunt instellen – allemaal programmatisch.

Stel dat je een nieuw product wilt toevoegen aan een productgroep die je hebt gemaakt – alles wat je nodig hebt is de productgroep ID in het grouped_products attribuut.

Om de voorraad te beheren, gebruik je de attributen manage_stock en stock_status, die respectievelijk zijn ingesteld op true of false en instock, onbackorder en outofstock.

Laten we eens kijken hoe je een bestaand productdetail kunt toevoegen en bijwerken.

Product toevoegen met de WooCommerce API

  1. Voeg in Postman een nieuw verzoek toe en verander de verzoekmethode in POST. Hergebruik de URL van het endpoint die je in de vorige sectie hebt gebruikt. Klik op het tabblad Body, selecteer raw en kies JSON als format voor de body. De JSON payload bevat de naam van het product, het type (eenvoudig, variabel of gegroepeerd), de beschrijving en de korte beschrijving. Het heeft ook categorieën, tags en afbeeldingen die je naar behoefte kunt toevoegen.
    {
     "name": "iPhone 15 Pro Max",
     "type": "simple",
     "description": "",
     "short_description": "",
     "categories": [
     ],
     "tags": [],
     "images": []
    }
  2. Voer het verzoek uit. Als het product succesvol is aangemaakt, ontvang je een productobject als antwoord. Noteer het product-ID, want die heb je nodig in de volgende sectie.

    Stuur een POST-verzoek naar postman om een nieuw product te maken
    Een product maken.

Een product bewerken met WooCommerce API

Laten we het record bewerken dat je zojuist hebt gemaakt.

  1. Op het tabblad Body voeg je deze JSON body toe:
    {
      "name": "iPhone 15 Pro"
    }

    Omdat je alleen het veld name bijwerkt, hoef je geen andere attributen toe te voegen. Verander het in dit geval in “iPhone 15 Pro”. De URL van het eindpunt moet https://yourdomain/wp-json/wc/v3/products/<id> zijn.

  2. Vervang id door de ID van het product dat je in de vorige sectie hebt gemaakt. Vergeet niet de aanvraagmethode te wijzigen in PUT. Voer het verzoek uit en je zou een productobject als respons moeten krijgen. Je kunt de naam van het product in de respons controleren om te bevestigen dat de update is gelukt.

    Een PUT verzoek verzenden om productinformatie te bewerken
    Een product bewerken.

Bestellingen beheren met de REST API

De WooCommerce REST API vergemakkelijkt het automatiseren van de orderverwerking door het naadloos ophalen van orders en het bijwerken van orderstatussen mogelijk te maken. Je kunt bestellingen programmatisch ophalen, filteren op basis van verschillende criteria zoals datum, status of klant en ze vervolgens efficiënt verwerken.

Hieronder valt ook het bijwerken van bestelstatussen om de verschillende stadia van uitvoering of verwerking weer te geven. De WooCommerce REST API zorgt vervolgens voor nauwkeurige tracering en communicatie met klanten. Daarnaast kun je via de API terugbetalingen beheren, inclusief het afhandelen van terugbetalingsverzoeken, het automatisch verwerken van terugbetalingen en het bijwerken van bestelstatussen (na terugbetalingen).

Laten we eens kijken hoe je recente bestellingen kunt ophalen en de status van een bestelling kunt bijwerken naar “voltooid”

Recente bestellingen ophalen met WooCommerce API

  1. Voeg in Postman een nieuw verzoek toe voor het ophalen van bestellingen met behulp van een GET verzoek. De URL van het endpoint moet er als volgt uitzien:
    https:///wp-json/wc/v3/orders
  2. Voer op het tabblad Params de sleutel in after en de waarde voor de datum waarop je bestellingen zijn aangemaakt. Gebruik in dit geval 2024-03-08T00:00:00. Je kunt deze datum naar wens aanpassen. Hiermee kun je je bestellingen filteren op bestellingen van na een bepaalde datum. Laat de andere Postman instellingen standaard staan.
  3. Zorg ervoor dat je een paar bestellingen hebt gedaan in je WooCommerce winkel om te voorkomen dat je een lege lijst terugkrijgt. Voer het verzoek uit en je zou een lijst moeten krijgen met alle bestellingen die in je winkel zijn gedaan en die voldoen aan de opgegeven criteria.

    Het Postman venster toont het GET verzoek. GET is gemarkeerd met het URL endpoint. Hieronder is het tabblad Params actief met de invoer after en 2024-03-08T00:00:00 aangevinkt en gemarkeerd. Daaronder is het tabblad Body actief met een array van JSON's.
    Recente bestellingen ophalen na een bepaalde datum.

Bestelstatus bijwerken

Om je bestelstatus bij te werken, pak je de ID van een bestelling die je al hebt gedaan. Voeg een nieuw verzoek toe in Postman en verander het verzoek in PUT. Gebruik dit eindpunt voor een update: https://yourdomain/wp-json/wc/v3/orders/<existing-order-id>. Voeg op het tabblad Body deze JSON body toe:

{
  "status": "completed"
}

Voer het verzoek uit en je zou een antwoord moeten ontvangen met de bestelling gemarkeerd als voltooid.

Het Postman venster toont het PUT verzoek. Gemarkeerd is een PUT met het URL eindpunt. Daaronder is de Body tab actief met de raw optie aangevinkt en JSON dropdown geselecteerd
Bestelstatus bijwerken.

Klantenbeheer en klantenbinding

Via de WooCommerce REST API kunnen bedrijven efficiënt nieuwe klantprofielen aanmaken, bestaande klantgegevens bewerken en uitgebreide informatie opvragen, zoals aankoopgeschiedenis en voorkeuren.

Door deze informatie te analyseren kunnen ze gepersonaliseerde marketingstrategieën maken en gerichte promoties, productaanbevelingen en loyaliteitsbeloningen aanbieden op basis van individueel winkelgedrag.

Dit niveau van klantgegevensbeheer stelt bedrijven in staat om sterkere relaties met klanten op te bouwen, de klanttevredenheid te verhogen en herhaalaankopen te stimuleren.

Een klant toevoegen met WooCommerce API

  1. Stuur een POST verzoek naar deze URL: https://<yourdomain>/wp-json/wc/v3/customers. Vergeet niet om autorisatie toe te voegen zoals je eerder hebt gedaan.
  2. Gebruik in het tabblad Body dit JSON object om een klant aan te maken:
    {
      "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"
      }
    }

    Het JSON object bevat basisgegevens van de klant, zoals e-mail, naam, rol en gebruikersnaam. Het bevat ook factuur- en verzendgegevens, waaronder het adres, de locatie en het telefoonnummer van de klant.

  3. Voer het verzoek uit en je zou een respons moeten ontvangen met het klantobject. Onthoud de klant-ID, die je in de volgende sectie zult gebruiken om een klant op te halen.

Een klant op ID ophalen met WooCommerce API

Laten we de gebruiker die je zojuist hebt aangemaakt ophalen via zijn ID.

  1. Maak een nieuw verzoek aan met de GET verzoekmethode.
  2. Gebruik dezelfde endpoint URL, https://<yourdomain>/wp-json/wc/v3/customers/<existing-customer-id> en voeg het ID toe van de klant die je wilt ophalen.

Geavanceerde gebruiksmogelijkheden van de WooCommerce REST API

Naast het beheren van je winkel kun je de WooCommerce REST API ook gebruiken voor andere complexe taken, zoals integratie met CRM, voorraadbeheerautomatisering en aangepaste analyses en rapportages.

Het integreren van je WooCommerce winkel in een CRM naar keuze met behulp van REST API zorgt ervoor dat wanneer een klant wordt toegevoegd, dit direct wordt weergegeven op je CRM dashboard als een lead. Dit maakt het eenvoudig om de synchronisatie van klantinformatie en bestelgeschiedenis te beheren.

REST API’s maken ook geautomatiseerd voorraadbeheer mogelijk. Door je externe voorraadbeheer te integreren, kun je realtime inzicht krijgen in de voorraad en productbeschikbaarheid. Dit geldt ook voor aangepaste rapporten en analyses.

Met WooCommerce REST API kun je rapportagefuncties bouwen die je een overzicht geven, helpen bij het nemen van beslissingen, trends identificeren en prognoses maken.

Hier is een codefragment voor het synchroniseren van WooCommerce klantgegevens met een CRM platform:

<?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();
}

Dit is een PHP codefragment dat eerst een verbinding maakt met de WooCommerce REST API en dan klanten ophaalt uit de WooCommerce winkel. Tot slot stuurt het ze naar het CRM met behulp van cURL. De code bevat foutafhandeling om mislukte flows te beheren. Het gebruikt een PHP bibliotheek genaamd automattic/woocommerce, die je kunt installeren met Composer.

Het CRM dat hier wordt gebruikt is een demonstratie om een algemene aanpak te laten zien voor het synchroniseren van je klantgegevens met een CRM.

Samenvatting

Met de WooCommerce REST API kun je winkelgegevens programmatisch beheren, de eCommerce ervaring verbeteren en de functionaliteit van je webwinkel uitbreiden. Deze krachtige tool transformeert een basis WordPress setup in een meer geavanceerd platform.

Om te beginnen installeer je de WooCommerce plugin in je WordPress applicatie en verken je de REST API met behulp van de voorbeelden in deze tutorial. Deze dienen als basis voor je eigen oplossingen.

Snelheid is cruciaal voor e-commerce sites; snellere laadtijden verbeteren de winkelervaring. De WooCommerce API maakt meerdere verzoeken van de frontend naar de backend van WordPress mogelijk, wat het belang van optimale backend prestaties benadrukt.

Het kiezen van een WooCommerce Hosting provider van hoge kwaliteit, zoals Kinsta, is van vitaal belang voor de prestaties van je website. Leer hoe je de snelheid van je WooCommerce winkel kunt verbeteren met onze uitgebreide gids.

Wat vind jij van de WooCommerce API? Heb je hem al eerder gebruikt? Deel het met ons in de comments hieronder.

Jeremy Holcombe Kinsta

Content & Marketing Editor bij Kinsta, WordPress Web Developer en Content Writer. Buiten alles wat met WordPress te maken heeft, geniet ik van het strand, golf en films. En verder heb ik last van alle problemen waar andere lange mensen ook tegenaan lopen ;).