Soy Rappi 骑手数据 API:登录、资料、目标与订单
Soy Rappi 是 Rappi 餐饮与杂货配送背后的骑手端应用。使用邮箱、短信或 WhatsApp 一次性验证码登录即可签发 accessToken 与 refreshToken;GET /v1/couriers/me/profile 返回骑手身份信息,daily-goal 与 drop-off 路由则暴露收入进度与逐单配送字段。
下面六个调用在泛化的示意性路径上映射出这套骑手数据接口——POST /v1/auth/courier/email/verify 用于登录,其后依次是资料、每日目标、订单投递详情、需求热力图与活动订单流——字段名与应用实际收发的报文保持一致。
Soy Rappi(包名 com.rappi.storekeeper)是 Rappi 的骑手端应用:骑手上线、承接餐饮与杂货订单、跟随配送时间线操作,并追踪自己的收入。这些界面背后,应用通过 HTTPS 与骑手后端通信——邮箱 / 短信 / WhatsApp 一次性验证码登录并签发 accessToken 与 refreshToken,另有包含身份与欠款信息的骑手资料、每日收入目标、逐单配送详情、需求热力图,以及按状态分组的活动订单流。下面这份接口面在泛化的示意性路径上复现了这些调用的形状。
应用截图
API 端点一览
骑手邮箱一次性验证码令牌签发
POST
/v1/auth/courier/email/verifyopendata用邮箱一次性验证码换取骑手的 Bearer accessToken、refreshToken 与嵌套 profile,供 Soy Rappi 其余所有调用使用。
认证方式: 无(本端点用于签发令牌)。请求体携带一次性验证码与发送验证码步骤返回的授权句柄;之后所有调用使用 Bearer accessToken。
- auth
- code
- deviceInformation
- accessToken
- refreshToken
- profile
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/auth/courier/email/verify HTTP/1.1 Content-Type: application/json { "email": "[email protected]", "auth": "eyJhbGciOi...", "code": "482193", "deviceInformation": {"deviceId": "3f2b8c1d-9a1e-4c2b", "os": "android"} }{ "accessToken": "eyJhbGciOi...", "refreshToken": "d8f1c2...", "profile": { "id": 1843921, "firstName": "Camila", "lastName": "Souza", "email": "[email protected]", "phone": "11987654321" } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的邮箱登录与一次性验证码校验流程重构。字段名与登录后应用存储的令牌及资料载荷一致。
骑手资料
GET
/v1/couriers/me/profileosint读取已登录骑手的身份、城市、车辆、接单率、欠款与银行 / 卡片标记,驱动 My Profile 与首页。
认证方式: 来自 /v1/auth/courier/email/verify 的 Bearer accessToken。
- id
- identification
- firstName
- lastName
- phone
- country
- city
- isActive
- trusted
- transportationMethod
- acceptanceRate
- average
- storekeeperDebt
- hasBankAccount
- cardActive
依据应用界面重构的示意示例,并非实时抓包。
GET /v1/couriers/me/profile HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "id": 1843921, "identification": "12345678900", "firstName": "Camila", "lastName": "Souza", "phone": "11987654321", "email": "[email protected]", "country": "BR", "city": "Sao Paulo", "isActive": true, "trusted": true, "transportationMethod": "motorcycle", "acceptanceRate": 92, "average": "4.8", "storekeeperDebt": 0, "hasBankAccount": true, "cardActive": true }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据 My Profile 与首页界面重构。字段名与应用渲染的骑手身份载荷一致。
每日收入目标
GET
/v1/couriers/{courier_id}/daily-goalopenfinance返回骑手配置的每日收入目标与当前 totalEarned 的对比,含允许的 goalRange 区间与完成百分比。
认证方式: 来自 /v1/auth/courier/email/verify 的 Bearer accessToken。
- dailyGoal
- goalRange
- goalValue
- totalEarned
- percentage
依据应用界面重构的示意示例,并非实时抓包。
GET /v1/couriers/1843921/daily-goal HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "dailyGoal": { "goalRange": {"min": 50, "max": 400}, "goalValue": 180, "totalEarned": 126, "percentage": 70 } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据首页的每日目标卡片重构。字段名与应用渲染的收入目标载荷一致。
订单配送详情
GET
/v1/orders/{orderId}/dropoff-detailopendata返回进行中订单的投递信息包:配送步骤页使用的地址、坐标、收件人、现金收款标记与凭证类型。
认证方式: 来自 /v1/auth/courier/email/verify 的 Bearer accessToken。
- address
- location
- flow
- additionalInfo
- billImage
- isReturn
- recipientName
- placeType
- storekeeperId
- cashCollected
- evidenceType
依据应用界面重构的示意示例,并非实时抓包。
GET /v1/orders/99887766/dropoff-detail HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "address": "Rua Augusta 1500, Apto 42", "location": {"lat": -23.5614, "lng": -46.6558}, "flow": "STANDARD", "additionalInfo": "Leave at reception", "billImage": "https://cdn.example/bills/99887766.jpg", "isReturn": false, "recipientName": "Joao Lima", "placeType": "apartment", "storekeeperId": 1843921, "cashCollected": false, "evidenceType": "PHOTO" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据配送中的步骤页重构。字段名与交付订单前展示的投递载荷一致。
需求热力图分布
GET
/v1/demand/heatmap/configopendata为首页地图的需求叠加层供数:热力图半径、刷新间隔、实验 treatment 标记与启用该图层的城市 id。
认证方式: 来自 /v1/auth/courier/email/verify 的 Bearer accessToken。
- treatment
- radius
- every
- version
- citiesIdsToApply
依据应用界面重构的示意示例,并非实时抓包。
GET /v1/demand/heatmap/config?lat=-23.5614&lng=-46.6558&radius=1500 HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "treatment": true, "radius": 1500, "every": 60, "version": "v1", "citiesIdsToApply": [1, 4, 9] }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据首页地图的需求叠加层重构。字段名与热力图配置载荷一致。
按状态列出活动订单
GET
/v1/orders/activeopendata按工作流状态列出骑手进行中的订单包与滞后订单,让首页可以恢复取货、店内与配送各步骤。
认证方式: 来自 /v1/auth/courier/email/verify 的 Bearer accessToken。
- laggingOrders
- orderBundles
- activeBundles
- id
- orderId
- storeName
- orderDate
- total
- orderType
- status
- earnings
- userId
依据应用界面重构的示意示例,并非实时抓包。
GET /v1/orders/active HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "laggingOrders": [], "orderBundles": [{ "id": "bdl_01", "orders": [{ "id": "ord_99887766", "orderId": 99887766, "storeName": "Burger House Paulista", "orderDate": "2026-09-24T18:12:03Z", "total": 42.9, "orderType": "RESTAURANT", "status": "IN_STORE", "earnings": 8.5, "userId": 552109 }] }], "activeBundles": [], "isFirebaseActive": true }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据首页的进行中订单列表重构。字段名与按工作流状态分组的订单包载荷一致。
数据类别
- 认证令牌
- 骑手资料
- 收入目标
- 配送详情
- 需求热力图
- 活动订单
数据使用场景与案例
骑手薪资核对
车队运营机器人拉取每位骑手的每日目标 totalEarned 与 goalValue,同每周打款核对,标记 percentage 长期低于所配置 goalRange 的骑手。
实时配送 SLA 监控
调度看板盯守活动订单流,对每个 orderId 打开投递详情读取 recipientName、location 与 cashCollected,当某个 IN_STORE 订单停留超过预计送达时间时触发告警。
按需求热力调配骑手站位
调度工具读取热力图分布(radius、every、citiesIdsToApply),结合骑手资料中的 city 与 transportationMethod,建议摩托车骑手在高峰时段到何处等单。
KYC 与欠款筛查
入驻校验使用骑手资料中的 identification、hasBankAccount、cardActive 与 storekeeperDebt 字段,判断骑手可以继续在线接单,还是必须先完成银行卡设置。
常见问题
Soy Rappi 如何对骑手进行身份验证?
骑手先请求邮箱(或短信 / WhatsApp)一次性验证码,然后向 /v1/auth/courier/email/verify 提交 email、auth、code 与 deviceInformation。响应携带 accessToken、refreshToken 与嵌套的 profile;后续调用发送 Authorization: Bearer accessToken。
哪些字段描述骑手的每日收入目标?
GET /v1/couriers/{courier_id}/daily-goal 返回 dailyGoal,内含 goalRange、goalValue、totalEarned 与 percentage——与应用内每日目标卡片上展示的数字一致。
投递地址来自哪里?
GET /v1/orders/{orderId}/dropoff-detail 返回配送步骤页所需的 address、location、recipientName、placeType、cashCollected 与 evidenceType。
需求热力图如何更新?
应用携带骑手的 lat/lng 与 radius 调用 GET /v1/demand/heatmap/config,返回的载荷包含 treatment、radius、every(刷新间隔秒数)、version 与 citiesIdsToApply。
相关主题
- Soy Rappi API
- Rappi 骑手端点
- 骑手每日目标
- Rappi 配送详情
- Rappi 热力图 API
- Rappi 活动订单