Skip to content

Repository files navigation

WooCommerce API - Ruby Client

A Ruby wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library.

build statusgem version

Installation

gem install woocommerce_api

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"woocommerce_api"woocommerce=WooCommerce::API.new("http://example.com","ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",{wp_api: true,version: "wc/v1"})

Setup for the WooCommerce legacy API:

require"woocommerce_api"woocommerce=WooCommerce::API.new("http://example.com","ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",{version: "v3"})

Options

OptionTypeRequiredDescription
urlStringyesYour Store URL, example: http://woo.dev/
consumer_keyStringyesYour API consumer key
consumer_secretStringyesYour API consumer secret
argsHashnoExtra arguments (see Args options table)

Args options

OptionTypeRequiredDescription
wp_apiBoolnoAllow requests to the WP REST API (WooCommerce 2.6 or later)
versionStringnoAPI version, default is v3
verify_sslBoolnoVerify SSL when connect, use this option as false when need to test with self-signed certificates
signature_methodStringnoSignature method used for oAuth requests, works with HMAC-SHA1 and HMAC-SHA256, default is HMAC-SHA256
query_string_authBoolnoForce Basic Authentication as query string when true and using under HTTPS, default is false
debug_modeBoolnoEnables HTTParty debug mode
httparty_argsHashnoAllows extra HTTParty args

Methods

ParamsTypeDescription
endpointStringWooCommerce API endpoint, example: customers or order/12
dataHashOnly for POST and PUT, data that will be converted to JSON
queryHashOnly for GET and DELETE, request query string

GET

  • .get(endpoint, query)

POST

  • .post(endpoint, data)

PUT

  • .put(endpoint, data)

DELETE

  • .delete(endpoint, query)

OPTIONS

  • .options(endpoint)

Response

All methods will return HTTParty::Response object.

response=api.get"customers"putsresponse.parsed_response# A Hash of the parsed JSON response# Example: {"customers"=>[{"id"=>8, "created_at"=>"2015-05-06T17:43:51Z", "email"=>putsresponse.code# A Integer of the HTTP code response# Example: 200putsresponse.headers["x-wc-total"]# Total of items# Example: 2putsresponse.headers["x-wc-totalpages"]# Total of pages# Example: 1

Release History

  • 2016-12-14 - 1.4.0 - Introduces httparty_args arg and fixed compatibility with WordPress 4.7.
  • 2016-09-15 - 1.3.0 - Added the query_string_auth and debug_mode options.
  • 2016-06-26 - 1.2.1 - Fixed oAuth signature for WP REST API.
  • 2016-05-09 - 1.2.0 - Added support for WP REST API and added method to do HTTP OPTIONS requests.
  • 2015-12-07 - 1.1.2 - Stop send body in GET and DELETE requests.
  • 2015-12-07 - 1.1.1 - Fixed the encode when have spaces in the URL parameters.
  • 2015-08-27 - 1.1.0 - Added query argument for GET and DELETE methods, reduced chance of nonce collisions and added support for urls including ports
  • 2015-08-27 - 1.0.3 - Encode all % characters in query string for OAuth 1.0a.
  • 2015-08-12 - 1.0.2 - Fixed the release date.
  • 2015-08-12 - 1.0.1 - Escaped oauth_signature in url query string.
  • 2015-07-15 - 1.0.0 - Stable release.
  • 2015-07-15 - 0.0.1 - Beta release.

About

A Ruby wrapper for the WooCommerce API.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages