routific
v0.0.5
Published
Client to use Routific API
Readme
Routific npm module
This node library is a client to interact with the Routific API
Usage
Install the npm module:
npm install routificA simple login example:
Routific = require('routific');
client = new Routific.Client();
client.login("[email protected]", "123456", function(err, response){
// ...
});Initialization
The Routific Client constructor accepts an optional configuration object as a first argument.
client = new Routific.Client(options);Valid options:
url: Routific API url. This is for internal use only. Default"https://api.routific.com".version: Version of the API to use. Default1.token: User token to use for authenticated operations. This is optional, performing a login will set it too. Defaultnull.pollDelay: Milliseconds between attempts to check if jobs are finished when processing routes. Default1000.
Operations
Login
It calls the Login endpoint and keeps the received token for the following authenticated calls.
client.login(email, password, function(error, response){
//...
})VRP route
It calls the VRP endpoint (long version) and waits until the job is processed. It returns the job output, as it would do calling the short VRP endpoint.
vrp = new Routific.Vrp();
vrp.addVisit("visitID1", {
location: {
name: "Visit1 name",
lat: 49.227607,
lng: -123.1363085
},
start: "8:00",
end: "16:00",
duration: 10
});
vrp.addVehicle("vehicleID1", {
start_location: {
id: "depot",
lat: 49.2553636,
lng: -123.0873365
},
end_location: {
id: "depot",
lat: 49.2553636,
lng: -123.0873365
}
});
vrp.addOption("traffic", "slow");
client.route(vrp, function(err, solution, jobId){
//...
})PDP route
It calls the PDP endpoint (long version) and waits until the job is processed. It returns the job output, as it would do calling the short PDP endpoint.
pdp = new Routific.Pdp();
pdp.addVisit("visitID1", {
pickup: {
location: {
name: "Visit1 pickup name",
lat: 49.227607,
lng: -123.1363085
},
start: "8:00",
end: "16:00",
duration: 10
},
dropoff: {
location: {
name: "Visit1 dropoff name",
lat: 48.227607,
lng: -122.1363085
},
start: "8:00",
end: "16:00",
duration: 10
}
});
pdp.addVehicle("vehicleID1", {
start_location: {
id: "depot",
lat: 49.2553636,
lng: -123.0873365
},
end_location: {
id: "depot",
lat: 49.2553636,
lng: -123.0873365
}
});
pdp.addOption("traffic", "slow");
client.route(pdp, function(err, solution, jobId){
//...
})