Droppx Orders/parcel manager module(Test)
Installation
npm install @droppxdev/ordermanager
Usage
import OrderManager from '@droppxdev/ordermanager';
const orderManager = new OrderManager({ apiKey, apiSecret });
console.log("Get orders", await orderManager.getOrders());
Purpose
A plugin module
List of methods
sendParcel
Create a new parcel order using this method, delivery fee can be generated using the "deliveryfeeCalc" method.
Accepts newOrder:object
, returns a Promise that resolves with created order data if successful else returns error.
Example: orderManager.sendParcel(newOrder).then(response=>response).catch(error=>console.log(error)
Sample object below :
{ "logistics": { "pickup": [ { "street": "Tiirismaantie 11 A 8, 00710, Helsinki", "postalCode": "00710", "floor": "1", "city": "Helsinki", "senderEmail": "hello@droppx.com", "senderPhone": "+358400000000" } ], "delivery": [ { "street": "Keskuskatu 3 A 7, 00180, Helsinki ", "postalCode": "00180", "floor": "5", "city": "Helsinki", "receiverEmail": "hello@droppx.com", "receiverPhone": "+358400000000", "parcelDimensions": {} } ], "messageToCourier": "Please handle with care", "deliveryType": "Standard", "deliveryFee": { "deliveryFee": 16.97, "min_delivery_date": "2020-10-29T16:06:25.734Z", "currency": "EUR", "description": "Express Same day delivery", "serviceFee": 0, "service_name": "DroppX", "VAT": 0, "total": 16.97, "distance": 11577, "service_code": "DPXS", "total_price": 1697.12, "max_delivery_date": "2020-10-29T18:06:25.734Z", "service": "Standard" } , "scheduledTime": "2020-10-29T18:06:25.734Z", "scheduledPickupTime" : "2020-10-29T18:06:25.734Z", }, "products": [], "service": "parcel", "status": "new" }
sendParcels
Create many parcel orders at once using this endpoint, all properties are required, delivery fee can be generated using the "deliveryfeeCalc" method.
Accepts newOrders:array
, returns a Promise that resolves with created orders data if successful else returns error.
Example: orderManager.sendParcels(newOrders).then(response=>response).catch(error=>console.log(error)
Sample object below :
[ { "logistics": { "pickup": [ { "street": "Tiirismaantie 11 A 8, 00710, Helsinki", "postalCode": "00710", "floor": "1", "city": "Helsinki", "senderEmail": "hello@droppx.com", "senderPhone": "+358400000000" } ], "delivery": [ { "street": "Keskuskatu 3 A 7, 00180, Helsinki ", "postalCode": "00180", "floor": "5", "city": "Helsinki", "receiverEmail": "hello@droppx.com", "receiverPhone": "+358400000000", "parcelDimensions": {} } ], "messageToCourier": "Please handle with care", "deliveryType": "Standard", "deliveryFee": { "deliveryFee": 16.97, "min_delivery_date": "2020-10-29T16:06:25.734Z", "currency": "EUR", "description": "Express Same day delivery", "serviceFee": 0, "service_name": "DroppX", "VAT": 0, "total": 16.97, "distance": 11577, "service_code": "DPXS", "total_price": 1697.12, "max_delivery_date": "2020-10-29T18:06:25.734Z", "service": "Standard" } , "scheduledTime": "2020-10-29T18:06:25.734Z", "scheduledPickupTime" : "2020-10-29T18:06:25.734Z", }, "products": [], "service": "parcel", "status": "new" } ]
getOrderByUID
Fetch a particular order using this endpoint by providing the order UID
Accepts orderUID:string
, returns a Promise that resolves with created order data if successful else returns error.
Example; orderManager.getOrderByUID("5bfc7232-d0a4-44bb-aa2a-2b0e3b8d19ac").then(response=>response).catch(error=>console.log(error)
getOrders
Fetch All orders created by a partner
Returns a Promise that resolves with all orders data if successful else returns error.
Example; orderManager.getOrders().then(response=>response).catch(error=>console.log(error)
cancelOrder
Cancels an existing order
Accepts orderUID:string
,cancelReason:string
, returns a Promise that resolves with cancelled order data if successful else returns error.
Example; orderManager.cancelOrder("5bfc7232-d0a4-44bb-aa2a-2b0e3b8d19ac", "The order was cancelled because ....").then(response=>response).catch(error=>console.log(error)
updateOrder
Cancels an existing order
Accepts orderUID:string
, update:object
, returns a Promise that resolves with updated order data if successful else returns error.
Example; orderManager.updateOrder("5bfc7232-d0a4-44bb-aa2a-2b0e3b8d19ac", "update": {"meta":" just some partner data3"}).then(response=>response).catch(error=>console.log(error)
deliveryfeeCalc
Get a quote for a parcel order by providing originating and destination addresses
Accepts addresses:object
, returns a Promise that resolves with delivery fee data if successful else returns error.
Example; orderManager.deliveryfeeCalc(addresses).then(response=>response).catch(error=>console.log(error)
Sample addresses object below :
{ "from": "Itamerenkatu 56 A, 00180, Helsinki", "to": "Lapinlahdenkatu 16 A, 00180, Helsinki" }