uber developer platform overview for apigee webcast

53
JULY, 28 2016 Build Moving Experiences Chris Messina , Developer Experience Lead Alexander Graebe , Developer Advocate

Upload: chris-messina

Post on 06-Apr-2017

268 views

Category:

Technology


1 download

TRANSCRIPT

JULY, 28 2016

Build Moving ExperiencesChris Messina, Developer Experience Lead

Alexander Graebe, Developer Advocate

@uberdevelopers /uber-developers @chrismessina @agraebe

MILLIONS

60+COUNTRIES

450+CITIES

1M+DRIVER PARTNERS

OF RIDERS

BILLIONSOF TRIPS

THE UBER PLATFORM VISION

BUILD MOVING EXPERIENCES

THE UBER PLATFORM THEME

BUILD MOVING EXPERIENCESWorking with Developers

Forging Partnerships

Providing Tools

Uber Cultural Value: Let builders build

THE UBER PLATFORM THEME

BUILD MOVING EXPERIENCESProducts that bring joy

Getting people from A to B

Features for people while they move

Making daily life easier: Saving time & Money

Uber Cultural Value: Make Magic

Uber is a technology & logistics company, not just an app

We move results for thousands of companies

THREE WAYS TO USE THE UBER PLATFORM

Get a ride for your users

Reach people while they ride

Delivery on-demand

DEVELOPING WITH UBER

Get a ride for your users

RIDE REQUESTS

POINT A POINT B

POINT A POINT BINTENT TO RIDE

FUTURE INTENT INTENT TO RIDE POINT A POINT B

FUTURE INTENT INTENT TO RIDE

/reminders

Ride Reminders

POINT AFUTURE INTENT INTENT TO RIDE

Ride Request Button

Ride Request Widget

Deep Links /request

/products /estimates/price /estimates/time

/requests/[id] /history

/me

Ride DetailsRide Options Ride Request

Citymapper

Citymapper

Transit planning

Using deep links

Citymapper

Transit planning

Using deep links

Uber on Pebble Watch

End-to-end ride request experience

Points of Interest Events Public Transit Travel

Wearables Social & MessagingMaps Mobile OEMHealth & Safety

More on this soon…

Retail & Loyalty Media & Gaming

Hospitality

DEVELOPING WITH UBER

Get a ride for your usersRIDE REQUESTS

DEVELOPING WITH UBER

Get a ride for your users

Reach people while they ride

RIDE REQUESTS TRIP EXPERIENCES

POINT A POINT B

2,000,000,000 TRIPSTHE TRIP

POINT A POINT B

20 MINUTES PER TRIP~THE TRIP

POINT A POINT B

40,000,000,000 MINUTES OF FREE TIME

~

THE TRIP

POINT A POINT B

CONTEXT MATTERS

Trip Experiences should target:

When the rider has free time

Based on how much free time they have

Where they’re coming from

Where they’re going

GET CURRENT TRIP DETAILSGET /v1/requests/current all_trips scope

26

{ "request_id":"2a2f3da4", "status":"accepted", "location":{ "latitude":37.7886532015, "bearing":135, "longitude":-122.3961987534 }, "pickup":{ "latitude":37.7872486012, “longitude":-122.4026315287, "eta":9 }, "destination":{ "latitude":37.7766874, “longitude":-122.394857, "eta":19 }, "driver": { "phone_number": "(555)555-5555", "rating": 5, "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/img.jpeg", "name": "Bob" }, "vehicle":{ "make": "Bugatti", "model": "Veyron", "license_plate": "I<3Uber", "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/car.jpeg" }, "eta":5, "surge_multiplier":1.0 }

{ "request_id":"2a2f3da4", "status":"accepted", "location":{ "latitude":37.7886532015, "bearing":135, "longitude":-122.3961987534 }, "pickup":{ "latitude":37.7872486012, “longitude":-122.4026315287, "eta":9 }, "destination":{ "latitude":37.7766874, “longitude":-122.394857, "eta":19 }, "driver": { "phone_number": "(555)555-5555", "rating": 5, "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/img.jpeg", "name": "Bob" }, "vehicle":{ "make": "Bugatti", "model": "Veyron", "license_plate": "I<3Uber", "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/car.jpeg"

Rider pickup location

EXAMPLE: NEWS & ENTERTAINMENTNINE MINUTES OF CONTENT FOR A NINE MINUTE TRIP

{ "request_id":"2a2f3da4", "status":"accepted", "location":{ "latitude":37.7886532015, "bearing":135, "longitude":-122.3961987534 }, "pickup":{ "latitude":37.7872486012, “longitude":-122.4026315287, "eta":9 }, "destination":{ "latitude":37.7766874, “longitude":-122.394857, "eta":19 }, "driver": { "phone_number": "(555)555-5555", "rating": 5, "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/img.jpeg", "name": "Bob" }, "vehicle":{ "make": "Bugatti", "model": "Veyron", "license_plate": "I<3Uber", "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/car.jpeg"

Destination

EXAMPLE: LOCAL GUIDESINSIGHTS FOR, AND OFFERS AROUND, YOUR DESTINATION

MessinaBot

=Contextually & personally relevant++

Uber API OverviewModern API design patterns

API Token & OAuth 2.0 Authentication

RESTful API Content-type application/json

ResourcesA look into the Rides SDK

Native access to the Uber Rides APIs

Tools to authorize and authenticate users

Bring the magic of Uber into your app

github.com/uber/rides-ios-sdk

Rides iOS SDKOpen Source Swift SDK

Auth your users via the native Uber app

No more username & password

One tap and your app can start requesting rides

Single Sign OnAuth via Uber

Provide the full Uber experience without ever leaving your app

An entirely embedded experience, from request to drop off

Ride Requests WidgetExperience Uber without the app

Just set your ride parameters and let the Uber app handle the ride experience

Existing users will feel right at home

Keep the focus on your app; let us handle the ride

Deep LinksQuick & easy

Highly configurable buttons let you get started easily

Login Button lets you auth users using the method you want (Native, Authorization Code Grant, or Implicit Grant)

Ride Requests Button allows you to request a ride using Deep Links, the Ride Request Widget, or custom API logic

Uber ButtonsRide Requests Button & Login Button

API DEMO

DEVELOPING WITH UBER

Get a ride for your users

Reach people while they ride

RIDE REQUESTS TRIP EXPERIENCES

DEVELOPING WITH UBER

Get a ride for your users

Reach people while they ride

RIDE REQUESTS TRIP EXPERIENCES

Delivery on-demand

UBER RUSH

Make getting anything in your city more convenient, affordable, and reliable than

picking it up yourself.

THE UBER RUSH MISSION

Jan 2016 Jun 2016Oct 2015

HISTORY OF UBER RUSH

Jan 2016 Jun 2016Oct 2015

UberRUSH now open for business

Moving Local Businesses

HISTORY OF UBER RUSH

Jan 2016 Jun 2016Oct 2015

A custom delivery solution powered by UberRUSH

UberRUSH now open for business

Moving Local Businesses Moving Enterprise Businesses

HISTORY OF UBER RUSH

Jan 2016 Jun 2016Oct 2015

A custom delivery solution powered by UberRUSH

UberRUSH now open for business

Moving Local Businesses Moving Enterprise Businesses

Developers, your UberRUSH API is arriving now

Moving Developers

HISTORY OF UBER RUSH

Moving Local Businesses

POINT A POINT B POST RIDERIDE LATER RIDE NOW

UBER RUSH

POST DELIVERYORDER LATER ORDER NOW

POINT A POINT B POST RIDERIDE LATER RIDE NOW

UBER RUSH

POST DELIVERYORDER LATER ORDER NOW

POINT A POINT B POST RIDERIDE LATER RIDE NOW

UBER RUSH

POST DELIVERYORDER LATER ORDER NOW

/deliveries/[id] /deliveries

Delivery Details

/deliveries/deliveries/quote

Delivery Options Delivery Request

PYTHAGORAS

Challenges and Obstacles

• Maintain high quality pizza at hyper-fast speed (15 min)

• Limited number of full time couriers

• Unpredictable demand curve

• Limited area of available delivery

• Logistics added an additional layer of complexity

By Integrating the UberRUSH API:

• Allowed expansion across San Francisco

• 100% reliability — “no couriers available”

• Less overhead & positive unit economics

UP SONDER

The Opportunity

• Team identified a lucrative market with high potential

• Consumers didn’t want to purchase their own drones (Ebay, Amazon, etc.)

• Craigslist was the only interim solution — lacked safety, too sparse, and used up too much time

Creating new “Uber for X” businesses

• Able to create a marketplace platform for drone rentals

• Saving time for consumers and ensuring exchanges are secured

@uberdevelopers /uber-developers @chrismessina @agraebe