# 跑腿下游服务商接入文档

# 接入须知

# 1.1 约定

类别 描述
坐标系 腾讯侧使用的经纬度坐标一律为国标(腾讯地图默认坐标)
城市编码 GB/T 2260
WebService API | 腾讯位置服务
距离 使用作为统一单位
费用 使用作为单位

# 1.2 ChangeLog

日期 变更说明
2025.07.07 接口请求参数区分B端和C端是否必须
回调接口B端和C端为同一个值2.2.2
请求Body通用字段sp_user_id在B端为固定值,需要对接时和腾讯出行研发确认
2025.11.04 新增帮买类别(更新颜色) 蓝色为帮买业务字段
询价接口新增 order_type 详情可见附录服务运力类型
下单接口响应新增 order_type 详情可见附录服务运力类型
2025.11.11 2.2被调完单后通知、2.2.5查询详情 新增补充信息(更新颜色)
补充取收件图片信息
补充骑手信息和骑手位置信息
2025.11.25 新增服务商账户余额不足错误码
2025.12.24 骑手位置新增距离字段
2026.01.06 新增需充值运力查询账户余额接口
2026.04.29 加小费接口新增本次加小费金额和对应的微信支付流水号
2026.05.12 订单详情新增等候费和等候费规则字段
2026.05.14 增加骑手轨迹查询接口
2026.05.27 增加送件中取消售中逆向相关字段

# 接口

# 2.1 通用约定

url_prefix:(B端和C端均用同一个回调请求地址)

测试:https://test.tai.qq.com/intracity/express

正式:https://sp.wecar.map.qq.com/intracity/express

如非特殊约定,统一使用如下规范

类型 描述
协议 HTTPS
请求方式 Post
数据格式 JSON,请设置Header的Content-Type为application/json
编码 UTF-8
时间戳 毫秒
日期格式 日期格式采用 GB/T 7408—2005 标准中"YYYY-MM-DD"格式(示例:2022-08-01),时区统一采用东八区(即北京时间)。
日期时间格式采用 GB/T 7408—2005 标准中的 "YYYY-MM-DD hh:mm:ss" 格式(示例: 2022-08-01 19:00:00),时区统一采用东八区(即北京时间)。
Java中时间格式应为: "yyyy-MM-dd HH:mm:ss"
PHP中时间格式应为: "Y-m-d H:i:s"
Go中时间格式应为:"2006-01-02 15:04:05"
Python中时间格式应为:"%Y-%m-%d %H:%M:%S"

# 请求Body通用字段

名称 类型 描述 B端(必须) C端(必须)
seq_id string(36) 请求流水号,调用方自动生成一个随机ID,建议使用uuid Yes Yes
timestamp long(13) 请求时间,Unix Timestamp单位 秒 Yes Yes
nonce string(32) 随机字符串,数字与字母组合,区分大小写 Yes Yes
api_key string(32) 腾讯出行服务分配给服务商的应用标识 Yes Yes
sign string(32) 签名验证参数 Yes Yes
sp_user_id string(32) 用户id
主动调用可能会添加
Yes
(固定值,需要和腾讯出行侧确认,B端不接注册的话可以为空串)
询价:No
其他:Yes
user_code string 腾讯用户唯一标识 帮买必填
buss_code int 腾讯侧业务标识 帮买必填
被调跑腿固定69
被调帮买固定84

# 请求响应统一数据结构

名称 类型 描述 必须
code int(11) 响应码
默认0为成功
其他为错误
Yes
message string(64) 错误消息
code为0时返回空字符串
code为非0是返回具体原因
No
data object 业务响应主题
code为0时返回,具体返回对象结构见下文具体API
code为非0时不返回
No

# 2.2 主调(腾讯调用服务商)

# 2.2.1 注册用户(B端无用户概念,可不接)

注册用户,如需要区分用户调用该接口,生成访问凭证,可选实现

Route: /register

请求Body:

名称 类型 描述 必须
name string(64) 姓名/昵称 No
phone string(64) 手机 Yes
address string(512) 地址 No
lng double 经度 No
lat double 纬度 No

响应Body业务字段:

名称 类型 描述 必须
sp_user_id string(64) 用户id Yes

# 2.2.2 询价

Route: /estimatePrice

请求Body:

名称 类型 描述 B端(必须) C端(必须)
city_name string(32) 城市名称 No No
city_code string(32) 城市行政区域编码 No No
goods_type int(11) 物品类别
详细见附录
Yes Yes
goods_weight float 物品重量(单位kg) Yes Yes
sender_address AddressInfo 地址信息
详细结构见附录
AddressInfo
Yes
(骑手就近帮买为No)
Yes
(骑手就近帮买为No)
receiver_address AddressInfo 地址信息
详细结构见附录
AddressInfo
Yes Yes
service_type int 服务类型
详细见:附录服务运力类型
Yes Yes
rider_type int(4) 运送类型
详细见:附录服务运力类型
Yes Yes
reserve_time int(13) 预约时间(毫秒) 实时单: No
预约单: Yes
实时单: No
预约单: Yes
enable_fetch_code bool 启用取货码 No No
enable_receive_code bool 启用收货码 Yes Yes
order_scene int(11) 订单场景 不传默认为c端
1: c端 2:b端 21:b端渠道商
(历史字段废弃,不再使用)
Yes No
tips_fee int(11) 小费金额 No(取送非必需) No(取送非必需)
order_type int(11) 订单类型
详细见:附录服务运力类型
Yes(取送非必需) Yes
默认为1(取送非必需)
buy_type int(11) 帮买模式
详细见:附录服务运力类型
仅order_type
Yes(取送非必需) Yes
默认为1(取送非必需)
goods_details List 物品明细数据 No No (跑腿也有)
trade_order_source string 订单来源
可见订单来源枚举,未在枚举中可传入原始字符串
No No
trade_order_source_sequence string 订单来源流水号 No No
expected_delivery_time long 上游期望送达时间,需要给骑手展示
时间戳,格式为long,时区为GMT+8,即距离Epoch(1970年1月1日) 以秒计算的时间(unix-timestamp)。
No No

响应Body业务字段:

名称 类型 描述 必须
list List 询价结果列表
对象详细结构见附录
EstimateInfo
Yes

# 2.2.3 创建订单

Route: /createOrder

请求Body:

名称 类型 描述 B端(必须) C端(必须)
biz_order_code string(64) 腾讯业务订单号 Yes Yes
estimate_id string(64) 询价id、预下单id
可以通过该id进行下单
Yes Yes
payment_order_id string(64) 支付流水单号
对应微信付款的支付流水号
以字母T开头
No Yes
remark string
(帮买备注长度200)
备注(以下单为准) No No
coupon_info_list List 优惠券信息(商家券信息,接入商家券需要) No No
pay_total_fee int(11) 支付金额(券后用户实付金额,接入商家券需要) No No
order_scene int(11) 订单场景 不传默认为c端
1: c端 2:b端 21:b端渠道商
(历史字段废弃,不再使用)
Yes No
order_phone string(64) 下单人手机号 No Yes
phone_type int(11) 1-AXN
2-AXB
Yes No

响应Body业务字段:

名称 类型 描述 必须
sp_order_id string(50) 服务商业务订单号 Yes
service_type int(4) 服务类型
详细见:附录服务运力类型
Yes
rider_type int(4) 运送类型
详细见:附录服务运力类型
Yes
order_type int(11) 订单类型
详细见:附录服务运力类型
Yes(取送非必需)
buy_type int(11) 帮买模式
详细见:附录服务运力类型
仅order_type
Yes(取送非必需)
create_time int(13) 下单成功时间戳(毫秒) Yes
fees FeeInfo 各项费用信息 Yes
eta_info EtaInfo eta信息 Yes
send_code string 发货码 No
receive_code string 收货码 No

# 2.2.3 预取消订单

Route: /preCancelOrder

请求Body:

名称 类型 描述 B端(必须) C端(必须)
biz_order_code string(64) 腾讯业务订单号与sp_order_id订单号存在其中一个 No No
sp_order_id string(64) 服务商业务订单号
与biz_order_code订单号存在其中一个
No No
cancel_info CancelInfo 取消信息 No No

响应Body业务字段:

名称 类型 描述 必须
can_cancel bool 是否能取消 Yes
fee_info FeeInfo 各项费用信息 Yes
cancel_rules List 取消规则 No

# 2.2.4 取消订单

Route: /cancelOrder

请求Body:

名称 类型 描述 B端(必须) C端(必须)
biz_order_code string(64) 腾讯业务订单号
与sp_order_id订单号存在其中一个
No No
sp_order_id string(64) 服务商业务订单号
与biz_order_code订单号存在其中一个
No No
cancel_info CancelInfo 取消信息 Yes
(可能是一个固定值)
Yes

响应Body业务字段:

名称 类型 描述 必须
fee_info FeeInfo 各项费用信息 Yes

# 2.2.5 查询订单详情

Route: /orderDetail

请求Body:

名称 类型 描述 B端(必须) C端(必须)
biz_order_code string(64) 腾讯业务订单号
与sp_order_id订单号存在其中一个
No No
sp_order_id string(64) 服务商业务订单号
与biz_order_code订单号存在其中一个
No No

响应Body业务字段:

名称 类型 描述 必须
biz_order_code string(64) 腾讯业务订单号 Yes
sp_order_id string(64) 服务商业务订单号 Yes
status int(11) 订单状态 Yes
accepted_time int(13) 骑手接单时间毫秒时间戳 接单后:Yes,其他:No
create_time int(13) 创单时间(毫秒) Yes
reserve_time int(13) 预约时间(毫秒) 实时单: No
预约单: Yes
estimate_time_info EstimateTimeInfo 预估行程时间信息 Yes
actual_time_info ActualTimeInfo 实际行程时间信息 Yes
rider_info RiderInfo 骑手信息 Yes
fee_info FeeInfo 各项费用信息 Yes
eta_info EtaInfo eta信息 Yes
send_code string(32) 发货码 No
receive_code string(32) 收货码 Yes
cancel_info CancelInfo 取消信息 No
Yes: 当订单为已取消
reassign_info_history List 改派历史信息 No:
Yes:改派历史信息
exception_info_history List 异常信息历史 No
Yes: 订单回调通知异常后
refund_info_history List 退款信息历史 No
Yes: 订单回调退款后
remark string 备注 Yes
pickup_pic List 取货照片url No
complete_pic List 送达照片url No
wait_fee int(11) 等候费 No
wait_rules List 等候费规则 No

# 2.2.6 查询骑手信息(位置)

Route: /riderLocation

请求Body:

名称 类型 描述 B端(必须) C端(必须)
biz_order_code string(64) 腾讯业务订单号
与sp_order_id订单号存在其中一个
No No
sp_order_id string(64) 服务商业务订单号
与biz_order_code订单号存在其中一个
No No

响应Body业务字段:

名称 类型 描述 必须
rider_info RiderInfo 骑手信息 Yes
lng double 经度 Yes
lat double 纬度 Yes
distance int 距离(米)
取货前为骑手到起点的规划路线距离,取件后为骑手到终点的规划路线距离
No
timestamp long 点位更新时间,Unix Timestamp单位 毫秒
Yes

# 2.2.7 加小费

传递总计小费金额

Route: /addTip

请求Body:

名称 类型 描述 B端(必须) C端(必须)
biz_order_code string(64) 腾讯业务订单号
与sp_order_id订单号存在其中一个
No No
sp_order_id string(64) 服务商业务订单号
与biz_order_code订单号存在其中一个
No No
tips_fee int(11) 总计小费金额,单位分,如果多次添加,取最后一次的小费金额 No No
add_tip_fee int(11) 本次新增小费金额 No No
payment_order_id string 加小费对应的支付流水号 No No

响应Body业务字段:

名称 类型 描述 必须
tips_fee int(11) 总计小费金额,单位分,如果多次添加,取最后一次的小费金额 Yes No
timestamp long 更新时间,Unix Timestamp单位 毫秒
Yes

# 2.2.8 账户余额查询

对于需要腾讯侧在运力充值/授信才能下单的运力,需要提供账户余额查询的能力,腾讯侧定时查询,避免因账户余额不足导致下单失败

Route: /balanceQuery

请求Body:

名称 类型 描述 B端(必须) C端(必须)
account_id string(64) 大客户id/腾讯在运力侧的账号标识 No(有余额概念必接) No(有余额概念必接)

响应Body业务字段:

名称 类型 描述 必须
balance int(11) 当前余额,单位:分 Yes No
timestamp long 当前余额时间,Unix Timestamp单位 毫秒 Yes

# 2.2.9 骑手轨迹查询(开发中)

Route: /driverTrajectory

请求Body:

名称 类型 描述 必须
biz_order_code string(64) 腾讯业务订单号
与sp_order_id订单号存在其中一个
No No
sp_order_id string(64) 服务商业务订单号
与biz_order_code订单号存在其中一个
No No
start_time long 查询起始时间,不传或传入时间早于司机接单时间,按照司机接单时间查询

Unix Timestamp单位 毫秒
No
end_time long 不传且订单未到达终态,按照当前时间查询
不传或传入时间晚于订单终态时间,按照订单到达终态时间查询

Unix Timestamp单位 毫秒
No

响应Body业务字段:

名称 类型 描述 必须
data List 司机轨迹点信息
详细信息见下方对象实体表
Yes

# 2.3 被调(服务商回调腾讯)

Route: /callback/common/v1/order/status

请求Body:

名称 类型 描述 必须
biz_order_code string(64) 腾讯业务订单号
与sp_order_id订单号存在其中一个
No
sp_order_id string(64) 服务商业务订单号
与biz_order_code订单号存在其中一个
No
event int(11) 事件类型
见下文事件类型
Yes
status int(11) 订单状态 Yes
accepted_info AcceptedInfo 已接单事件相关信息
(不管是第一次接单还是改派后接单都需要)
根据具体状态填充
picking_info PickingInfo 骑士出发开始取件事件相关信息 根据具体状态填充
reassign_info ReassignInfo 骑手转单事件相关信息(event 250) 根据具体状态填充
arrived_info ArrivedInfo 已到达取件点事件相关信息 根据具体状态填充
picked_info PickedInfo 已取件事件相关信息 根据具体状态填充
delivering_info DeliveringInfo 骑士出发开启送货事件相关信息 根据具体状态填充
completed_info CompletedInfo 完成事件相关 根据具体状态填充
send_back_info SendBackInfo 送回物品事件相关信息 根据具体状态填充
exception_info ExceptionInfo 异常事件相关信息 根据具体状态填充
refund_info RefundInfo 退款通知事件信息 根据具体状态填充
cancel_info CancelInfo 取消事件相关 根据具体状态填充
event_version long(13) 订单事件发生版本号
,需一个订单维度单调递增
注: 该值需保证同一事件触发重试逻辑时值保持不变
Yes

响应Body业务字段:

名称 类型 描述 必须
accept_time int(13) 通知接收处理时间(毫秒) Yes

# 2.4 查询订单状态(服务商调用腾讯)

需要单独开通,需要联系研发开通!

Route: /openapi/v1/order/status

请求Body:

名称 类型 描述 必须 附加信息
biz_order_code string(64) 腾讯业务订单号 Yes
sp_order_id string(64) 服务商业务订单号
No
sp_id string(64) 服务商唯一id Yes 腾讯出行侧对接给出

响应Body业务字段:

名称 类型 描述 必须
status int(11) 订单状态
具体状态值见下文附录
Yes
status_desc string 订单状态描述 Yes
total_fee int(11) 支付金额 Yes
refund_fee int(11) 退款金额(取消中、已取消状态有) No
create_time int(13) 创单时间(毫秒) Yes
sp_refund_no string 退款流水号(服务商侧)【有退款时存在】
No
biz_refund_no string 腾讯侧退款流水号【有退款时存在】 No
refund_notify_time long 退款结果通知时间【有退款时存在】
No
pay_refund_time long 退款受理时间,第一次收到退款通知的时间【有退款时存在】
No
refund_success_time long 退款成功时间【有退款时存在】 No

# 附录

# 3.1 对象实体表

CouponInfo

名称 类型 描述 必须
stock_id string(64) 批次id Yes
coupon_id string(64) 优惠券id Yes
coupon_fee int(11) 优惠金额(分) Yes
coupon_type int(11) 优惠券类型(1-满减券,3-折扣券) Yes

AddressInfo

名称 类型 描述 必须
name string 姓名/昵称 Yes
(帮买寄件人为No)
phone string(32) 手机,传入真实手机号 Yes
(帮买寄件人为No)
detail_address string 详细地址 Yes
poi_address string poi地址信息 No
lng double 经度 Yes
lat double 纬度 Yes

EstimateInfo

名称 类型 描述 必须
estimate_id string(64) 询价id、预下单id
可以通过该id进行下单
Yes
service_type int(4) 服务类型
详细见:附录服务运力类型
No
fee_info FeeInfo 费用相关
见下文
Yes
eta_info EtaInfo eta信息
见下文
Yes

FeeInfo

名称 类型 描述 必须
total_fee int(11) 总费用(折后价)
= 各项收费 - 优惠折扣费用
用户实付
Yes
deliver_fee int(11) 运费(原价) Yes
coupon_fee int(11) 优惠费用,正值 No
insurance_fee int(11) 保价费 No
append_fee int(11) 附加费 No
tips_fee int(11) 小费金额 No
fee_details list
运费明细
包含上面全部的费用
Yes
deduction_fee int(11) 取消费 No
deduction_fee_details list 取消费用明细
包含上面全部的费用
No
merchant_coupon_infos list 腾讯商家券明细信息 No
接入了腾讯出行商家券使用券的订单才会有
send_back_fee int(11) 送回费,送件中取消才需要回传,不参与totalFee以及deliveryFee的计算 No

注意:

1.deliveryFee-couponFee=totalFee;

2.deliveryFee = fee_detail 总和

3.couponFee在外层

FeeDetailInfo

名称 类型 描述 必须
name string(64) 费用名称 Yes
fee int(11) 计费金额,单位分 Yes

EtaInfo

名称 类型 描述 必须
distance int(11) 距离 Yes
arrive_time int(13) 预计到达时间(毫秒) Yes

RiderInfo

名称 类型 描述 必须
name string(32) 名称 Yes
phone_type int(11) (虚拟隐私号类型)
1-AXN
2-AXB
Yes
virtual_phones List 虚拟号,下单人,发货人,收货人对应关系 Yes
real_phone string(32) 真实手机号
和 phone_type 、virtual_phones 互斥
No

VirtualPhoneInfo

名称 类型 描述 必须
role_type int(11) 角色(1-下单人,2-收货人,3-发货人)
下单人手机号,以注册手机号为准
Yes
virtual_phone string(32) 虚拟手机号 Yes

EstimateTimeInfo

名称 类型 描述 必须
accept_time int(13) 预计骑手接单时间(毫秒) 根据订单状态决定(30050)
depart_pick_time int(13) 预计出发时间(毫秒) 根据订单状态决定
(30100)
arrive_pickup_point_time int(13) 预计取件时间(毫秒) 根据订单状态决定
(30200)
finish_time int(13) 预计送达时间(毫秒) 根据订单状态决定
(30300)
send_back_finish_time int(13) 送回预计送达时间(毫秒) 根据订单状态决定
(30405,腾讯暂无送回)

EstimateTimelnfo :预估时间信息:根据当时订单状态决定:

如30050派单就填预计接单的时间

ActualTimeInfo

名称 类型 描述 必须
accept_time int 骑手接单时间 根据订单状态决定
depart_pick_time int(13) 骑手出发时间 根据订单状态决定
arrive_pickup_point_time int(13) 到达取件点时间 根据订单状态决定
pickup_time int(13) 已取件时间 根据订单状态决定
depart_send_time int(13) 出发送件时间 根据订单状态决定
finish_time int(13) 完单时间 根据订单状态决定
depart_sendback_time int(13) 出发开始送回时间 根据订单状态决定
sendback_finish_time int(13) 送回完单时间 根据订单状态决定

根据订单状态,如已接单需要有接单时间;完成则需要有接单、到达、取件、完单时间;具体根据对的状态填入即可

CancelInfo

名称 类型 描述 必须
timestamp long 取消时间,Unix Timestamp单位 毫秒 Yes
reason_id int(11) 取消原因Id Yes
reason_desc string(64) 取消原因 No
cancel_from int(11) 取消来源 Yes
1:用户
2:腾讯客服取消
3:服务商
cancel_fee int(11) 取消费 No
need_in_sale_reverse boolean 该次取消是否发起售中逆向,若需要发起售中逆向,则服务商应该回调30400送回中状态,禁止回调已取消(终态)状态,且应在送回中回调信息中增加送回费字段 No

ExceptionInfo

名称 类型 描述 必须
timestamp long 异常产生时间,Unix Timestamp单位 毫秒 Yes
exception_id int(11) 取消编码 es
exception_desc string(64) 取消原因 No

CancelRule

名称 类型 描述 必须
name string(64) 规则名称 Yes
start int(11) 开始时间 Yes
end int(11) 截止时间 Yes
fee int(11) 费用 Yes

GoodsDetail(跑腿有)

名称 类型 描述 必须
name string 货品名称
count int 货品数量
price int 货品价值,选填,数值不小于0,单位分(如果有厘则四舍五入保留两位小数)
unit string 货品单位
photos List 货品图片

WaitRuleInfo(帮买新增)

名称 类型 必须 描述
start_ms long Yes 区间开始等待时长,单位毫秒,包含
end_ms long No 区间结束等待时长,单位毫秒,不包含;null 表示无上限
charge_type string Yes 计费类型:FIXED 固定收费,PER_UNIT 按单位收费
fee int No 固定费用,单位分;FIXED 时必填
unit_price int No 单位价格,单位分;PER_UNIT 时必填
billing_unit_ms long No 当前分段计费单位时长,单位毫秒
desc string No 展示文案

TrajectoryInfo

名称 类型 描述 必须
name string(32) 名称 Yes
phone string(32) 手机号(真实号或AXN的虚拟号) No
lng double 经度 Yes
lat double 纬度 Yes
timestamp long 轨迹点采集时间,Unix Timestamp单位 毫秒 Yes

回调相关数据结构

AcceptedInfo

名称 类型 描述 必须
timestamp long 事件发生事件点,Unix Timestamp单位 毫秒
Yes
estimate_time_info EstimateTimeInfo 预估时间信息 Yes
rider_info RiderInfo 骑手信息 Yes
send_code string(32) 发货码 No
receive_code string(32) 收货码 No

PickingInfo

名称 类型 描述 必须
timestamp long 事件发生事件点,Unix Timestamp单位 毫秒 Yes
estimate_time_info EstimateTimeInfo 新预估时间信息 Yes

ReassignInfo

名称 类型 描述 必须
timestamp long 事件发生事件点,Unix Timestamp单位 毫秒 Yes
reason_id int(11) 改派原因Id Yes
1-骑手改派
2-服务商改派
reason_desc string(64) 改派原因描述 No
estimate_time_info EstimateTimeInfo 新预估时间信息 Yes: 回调接口
No: 订单详情接口
rider_info RiderInfo 新骑手信息 Yes

ArrivedInfo

名称 类型 描述 必须
timestamp long 事件发生事件点,Unix Timestamp单位 毫秒 Yes
estimate_time_info EstimateTimeInfo 新预估时间信息 Yes

PickedInfo

名称 类型 描述 必须
timestamp long 事件发生事件点,Unix Timestamp单位 毫秒 Yes
estimate_time_info EstimateTimeInfo 新预估时间信息 Yes

DeliveringInfo

名称 类型 描述 必须
timestamp long 事件发生事件点,Unix Timestamp单位 毫秒 Yes
estimate_time_info EstimateTimeInfo 新预估时间信息 Yes
pickup_pic List 取货照片url No

RefundInfo

名称 类型 描述 必须
timestamp long 退款通知时间,Unix Timestamp单位 毫秒 Yes
refund_no string 退款流水号(服务商侧) Yes
refund_fee long 退款金额(单位分) Yes

CompletedInfo

名称 类型 描述 必须
timestamp long 事件发生事件点,Unix Timestamp单位 毫秒 Yes
complete_pic List 送达照片url No
rider_info RiderInfo 骑手信息 Yes
rider_location_info RiderLocationInfo 骑手位置信息 Yes

SendBackInfo

名称 类型 描述 必须
timestamp long 事件发生事件点,Unix Timestamp单位 毫秒
Yes
estimate_time_info EstimateTimeInfo 新预估时间信息 Yes
send_back_fee int(11) 送回费 No

RiderLocationInfo

名称 类型 描述 必须
rider_lng double 骑手经度 Yes
rider_lat double 骑手纬度 Yes

# 3.2 订单状态表:供参考

状态编码 名称 描述 必须 支付/退款状态说明
10000 INIT 初始化(订单创建)(废弃) No 未支付
10200 DISPATCHING 派单中(废弃) No 已支付
10300 WAIT_PICK 待取件(废弃) No预约单可能需要 已支付
30010 INIT 服务商初始化 No
30050 SP_DISPATCHING 服务商派单中 Yes 已支付
30100 PICKING 取件中 Yes 已支付
30200 ARRIVED_PICK_POINT 到达取件点 Yes 已支付
30250 PICKED 已取件 No 已支付
30300 DELIVERING 送件中 Yes 已支付
30400 SENDING_BACK 完成送回中

送件中,用户拒收和联系不上收件人的时候
No(需要看对接方式
,有送回中才需要)
已支付
30405 CANCEL_SENDING_BACK 取消送回中 No 需要看对接方式 已支付
30500 ARRIVED 已送达 Yes 已支付
30700 CANCELING 取消中 No 已支付未退款
30710 CANCELED 已取消 Yes 已退款
10500 CANCELING 取消中(废弃) No 已支付未退款
90500 CANCELED 已取消(废弃) Yes 用90500 已退款
90900 FINISHED 已完成(废弃) No,送达30500即可 已支付
事件编码 名称 描述 必须
100 INIT 初始化(订单创建) Yes
150 DISPATCH 派单 Yes
200 RIDER_ACCEPT 骑手接单 Yes
250 RIDER_REASSIGN 转单 Yes:有转单
No:无转单
260 DEPART_PICK 开始取件 No
暂时不使用
300 ARRIVE_PICK_POINT 到达取件点 Yes
350 PICKED 已取件 Yes
400 DEPART_SEND 开始送件 Yes
450 ARRIVED 已送达 Yes
500 RIDER_SEND_BACK_FINISH 骑手送回->完成态(服务商侧) Yes:有送回
No:无送回
510 RIDER_SEND_BACK_CANCEL 骑手送回->取消态(服务商侧) Yes:有送回
No:无送回
550 WAIT_SUPPEMENT 待补款 Yes: 预付款逻辑,且二期支持
No: 完单补款逻辑
650 ORDER_INFO_UPDATE 订单信息变更 Yes:有变更
No:无变更
670 SP_REASSIGN 服务商改派骑手 Yes:有改派
No:无改派
850 EXCEPTION 订单异常
最好将该事件收敛到取消事件
Yes:有异常
No:无异常
950 CANCEL 取消
内部可能需要区分具体取消原因
Yes:有取消
No:无取消
960 REFUND 退款通知 Yes:有退款
No:无退款
(如不需要退款通知可不接)
990 FINISH 完成 Yes

# 3.3 物品类型表

id 类型
1 文件证照
2 服饰
3 食品饮料
4 蛋糕
5 鲜花
6 数码
7 水果生鲜
8 药品
9 汽配
10 个护美妆
11 家居家纺
12 其他

# 3.4 取消原因表--用户

id 父类别 子类别 类型
1 和自己有关 填写的取件/收件信息有误 单选
2 计划有变,暂时不需要寄件 单选
3 和平台有关 没有骑手接单 单选
4 派的骑手距离太远 单选
5 和骑手有关 联系不上骑手 单选
6 骑手要求我取消订单 单选
7 骑手行驶过于缓慢或长时间不移动 单选
20 其他 其他 输入框

# 3.5 取消原因表-服务商

id 父类别 子类别 类型
100 骑手有关 本人原因,无法配送
101 服务商有关 物品异常,无法配送
102 定位不准
103 无骑手接单
104 用户有关 联系不到下单人或收取件人
105 物品超重,拒绝支付超重费用
106 取件异常
107 送件异常
150 其他 其他

# 3.5 异常原因表(还未完成)

id 类别 类型 腾讯行为 服务商行为 退款方式
用户侧 用户拒收
用户实名失败
服务商侧

# 3.7 服务运力类型

类别 取值说明
运力类型(service_type) 1: 特惠(非专人直送)
2: 特快(专人直送)
服务分类
(rider_type)
1: 实时单
2: 预约单
订单类型
(order_type)
1:跑腿
2:帮我买
帮买模式
(buy_type)
1: 指定地点帮买
2: 骑手就近帮买

# 3.8 订单来源

id 类型
10 美团
20 饿了么
30 抖音
40 京东外卖
50 淘宝闪购
60 歪马微商城
70 有赞云
1100 小象超市

# 3.9 腾讯错误码

code message 说明
0 success
400000
400001 请求URL错误
400002 请求方法错误
400003 appId错误
400004 时间戳过期或者nonce重复
400005 签名验证失败
400101 请求频繁,请稍后重试
400102 询价价格已失效,请重新询价
400103 询价地址不支持
400104 超出计费里程上限
400105 获取预计取件时间失败
400106 可用运力不足
400110 运力账户余额不足
400100 通用非影响主流程错误码,无需关注的业务错误码
400201 存在敏感词信息
500000 其他业务错误
500100 阻塞主流程错误如下单失败,取消失败,需要腾讯侧关注错误码

# 3.9 签名算法

# 3.9.1 描述

  • 从请求串中获得 api_key、seq_id、timestamp, nonce 通用字段以及其他的业务段和鉴权结果字段 sign。
  • 根据签名算法,对参与签名的内容进行签名; 按照除 sign 外参数名称排序(字典升序排列)成”key1=value1&key2=value2&....”的原始字符串 src1;请求报文中不存在的参数不参与签名。 将原始字符串+分配给调用方的 api_sercret 形成字符串 src2; 将 src2 进行 md5 后转成大写形成签名内容 dest
  • 将步骤 2 中得到的签名内容 dest 与请求中的 sign 字段内容做比较,如果相同则验证成功,否 则判定请求非法。举例: 假设注册接口文档中业务字段为[name, phone,address],分配的 api_sercret= DZaslH9B9ycqRrE77laCPB2Om, 请求参数如下: api_key=PSUBZLHOKUO6HV52A5CAUSSE5KSB6Y, seq_id=b8b4f0b8-01fb-4c06-80b9-3ab895a8c616, timestamp=1726214265, nonce=123456,name=test, phone=11111111111,address=北京市朝阳区亚洲金融大厦 则需要签名的内容:

address=北京市朝阳区亚洲金融大厦&api_key=PSUBZLHOKUO6HV52A5CAUSSE5KSB6Y&name=test&nonce=e2fa80izRF&phone=11111111111&seq_id=b8b4f0b8-01fb-4c06-80b9-3ab895a8c616&timestamp=1726214265DZaslH9B9ycqRrE77laCPB2Om

  • 计算的 MD5 值为 afc4a5b550c1f5c92bca917aba66faf5,大写值为

AFC4A5B550C1F5C92BCA917ABA66FAF5

  • 将步骤 4 中得到的 MD5 值,与请求中 sign 字段的值比较。两者相同请求合法

注意:签名时对对象类型的value需进行json序列化后的字符串拼接,这里的json需与主调HTTP客户端传输的json保持key顺序一致,验签时会原样提取json中的value

# 3.9.2 示例

# Java

算法工具类

用例

# Golang

# 3.10 状态机