@knawat/suppliers
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

Knawat

Join the chat at Knawat Average time to resolve an issue Percentage of issues still open npm npm

Knawat Node.js NPM Package (Suppliers)

A Node.js package for Knawat Suppliers REST API. Easily interact with the Knawat Suppliers REST API using this library.

Installation

npm install --save @knawat/suppliers

Getting started

Check out the Knawat Suppliers REST API endpoints and data that can be manipulated in this link.

Setup

Setup for the new Knawat Suppliers REST API integration:

ENV variables

| variable | Default | Required | Description | | ------------ | ------- | ----------- | --------------------------------- | --- | ------ | ------------------------------------- | | SET_ASYNC | 1 | no | if SET_ASYNC = 0 then all post | put | delete | patch request will not use async apis | | BASIC_USER | - | conditional | required for basic authentication | | BASIC_PASS | - | conditional | required for basic authentication |

Note: you can pass options = { SET_ASYNC: 0 } for individual functions instead of env to change async setting for only few functions

// define environment to deploy on production. default is development
process.env.KNAWAT_ENV = 'production';

const { Suppliers, Products } = require('@knawat/suppliers');

const sa = new Products({
  key: 'XXXXXXXXXXXXXXXXXXXXXXXXXXX',
  secret: 'XXXXXXXXXXXXXXXXXXXXXXXX',
});

Options

Option Type Required Description
key string conditional Your Store's API consumer key. this field is required
secret string conditional Your Store's API consumer secret. this field is required

https://knawat-suppliers.restlet.io/#operation_get_token

/*
 * Set Environment variables for Suppliers methods
 * BASIC_USER : XXXXXXXXXX
 * BASIC_PASS : XXXXXXXXXX
 */

const { Suppliers, Products, WeightRules } = require('@knawat/suppliers');

const suppliers = new Suppliers();
const weightRules = new WeightRules();

Options

Methods

Product Methods

getProducts

Retrieve the list of all products or products for this channel, sorted by create date DESC

const filter = {
  limit: 20,
  page: 2,
  qualified: null,
  category_id: null,
  keyword: null,
  stock: null,
  price: null,
  sort_by: null,
  sort_asc: null,
  language: 'en',
};
sa.getProducts(filter);
Params Type Required Description
limit Number No Number of products to retrieve. Default: 10
page Number No Number of the page to retrieve. Default: 1
qualified Number No Number = 1: Qualified, 2: Needs to review, 4: Disqualified, 5 : Draft Default: null
category_id String No String of category_id, Default: null
if category_id = -1, get all un-categories products
keyword String No Text to search in product SKU or name Default: null
stock Object No stock : { stock_from: Number,stock_to: Number } Default: null
price Object No price : { price_from: Number, price_to: Number } Default: null
sort_by String No allowed fields :name, stock, qualified, price, stock Default: null
sort_asc String No sort_asc: 1 = acs, -1 = desc Default: -1
language String No tr, en, ar Default: tr

https://knawat-suppliers.restlet.io/#operation_get_list_of_products

addProducts

Add products to my list

sa.addProducts(products, options);
Option Type Required Description
products array yes Array of Products Object [{ sku: '1234' }]

https://knawat-suppliers.restlet.io/#operation_add_to_my_products

getProductBySku

Retrieve single product information by Product SKU. product should be under this store

sa.getProductBySku(sku);
Params Type Description
sku string SKU of Product you want to get

https://knawat-suppliers.restlet.io/#operation_get_product_by_sku

updateBulkProduct

Retrieve products information using bulk update. product should be under this store

sa.updateBulkProduct(data, options);
Params Type Description
data object ```JSON
{
  "products": [
    {
      "sku": "4646030019238",
      "barcode": "1234567890",
      "url": "https://example.com/product.php?id=123",
      "name": { "tr": "DAR KALIP PEMBE GÖMLEK", "en": "Slimline Pink Shirt" },
      "description": {
        "tr": "Some Turkish text here, html allowed",
        "en": "Some English text here, html allowed"
      },
      "brand": { "tr": "Defacto", "en": "Defacto" },
      "images": [
        "https://cdnp4.knawat.com/buyuk/788f8a17-d5d8-4ccb-b218-9e428b199228.jpg"
      ],
      "attributes": [
        {
          "name": { "tr": "Beden", "en": "Size" },
          "options": [
            { "tr": "S", "en": "S" },
            { "tr": "M", "en": "M" }
          ]
        }
      ],
      "variations": [
        {
          "sku": "4646030019238-S",
          "barcode": "1234567890123",
          "sale_price": 9.74,
          "market_price": 11.99,
          "weight": 0.5,
          "quantity": 123,
          "attributes": [
            {
              "name": { "tr": "Beden", "en": "Size" },
              "option": { "tr": "S", "en": "S" }
            }
          ]
        }
      ]
    }
  ]
}

https://knawat-suppliers.restlet.io/#operation_update_product

upsertProducts

_Retrieve products information using bulk update/create. if product exists then create else update

sa.upsertProducts(data, options);
Params Type Description
data object ```JSON
{
  "products": [
    {
      "sku": "4646030019238",
      "barcode": "1234567890",
      "url": "https://example.com/product.php?id=123",
      "name": { "tr": "DAR KALIP PEMBE GÖMLEK", "en": "Slimline Pink Shirt" },
      "description": {
        "tr": "Some Turkish text here, html allowed",
        "en": "Some English text here, html allowed"
      },
      "brand": { "tr": "Defacto", "en": "Defacto" },
      "images": [
        "https://cdnp4.knawat.com/buyuk/788f8a17-d5d8-4ccb-b218-9e428b199228.jpg"
      ],
      "attributes": [
        {
          "name": { "tr": "Beden", "en": "Size" },
          "options": [
            { "tr": "S", "en": "S" },
            { "tr": "M", "en": "M" }
          ]
        }
      ],
      "variations": [
        {
          "sku": "4646030019238-S",
          "barcode": "1234567890123",
          "sale_price": 9.74,
          "market_price": 11.99,
          "weight": 0.5,
          "quantity": 123,
          "attributes": [
            {
              "name": { "tr": "Beden", "en": "Size" },
              "option": { "tr": "S", "en": "S" }
            }
          ]
        }
      ]
    }
  ]
}

https://knawat-suppliers.restlet.io/#operation_update_product

updateProductBySku

Update imported product External IDs by SKU

sa.updateProductBySku(products, options);
Option Type Required Description
data object yes Check mp documentation

https://knawat-suppliers.restlet.io/#operation_update_product

getCategories

Get all categories.

sa.getCategories();

https://knawat-suppliers.restlet.io/#operation_get_list_of_categories

Order Methods

getOrders (GET Orders)

sa.getOrders(limit, page);
Params Type Description
limit Number Number of orders to retrieve. Default: 20
page Number Number of the page to retrieve. Default: 1
status String Status of order. open/issued/cancelled/billed/closed/token
purchaseorderNumber String String of purchase order number.

https://knawat-suppliers.restlet.io/#operation_get_order_s_

getOrderById (GET Order By Knawat Order Id)

sa.getOrderById(order_id);
Params Type Description
order_id string Knawat Order ID

https://knawat-suppliers.restlet.io/#operation_order_by_id

updateOrder (Update Order)

const order_data = {
  shipmentTrackingNumber: 'EJGGH000091',
  shipVia: 'DFL',
};
sa.updateOrder(order_id, order_data, options);
Params Type Description
order_id string Knawat Order ID
order_data object Array of Updated Order Data

https://knawat-suppliers.restlet.io/#operation_update_order

Add order comment

const order_data = {
  description: 'shipment on the way',
  expectedDeliveryDate: '2021-05-20',
};
sa.addOrderComment(order_id, order_data, options);
Params Type Description
order_id string Knawat Order ID
order_data object Array of Updated Order Data

Suppliers Methods

getSupplier (Get Suppliers)

suppliers.getSuppliers();

https://knawat-suppliers.restlet.io/#operation_get_all_suppliers

createSupplier (Create Supplier)

suppliers.createSupplier(supplier, options);
Params Type Description
supplier object Object of supplier

https://knawat-suppliers.restlet.io/#operation_create_a_supplier

getSupplierKeys (Get Supplier Keys)

suppliers.getSupplierKeys(supplier_id);
Params Type Description
supplier_id string Id of supplier

https://knawat-suppliers.restlet.io/#operation_get_suppliers_keys

updateSupplier (Update Supplier)

sa.updateSupplier(supplier, options);
Params Type Description
supplier object Object of supplier

{"supplier": { "name" : "john", "url": "https://example.com.tr","logo": "https://example.com.tr/logo.png","currency": "TRY", "address": [array of addresses], "contacts": [array of contacts] } }

https://knawat-suppliers.restlet.io/#operation_update_a_supplier_2

Weight Rules Methods

getWeightRules (Get Weight Rules)

weightRules.getWeightRules();
Params Type Description
limit number limit of data in response
page number page number
sort number sort data in response

https://knawat-suppliers.restlet.io/#operation_get_all_weight_rules

createWeightRule (Create Weight Rules)

weightRules.createWeightRule(weightRules, options);
Params Type Description
weightRules object Object of weightRules

"weightRules": { "keyword" : "Shirt", "weight": 5 }

https://knawat-suppliers.restlet.io/#operation_create_a_supplier

updateWeightRule (Update Weight Rules)

weightRules.updateWeightRule(id, weightRules, options);
Params Type Description
id string Id of weight rule
weightRules object Object of parameters to update

"weightRules": { "keyword" : "Shirt", "weight": 5 }

https://knawat-suppliers.restlet.io/#operation_update_weight_rule

deleteWeightRule (Delete Weight Rules)

weightRules.deleteWeightRule(id, options);
Params Type Description
id string Id of weight rule

https://knawat-suppliers.restlet.io/#operation_delete_weight_rule

Reporting Security Issues

To disclose a security issue to our team, please submit a report here.

Support & Chat

Developers are welcome here, please create issue or chat with us https://gitter.im/Knawat/Lobby. This repository is not suitable for Knawat customers support. Please don't use our issue tracker for support requests, but for Knawat Suppliers NPM Package issues only. Support can take place through Knawat support portal which is available for free.

Support requests in issues on this repository will be closed on sight.

Contributing to Knawat

If you have a patch or have stumbled upon an issue with Knawat NPM Package, you can contribute this back to the code. Please create a pull request.

Check also

Readme

Keywords

Package Sidebar

Install

npm i @knawat/suppliers

Weekly Downloads

0

Version

2.0.1

License

MIT

Unpacked Size

50 kB

Total Files

20

Last publish

Collaborators

  • hazemkhaled
  • abdelrahman3d
  • greetly