Sinds WooCommerce 2.6 is de REST-API volledig geïntegreerd in WooCommerce. Hierdoor is er de mogelijkheid om WooCommerce data te creëren, lezen, updaten en te verwijderen.
Dit wordt allemaal gedaan met behulp van JSON en de WordPress REST-API authenticatie methodes.
Bij de API instellingen van WooCommerce kom je zoals je misschien al door hebt niet uit jezelf.
Vaak kom je hier terecht wanneer je een bepaalde koppeling moet maken om bepaalde taken geautomatiseerd uit te laten voeren. Wanneer je dit echter bij een bepaald programma nodig hebt, zal er eigenlijk altijd wel een uitleg te vinden zijn hoe je dit moet doen.
Enkele voorbeelden waarvoor je gebruik kunt maken van een API zijn bijvoorbeeld een koppeling met het boekhoudprogramma Exact of bijvoorbeeld dat de bestellingen automatisch binnen komen bij het bedrijf waarmee je de verzendingen doet.
In dit artikel wil ik je laten zien wat je allemaal kunt met de API instellingen in WooCommerce, zodat je weet wat er allemaal mogelijk is en waar je alles kunt vinden.
WooCommerce API instellingen
Om bij de API instellingen te komen moet je naar “WooCommerce -> Instellingen -> API” gaan. Op de pagina waar je nu op uitkomt zie je direct staan dat de REST-API is ingeschakeld. Je hoeft hier niets te wijzigen, aangezien het verstandig is om de REST-API aan te laten.
API – Sleutels/Apps
Wanneer we naar het tabblad Sleutels/Apps gaan, kom je op een pagina uit waarbij je een sleutel kunt toevoegen. Deze sleutels zijn er om de toegang te beheren. De sleutels worden verder aan WordPress gebruikersaccounts gekoppeld.
Om een API-sleutel te genereren, kun je op “Sleutel toevoegen” klikken. Je krijgt nu onderstaand scherm te zien waar je een beschrijving kunt invullen, een gebruiker kunt koppelen aan de API-sleutel en waar je aan kunt geven welke rechten je precies wilt geven. Je hebt de mogelijkheid tussen lezen, schrijven of lezen/schrijven.
Zodra je alles hebt ingevuld ben je er helemaal klaar voor en kun je op “API-sleutel genereren” klikken. Je komt nu op een pagina waar je eenmalig, let op het is dus echt eenmalig, de API-sleutel en klantgeheim te zien krijgt die je voor de koppeling kunt gebruiken.
Ik raad je aan om deze gegevens goed op te slaan. Daarnaast is het ook verstandig om deze direct in te vullen en te controleren of alles goed is ingevuld voordat je de pagina afsluit.
Heb je het toch niet helemaal goed opgeslagen of is er iets anders fout gegaan, dan is het uiteindelijk gewoon een kwestie van een nieuwe API-sleutel genereren.
API – Webhooks
Op het tabblad Webhooks kunnen we weer net iets anders. Je kunt met een webhook namelijk een notificatie voor diverse gebeurtenissen naar een zelfgekozen URL sturen. Deze notificatie is een trigger, die ervoor zorgt dat de andere website weer een bepaald iets kan doen.
Webhooks worden dus voornamelijk gebruikt als integratie met koppelingen van externe partijen. Om een webhook aan te maken kun je bovenaan de pagina op de knop “webhook toevoegen” klikken.
Je komt nu op een pagina uit waar je een naam kunt invullen, de status van de webhook kunt selecteren (uitgeschakeld, gepauzeerd of actief), een onderwerp kunt selecteren en de Aflever-URL en geheime sleutel kunt invullen.
Wat nog handig is om te weten is dat je bij onderwerp de actie (trigger) kunt selecteren die doorgestuurd moet worden naar de aflever-URL.
Je kunt bij alle onderwerpen aangeven of het toegevoegd, bijgewerkt of verwijderd is en je kunt kiezen uit de onderwerpen kortingsbon, klant, bestelling en product. Los daarvan kun je ook nog zelf een actie kiezen of een custom actie instellen.
Het externe programma waar je met de webhook een koppeling mee maakt, weet dus door het onderwerp precies wat er moet gebeuren.
12 reacties op “WooCommerce API instellingen en mogelijkheden”
dag Maikel
WooCommerce REST API key aanmaken werkt prima!
Connectie lukt, de ‘index’ opvragen via /wp-json/wc/v3 ook, maar als ik bv een lijst van customers wil opvragen met /wp-json/wc/v3/customers, krig ik een 401 terug met de error “Je kunt gegevensbronnen niet weergeven”
Enig idee ?
Heb je ook ervaring met een koppeling voor stadspasnummers? Dus dat de klant een stadspasnummer moet toevoegen bij het afrekenen en dat het systeem hem herkent als stadspasnummer?
Nee, daar heb ik geen ervaring mee.
loshalen is geen probleem, de impact ervan ben ik meer benieuwd naar
Het enige wat er zal gebeuren is dat de bestellingen niet meer worden doorgezet.
Heb je ook ervaring met het tegenovergestelde?
De koppeling vanuit woocommerce naar exact juíst verwijderen?
Het hangt er maar net vanaf hoe je dit hebt gekoppeld. Je zal dit vermoedelijk bij WooCommerce -> Instellingen -> Geavanceerd kunnen weghalen bij Webhooks of Rest API, tenzij je er een plugin of iets dergelijks voor hebt gebruikt.
Hi Maikel,
Ik heb van een groothandel een API met sleutel (en CSV) gekregen om hun producten in te laden op mijn webshop. Hoe laat ik mijn webshop (automatisch) communiceren middels deze API ?
Groeten,
Geert
Daar zal vermoedelijk nog een script voor geschreven moeten worden. De output van de API groothandel moet namelijk op een goede manier in WooCommerce komen. Wanneer zij hier zelf iets voor hebben gemaakt zal je vermoedelijk een extra plugin kunnen installeren om het met elkaar te verbinden.
Ik heb van IntraPost een functie-codeset (JSON en XML ) gehad voor hun API om een verzendlabel te creëren. Hoe kan ik dit in een bestaande Wordpress-site werkzaam maken ?
Ik vind maar heel weinig voorbeelden en men gaat uit van een bepaald kennisniveau, maar nergens vind ik een compleet voorbeeld. Ik snap dat ik bestanden moet aanmaken en dan zo’n set moet aanroepen, maar waar vind ik een goed, duidelijk voorbeeld.
Het is programmeerwerk om het werkend te krijgen, dus er zal inderdaad een bepaald kennisniveau nodig zijn om dit voor elkaar te krijgen. Ik heb helaas geen goede voorbeelden voor je.
Beste Frank,
Ik begreep van Intrapost dat ze druk bezig zijn met een plugin. Dat die binnen enkele weken beschikbaar komt.
groeten, maarten