urr
uber-ride-request
npm i uber-ride-request
urr

uber-ride-request

A Node module to make a one click ride request.

by Antoine de Chassey

1.0.1 (see all)License:ISCTypeScript:Not FoundCategories:Vanilla JavaScript Transporation API
npm i uber-ride-request
Readme

Uber Ride Request

Request an UberX ride by only setting the starting and ending GPS coordinates.

Installing

Using npm:

$ npm install --save uber-ride-request

Usage

Create a new application on the Uber developer web platform.

Under the "AUTHORIZATION" tab:

  • Initially, you need to get a Bearer access token (used to authenticate the requests we make to the Uber API). The easiest way I found was to generate it on the Uber developer web platform. This token will be valid for 30 days, but a refresh token can be used to extend its validity. You can also generate it with the oAuth2 authentication provided.
  • Make sure to enable (at least) the request scope .

Have a look at the API docs for more detailed information on how to authenticate, make API calls, etc...

Example

Every method on the client returns a promise, so they can be chained together. You can order a ride as following:

const Client = require('uber-ride-request').Uber;

const access_token = "YOUR_ACCESS_TOKEN"; // Retrieve it by generating a token under the "authorization" tab in https://developer.uber.com/dashboard/
const isSandbox = true; // Set to 'false' if you wish to order a real UberX

const uber = new Client(access_token, isSandbox);

uber.start_lat = 48.870694;
uber.start_lng = 2.317030;
uber.end_lat = 48.871405;
uber.end_lng = 2.301235;
uber.seats = 2;

uber.getUberXEstimate().then(result => {
    if(result != null){
        let distance_estimate = (result.trip.distance_estimate * 1.60934).toFixed(2);
        console.log("Estimated distance: " + distance_estimate + " km");
        uber.getRequest().then(result => {
            console.log("Ordered Uber successfully!");
            // Notify user about the ride process after one minute
            setTimeout(function(){
                getCurrentRide();
            }, 60000);
        });
    } else {
        console.warn("No UberX arround you.");
    }
});

function getCurrentRide(){
    uber.getCurrent().then(result =>{
        let status = result.status;
        let eta = result.pickup.eta;
        console.log("Current status: " + status + ". Driver arrives in: " + eta + " minutes.");
    });
}

You can also cancel an Uber ride requested by using:

uber.cancelCurrent().then(result => {
    if(result == 204){
        console.log("Canceled order successfully!");
    } else {
        res.send("No ride to cancel.");
    }
});

License

MIT

Antoine de Chassey

Downloads/wk

1

GitHub Stars

0

LAST COMMIT

NaNyrs ago

MAINTAINERS

1

CONTRIBUTORS

0

OPEN ISSUES

0

OPEN PRs

0
VersionTagPublished
1.0.1
latest
5yrs ago
No tutorials found
Add a tutorial