node-lyft
v1.0.3
Published
The official node SDK for Lyft's APIs
Downloads
106
Readme
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
Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- lyft.PublicApi | getCost | GET /cost | Cost estimates lyft.PublicApi | getDrivers | GET /drivers | Available drivers nearby lyft.PublicApi | getETA | GET /eta | Pickup ETAs lyft.PublicApi | getRideTypes | GET /ridetypes | Types of rides lyft.SandboxApi | setPrimeTime | PUT /sandbox/primetime | Preset Prime Time percentage lyft.SandboxApi | setRideStatus | PUT /sandbox/rides/{id} | Propagate ride through ride status lyft.SandboxApi | setRideTypeAvailability | PUT /sandbox/ridetypes/{ride_type} | Driver availability for processing ride request lyft.SandboxApi | setRideTypes | PUT /sandbox/ridetypes | Preset types of rides for sandbox lyft.UserApi | cancelRide | POST /rides/{id}/cancel | Cancel a ongoing requested ride lyft.UserApi | getProfile | GET /profile | The user's general info lyft.UserApi | getRide | GET /rides/{id} | Get the ride detail of a given ride ID lyft.UserApi | getRideReceipt | GET /rides/{id}/receipt | Get the receipt of the rides. lyft.UserApi | getRides | GET /rides | List rides lyft.UserApi | newRide | POST /rides | Request a Lyft lyft.UserApi | setRideDestination | PUT /rides/{id}/destination | Update the destination of the ride lyft.UserApi | setRideRating | PUT /rides/{id}/rating | Add the passenger's rating, feedback, and tip
Documentation for Models
- lyft.ApiError
- lyft.CancellationCost
- lyft.CancellationCostError
- lyft.CancellationRequest
- lyft.Charge
- lyft.Cost
- lyft.CostEstimate
- lyft.CostEstimateResponse
- lyft.CurrentRideLocation
- lyft.DriverDetail
- lyft.ErrorDetail
- lyft.Eta
- lyft.EtaEstimateResponse
- lyft.LatLng
- lyft.LineItem
- lyft.Location
- lyft.NearbyDriver
- lyft.NearbyDriversByRideType
- lyft.NearbyDriversResponse
- lyft.PassengerDetail
- lyft.PickupDropoffLocation
- lyft.PricingDetails
- lyft.Profile
- lyft.RatingRequest
- lyft.Ride
- lyft.RideDetail
- lyft.RideLocation
- lyft.RideProfileEnum
- lyft.RideReceipt
- lyft.RideRequest
- lyft.RideRequestError
- lyft.RideStatusEnum
- lyft.RideType
- lyft.RideTypeEnum
- lyft.RideTypeEnumWithOther
- lyft.RideTypesResponse
- lyft.RidesResponse
- lyft.SandboxDriverAvailability
- lyft.SandboxPrimetime
- lyft.SandboxRideStatus
- lyft.SandboxRideType
- lyft.SandboxRideUpdate
- lyft.Tip
- lyft.TipParams
- lyft.UserDetail
- lyft.VehicleDetail
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 [email protected]. 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.