PHPackages                             nilsenj/uber - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. nilsenj/uber

ActiveLibrary[API Development](/categories/api)

nilsenj/uber
============

simple uber php sdk implementation for laravel

10183[1 issues](https://github.com/nilsenj/uber/issues)PHP

Since Feb 4Pushed 8y ago2 watchersCompare

[ Source](https://github.com/nilsenj/uber)[ Packagist](https://packagist.org/packages/nilsenj/uber)[ RSS](/packages/nilsenj-uber/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

nilsenj/uber
============

[](#nilsenjuber)

uber api v1.\* for Laravel 5.\*

**First**go to [uber dashboard](https://developer.uber.com/dashboard/)

and get `server_token`

Installation
------------

[](#installation)

1. Either run `composer require nilsenj/uber`or add `"nilsenj/uber": "dev-master"` to the `require` key in `composer.json` and run `composer install`
2. Add ` \nilsenj\Uber\UberServiceProvider::class,` to the `providers` key in `config/app.php`
3. Add `'Uber' => \nilsenj\Uber\Facades\UberFacade::class,` to the `aliases` key in `config/app.php`
4. Do `php artisan vendor:publish` to publish the config. You can see it in `config/uber.php`

Usage
-----

[](#usage)

\#####Using Contract

```
protected $uber;

    /**
     * UberController constructor.
     * @param UberContract $uber
     */
    public function __construct(UberContract $uber)
    {
        $this->uber = $uber;
    }

    public function index() {
        $this->uber->someMethod();
    }

```

\#####List Of Methods

### Get Products

[](#get-products)

#### By location:

[](#by-location)

```
$products = app('UberContract')->getProductsByLocation($latitude, $longitude);
```

#### By Id:

[](#by-id)

```
$product = app('UberContract')->getProductsById($productId);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/products-product\_id-get](https://developer.uber.com/docs/riders/references/api/v1.2/products-product_id-get)

### Get Price Estimates

[](#get-price-estimates)

```
$estimates = app('UberContract')->getPriceEstimates($start_latitude, $start_longitude, $end_latitude, $end_longitude);
```

### Get Time Estimates

[](#get-time-estimates)

```
$estimates = app('UberContract')->getTimeEstimates($start_latitude, $start_longitude);
```

### Get Promotions

[](#get-promotions)

```
$promotions = app('UberContract')->getPromotions($start_latitude, $start_longitude, $end_latitude, $end_longitude);
```

### Get User Activity

[](#get-user-activity)

This feature is only available since version `1.1`.

```
$history = app('UberContract')->getUserActivity();
```

### Get User Profile

[](#get-user-profile)

```
$profile = app('UberContract')->getUserProfile();
```

### Update User Profile

[](#update-user-profile)

```
$attributes = array('applied_promotion_codes' => 'PROMO_CODE');
$profileResponse = app('UberContract')->updateUserProfile($attributes);
```

### Get Payment Methods

[](#get-payment-methods)

```
$paymentMethods = app('UberContract')->getPaymentMethods();
```

### Get Place

[](#get-place)

```
$placeId = 'home';
$place = app('UberContract')->getPlace($placeId);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/places-place\_id-get](https://developer.uber.com/docs/riders/references/api/v1.2/places-place_id-get)

### Update a Place

[](#update-a-place)

```
$placeId = 'home';
$attributes = array('address' => '685 Market St, San Francisco, CA 94103, USA');
$place = app('UberContract')->updatePlace($placeId, $attributes);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/places-place\_id-put](https://developer.uber.com/docs/riders/references/api/v1.2/places-place_id-put)

### Request A Ride

[](#request-a-ride)

```
$request = app('UberContract')->requestToRide($start_latitude, $start_longitude, $end_latitude,
                $end_longitude, $product_id = null, $surge_confirmation_id = null, $payment_method_id = null);
```

### Get Current Ride Details

[](#get-current-ride-details)

```
$request = app('UberContract')->getCurrentRideDetails();
```

### Get Ride Details

[](#get-ride-details)

```
$request = app('UberContract')->getRideDetails($requestId);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/requests-request\_id-get](https://developer.uber.com/docs/riders/references/api/v1.2/requests-request_id-get)

### Update Current Ride Details

[](#update-current-ride-details)

```
$end_address= '685 Market St, San Francisco, CA 94103, USA',
$end_nickname = 'da crib',
$end_place_id = 'home',
$end_latitude = '41.87499492',
$end_longitude = '-87.67126465'

$updateRequest = app('UberContract')->updateCurrentRideDetails($end_address, $end_nickname, $end_place_id,
                                                                    $end_latitude, $end_longitude);
```

### Update Ride Details

[](#update-ride-details)

```
$requestId = '4bfc6c57-98c0-424f-a72e-c1e2a1d49939'

$end_address = '685 Market St, San Francisco, CA 94103, USA',
$end_nickname = 'da crib',
$end_place_id = 'home',
$end_latitude = '41.87499492',
$end_longitude = '-87.67126465'

$updateRequest = Uber::updateRideDetails($requestId, $end_address, $end_nickname, $end_place_id,
                                                             $end_latitude, $end_longitude);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/requests-request\_id-patch](https://developer.uber.com/docs/riders/references/api/v1.2/requests-request_id-patch)

### Get Ride Estimate

[](#get-ride-estimate)

```
$product_id = '4bfc6c57-98c0-424f-a72e-c1e2a1d49939',
$start_latitude = '41.85582993',
$start_longitude = '-87.62730337',
$end_latitude = '41.87499492', // optional
$end_longitude = '-87.67126465', // optional

$requestEstimate = app('UberContract')->getRideEstimate($product_id, $start_latitude,
                    $start_longitude, $end_latitude, $end_longitude);
```

### Get Ride Map

[](#get-ride-map)

```
$map = Uber::getRideMap($requestId);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/requests-request\_id-map-get](https://developer.uber.com/docs/riders/references/api/v1.2/requests-request_id-map-get)

### Get Ride Receipt

[](#get-ride-receipt)

```
$receipt = app('UberContract')->getRideReceipt($requestId);
```

### Cancel Ride

[](#cancel-ride)

```
$request = app('UberContract')->cancelRide($requestId);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/requests-request\_id-delete](https://developer.uber.com/docs/riders/references/api/v1.2/requests-request_id-delete)

### Create Reminder

[](#create-reminder)

```
$attributes = array(
    'reminder_time' => '1429294463',
    'phone_number' => '555-555-5555',
    'event' => array(
        'time' => '1429294463',
        'name' => 'Frisbee with friends',
        'location' => 'Dolores Park',
        'latitude' => '37.759773',
        'longitude' => '-122.427063',
    ),
    'product_id' => 'a1111c8c-c720-46c3-8534-2fcdd730040d',
    'trip_branding' => array(
        'link_text' => 'View team roster',
        'partner_deeplink' => 'partner://team/9383',
    )
);
$reminder = app('UberContract')->createReminder($attributes)
```

### Get Reminder

[](#get-reminder)

```
$reminderId = '4bfc6c57-98c0-424f-a72e-c1e2a1d49939';
$reminder = app('UberContract')->getReminder($reminderId);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/reminders-reminder\_id-get](https://developer.uber.com/docs/riders/references/api/v1.2/reminders-reminder_id-get)

### Update Reminder

[](#update-reminder)

```
$reminderId = '4bfc6c57-98c0-424f-a72e-c1e2a1d49939';
$attributes = array(
    'reminder_time' => '1429294463',
    'phone_number' => '555-555-5555',
    'event' => array(
        'time' => '1429294463',
        'name' => 'Frisbee with friends',
        'location' => 'Dolores Park',
        'latitude' => '37.759773',
        'longitude' => '-122.427063',
    ),
    'product_id' => 'a1111c8c-c720-46c3-8534-2fcdd730040d',
    'trip_branding' => array(
        'link_text' => 'View team roster',
        'partner_deeplink' => 'partner://team/9383',
    )
);
$reminder = Uber::updateReminder($reminderId, $attributes);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/reminders-reminder\_id-patch](https://developer.uber.com/docs/riders/references/api/v1.2/reminders-reminder_id-patch)

### Cancel Reminder

[](#cancel-reminder)

```
$reminderId = '4bfc6c57-98c0-424f-a72e-c1e2a1d49939';
$reminder = app('UberContract')->cancelReminder($reminderId);
```

[https://developer.uber.com/docs/riders/references/api/v1.2/reminders-reminder\_id-delete](https://developer.uber.com/docs/riders/references/api/v1.2/reminders-reminder_id-delete)

### Rate Limiting

[](#rate-limiting)

> This feature is only supported for `v1` version of the API.

Rate limiting is implemented on the basis of a specific client's secret token. By default, 1,000 requests per hour can be made per secret token.

When consuming the service with this package, your rate limit status will be made available within the client.

```
$rateLimit = app('UberContract')->rateLimiting($productId);
will return an array
["limit" => , "remaining" => , "reset" => ]
```

These values will update after each request. `getRateLimit` will return null after the client is created and before the first successful request.

### Using the Sandbox

[](#using-the-sandbox)

Modify the status of an ongoing sandbox Request.

> These methods will throw `Stevenmaguire\Uber\Exception` when invoked while the client is not in sandbox mode. The underlying API endpoints have no effect unless you are using the sandbox environment.

```
$product_id = '4bfc6c57-98c0-424f-a72e-c1e2a1d49939',
$start_latitude = '41.85582993',
$start_longitude = '-87.62730337',
$end_latitude = '41.87499492',
$end_longitude = '-87.67126465'

$updateRequest = app('UberContract')->modifyOngoingStatusRequestSandbox(
                 $product_id, $start_latitude, $start_longitude, $end_latitude,
                 $end_longitude, $status = '');
```

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0d7455177c92e341255f7f53dc0eb2824c52ccf078f642b4f696267bc82d27c5?d=identicon)[Ivan Nikolenko](/maintainers/Ivan%20Nikolenko)

---

Top Contributors

[![nilsenj](https://avatars.githubusercontent.com/u/6910202?v=4)](https://github.com/nilsenj "nilsenj (7 commits)")

### Embed Badge

![Health badge](/badges/nilsenj-uber/health.svg)

```
[![Health](https://phpackages.com/badges/nilsenj-uber/health.svg)](https://phpackages.com/packages/nilsenj-uber)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
