Skip to content

Shermine237/MyOdooConnector

Repository files navigation

WooCommerce API - PHP Client

A PHP wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API securely using this library. If using a HTTPS connection this library uses BasicAuth, else it uses Oauth to provide a secure connection to WooCommerce.

CI status Scrutinizer Code Quality PHP version

Installation

composer require automattic/woocommerce

Getting started

Generate API credentials (Consumer Key & Consumer Secret) following this instructions http://docs.woocommerce.com/document/woocommerce-rest-api/ .

Check out the WooCommerce API endpoints and data that can be manipulated in https://woocommerce.github.io/woocommerce-rest-api-docs/.

Setup

Setup for the new WP REST API integration (WooCommerce 2.6 or later):

require __DIR__ . '/vendor/autoload.php';

use Automattic\WooCommerce\Client;

$woocommerce = new Client(
  'http://example.com',
  'ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  'cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  [
    'version' => 'wc/v3',
  ]
);

Client class

$woocommerce = new Client($url, $consumer_key, $consumer_secret, $options);

Options

Option Type Required Description
url string yes Your Store URL, example: http://woo.dev/
consumer_key string yes Your API consumer key
consumer_secret string yes Your API consumer secret
options array no Extra arguments (see client options table)

Client options

Option Type Required Description
version string no API version, default is wc/v3
timeout int no Request timeout, default is 15
verify_ssl bool no Verify SSL when connect, use this option as false when need to test with self-signed certificates, default is true
follow_redirects bool no Allow the API call to follow redirects
query_string_auth bool no Force Basic Authentication as query string when true and using under HTTPS, default is false
oauth_timestamp string no Custom oAuth timestamp, default is time()
oauth_only bool no Only use oauth for requests, it will disable Basic Auth, default is false
user_agent string no Custom user-agent, default is WooCommerce API Client-PHP
wp_api_prefix string no Custom WP REST API URL prefix, used to support custom prefixes created with the rest_url_prefix filter
wp_api bool no Set to false in order to use the legacy WooCommerce REST API (deprecated and not recommended)
method_override_query bool no If true will mask all non-GET/POST methods by using POST method with added query parameter ?_method=METHOD into URL
method_override_header bool no If true will mask all non-GET/POST methods (PUT/DELETE/etc.) by using POST method with added X-HTTP-Method-Override: METHOD HTTP header into request

Client methods

GET

$woocommerce->get($endpoint, $parameters = []);

POST

$woocommerce->post($endpoint, $data);

PUT

$woocommerce->put($endpoint, $data);

DELETE