WooCommerce REST API PHP Client Library
About
A PHP wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library., (*1)
Feedback and bug reports are appreciated., (*2)
Requirements
PHP 5.2.x
cURL
WooCommerce 2.2 at least on the store, (*3)
Getting started
Generate API credentials (Consumer Key & Consumer Secret) under WP Admin > Your Profile., (*4)
Setup the library
require_once( 'lib/woocommerce-api.php' );
$options = array(
'ssl_verify' => false,
);
try {
$client = new WC_API_Client( 'http://your-store-url.com', $consumer_key, $consumer_secret, $options );
} catch ( WC_API_Client_Exception $e ) {
echo $e->getMessage() . PHP_EOL;
echo $e->getCode() . PHP_EOL;
if ( $e instanceof WC_API_Client_HTTP_Exception ) {
print_r( $e->get_request() );
print_r( $e->get_response() );
}
}
Options
-
debug
(default false
) - set to true
to add request/response information to the returned data. This is particularly useful for troubleshooting errors., (*5)
-
return_as_array
(default false
) - all methods return data as a stdClass
by default, but you can set this option to true
to return data as an associative array instead., (*6)
-
validate_url
(default false
) - set this to true
to verify that the URL provided has a valid, parseable WC API index, and optionally force SSL when supported., (*7)
-
timeout
(default 30
) - set this to control the HTTP timeout for requests., (*8)
-
ssl_verify
(default true
) - set this to false
if you don't want to perform SSL peer verification for every request., (*9)
Error handling
Exceptions are thrown when errors are encountered, most will be instances of WC_API_Client_HTTP_Exception
which has two additional methods, get_request()
and get_response()
-- these return the request and response objects to help with debugging., (*10)
Methods
Index
-
$client->index->get()
- get the API index
Orders
-
$client->orders->get()
- get a list of orders
-
$client->orders->get( null, array( 'status' => 'completed' ) )
- get a list of completed orders
-
$client->orders->get( $order_id )
- get a single order
Credit
Copyright (c) 2013-2014 - Gerhard Potgieter, Max Rice and other contributors, (*11)
License
Released under the GPL3 license, (*12)