Woocommerce koppelen aan Excel

WordPress Woocommerce koppelen aan Excel

In dit artikel leg ik je stap voor stap uit hoe je Woocommerce kunt koppelen aan Excel, met behulp van de native Woocommerce API. Hiervoor moeten we eerst in Woocommerce API sleutels aanmaken, vervolgens gaan we die gegevens omzetten naar een bruikbare sleutel voor Excel Power Query. Dan maken we een eenvoudige query naar Excel.

Woocommerce API sleutel aanmaken

Klik in je WordPress beheeromgeving op Woocommerce > Instellingen > Geavanceerd > Rest API > Sleutel toevoegen.

Kies vervolgens een beschrijving van je API sleutel en kies voor Lezen (we gaan in dit artikel alleen gegevens van de webshop naar Excel importeren). Je krijgt nu een klantsleutel (ck) en klantgeheim (cs) te zien. Kopieer deze allebei naar een veilige plek. Bewaarde deze goed, want achteraf kun je deze niet meer inzien.

API sleutels versleutelen

We gaan nu eerst je klantsleutel en klantgeheim versleutelen. Dit doen we in je eigen browser via het console scherm. Om hier te komen druk op op F12 (Windows & Linux) of option + ⌘ + J op macOS. Vervolgens voer je dit command in, in je Console.

encodedData = "Basic " + window.btoa('<KLANTSLEUTEL>:<KLANTEGEHEIM>')

Concreet voorbeeld van mijn eigen command zie je hieronder.

encodedData = "Basic " + window.btoa('ck_0a994b4977fe9ad3eb7d423c8d0dfefe4db61da9:cs_4377be8a2c4540d79c6dcd31fb7719d46ea21b3d')

Dit levert het de volgende versleutelde credentials op:

'Basic Y2tfMGE5OTRiNDk3N2ZlOWFkM2ViN2Q0MjNjOGQwZGZlZmU0ZGI2MWRhOTpjc180Mzc3YmU4YTJjNDU0MGQ3OWM2ZGNkMzFmYjc3MTlkNDZlYTIxYjNk'

Woocommerce API verbinding met Excel maken

Ga in Excel naar Gegevens > Gegevens ophalen > Uit andere bronnen > Lege Query.

Vervolgens krijg je een lege query, waarin je power query script komt te staan.

Orders in Excel importeren

In ons voorbeeld importeren we de laatste 100 orders van Woocommerce. Maar je kunt allerlei gegevens uit Woocommerce importeren, bijvoorbeeld ook productgegevens of klantgegevens. Dit doen we met het volgende script. Let op dat je de dikgedrukte gedeeltes vervangt voor je eigen domeinnaam + eigen versleutelde API sleutel.

let
Source = Json.Document(Web.Contents("https://www.jouwwebsite.nl/wp-json/wc/v3/orders?per_page=100", [Headers=[Authorization="Basic Y2tfMGE5OTRiNDk3N2ZlOWFkM2ViN2Q0MjNjOGQwZGZlZmU0ZGI2MWRhOTpjc180Mzc3YmU4YTJjNDU0MGQ3OWM2ZGNkMzFmYjc3MTlkNDZlYTIxYjNk"]])),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in #"Converted to Table"

Vervolgens kun je de orderinformatie nog met Power Query voor Excel verder openen, om zo precies de gegevens in Excel te laden die jij wilt.

Tot slot kun je linksboven klikken op Sluiten & Laden om jouw gegevens naar Excel te importeren. De sleutels die ik als voorbeeld heb gebruikt zijn inmiddels niet meer geldig, uiteraard 😉

Laat me gerust weten als je hierover vragen hebt.

4 reacties

  1. Hallo,

    Bedankt voor deze heldere uitleg! Ik kom alleen niet uit het volgende: ik heb circa 2500 records/ orders uit te lezen, maar kan met dit scripts slechts de 100 meest recente records tevoorschijn halen. Hoe kan ik er voor zorgen dat ik al mijn orders in de query kan laden?

    Groeten Martijn

        1. Hoi Koen, sorry voor late reactie. De Woocommerce API kan maar max 100 orders tegelijk ophalen. Je moet dan meerdere query’s maken en die dan toevoegen een een andere query. Dat kan via Start > Query’s toevoegen. Grt Bas

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *