Need private packages and team management tools?Check out npm Teams »

@chatbotsstudio/joinposter

0.0.1 • Public • Published

JoinPoster API connector 💵

The module that can be used for Poster API connection.

Usage

Install package:

npm i joinposter

Then you can use it like this:

const poster = require("joinposter");
 
// Authorize request.
const client = poster.authorize({
  accessToken: "some_access_token"
});
 
// Create Order.
const data = {
  phone: "**********",
  products: [
    {
      product_id: "1"
    }
  ],
  first_name: "Name",
  last_name: "Surname"
};
 
await client.createOrder(data);
 
// Get categories.
const categories = await client.getCategories();
 
//Basic result.
"response": [
      {
        "category_id": "1",
        "category_name": "Coffee",
        "category_photo": "...",
        "category_photo_origin": "...",
        "parent_category": "0",
        "category_color": "white",
        "category_hidden": "0",
        "sort_order": "999",
        "fiscal": "0",
        "nodiscount": "0",
        "tax_id": "0",
        "left": "1",
        "right": "2",
        "level": "1",
        "category_tag": null,
        "visible": [
          {
            "spot_id": 1,
            "visible": 1
          }
        ]
      },
      {...}]
    }
 

API

poster.authorize({ accessToken: token })

  • token {String} Token provided by Poster.

.getCategories()

returns: [Array of Categories]

.getCategory(id)

  • id {Number or String} required: true category ID.

    returns: {Object of the Specific Category}

.getProducts()

  • id {Number or String} required: false category ID.

    returns: [Array Products belong to specific Category if ID provided]

.getProduct(id)

  • id {Number or String} required: true Product ID.

    returns: {Object of the Specific Product}

.getSpotTablesHalls()

returns: [Array with the floor sections list]

.createOrder(params)

  • params {Object}

    • spot_id {Number} required: true Spot Location ID.
    • phone {String} required: true Client phone number.
    • products {Array} required: true Array of selected products.
    • first_name {String} required: false Customer first name.
    • last_name {String} required: false Customer last name.

    returns: {Object of created order}

Create order result looks like:

{
  "response":{
    "incoming_order_id":2,
    "spot_id":1,
    "status":0,
    "client_id":0,
    "first_name":null,
    "last_name":null,
    "phone":null,
    "email":null,
    "sex":null,
    "birthday":null,
    "address":null,
    "comment":null,
    "created_at":"2017-10-27 11:47:19",
    "updated_at":"2017-10-27 11:47:19",
    "transaction_id":null,
    "fiscal_spreading":0,
    "fiscal_method":"",
    "products":[
      {
        "io_product_id":2,
        "product_id":169,
        "modificator_id":null,
        "incoming_order_id":2,
        "count":1,
        "created_at":"2017-10-27 11:47:19"
      }
    ]
  }
}

joinposter

Install

npm i @chatbotsstudio/joinposter

DownloadsWeekly Downloads

0

Version

0.0.1

License

MIT

Unpacked Size

10.7 kB

Total Files

14

Last publish

Collaborators

  • avatar