Skip to content

Latest commit

 

History

History
112 lines (79 loc) · 2.62 KB

README.MD

File metadata and controls

112 lines (79 loc) · 2.62 KB

ng2woo

Very simple Angular2+ wrapper for the WooCommerce API

GitHub version dependencies Status GitHub issues Discord Chat

Usage

Import ng2woo in any Angular application by running:

$ npm install --save ng2woo

Install the WooCommerce API:

$ npm install --save woocommerce-api

You will need to get the WooCommerce credentials from your WooCommerce website.

Then from your Angular AppModule:

...
// Import ng2woo
import { WooApiModule, WooApiService } from 'ng2woo';

// Add your WooCommerce Credentials
const WooCommerceConfig = {
  url: 'your_site_url',
  consumerKey: 'ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  consumerSecret: 'cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  wpAPI: true,
  version: 'wc/v1'
};

@NgModule({
  declarations: [ ... ],
  imports: [
    ...
    // Specify as an import and pass in your config
    WooApiModule.forRoot(WooCommerceConfig)
  ],
  // Add the Api service
  providers: [ WooApiService ]
})
export class AppModule { }

Once ng2woo is imported, you can use the WooApiService in your components/services:

import { Component, OnInit } from '@angular/core';
// Import the service
import { WooApiService } from 'ng2woo';


@Component({...})
export class HomePage implements OnInit { 

  products: any;
  // Inject the service
  constructor(private woo: WooApiService) { }

  ngOnInit(): void {
    // Fetch all products
    this.woo.fetchItems('products')
      .then(products => console.log(products));
  }

}

Methods

fetchItems(itemType)

  • Accepts: string (required) - the type of WooCommerce item you want to fetch (products, orders, customers, categories). Accepts query parameters, see the WooCommerce Api docs for a full list of query parameters.
  • Returns: Promise

Examples

this.woo.fetchItems('products')
  .then(products => console.log(products))
  .catch(error => console.log(error));

Development

To generate all *.js, *.js.map and *.d.ts files:

$ npm run tsc

To lint all *.ts files:

$ npm run lint

License

MIT © Michael Doye