Dec 19, 2017 The WooCommerce Multiple Carrier Shipping Plugin combines the power of table rate shipping with real-time rates from shipping companies like FedEx, UPS, USPS, DHL Express & Stamps.com (USPS) to.
Payment Tokens were introduced in 2.6.0 with create and update as methods. Major CRUD changes occurred in 3.0, so these were deprecated (save and delete still work). This legacy class is for backwards compatibility in case any code called -read, -update or -create.
This series covers some development tips and guidance on using the WooCommerce REST API. My favorite feature from the recent WooCommerce 2.1 release is the REST API. I may be a bit biased, since it was my core contribution during the 2.1 release cycle, but it lays important groundwork.
Table of Contents
Common connection issues
The REST API is a powerful part of WooCommerce which lets you read and write various parts of WooCommerce data such as orders, products, coupons, customers, and shipping zones.
Authorization is usually the part most developers get stuck on so this guide will cover a quick way to test that your API is working on your server and you can auth. If this works but your code to use the API does not, please bare in mind it will be a problem with your code. Please do not open issues asking for support about this on Github - use the support forums.
We'll use both Postman and Insomnia clients in these examples. Both are free and will help you visualise what the API offers.
Before proceeding, please read the REST API docs on authentication which covers the important parts concerning API Keys and Auth. We're only covering connecting over HTTPS here since it's the simplest and most secure method. You should avoid HTTP if possible.
Generate Keys
To start using REST API, you first need to generate API keys.
Go to WooCommerce > Settings > Advanced
Go to the REST API tab and click Add key.
Give the key a description for your own reference, choose a user with access to orders etc, and give the key read/write permissions.
Click Generate api key.
Your keys will be shown - do not close this tab yet, the secret will be hidden if you try to view the key again.
Making a basic request
The request URL we'll test is wp-json/wc/v2/orders. On localhost the full URL may look something like this: https://local.wordpress.dev/wp-json/wc/v2/orders. Modify this to use your own site URL.
In Postman, you need to set the fields for request type, request URL, and the settings on the authorization tab. For Authorization, choose basic auth and enter your consumer key and consumer secret keys from WooCommerce into the username and password fields
Once done, hit send and you'll see the JSON response from the API if all worked well. You should see something like this:
Insomnia is almost identical to Postman; fill in the same fields and again use basic auth.
Thats it! The API is working.
If you have problems connnecting, you may need to disable SSL verification - see the connection issues section below.
Common connection issues
Connection issues with localhost and self signed SSL certificates
Google Api Keys
If you're having problems connecting to the REST API on your localhost and seeing errors like this:
You need to disable SSL verification. In Postman you can find this in the settings:
I Can't Generate Api Keys Woocommerce Download
Insomnia also has this setting the preferences area:
401 Unauthorized
Woocommerce Api Documentation
Your API keys or signature is wrong. Ensure that:
The user you generated API keys for actually has access to those resources.
The username when authenticating is your consumer key.
The password when authenticating is your consumer secret.
Make a new set of keys to be sure.
If your server utilizes FastCGI, check that your authorization headers are properly read.
Consumer key is missing
Occasionally servers may not parse the Authorization header correctly (if you see a “Consumer key is missing” error when authenticating over SSL, you have a server issue).
In this case, you may provide the consumer key/secret as query string parameters instead. Example:
Server does not support POST/DELETE/PUT
Woocommerce Api Tutorial
Ideally, your server should be configured to accept these types of API request, but if not you can use the _method property.
See https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/#_method-or-x-http-method-override-header
I’m developing a plugin for an existing site for customers to design custom T-Shirts, which will then get added to the WooCommerce basket/processed as an order.
I’ve copied the theme to a local installation (i.e WAMP) and I’m currently working on it locally.
My problem is in generating API keys specifically for WooCommerce. Whenever I fill in the details and generate one, the loading/circle animation happens indefinitely so I can’t see the key details to use for authorisation. If I refresh it’ll display the created key with the abbreviated consumer key, but I can’t view full details.
Tested it with the live site in case I’d done something wrong with my local installation but it’s having the same problem.
Struggling to find an answer so any help would be appreciated.
I Can't Generate Api Keys Woocommerce Store
The topic ‘Rest API keys not creating properly’ is closed to new replies.