README
JoinPoster API connector :dollar:
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"
}
]
}
}