1.0.3 • Published 7 years ago

node-lyft v1.0.3

Weekly downloads
23
License
Apache-2.0
Repository
github
Last release
7 years ago

Lyft Node SDK

node-lyft is a Node client library for accessing the Lyft API.

Registration

You must first create a Lyft Developer account here. Once registered, create a new application here. Your new application will be assigned a Client ID and Client Secret (for use with two- or three-legged OAuth to generate bearer tokens and User Authentication) and a Client Token (for use with public endpoints that don't require user context/Client Authentication).

Installation

npm

Install the latest version via npm:

npm install node-lyft

For Development/Pull Requests

First clone the lyft-node-sdk repo locally:

git clone github.com/lyft/lyft-node-sdk

Within the cloned directory, run npm install. Now you can install this package locally for development.

Usage

Prior to calling API endpoints, you need to authenticate. For public endpoints, you can use the Client Token from your application; for user-specific endpoints, you need to use a token generated from the three legged OAuth2 process, detailed in the documentation.

var lyft = require('node-lyft');
var defaultClient = lyft.ApiClient.instance;
//next you need to authorize API access.
//if you're only using your Client Token for non-user specific endpoints, you can add that token directly
defaultClient.authentications['Client Authentication'].accessToken = 'YOUR-CLIENT-TOKEN';
//if you're using endpoints that require a user context, you need to get your token via three-legged OAuth, then add it here:
defaultClient.authentications['User Authentication'].accessToken = '3-LEGGED-OAUTH-TOKEN';

With proper authorization, you can now call Lyft's API. Below we are calling the ETA endpoint with a lyftPublicApi instance.

//create a new lyft-node PublicApi() instance
var lyftPublicApi = new lyft.PublicApi()
//the getETA endpoint works with both user and non-user context:
//leaving the options field empty {}
//and using promises/then to print out result
lyftPublicApi.getETA(37.7884, -122.4076, {}).then((data) => {
  console.log('API called successfully. Returned data: ' + data);
}, (error) => {
  console.error(error);
});

Documentation for API Endpoints

All URIs are relative to https://api.lyft.com/v1

ClassMethodHTTP requestDescription
lyft.PublicApigetCostGET /costCost estimates
lyft.PublicApigetDriversGET /driversAvailable drivers nearby
lyft.PublicApigetETAGET /etaPickup ETAs
lyft.PublicApigetRideTypesGET /ridetypesTypes of rides
lyft.SandboxApisetPrimeTimePUT /sandbox/primetimePreset Prime Time percentage
lyft.SandboxApisetRideStatusPUT /sandbox/rides/{id}Propagate ride through ride status
lyft.SandboxApisetRideTypeAvailabilityPUT /sandbox/ridetypes/{ride_type}Driver availability for processing ride request
lyft.SandboxApisetRideTypesPUT /sandbox/ridetypesPreset types of rides for sandbox
lyft.UserApicancelRidePOST /rides/{id}/cancelCancel a ongoing requested ride
lyft.UserApigetProfileGET /profileThe user's general info
lyft.UserApigetRideGET /rides/{id}Get the ride detail of a given ride ID
lyft.UserApigetRideReceiptGET /rides/{id}/receiptGet the receipt of the rides.
lyft.UserApigetRidesGET /ridesList rides
lyft.UserApinewRidePOST /ridesRequest a Lyft
lyft.UserApisetRideDestinationPUT /rides/{id}/destinationUpdate the destination of the ride
lyft.UserApisetRideRatingPUT /rides/{id}/ratingAdd the passenger's rating, feedback, and tip

Documentation for Models

Support

If you're looking for help configuring or using the SDK, or if you have general questions related to our APIs, the Lyft Developer Platform team provides support through our forum as well as on Stack Overflow (using the lyft-api tag).

Reporting security vulnerabilities

If you've found a vulnerability or a potential vulnerability in node-lyft, please let us know at security@lyft.com. We'll send a confirmation email to acknowledge your report, and we'll send an additional email when we've identified the issue positively or negatively.

1.0.3

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago