Skip to main content

Python modules

CargoClient exposes one client per area. Method names are snake_case; each maps to one endpoint.

client.order_v3​

MethodEndpointPurpose
create_order(body)POST /v3/order-createCreate an order and request a courier.
validate_order(body)POST /v3/order-validateCheck coverage, time and availability without creating.
cancel_order(body)POST /v3/order-cancelCancel while created, in progress or in store.
get_order_status(body)POST /v3/order-statusCurrent state of an order.
list_orders()GET /v3/order/listOrders 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​

MethodEndpointPurpose
create_picking_point(body)POST /picking-pointRegister a store.
update_picking_point(body)PUT /picking-pointUpdate a store.
delete_picking_point({"id": ...})DELETE /picking-pointRemove a store.
list_picking_points(offset, limit)GET /picking-point/listPaginated list. Optional orderby, orderdir.
find_nearby_picking_points(lat, lng)GET /picking-point/nearbyThe 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/checkinCheckin code of one store.
get_all_checkin_codes()GET /picking-point/list/checkin-codeCheckin codes of all stores.
refresh_checkin_code({"p": ...})POST /picking-point/checkin-refreshRotate a store's checkin code.

client.users​

MethodEndpoint
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​

MethodEndpointPurpose
list_permission_groups()GET /authorization/permission-group/listRoles available for your account. Use an id as permission_group_id when creating a user.

client.rt​

MethodEndpointPurpose
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.