@vishnuchd/nativescript-woocommerce-api
by vishnuchd | v1.0.2
A wrapper that connects Nativescript to the WooCommerce API
npm i --save @vishnuchd/nativescript-woocommerce-api

@vishnuchd/nativescript-woocommerce-api

A wrapper that connects Nativescript to the WooCommerce API

Installation

ns plugin add @vishnuchd/nativescript-woocommerce-api

License

Apache License Version 2.0

Setup

You will need a consumer key and consumer secret to call your store's WooCommerce API. You can find instructions here

Include the 'NativescriptWoocommerceApi' module within your script and instantiate it with a config:

import { NativescriptWoocommerceApi} from '@vishnuchd/nativescript-woocommerce-api';

const WooCommerceAPI = {
url: 'https://yourstore.com', // Your store URL
ssl: true,
consumerKey: 'ck_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx', // Your consumer secret
consumerSecret: 'cs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', // Your consumer secret
wpAPI: true, // Enable the WP REST API integration
version: 'wc/v3', // WooCommerce WP REST API version
queryStringAuth: true
};

Instantiating a WooCommerceAPI instance without a url, consumerKey or secret will result in an error being thrown

Calling the API

Your WooCommerce API can be called once the WooCommerceAPI object has been instantiated (see above).

GET

let WooCommerceAPI = new NativescriptWoocommerceApi(options)
WooCommerceAPI.invokeGet('products')
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});

GET WITH PARAMETER

WooCommerceAPI.invokeGet('orders', { customer: userID, per_page: 100 })
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});

POST

For this example you have a Order object.

WooCommerceAPI.invokePost('products', {
product: {
title: 'Premium Quality',
type: 'simple',
regular_price: '21.99'
}
})
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});

PUT

WooCommerceAPI.invokePut('orders/123', {
order: {
status: 'completed'
}
})
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});

DELETE

WooCommerceAPI.invokeDelete('coupons/123')
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});
});