Die Verwaltung eines Onlineshops ist kostspielig, und die Inhaber müssen oft viele manuelle Prozesse bewältigen. Die WooCommerce REST API vereinfacht diesen Arbeitsablauf und ermöglicht es dir, E-Commerce-Plattformen zu steuern und WooCommerce-Shops programmatisch zu verwalten und zu skalieren.

Mit der WooCommerce REST API lassen sich Integrationen, Automatisierungen und Erweiterungen deines Onlineshops nahtlos durchführen. Du sparst Ressourcen und Zeit, die du nutzen kannst, um deine Prozesse weiter zu rationalisieren. Außerdem kannst du das Aussehen deines Shops mit flexiblen externen Anwendungen anpassen.

Dieser Artikel vermittelt dir ein umfassendes Verständnis der WooCommerce REST API, mit der du deine eCommerce-Abläufe programmatisch automatisieren und verbessern kannst. Er bietet praktische Einblicke, Anwendungsfälle und Codebeispiele, um die nahtlose Integration und Anpassung von WooCommerce-Shops zu erleichtern.

Voraussetzungen

Um mit der WooCommerce REST API zu beginnen, musst du Folgendes verwenden:

  • WooCommerce Version 3.5 oder höher.
  • WordPress Version 4.4 oder höher.
  • Postman oder Insomnia für API-Tests und Interaktion.

Erste Schritte mit der WooCommerce REST API

Um loszulegen, musst du eine WordPress-Website erstellen und dann die API-Anmeldedaten in WooCommerce generieren.

Eine WordPress-Website mit Kinsta erstellen

Wenn du noch keine WordPress-Website hast, kannst du sie ganz einfach über dein MyKinsta-Dashboard erstellen.

  1. Navigiere zu deinem MyKinsta-Konto und klicke in der linken Seitenleiste auf WordPress-Websites.
  2. Wähle im Dropdown-Menü Website hinzufügen die Option Neue Website erstellen und gehe dann zur nächsten Seite, wo du die Option WordPress installieren auswählst und auf Weiter klickst.
  3. Gib den Namen deiner Website und den Standort deines Rechenzentrums unter Website-Optionen ein und klicke auf Weiter.
  4. Auf der nächsten Registerkarte gibst du den Titel deiner Website und deine Admin-Anmeldedaten ein. Wähle eine Sprache aus und aktiviere das Kontrollkästchen WooCommerce installieren, um das WooCommerce-Plugin zu installieren.

    Erstellen einer WordPress-Website und Installation von WooCommerce
    Erstellen einer WordPress-Website und Installation von WooCommerce

  5. Klicke auf Weiter. Damit wird die Erstellung deiner Website eingeleitet und eine Benachrichtigung an deine WordPress-Administrator-E-Mail gesendet, sobald sie abgeschlossen ist. Achte darauf, dass du deinen Benutzernamen und dein Passwort für den WordPress-Administrator an einem sicheren Ort aufbewahrst.

API-Anmeldeinformationen in WooCommerce generieren

Um deine WooCommerce-API-Zugangsdaten zu generieren, befolge diese Schritte:

  1. Logge dich in dein WordPress-Dashboard ein, wähle Plugins > Installierte Plugins in der Seitenleiste und aktiviere das WooCommerce-Plugin.
  2. Nachdem du das Plugin aktiviert hast, wähle WooCommerce > Einstellungen. Klicke dann auf die Registerkarte Erweitert, um die Seite mit den erweiterten Einstellungen von WooCommerce aufzurufen.
  3. Klicke dann auf REST API.

    Das WooCommerce-Einstellungsfenster
    Seite mit den API-Schlüssel-Anmeldeinformationen

  4. Klicke auf API-Schlüssel erstellen oder Schlüssel hinzufügen, um einen API-Schlüssel zu erstellen.
  5. Anschließend wirst du aufgefordert, die Schlüsseldetails einzugeben. Das sind die Beschreibung, der Benutzer und die Berechtigungen. Gib die Beschreibung deines Schlüssels ein, ändere den Benutzer, falls erforderlich, und wähle Lesen/Schreiben als Berechtigung.

    Das Fenster mit den Schlüsseldetails. Die Beschreibung, der Benutzer und die Berechtigungen werden hinzugefügt Das Fenster mit den Schlüsseldetails.
    Generieren der API-Schlüssel-Anmeldedaten

  6. Klicke auf API-Schlüssel generieren. Mit den generierten API-Schlüsseln kannst du programmatisch auf die Daten deines Shops zugreifen und sie verwalten. Notiere dir deinen Verbraucherschlüssel und dein Geheimnis, denn du wirst sie im nächsten Abschnitt für API-Anfragen verwenden.

    Das Fenster mit den Schlüsseldetails zeigt eine Meldung an: API-Schlüssel erfolgreich generiert. Stelle sicher, dass du deine neuen Schlüssel jetzt kopierst, da der geheime Schlüssel versteckt wird, sobald du diese Seite verlässt.
    Generierte API-Schlüssel-Zugangsdaten

Die REST-API-Architektur von WooCommerce verstehen

Die WooCommerce-API basiert auf der REST-Architektur. Damit kannst du WooCommerce-Daten wie Bestellungen, Produkte und Kunden lesen und schreiben, indem du Anfragen mit den entsprechenden Methoden (GET, POST, PUT, DELETE) an den Endpunkt sendest.

Ein Endpunkt besteht aus den Abfragemethoden und einer Standard-URL. Mit einem Endpunkt kannst du mit einem Tool deiner Wahl (Postman oder Insomnia) auf verschiedene gespeicherte Daten zugreifen.

Eine Liste von Produkten abrufen

Bevor du die Produktliste abrufst, musst du sicherstellen, dass du einige Produkte zu deinem Shop hinzugefügt hast. Du musst die Permalink-Struktur in etwas anderes als Plain ändern.

Klicke in der Seitenleiste auf Einstellungen > Permalinks und ändere die Permalink-Struktur. Wenn du diese Änderung nicht vornimmst, wird dein Standard-URL-Endpunkt nicht so funktionieren, wie er sollte. Klicke auf Änderungen speichern.

Als nächstes öffnest du Postman und fügst eine neue Anfrage hinzu. Verwende im Abschnitt URL https://<yourdomain>/wp-json/wc/v3/products. Achte darauf, dass du <yourdomain> durch die Domain deiner WooCommerce-Website ersetzt.

Auf der Registerkarte Autorisierung wählst du die Option Basisautorisierung und gibst deinen Kundenschlüssel als Benutzernamen und das Kundengeheimnis als Passwort ein. Du musst diese Berechtigung zu jeder Anfrage an deine WooCommerce REST API hinzufügen. Wenn du die Anfrage abschickst, solltest du eine Liste mit allen Produkten in deinem Laden erhalten.

Sende eine GET-Anfrage an postman mit hervorgehobener Basisauthentifizierung
Abrufen einer Liste von Produkten in Postman

Verwalten von Produkten über die REST-API

Das Produktobjekt verfügt über eine Liste von Attributen, mit denen du Produkte ganz einfach gruppieren, den Bestand verwalten und Preise festlegen kannst – und das alles programmgesteuert.

Angenommen, du möchtest ein neues Produkt zu einer von dir erstellten Produktgruppe hinzufügen – alles, was du brauchst, ist die Produktgruppen-ID im Attribut grouped_products.

Um den Bestand zu verwalten, verwendest du die Attribute manage_stock und stock_status, die entweder auf true oder false und instock, onbackorder bzw. outofstock gesetzt werden.

Sehen wir uns an, wie du ein bestehendes Produktdetail hinzufügen und aktualisieren kannst.

Produkt mit der WooCommerce API hinzufügen

  1. Füge in Postman eine neue Anfrage hinzu und ändere die Anfragemethode in POST. Verwende die Endpunkt-URL aus dem vorherigen Abschnitt. Klicke auf die Registerkarte Body , wähle raw und wähle JSON als Format für den Body. Die JSON-Nutzdaten enthalten den Produktnamen, den Typ (einfach, variabel oder gruppiert), die Beschreibung und die Kurzbeschreibung. Außerdem enthält er Kategorien, Tags und Bilder, die du bei Bedarf hinzufügen kannst.
    {
     "name": "iPhone 15 Pro Max",
     "type": "simple",
     "description": "",
     "short_description": "",
     "categories": [
     ],
     "tags": [],
     "images": []
    }
  2. Führe die Anfrage aus. Wenn das Produkt erfolgreich erstellt wurde, solltest du ein Produktobjekt als Antwort erhalten. Notiere dir die Produkt-ID, denn du wirst sie im nächsten Abschnitt brauchen.

    Sende eine POST-Anfrage an postman, um ein neues Produkt zu erstellen
    Ein Produkt erstellen

Ein Produkt mit der WooCommerce API bearbeiten

Bearbeiten wir den Datensatz, den du gerade erstellt hast.

  1. Füge auf der Registerkarte Body diesen JSON-Body hinzu:
    {
      "name": "iPhone 15 Pro"
    }

    Da du nur das Feld name aktualisierst, brauchst du keine weiteren Attribute hinzuzufügen. In diesem Fall änderst du es in „iPhone 15 Pro“. Die Endpunkt-URL sollte https://yourdomain/wp-json/wc/v3/products/<id> lauten.

  2. Ersetze id durch die ID des Produkts, das du im vorherigen Abschnitt erstellt hast. Vergiss nicht, die Anfragemethode in PUT zu ändern. Führe die Anfrage aus und du solltest ein Produktobjekt als Antwort erhalten. Du kannst den Produktnamen in der Antwort überprüfen, um zu sehen, ob das Produkt erfolgreich aktualisiert wurde.

    Senden einer PUT-Anfrage zur Bearbeitung einer Produktinformation
    Ein Produkt bearbeiten

Auftragsverwaltung mit der REST API

Die WooCommerce REST API erleichtert die Automatisierung der Bestellabwicklung, indem sie das nahtlose Abrufen von Bestellungen und die Aktualisierung des Bestellstatus ermöglicht. Mit ihr kannst du Bestellungen programmatisch abrufen, nach verschiedenen Kriterien wie Datum, Status oder Kunde filtern und sie dann effizient bearbeiten.

Dazu gehört auch die Aktualisierung des Bestellstatus, um verschiedene Stadien der Erfüllung oder Bearbeitung widerzuspiegeln. Die WooCommerce REST API sorgt dann für eine genaue Nachverfolgung und Kommunikation mit den Kunden. Außerdem kannst du Rückerstattungen über die API verwalten, einschließlich der Bearbeitung von Rückerstattungsanfragen, der automatischen Verarbeitung von Rückerstattungen und der Aktualisierung des Bestellstatus (nach Rückerstattungen).

Schauen wir uns an, wie du die letzten Bestellungen abrufen und den Status einer Bestellung auf „abgeschlossen“ aktualisieren kannst

Abrufen der letzten Bestellungen mit der WooCommerce API

  1. Füge in Postman eine neue Anfrage zum Abrufen von Bestellungen mit einer GET-Anfrage hinzu. Die Endpunkt-URL sollte wie folgt lauten:
    https:///wp-json/wc/v3/orders
  2. Gib auf der Registerkarte Params den Schlüssel after und den Wert für das Datum ein, nach dem deine Bestellungen eingegangen sind. In diesem Fall nimmst du 2024-03-08T00:00:00. Du kannst dieses Datum nach Belieben ändern. So kannst du nur die Bestellungen herausfiltern, die nach einem bestimmten Datum erstellt wurden. Belasse die anderen Postman-Einstellungen als Standard.
  3. Vergewissere dich, dass du einige Bestellungen in deinem WooCommerce-Shop getätigt hast, damit du keine leere Liste erhältst. Wenn du die Anfrage ausführst, solltest du eine Liste aller Bestellungen in deinem Shop erhalten, die den angegebenen Kriterien entsprechen.

    Das Postman-Fenster zeigt die GET-Anfrage. Hervorgehoben ist GET mit dem URL-Endpunkt. Darunter ist die Registerkarte Params aktiv, wobei die Eingaben after und 2024-03-08T00:00:00 aktiviert und hervorgehoben sind. Darunter ist die Registerkarte Body aktiv, die ein Array von JSONs zurückgibt.
    Abruf der letzten Bestellungen nach einem bestimmten Datum

Bestellstatus aktualisieren

Um den Status deiner Bestellung zu aktualisieren, nimm die ID einer Bestellung, die du bereits getätigt hast. Füge eine neue Anfrage in Postman hinzu und ändere ihre Anfrage in PUT. Verwende diesen Endpunkt für eine Aktualisierung: https://yourdomain/wp-json/wc/v3/orders/<existing-order-id>. Füge auf der Registerkarte Body diesen JSON-Body hinzu:

{
  "status": "completed"
}

Führe die Anfrage aus und du solltest eine Antwort erhalten, in der die Bestellung als abgeschlossen markiert ist.

Das Postman-Fenster zeigt die PUT-Anfrage. Hervorgehoben ist ein PUT mit dem URL-Endpunkt. Darunter ist die Registerkarte
Bestellstatus aktualisieren

Kundenmanagement und Kundenbindung

Über die WooCommerce REST API können Unternehmen effizient neue Kundenprofile erstellen, bestehende Kundendaten bearbeiten und umfassende Informationen wie Kaufhistorien und Vorlieben abrufen.

Durch die Analyse dieser Informationen können sie personalisierte Marketingstrategien entwickeln und gezielte Werbeaktionen, Produktempfehlungen und Treueprämien auf der Grundlage des individuellen Einkaufsverhaltens anbieten.

Mit dieser Art der Kundendatenverwaltung können Unternehmen engere Beziehungen zu ihren Kunden aufbauen, die Kundenzufriedenheit steigern und Wiederholungskäufe fördern.

Einen Kunden mit der WooCommerce API hinzufügen

  1. Sende eine POST-Anfrage an diese Endpunkt-URL: https://<yourdomain>/wp-json/wc/v3/customers. Vergiss nicht, die Autorisierung anzugeben, wie du es bereits getan hast.
  2. Verwende auf der Registerkarte Body dieses JSON-Objekt, um einen Kunden zu erstellen:
    {
      "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"
      }
    }

    Das JSON-Objekt enthält grundlegende Kundendaten wie E-Mail, Name, Rolle und Benutzername. Außerdem enthält es Rechnungs- und Versandinformationen, einschließlich der Adresse, des Standorts und der Telefonnummer des Kunden.

  3. Führe die Anfrage aus und du solltest eine Antwort mit dem Kundenobjekt erhalten. Merke dir die Kunden-ID, die du im nächsten Abschnitt verwenden wirst, um einen Kunden abzurufen.

Abruf eines Kunden nach ID mit der WooCommerce API

Rufen wir den Benutzer, den du gerade erstellt hast, über seine ID ab.

  1. Erstelle eine neue Anfrage mit der Abfragemethode GET .
  2. Verwende dieselbe Endpunkt-URL, https://<yourdomain>/wp-json/wc/v3/customers/<existing-customer-id>, und füge die ID des Kunden hinzu, den du abrufen möchtest.

Erweiterte Anwendungsfälle der WooCommerce REST API

Neben der Verwaltung von Shop-Ressourcen kannst du die WooCommerce REST API auch für andere komplexe Aufgaben nutzen, z. B. für die Integration in ein CRM, die Automatisierung der Bestandsverwaltung sowie für benutzerdefinierte Analysen und Berichte.

Durch die Integration deines WooCommerce-Shops in das CRM deiner Wahl über die REST-API wird sichergestellt, dass jeder neue Kunde sofort als Lead auf deinem CRM-Dashboard angezeigt wird. So kannst du die Synchronisierung von Kundeninformationen und Bestellhistorien einfach verwalten.

REST-APIs ermöglichen auch eine automatisierte Bestandsverwaltung. Durch die Integration deiner externen Bestandsverwaltung erhältst du in Echtzeit Einblick in den Bestand und die Produktverfügbarkeit. Das gilt auch für benutzerdefinierte Berichte und Analysen.

Mit der WooCommerce REST API kannst du Berichtsfunktionen erstellen, die dir eine Vogelperspektive bieten und dir bei der Entscheidungsfindung, dem Erkennen von Trends und der Erstellung von Prognosen helfen.

Hier ist ein Codeschnipsel für die Synchronisierung von WooCommerce-Kundendaten mit einer CRM-Plattform:

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

Dieses PHP-Codefragment stellt zunächst eine Verbindung zur WooCommerce REST API her und ruft dann die Kunden aus dem WooCommerce-Shop ab. Anschließend werden sie mit cURL an das CRM-System gesendet. Der Code enthält eine Fehlerbehandlung, um Störungen des Datenflusses zu bewältigen. Er verwendet eine PHP-Bibliothek namens automattic/woocommerce, die du mit Composer installieren kannst.

Das hier verwendete CRM dient nur zu Demonstrationszwecken, um dir einen allgemeinen Ansatz für die Synchronisierung deiner Kundendaten mit einem beliebigen CRM zu zeigen.

Zusammenfassung

Mit der WooCommerce REST API kannst du die Daten deines Shops programmatisch verwalten, das eCommerce-Erlebnis verbessern und die Funktionalität deines Online-Shops erweitern. Dieses leistungsstarke Tool verwandelt ein einfaches WordPress-System in eine hochentwickelte Plattform.

Um loszulegen, installiere das WooCommerce-Plugin in deiner WordPress-Anwendung und erkunde die REST-API anhand der Beispiele in diesem Leitfaden. Diese dienen als Grundlage für deine eigenen Lösungen.

Geschwindigkeit ist für eCommerce-Websites entscheidend; schnellere Ladezeiten verbessern das Einkaufserlebnis. Die WooCommerce-API ermöglicht mehrere Anfragen vom Frontend an das WordPress-Backend, was die Bedeutung einer optimalen Backend-Leistung unterstreicht.

Die Wahl eines hochwertigen WooCommerce-Hosting-Anbieters wie Kinsta ist entscheidend für die Leistung deiner Website. In unserem umfassenden Leitfaden erfährst du, wie du die Geschwindigkeit deines WooCommerce-Shops steigern kannst.

Was hältst du von der WooCommerce-API? Hast du sie schon einmal genutzt? Teile sie uns im Kommentarfeld unten mit.

Jeremy Holcombe Kinsta

Content & Marketing Editor bei Kinsta, WordPress Web Developer und Content Writer. Außerhalb von WordPress genieße ich den Strand, Golf und Filme. Außerdem habe ich Probleme mit großen Menschen ;).