uber_api is both an executable binary that can be run, and a library that can be used in Rust programs.
Installing the command-line executable
Assuming you have Rust/Cargo installed , run this command in a terminal:
cargo install uber_api
It will make the uber_api command available in your PATH if you've allowed the PATH to be modified when installing Rust . cargo uninstall uber_api uninstalls.
Adding uber_api library as a dependency
Run this command in a terminal, in your project's directory:
cargo add uber_api
To add it manually, edit your project's Cargo.toml file and add to the [dependencies] section:
uber_api = "0.2.8"
The uber_api library will be automatically available globally.
Read the uber_api library documentation .
Back to the crate overview .
Readme
Uber API
- Uber Direct (Uber Logistics - delivery vehicles)
This crate has the relevant DaaS endpoints to make Uber Direct API calls along with all the models. This allows you to call the relevant API you want and not have to worry about how Uber wants to receive and handle the data.
The functions state which API can be called, the full documentation of that endpoint along with all the parameters needed for it, the complete Uber Direct docs - last updated 9/2/2023 - can be found within each function. The general flow is that each endpoint takes a request struct as its parameter. The docs for the direct parameters are also shown at each request struct. Create the request struct with the relevant information and simply pass that into the function to call the Uber Direct API.
It contains functions for the following:
Functions
Get authorization codes
Get a quote for a delivery
Create a new delivery
Cancel a delivery
Update a delivery
Get the information about the delivery
Get a list of deliveries
Get the returned proof of delivery document from driver
At the time of creation, access to these APIs may require written approval from Uber. Once successful, they will provide you with the relevant customer_id, client_id, and client_secret needed for Authentication.
Since then the models required for the Uber Menu integration have been added.
If you want to test that your authentication codes work, an example has been setup for you to run. Clone the repo: Uber API and run the main file, ensuring you pass in the relevant auth fields as parameters
Example:
cargo run -- --customer-id=" 1234" --client-id=" xyz" --client-secret=" xyz"