🍴 Forked from WooCommerce JavaScript Library and modified to support CoCart REST API instead. Authentication is optional.
JavaScript library for CoCart, supports CommonJS (CJS) and ECMAScript Modules (ESM).
Requests are made with Axios library with support to promises.
⚠️ This library will NOT support the LEGACY API of CoCart.
npm install --save @cocart/cocart-rest-api
Check out the CoCart API endpoints and data that can be manipulated in https://docs.cocart.xyz/.
import CoCartAPI from "@cocart/cocart-rest-api";
const CoCart = new CoCartAPI({
url: "https://example.com",
});
const CoCartAPI = require("@cocart/cocart-rest-api").default;
const CoCart = new CoCartAPI({
url: "https://example.com",
});
Option | Type | Required | Description |
---|---|---|---|
url |
String |
yes | Your Store URL, example: https://example.com/ |
consumerKey |
String |
no | Your API consumer key, username or email address. |
consumerSecret |
String |
no | Your API consumer secret or password. |
wpAPIPrefix |
String |
no | Custom WP REST API URL prefix, used to support custom prefixes created with the rest_url_prefix filter. |
version |
String |
no | API version, default is cocart/v2 |
encoding |
String |
no | Encoding, default is 'utf-8' |
queryStringAuth |
Bool |
no | When true and using under HTTPS force Basic Authentication as query string, default is false |
port |
string |
no | Provide support for URLs with ports, eg: 8080 |
oauth |
Bool |
no | When true authorize via OAuth 1.0a, default is false |
timeout |
Integer |
no | Define the request timeout |
axiosConfig |
Object |
no | Define the custom Axios config, also override this library options. |
.get(endpoint)
.get(endpoint, params)
Params | Type | Description |
---|---|---|
endpoint |
String |
CoCart API endpoint, example: cart or products/32 |
params |
Object |
Query strings params, example: { per_page: 20 } |
.post(endpoint, data)
.post(endpoint, data, params)
Params | Type | Description |
---|---|---|
endpoint |
String |
CoCart API endpoint, example: cart/add-item or cart/item |
data |
Object |
JS object to be converted into JSON and sent in the request |
params |
Object |
Query strings params |
.put(endpoint, data)
.putt(endpoint, data, params)
Params | Type | Description |
---|---|---|
endpoint |
String |
CoCart API endpoint, example: cart/item/<item_key> |
data |
Object |
JS object to be converted into JSON and sent in the request |
params |
Object |
Query strings params |
.delete(endpoint)
.delete(endpoint, params)
Params | Type | Description |
---|---|---|
endpoint |
String |
CoCart API endpoint, example: cart/item or coupon |
params |
Object |
Query strings params, example: { force: true } |
If you think you have found a bug in the library, please open a new issue and I will do my best to help you out.
We have different channels at your disposal where you can find information about the CoCart project, discuss it and get involved:
- 📖 Docs: this is the place to learn how to build amazing sites with CoCart. Get started!
- 👪 Community: use our Slack chat room to share any doubts, feedback and meet great people. This is your place too to share how are you planning to use CoCart!
- 🐞 GitHub: we use GitHub for bugs and pull requests, doubts are solved with the community.
- 🐦 Social media: a more informal place to interact with CoCart users, reach out to us on Twitter.
- 💌 Newsletter: do you want to receive the latest plugin updates and news? Subscribe here.
If you want this header to return then you need to enable CORS. Simply install CoCart CORS plugin for quick activation.
CoCart is developed and maintained by Sébastien Dumont.
sebastiendumont.com · GitHub @seb86 · Twitter @sebd86