JSPM

node-magento2-bat

1.1.7
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q34216F
  • License MIT

Node JS library to connect to magento 2 API using promises

Package Exports

  • node-magento2-bat

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-magento2-bat) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

This package resolve issue with certificate (https) Error: unable to verify the first certificate

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
    }
  }
}