node-magento2
v1.1.4
Published
Node JS library to connect to magento 2 API using promises
Downloads
325
Readme
Installation
npm install node-magento2
Overview
- Handles Authentication (both through integration access token and through customer/admin username and password)
- Includes generic methods for GET/PUT/POST/DELETE HTTP verbs
- Return Promises
- Wraps some functionality in a simple chained api
Basic Usage
"use strict";
const Magento2 = require('node-magento2');
//instantiate the client object
const options = {
authentication: {
integration: {
access_token: 'ACCESS_TOKEN_FROM_INTEGRATION_ADMIN_SECTION'
}
}
}
const mageClient = new Magento2('http://magento.root.url', options)
//basic usage
mageClient.get('/V1/products', {searchCriteria: { /*...*/ }}) //Get a list of all products
.then(products => {
//do something with the returned product data
})
mageClient.put('/V1/products/SKU_123', {visibility: 1}) //update product SKU_123
.then(product => {
//product data that's been modified to be invisible
})
mageClient.post('/V1/products', { /*A product entity*/}) //Create a new product
.then(product => {
//the created product object
})
mageClient.delete('/V1/procucts/SKU_123') //delete the product SKU_123
Helper Usage
Helpers add a Javascript style API to generate the URLs.
"use strict";
const Magento2 = require('node-magento2');
//instantiate the client object
const options = {
authentication: {
integration: {
access_token: 'ACCESS_TOKEN_FROM_INTEGRATION_ADMIN_SECTION'
}
}
}
const mageClient = new Magento2('http://magento.root.url', options)
//initialise the helpers
mageClient.init();
//use the api
mageClient.catalog.product.get('SKU_123').then(product => {}) //get a product
mageClient.configProduct('CONFIG_123').options.get().then(options => {}) //get the options for a configurable
Options Object
{
url: null,
store: 'default', //set a store to contextualise in
authentication: {
login: {
type: 'admin', //admin or customer
username: undefined,
password: undefined
},
integration: { //from the integrations section in the magento2 backend
consumer_key: undefined,
consumer_secret: undefined,
access_token: undefined,
access_token_secret: undefined
}
}
}