Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pengen-api

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pengen-api

Pengen Online API client library. Work on browser and server.

  • 0.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

Pengen2 API client library

Allows asynchronous requests to Pengen2 REST API and get results with native Promise or async/await. Work on browser and server. This is based from Pengen-client

Client include:

  • Pengen2 API
  • Pengen2 AJAX API
  • Pengen2 Web Store API

Install with:

npm i pengen-api

Initialize

import PengenApi from 'pengen-api';

const api = new PengenApi({
  apiBaseUrl: 'https://website.com/api/v1',
  apiToken: '<token>',
  slug: '<slug>'
});

Usage

// fetch all categories with await
const categoriesResponse = await api.productCategories.list();
const categories = categoriesResponse.json;
for(const category of categories){
  console.log(category.name)
}

// fetch all categories with Promise
api.productCategories.list().then(({status, json}) => {
    const categories = json;
    for(const category of categories){
      console.log(category.name)
    }
});

// create a category
api.productCategories.create({name: 'Shoes', active: true}).then(({status, json}) => {
    const categoryId = json.id;
});

Error Handling

// with await
try {
  const createResult = await api.productCategories.create({ name: 'Shoes' });
  const newCategory = createResult.json;
} catch(e) {
  console.log(e);
}

// with Promise
api.productCategories.create({ name: 'Shoes' })
.then(({status, json}) => {
  if(status === 200) {
    // success
    const newCategory = json;
  } else {
    // 404 or bad request
  }
})
.catch(err => {
  console.log(err)
});

Methods

  • api.authorize(baseUrl, user, pass)
  • api.sitemap.list()
  • api.sitemap.retrieve(path)
  • api.productCategories.list()
  • api.productCategories.retrieve(id)
  • api.productCategories.create(data)
  • api.productCategories.update(id, data)
  • api.productCategories.delete(id)
  • api.productCategories.uploadImage(categoryId, formData)
  • api.productCategories.deleteImage(id)
  • api.products.list({
    • offset: 0,
    • limit: 10,
    • fields: 'id, name, price',
    • category_id: '<id>',
    • active: true,
    • discontinued: false,
    • search: '',
    • on_sale: true,
    • stock_status: 'available',
    • price_from: 0,
    • price_to: 100,
    • sku: '',
    • ids: '<id>,<id>,<id>',
    • sort: 'regular_price,-stock_quantity'})
  • api.products.retrieve(id)
  • api.products.create(data)
  • api.products.update(id, data)
  • api.products.delete(id)
  • api.products.skuExists(productId, sku)
  • api.products.slugExists(productId, slug)
  • api.products.options.list(productId)
  • api.products.options.retrieve(productId, optionId)
  • api.products.options.create(productId, data)
  • api.products.options.update(productId, optionId, data)
  • api.products.options.delete(productId, optionId)
  • api.products.options.values.list(productId, optionId)
  • api.products.options.values.retrieve(productId, optionId, valueId)
  • api.products.options.values.create(productId, optionId, data)
  • api.products.options.values.update(productId, optionId, valueId, data)
  • api.products.options.values.delete(productId, optionId, valueId)
  • api.products.variants.list(productId)
  • api.products.variants.create(productId, data)
  • api.products.variants.update(productId, variantId, data)
  • api.products.variants.delete(productId, variantId)
  • api.products.variants.setOption(productId, variantId, data)
  • api.products.images.list(productId)
  • api.products.images.update(productId, imageId, data)
  • api.products.images.upload(productId, formData)
  • api.products.images.delete(productId, imageId)
  • api.theme.export()
  • api.theme.install(formData)
  • api.theme.settings.retrieve()
  • api.theme.settings.update(settings)
  • api.theme.settings.retrieveSchema()
  • api.theme.assets.uploadFile(formData)
  • api.theme.assets.deleteFile(fileName)
  • api.customers.list
  • api.customers.retrieve
  • api.customers.create
  • api.customers.update
  • api.customers.delete
  • api.customers.createAddress
  • api.customers.updateAddress
  • api.customers.deleteAddress
  • api.customers.setDefaultBillingAddress
  • api.customers.setDefaultShippingAddress
  • api.customerGroups.list
  • api.customerGroups.retrieve
  • api.customerGroups.create
  • api.customerGroups.update
  • api.customerGroups.delete
  • api.orders.list
  • api.orders.retrieve
  • api.orders.create
  • api.orders.update
  • api.orders.delete
  • api.orders.checkout
  • api.orders.recalculate
  • api.orders.cancel
  • api.orders.close
  • api.orders.updateBillingAddress
  • api.orders.updateShippingAddress
  • api.orders.discounts.create(order_id, data)
  • api.orders.discounts.update(order_id, discount_id, data)
  • api.orders.discounts.delete(order_id, discount_id)
  • api.orders.transactions.create(order_id, data)
  • api.orders.transactions.update(customer_id, transaction_id, data)
  • api.orders.transactions.delete(order_id, transaction_id)
  • api.orders.items.create(order_id, data)
  • api.orders.items.update(order_id, item_id, data)
  • api.orders.items.delete(order_id, item_id)
  • api.orderStatuses.list
  • api.orderStatuses.retrieve
  • api.orderStatuses.create
  • api.orderStatuses.update
  • api.orderStatuses.delete
  • api.shippingMethods.list
  • api.shippingMethods.retrieve
  • api.shippingMethods.create
  • api.shippingMethods.update
  • api.shippingMethods.delete
  • api.paymentMethods.list
  • api.paymentMethods.retrieve
  • api.paymentMethods.create
  • api.paymentMethods.update
  • api.paymentMethods.delete
  • api.paymentGateways.retrieve
  • api.paymentGateways.update
  • api.settings.retrieve
  • api.settings.update
  • api.settings.retrieveEmailSettings
  • api.settings.updateEmailSettings
  • api.settings.retrieveEmailTemplate
  • api.settings.updateEmailTemplate
  • api.checkoutFields.list
  • api.checkoutFields.retrieve
  • api.checkoutFields.update
  • api.pages.list
  • api.pages.retrieve
  • api.pages.create
  • api.pages.update
  • api.pages.delete
  • api.tokens.list
  • api.tokens.retrieve
  • api.tokens.create
  • api.tokens.update
  • api.tokens.delete
  • api.redirects.list
  • api.redirects.retrieve
  • api.redirects.create
  • api.redirects.update
  • api.redirects.delete
  • api.files.list(filter)
  • api.files.upload(formData)
  • api.files.delete(fileName)
  • api.webhooks.list
  • api.webhooks.retrieve
  • api.webhooks.create
  • api.webhooks.update
  • api.webhooks.delete
  • api.apps.settings.retrieve(appKey)
  • api.apps.settings.update(appKey, data)
  • api.theme.placeholders.list()
  • api.theme.placeholders.retrieve(placeholderKey)
  • api.theme.placeholders.create(data)
  • api.theme.placeholders.update(placeholderKey, data)
  • api.theme.placeholders.delete(placeholderKey)

Contributing

If you can, please contribute by reporting issues, discussing ideas, or submitting pull requests with patches and new features. We do our best to respond to all issues and pull requests within a day or two, and make patch releases to npm regularly.

Keywords

FAQs

Package last updated on 25 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc