Python modules
CargoClient exposes one client per area. Method names are snake_case; each maps to one endpoint.
client.order_v3
| Method | Endpoint | Purpose |
|---|---|---|
create_order(body) | POST /v3/order-create | Create an order and request a courier. |
validate_order(body) | POST /v3/order-validate | Check coverage, time and availability without creating. |
cancel_order(body) | POST /v3/order-cancel | Cancel while created, in progress or in store. |
get_order_status(body) | POST /v3/order-status | Current state of an order. |
list_orders() | GET /v3/order/list | Orders of the token's account. |
get_order_creation_body(rappi_order_id) | GET /v3/order-creation-body/{rappi_order_id} | Body that created an order, ready for create_order to duplicate it. |
mark_order_ready(rappi_order_id) | POST /v3/order-ready/{rappi_order_id} | Signal the order is ready for pickup. |
client.picking_points
| Method | Endpoint | Purpose |
|---|---|---|
create_picking_point(body) | POST /picking-point | Register a store. |
update_picking_point(body) | PUT /picking-point | Update a store. |
delete_picking_point({"id": ...}) | DELETE /picking-point | Remove a store. |
list_picking_points(offset, limit) | GET /picking-point/list | Paginated list. Optional orderby, orderdir. |
find_nearby_picking_points(lat, lng) | GET /picking-point/nearby | The nearest stores to a coordinate. |
get_picking_point(id) | GET /picking-point/view/{id} | One store. |
get_checkin_code(picking_point_id) | GET /picking-point/checkin | Checkin code of one store. |
get_all_checkin_codes() | GET /picking-point/list/checkin-code | Checkin codes of all stores. |
refresh_checkin_code({"p": ...}) | POST /picking-point/checkin-refresh | Rotate a store's checkin code. |
client.users
| Method | Endpoint |
|---|---|
create_user(body) | POST /user/create |
update_user(body) | PUT /user/update |
delete_user({"id": ...}) | POST /user/delete |
list_users(offset=None, limit=None) | GET /user/list (defaults: offset 0, limit 50) |
get_user(id) | GET /user/view/{id} |
client.authorization
| Method | Endpoint | Purpose |
|---|---|---|
list_permission_groups() | GET /authorization/permission-group/list | Roles available for your account. Use an id as permission_group_id when creating a user. |
client.rt
| Method | Endpoint | Purpose |
|---|---|---|
confirm_order_return(rappi_order_id) | POST /rt/remove-debt/{rappi_order_id} | Confirm that an order was returned to the store (also clears the courier's debt). |
Types
Request and response bodies are TypedDicts. There is no runtime validation: the SDK trusts the
API's response, and a type checker such as mypy or Pyright checks your requests before they are
sent. Numeric ids that come from a response are typed as float; the methods accept int or
float and send a whole number.