{"_rev":"3-16e84ef7f039e7e9f39f51df377488f7","time":{"created":"2024-01-21T15:59:11.923Z","1.0.1":"2024-01-21T15:56:39.675Z","modified":"2024-01-21T15:59:12.461Z","2.0.0":"2024-01-21T15:59:12.222Z"},"_id":"@carmineconversano/woocommerce-rest-api-fork","name":"@carmineconversano/woocommerce-rest-api-fork","dist-tags":{"latest":"2.0.0"},"versions":{"2.0.0":{"name":"@carmineconversano/woocommerce-rest-api-fork","version":"2.0.0","description":"WooCommerce REST API - JavaScript Library (updated and maintained)","author":{"name":"Carmine Conversano"},"license":"MIT","keywords":["wordpress","woocommerce","rest","promise","node"],"homepage":"https://github.com/carmineconversano/woocommerce-rest-api-js-lib","repository":{"type":"git","url":"git+https://github.com/carmineconversano/woocommerce-rest-api-js-lib.git"},"bugs":{"url":"https://github.com/carmineconversano/woocommerce-rest-api-js-lib/issues"},"main":"index","types":"index.d.ts","dependencies":{"axios":"^1.6.5","create-hmac":"^1.1.7","oauth-1.0a":"^2.2.6","url-parse":"^1.5.10"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.23.7","@babel/plugin-transform-modules-commonjs":"^7.23.3","@babel/preset-env":"^7.23.8","babel-jest":"^29.7.0","del-cli":"^5.1.0","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-config-standard":"^17.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-jest":"^27.6.3","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^5.1.3","eslint-plugin-promise":"^6.1.1","eslint-plugin-standard":"^5.0.0","husky":"^8.0.0","jest":"^29.7.0","lint-staged":"^15.2.0","nock":"^13.5.0","prettier":"^3.2.4"},"scripts":{"build":"del index.js && babel index.mjs --out-dir .","test":"jest","format":"prettier --write \"*.mjs\" \"test.js\"","lint":"eslint *.mjs","prepare":"npm run build && husky install","prepublishOnly":"npm test && npm run lint","preversion":"npm run lint","version":"npm run format && git add -A","postversion":"git push && git push --tags"},"lint-staged":{"*.{js,mjs}":["eslint --fix","prettier --write","git add"]},"engines":{"node":">=8.0.0"},"gitHead":"4bec1ea48f1ffd36897a688ad35d47ae553370b8","_id":"@carmineconversano/woocommerce-rest-api-fork@2.0.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-eSu1IJrBYSez0Y4RlASES8bZ9joy1RrQYOkBeAhuxn7S2cGdiwBKSAHcgrRCEUsIuV5CF8zui+2smUdiAP1DqA==","shasum":"0a6699ce4afc4356dab49218064b052befd2e5e4","tarball":"https://registry.npmjs.org/@carmineconversano/woocommerce-rest-api-fork/-/woocommerce-rest-api-fork-2.0.0.tgz","fileCount":6,"unpackedSize":32601,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEElLuR32w4yXiYFTlVVvqrJsGb2c2llU6nZxPoYURSMAiEA9JF8fCbBttp90wHUpMIAZPUSLnYWBX+AWvT61SZdDIs="}]},"_npmUser":{"name":"carmineconversano","email":"conversano.carmine@protonmail.com"},"directories":{},"maintainers":[{"name":"carmineconversano","email":"conversano.carmine@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/woocommerce-rest-api-fork_2.0.0_1705852752071_0.4204368644641603"},"_hasShrinkwrap":false}},"maintainers":[{"name":"carmineconversano","email":"conversano.carmine@protonmail.com"}],"description":"WooCommerce REST API - JavaScript Library (updated and maintained)","homepage":"https://github.com/carmineconversano/woocommerce-rest-api-js-lib","keywords":["wordpress","woocommerce","rest","promise","node"],"repository":{"type":"git","url":"git+https://github.com/carmineconversano/woocommerce-rest-api-js-lib.git"},"author":{"name":"Carmine Conversano"},"bugs":{"url":"https://github.com/carmineconversano/woocommerce-rest-api-js-lib/issues"},"license":"MIT","readme":"# WooCommerce REST API - JavaScript Library (FORK)\n\nThis is a fork of the [original WooCommerce library](https://github.com/woocommerce/woocommerce-rest-api-js-lib) with updated dependencies and fixed bugs.\n\nNew JavaScript library for WooCommerce REST API, supports CommonJS (CJS) and Embedded System Module (ESM).\n\nRequests are made with [Axios library](https://github.com/axios/axios) with [support to promises](https://github.com/axios/axios#promises).\n\n[![build status](https://secure.travis-ci.org/woocommerce/woocommerce-rest-api-js-lib.svg)](http://travis-ci.org/woocommerce/woocommerce-rest-api-js-lib)\n[![dependency status](https://david-dm.org/woocommerce/woocommerce-rest-api-js-lib.svg)](https://david-dm.org/woocommerce/woocommerce-rest-api-js-lib)\n[![npm version](https://img.shields.io/npm/v/@woocommerce/woocommerce-rest-api.svg)](https://www.npmjs.com/package/@woocommerce/woocommerce-rest-api)\n\n## Installation\n\n```\nnpm install --save @carmineconversano/woocommerce-rest-api-fork\n```\n\n## Getting started\n\nGenerate API credentials (Consumer Key & Consumer Secret) following this instructions <http://docs.woocommerce.com/document/woocommerce-rest-api/>\n.\n\nCheck out the WooCommerce API endpoints and data that can be manipulated in <http://woocommerce.github.io/woocommerce-rest-api-docs/>.\n\n## Setup\n\n### ESM example:\n\n```js\nimport WooCommerceRestApi from \"@woocommerce/woocommerce-rest-api\";\n\nconst api = new WooCommerceRestApi({\n  url: \"https://example.com\",\n  consumerKey: \"ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n  consumerSecret: \"cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n  version: \"wc/v3\"\n});\n```\n\n### CJS example:\n\n```js\nconst WooCommerceRestApi = require(\"@woocommerce/woocommerce-rest-api\").default;\n\nconst api = new WooCommerceRestApi({\n  url: \"https://example.com\",\n  consumerKey: \"ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n  consumerSecret: \"cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n  version: \"wc/v3\"\n});\n```\n\n### Options\n\n| Option            | Type      | Required | Description                                                                                                         |\n|-------------------|-----------|----------|---------------------------------------------------------------------------------------------------------------------|\n| `url`             | `String`  | yes      | Your Store URL, example: http://woo.dev/                                                                            |\n| `consumerKey`     | `String`  | yes      | Your API consumer key                                                                                               |\n| `consumerSecret`  | `String`  | yes      | Your API consumer secret                                                                                            |\n| `wpAPIPrefix`     | `String`  | no       | Custom WP REST API URL prefix, used to support custom prefixes created with the `rest_url_prefix` filter            |\n| `version`         | `String`  | no       | API version, default is `v3`                                                                                        |\n| `encoding`        | `String`  | no       | Encoding, default is 'utf-8'                                                                                        |\n| `queryStringAuth` | `Bool`    | no       | When `true` and using under HTTPS force Basic Authentication as query string, default is `false`                    |\n| `port`            | `string`  | no       | Provide support for URLs with ports, eg: `8080`                                                                     |\n| `timeout`         | `Integer` | no       | Define the request timeout                                                                                          |\n| `axiosConfig`     | `Object`  | no       | Define the custom [Axios config](https://github.com/axios/axios#request-config), also override this library options |\n\n## Methods\n\n### GET\n\n- `.get(endpoint)`\n- `.get(endpoint, params)`\n\n| Params     | Type     | Description                                                   |\n|------------|----------|---------------------------------------------------------------|\n| `endpoint` | `String` | WooCommerce API endpoint, example: `customers` or `orders/12` |\n| `params`   | `Object` | Query strings params, example: `{ per_page: 20 }`             |\n\n### POST\n\n- `.post(endpoint, data)`\n- `.post(endpoint, data, params)`\n\n| Params     | Type     | Description                                                 |\n|------------|----------|-------------------------------------------------------------|\n| `endpoint` | `String` | WooCommerce API endpoint, example: `customers` or `orders`  |\n| `data`     | `Object` | JS object to be converted into JSON and sent in the request |\n| `params`   | `Object` | Query strings params                                        |\n\n### PUT\n\n- `.put(endpoint, data)`\n- `.put(endpoint, data, params)`\n\n| Params     | Type     | Description                                                       |\n|------------|----------|-------------------------------------------------------------------|\n| `endpoint` | `String` | WooCommerce API endpoint, example: `customers/1` or `orders/1234` |\n| `data`     | `Object` | JS object to be converted into JSON and sent in the request       |\n| `params`   | `Object` | Query strings params                                              |\n\n### DELETE\n\n- `.delete(endpoint)`\n- `.delete(endpoint, params)`\n\n| Params     | Type     | Description                                                     |\n|------------|----------|-----------------------------------------------------------------|\n| `endpoint` | `String` | WooCommerce API endpoint, example: `customers/2` or `orders/12` |\n| `params`   | `Object` | Query strings params, example: `{ force: true }`                |\n\n### OPTIONS\n\n- `.options(endpoint)`\n- `.options(endpoint, params)`\n\n| Params     | Type     | Description                                                     |\n|------------|----------|-----------------------------------------------------------------|\n| `endpoint` | `String` | WooCommerce API endpoint, example: `customers/2` or `orders/12` |\n| `params`   | `Object` | Query strings params                                            |\n\n## Example of use\n\n```js\n// import WooCommerceRestApi from \"@woocommerce/woocommerce-rest-api\";\nconst WooCommerceRestApi = require(\"@woocommerce/woocommerce-rest-api\").default;\n\nconst api = new WooCommerceRestApi({\n  url: \"https://example.com\",\n  consumerKey: \"ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n  consumerSecret: \"cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n  version: \"wc/v3\"\n});\n\n// List products\napi.get(\"products\", {\n  per_page: 20, // 20 products per page\n})\n  .then((response) => {\n    // Successful request\n    console.log(\"Response Status:\", response.status);\n    console.log(\"Response Headers:\", response.headers);\n    console.log(\"Response Data:\", response.data);\n    console.log(\"Total of pages:\", response.headers['x-wp-totalpages']);\n    console.log(\"Total of items:\", response.headers['x-wp-total']);\n  })\n  .catch((error) => {\n    // Invalid request, for 4xx and 5xx statuses\n    console.log(\"Response Status:\", error.response.status);\n    console.log(\"Response Headers:\", error.response.headers);\n    console.log(\"Response Data:\", error.response.data);\n  })\n  .finally(() => {\n    // Always executed.\n  });\n\n// Create a product\napi.post(\"products\", {\n  name: \"Premium Quality\", // See more in https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties\n  type: \"simple\",\n  regular_price: \"21.99\",\n})\n  .then((response) => {\n    // Successful request\n    console.log(\"Response Status:\", response.status);\n    console.log(\"Response Headers:\", response.headers);\n    console.log(\"Response Data:\", response.data);\n  })\n  .catch((error) => {\n    // Invalid request, for 4xx and 5xx statuses\n    console.log(\"Response Status:\", error.response.status);\n    console.log(\"Response Headers:\", error.response.headers);\n    console.log(\"Response Data:\", error.response.data);\n  })\n  .finally(() => {\n    // Always executed.\n  });\n\n// Edit a product\napi.put(\"products/1\", {\n  sale_price: \"11.99\", // See more in https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties\n})\n  .then((response) => {\n    // Successful request\n    console.log(\"Response Status:\", response.status);\n    console.log(\"Response Headers:\", response.headers);\n    console.log(\"Response Data:\", response.data);\n  })\n  .catch((error) => {\n    // Invalid request, for 4xx and 5xx statuses\n    console.log(\"Response Status:\", error.response.status);\n    console.log(\"Response Headers:\", error.response.headers);\n    console.log(\"Response Data:\", error.response.data);\n  })\n  .finally(() => {\n    // Always executed.\n  });\n\n// Delete a product\napi.delete(\"products/1\", {\n  force: true, // Forces to delete instead of move to the Trash\n})\n  .then((response) => {\n    // Successful request\n    console.log(\"Response Status:\", response.status);\n    console.log(\"Response Headers:\", response.headers);\n    console.log(\"Response Data:\", response.data);\n  })\n  .catch((error) => {\n    // Invalid request, for 4xx and 5xx statuses\n    console.log(\"Response Status:\", error.response.status);\n    console.log(\"Response Headers:\", error.response.headers);\n    console.log(\"Response Data:\", error.response.data);\n  })\n  .finally(() => {\n    // Always executed.\n  });\n```\n\n## Changelog\n\n[See changelog for details](https://github.com/carmineconversano/woocommerce-rest-api-js-lib/blob/master/CHANGELOG.md)\n","readmeFilename":"README.md"}