开放接口 · 技师

技师发单接口说明

外部系统把家政/上门服务订单推进技师待接单。签名方式见 开放接口设计说明 · 签名算法。

发到哪里

订单写入预约单,状态为已支付、待接单。技师在技师端「待接单」里点接单。人员列表在 mch/book/worker/index。技师必须已绑定该服务项目,否则看不到未指定人员的单。

同一 out_order_no 重复提交不会生成第二张单。技师点接单之后不能再通过开放接口取消。

接口地址

基础地址:/web/index.php?r=api/open/worker/{动作}。系统级请求头与 签名与密钥 相同。

动作方法作用
goodsGET本店已上架的服务项目
workersGET可接单技师;可选 goods_id 过滤
orderPOST发单
queryGET查状态
cancelPOST技师未接单时取消

1. 服务项目 goods

GETapi/open/worker/goods

返回最多 100 条已上架项目:id、name、price、mch_id。

2. 技师列表 workers

GETapi/open/worker/workers
名称必须说明
goods_id否只返回会做该服务项目的技师

返回:id、name、mobile、mch_id。

3. 发单 order

POSTapi/open/worker/orderJSON Body

应用级输入参数

名称类型必须说明
out_order_nostring是外部单号,4~40 位;幂等键
goods_idint是服务项目 ID
worker_idint否技师 ID;0 或不传 = 进抢单池
feenumber是订单金额,>0
service_timestring/int是上门时间:2026-10-26 14:00:00 或 Unix 秒
contentstring否服务说明 / 备注
customer.namestring是客户姓名
customer.mobilestring是客户电话
customer.addressstring是上门地址
customer.lng / latstring否经纬度,便于技师看距离
mch_idint否商家范围

请求体示例

{
  "out_order_no": "HS20261026001",
  "goods_id": 18,
  "worker_id": 0,
  "fee": 128,
  "service_time": "2026-10-26 14:00:00",
  "content": "空调清洗一台",
  "customer": {
    "name": "王女士",
    "mobile": "13800000000",
    "address": "深圳市南山区某某路 1 号",
    "lng": "113.93",
    "lat": "22.54"
  }
}

返回 data

字段说明
order_no / out_order_no本系统单号 / 外部单号
worker_id指定技师,0 表示抢单
is_confirm1=技师已接单
status_label待技师抢单 / 待该技师接单 / 技师已接单 / 已取消
in_grab_pool是否仍在抢单池
fee / addtime金额 / 创建时间

4. 查询 query

GETapi/open/worker/query

Query 传 out_order_no 或 order_no,返回结构同发单 data。

5. 取消 cancel

POSTapi/open/worker/cancel
{
  "out_order_no": "HS20261026001"
}

技师已接单(is_confirm=1)时返回:「技师已接单,不能取消」。

← 跑腿发单 · 返回开放接口设计说明 →