Is there functionality to request an Uber on another person's behalf? - uber-api

My business opportunity would benefit from being able to request an Uber to pick up a client and arrive at my place of business, and not just the client requesting the Uber themselves. Is this something that I can do today with Uber?
edit: the origin of my request would be different than the requested pick-up location.

The Uber API gives you the ability to Request an Uber Product on behalf of users within your application. Given you know where a user currently is, where they want to go, and which Uber product they want to use to get there, you have all of the tools to make that happen with a few simple API endpoints.
Looks like I answered my own question :)

Related

RESTful API: how to distinguish users requests from front-end requests?

So, I have a RESTful API (built with Hapi.js) that has endpoints consumed by users and my front-end app (built with Next.js). GET api/candies is one of them, I'll take it as an example.
The front-end asks the list of candies stored in my DB and displays them on a page anyone can access (it has to be this way). The front-end doesn't provide an API token since people could read/use it. But, users who want to get this list of candies (to build whatever they want with it) must provide a valid API token (which they get by creating an account on my front-end app).
How could my API tell if a request for api/candies is from a user or from my front-end app, so it can verify (or not) the validity of their token?
I'm wondering if my problem isn't also about web scraping.
Can anyone help me please? :D
I thought about the same problem a while ago. If your frontend has a client side REST client (JS+XHR/fetch), then I don't think it is possible to do this reliably, because no matter how you identify your frontend REST client, your users will be able to copy it just by checking the HTTP requests in browser via CTRL+SHIFT+I. There are even automation tools, which use the browser e.g. Selenium. If you have a server side REST client (e.g. PHP+CURL), then just create a consumer id for the frontend and use a token. Even in this case I can easily write a few lines of code that uses the frontend for the same request. So if you want to sell the same service for money that you provide for free on your frontend, then you are out of luck here. This does not mean that there won't be consumers who are willing to pay for it.
I think your problem is bad business model.
Your requirement can be addressed by inspecting different headers sent by different user agents. You can also add custom headers from your front-end and validate the same on the backend.

API Authentication - Clients (consumers) vs. local users

I work for an ecommerce site and we are looking to expose much of our core functionality via a set of APIs. We plan on re-writing some of our own public facing applications (e.g. the main shop website and our mobile app) to call these new APIs also. We also want to offer some of these APIs out to third-parties who want to integrate with us.
My first question is - what is a suitable authentication method for these APIs? Everything I read is about OAuth, but am I right in saying that this doesn't fit in this case as we're not looking to use another log in system (e.g. Facebook, Google) but rather restrict access to our own API (so maybe an API key or JWT solution would be better?)
Secondly, our current website has it's own user accounts system. How do you offer /user endpoints (like GET user/1235/paymentmethods) in an API like this? Surely the actual user (website customer) needs to authenticate somehow in order for the given API consumer to access their data.
I've spent the last 2 days reading about this but I'm at a loss as to how to go about this! Any help much appreciated.

Do we have an API for getting invoice details of completed rides in uber?

Any API for getting invoice for completed rides in uber? I have checked the uber API docs couldn't find any.
For rider history, you could call the /history endpoint (https://developer.uber.com/docs/riders/references/api/v1.2/history-get) but this does not include fare details.
If your app is the origin of the trips, you can call /receipt endpoint for each trip via https://developer.uber.com/docs/riders/references/api/v1.2/requests-request_id-receipt-get
If you are looking to get all trips including fare details and they are not coming from your app ID, unfortunately that is not available. "The receipt endpoint will only provide receipts for ride requests originating from your application. It is not currently possibly to receive receipt data for all trips."
For a non-api solution you can look at past trips including fare details in your app or on the web at https://riders.uber.com/trips. Hope this helps!

Uber API to detect rides

Is it possible to use the Uber API to detect rides that originated from the Uber app?
I'm trying to get a machine learning system to learn when you are using uber.
No, whether a ride originated from the Uber app or from a separate integration is not a field/endpoint in the current Uber API.
Not sure if this is exactly what you are looking for but something that might be helpful is the /history endpoint. "The User Activity endpoint returns a limited amount of data about a user’s lifetime activity with Uber. The response will include pickup and dropoff times, the city the trips took place in, the distance of past requests, and information about which products were requested."
Documentation: https://developer.uber.com/docs/riders/references/api/v1.2/history-get

Is it possible to have a ride request without authenticating the traveler?

I'm trying to use UberAPi to request rides while not requiring an authentication from the end user (rider).
My company should be responsible for the payments from such rides, and would only request that a driver appears at point A at such time, and deliver someone to point B.
Uber business does have all the features needed for such an integration: Usage reports, expense codes, and else, but I see no way of doing this without either an SSO or OAuth.
No, it is not currently possible to use the api for such a use case. You might want to consider using Uber Central.