搬运帮开放平台

API合作申请

填写以下信息,我们将尽快与您联系并协助开通开放平台服务。

邮箱联系:herui@banyunbang.com.cn

平台概述

搬运帮开放平台提供API级别下单服务,允许合作伙伴通过接口快速集成搬运服务,实现自动化下单、订单管理和状态查询等功能。

API功能介绍

订单创建

通过API接口创建搬运订单,支持多种订单类型和服务选项。

订单管理

实时查询订单状态、修改订单信息、取消订单等操作。

价格计算

根据起点、终点、物品信息等参数实时计算搬运费用。

实时调度

系统自动调度附近的搬运工,确保快速响应和服务。

下单业务流程

1

参数准备

准备起点、终点、物品列表、服务类型等订单参数

2

API调用

调用创建订单API,传递参数并获取订单ID

3

系统处理

系统验证参数、计算价格、调度搬运工

4

订单确认

返回订单状态和预计服务时间

5

服务完成

搬运完成后,更新订单状态并提供评价入口

技术特点

  • RESTful API设计:采用RESTful架构,接口简洁易用,支持多种HTTP方法
  • HTTPS加密传输:所有接口采用HTTPS加密传输,确保数据安全
  • 高可用性:服务端采用分布式架构,确保99.9%的可用性
  • 实时响应:平均响应时间小于500ms,确保快速处理订单
  • 详细文档:提供完整的API文档和示例代码,方便快速集成

合作优势

提升效率

自动化下单流程,减少人工操作,提升工作效率

扩展业务

快速集成搬运服务,为用户提供一站式解决方案

技术支持

专业的技术团队提供7×24小时技术支持

数据统计

提供订单数据统计和分析,帮助优化业务决策

快速开始

  1. 注册搬运帮开放平台账号
  2. 创建应用并获取API密钥
  3. 阅读API文档,了解接口规范
  4. 集成SDK或直接调用API
  5. 进行测试和上线

认证机制

API密钥认证

通过在请求头中添加API密钥进行身份验证。

API调用流程

1

构建请求

根据API文档构建包含必要参数的请求。

2

添加认证信息

在请求头中添加API密钥或签名。

3

发送请求

通过HTTP/HTTPS发送请求到API服务器。

4

处理响应

解析API响应并处理成功或错误情况。

Https集成

搬运帮开放平台使用Https协议确保数据传输安全,以下是Https集成示例。

Node.js Https示例

Python Https示例

错误处理

API调用可能会返回错误,需要正确处理这些错误情况。

常见错误码

错误码描述解决方案
400请求参数错误检查请求参数是否符合API文档要求
401未授权访问检查API密钥是否正确
403禁止访问检查权限设置
404接口不存在检查接口URL是否正确
500服务器内部错误稍后重试或联系技术支持

最佳实践

  • 错误重试机制:对于网络超时等临时错误实现自动重试机制
  • 请求限流:遵守API调用频率限制避免被限流
  • 数据加密:敏感数据在传输过程中进行加密
  • 日志记录:记录API调用日志便于调试和问题排查
  • 版本管理:使用API版本号确保兼容性

测试与上线

测试环境

我们提供测试环境,用于集成测试和验证功能。

上线前检查清单

  • 所有功能测试通过
  • 错误处理机制完善
  • 性能测试通过
  • 安全审查通过
  • 监控告警设置完成

搬运帮平台企业服务接入文档

接口规范、鉴权方式、订单全生命周期接口与回调通知说明

1 接口规范概述

1.1 系统概述

接入方平台系统与搬运帮平台系统在不同业务请求中互为Client和Server,双方采用JSON over HTTPS进行通信。

搬运帮平台系统提供的业务类型:
业务类型功能
账户信息接入方账户信息管理
获取工种处理接入方业务系统发起的与工种相关请求
预览订单预览订单参数(参考价)
预约下单处理接入方业务系统发起的订单相关请求
订单加价对接入方订单价格管理
重置订单将订单重置为待接单状态
取消订单将订单取消
核对订单接入方确认订单信息
重置核对将订单重置为待核对前的状态
状态回传推送订单状态、订单凭证至接入方业务系统
余额管理管理及推送接入方账户余额
消息格式说明:
  • 所有请求,采用HTTPS+POST协议,遵循HTTPS 1.1协议规范
  • 搬运帮与其他平台间使用IP白名单连接鉴权
  • HTTPS鉴权采用请求签名鉴权
  • 本规范中MD5,指rfc1321计算结果的可读的大写形式;即所有字母为大写
  • 以下参数值,事先约定:Platformid、Secret
  • Platformid:分配给第三方平台企业ID
  • Secret:企业ID对应的密钥
  • HTTPS消息体采用JSON格式, utf-8编码

2 鉴权接口

2.1 Ip白名单鉴权

服务端对客户端的IP进行白名单鉴权。

若IP白名单鉴权失败,则返回403 应答,表示鉴权未通过;若鉴权成功则继续下一步:签名鉴权。

2.2 HTTP签名鉴权

鉴权采用请求签名鉴权,即请求的HTTPS头域中携带Authorization头,填写相关信息,服务端进行鉴权验证。

2.2.1请求消息
HTTP消息头必选/可选数据类型描述
AuthorizationMstring鉴权信息。包含platformid 、timestamp、signature,每个参数项用逗号“,”分割。

格式为:

Authorization:EOPAUTH platformid={platformid-value},timestamp={timestamp-value},signature={signature-value}

例如:

Authorization:EOPAUTH platformid=350000100020003,timestamp=1630479002,signature=B35EB3AF4B198FE2EA2EA2F75F37D90B
其中,Authorization头相关参数说明:
消息参数必选/可选数据类型描述
platformid Mstring接入方标识平台唯一ID,32个字符,每次请求时传递,用于身份识别
timestampMstring时间戳,格式:从1970-1-1到当前时间的秒数
精确到秒,与标准时间偏差5分钟之内
signatureMstringplatformid、用户secret、timestamp拼接后经过MD5计算出的32个十六进制字符(大写)MD5(${platformid}_${secret}_${timestamp})
例如:platformid、secret、timestamp的值分别为:123、456、789,则md5(123_456_789),加密后的32位大写结果为:9F47C1DD565BAE7CD50AE46EFBD5CDC7
其中platformid为搬运帮分配的平台id,secret为搬运帮分配的秘钥
2.2.2响应消息

如果签名鉴权未通过则返回401应答,表示鉴权未通过;如果签名鉴权通过,则返回业务处理结果。

3 全局状态码

当接入方调用服务时会返回请求状态码,不同的状态码对应不同的问题原因,可根据此状态码快速排查,请注意:全局状态码仅作为请求状态,不作为业务成功标志。

状态码说明
0请求成功
401签名错误
403未授权
404不存在
405参数异常
406超时访问
407访问过快
500内部错误
510账户异常
520账户余额不足

4 订单状态说明

当订单发生流转时,订单的状态会发生变化,平台方与接入方都将根据状态做出相应的处理,保障订单顺利完结

状态码说明处理动作
-2未知状态订单异常时可能会呈现此状态,通常不会出现
-1已取消订单已取消,取消时机见订单取消说明
0待接单下单后呈现此状态,无需处理
100已接单师傅已接单,可能会取得联系请注意接听来电
200到达现场师傅已到达现场,与现场人员沟通具体事宜
300待核对订单与现场人员沟通后,工时或价格可能会发生变化,需核对是否正确
400已核对订单无需处理
500服务中师傅开始服务,请指导或督促师傅服务
600待确认服务完成师傅完成服务,等待使用方确认,谨慎确认,确认成功后订单将划款给师傅
700订单完结订单全流程结束,无需操作

5 订单状态回传

当订单发生流转时,订单的状态会发生变化,平台方与接入方都将根据状态做出相应的处理,保障订单顺利完结

当订单状态发生变化时或订单需要接入方处理时将回传给接入方

状态说明
已取消订单已被取消
待接单订单待接单
已接单订单已接单
到达现场师傅到达现场,将沟通需求
待核对订单请核对工时与价格
服务中订单开始服务
待确认服务完成服务完成待确认
订单完结订单结束

6 回调事件类型说明

【requestType】当业务需要接入方知晓或处理时,平台会将数据通知到接入方(账户相关通知、订单相关通知)

状态说明
100账户相关通知
200订单相关通知

7 订单事件类型说明

当事件推送类型requestType为订单相关通知时,可根据数据中的handleType字段与以下状态码进行判断,从而做出对应的处理动作

状态说明
-1订单已取消通知
0订单待接单通知
100订单已接单通知
200到达现场通知
300订单待核对价格通知
500订单服务中通知
600订单待确认服务完成通知
700订单完结通知

8 响应消息格式

服务端对客户端的请求会返回指定格式数据,一般由code、msg、data、requestId等组成。

参数类型长度是否必传参数说明
codeint1响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”
dataobject-一般为业务具体数据,若发生异常或触发全局状态时此字段可能为null,此时通过code字段进行判断
requestIdstring≤36发生未知异常时可能返回此字段,调用方可提交此字段方便排查

响应消息示例:

{
	"code": 0,
	"msg": "处理成功",
	"data": {},
	"requestId": "b4f2afb1-6a48-4432-a1aa-3d5b9d2df917"
}

9 业务接口参数说明

以下针对说明的为HTTPS的消息体部分,其中HTTPS的头域部分参见2.2的章节。

9.1 获取账户信息接口

9.1.1接口说明

搬运帮为接入方开通了对应企业账户,可通过此接口查询账户状态以及余额等信息

9.1.2接口地址

GET /企业id/Account/AccountInfo

9.1.3请求消息

无请求参数

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"'

9.1.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-
data-namestring≤30企业名称
data-balancedecimal18,2余额
data-balanceLimitdecimal18,2余额预警额
data-openWorkerTypesarray-int-已开通工种编码列表,与工种接口相对应
data-availableBalancedecimal18,2可用余额
data-availableInvoiceAmountdecimal18,2可开票金额

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"name": "****",
		"balance": 10000.00,
		"balanceLimit": 3000.00,
		"availableBalance": 9000.00,
		"availableInvoiceAmount": 1000.00,
		"openWorkerTypes": [1,2,3]
	}
}

9.2 获取工种接口

9.2.1接口说明

搬运帮针对每个城市开通了不同工种,下单前需获取对应城市已开通的工种及每个工种对应的计时计量工时单位

9.2.2接口地址

POST /企业id/Worker/WorkerTypeList

9.2.3请求消息

参数类型长度是否必传参数说明
citystring3-20城市:北京市、上海市、广州市,需要带【市】字

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
	"City": "北京市"
}'

9.2.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataarray-object-工种列表数据
data-codeint≤4工种code:1、2、3等
data-namestring≤128工种名称:搬运工、装卸工等
data-specsarray-string-[“吨”,“方”]等,一般不超过5种单位

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": [{
			"code": 2,
			"name": "装卸工",
			"specs": ["吨","方"]
		},
		{
			"code": 17,
			"name": "叉车工",
			"specs": ["小时","天","次"]
		}
	]
}

9.3 预览订单

9.3.1接口说明

在搬运帮平台下即时订单或预约订单时预览订单。

9.3.2接口地址

POST /企业id/Order/PreviewOrder

9.3.3请求消息

参数类型长度是否必传参数说明
workerCodeint≤4工种编码,通过 获取工种接口取得
serviceTimebigint10服务时间的时间戳, 从1970-1-1到当前时间的秒数,精确到秒,如:1704042061,与北京时间相差3分钟内
addressInfoobject-地址详情
addressInfo-citystring3-20城市:北京市、上海市等。带【市】字
addressInfo-addressstring3-50地址:东城区xx街道101号
addressInfo-locationstring≤30经纬度:116.405285,39.904989
经度在前纬度在后,英文逗号隔开
servicePeopleCountint1-2服务人数,最少1人,最多99人
serviceSpecstring1-10服务规格,小时、吨、方等,通过工种获取工种接口取得
serviceSpecNumint1-4服务规格数量,1-9999 传数字即可:1、2、3。表示1吨或1方或1天
amountint≤5订单金额,不传或传0则按标准价下单,反之按此金额下单 范围:20-50000

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
	"workerCode": 2,
	"serviceTime": 1704042061,
	"addressInfo": {
		"city": "北京市",
		"address": "东城区xx街道101号",
		"location": "116.405285,39.904989"
	},
	"servicePeopleCount": 1,
	"serviceSpec": "吨",
	"serviceSpecNum": 2,
	"amount": 100
}'

9.3.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-下单结果数据
data-amountdecimal18,2订单参考金额:140元

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"amount": 100.00
	}
}

9.4 下单接口

9.4.1接口说明

在搬运帮平台下即时订单或预约订单,若订单已取消,再次调用将修改订单信息(扩展序号为标识)。此接口在下单成功前会触发幂等校验:10秒内多次传入完全相同的数据,此时下单失败

9.4.2接口地址

POST /企业id/Order/CreateOrder

9.4.3请求消息

参数类型长度是否必传参数说明
workerCodeint≤4工种编码,通过 获取工种接口取得
serviceTimebigint10服务时间的10位时间戳,从1970-1-1到当前时间的秒数,精确到秒,如:1704042061,与北京时间相差3分钟内
addressInfoobject-地址详情
addressInfo-citystring3-20城市:北京市、上海市等。带【市】字
addressInfo-addressstring3-50地址:东城区xx街道101号
addressInfo-locationstring≤30经纬度:116.405285,39.904989
经度在前纬度在后,英文逗号隔开
servicePeopleCountint1-2服务人数,最少1人,最多99人
serviceSpecstring1-10服务规格,小时、吨、方等,通过工种获取工种接口取得
serviceSpecNumint1-4服务规格数量,1-9999 传数字即可:1、2、3。表示1吨或1方或1天
notesstring1-300订单备注,尽可能说明服务内容,工人师傅评估能否接单,是否需要携带工具等情况
noteImgUrlsarray-string0-3订单图片,最多可传3张图片url,每个url长度不超过255
telephonestring5-20联系电话,现场调度员或司机电话号码,真实号码
amountint≤5订单金额,不传或传0则按标准价下单,反之按此金额下单 范围:20-50000
extendNostring≤30扩展序号 需保证唯一性,重复将下单失败,可根据此字段查询订单,修改订单时此字段为必传项
appointWorkerFromOrderNostring≤30搬运帮平台订单号,从历史订单委派工人师傅,有值时只允许此订单的师傅接单
orderSourceint1订单来源 默认为普通订单
取值选项:0 普通订单 1整车订单
普通订单核对价格不允许超过参考价
整车订单核对价格以现场沟通为准
majorRemarkstring≤100专业备注,物品信息、车型、体积、数量等。示例:4.2米货车,200件矿泉水,200斤

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
	"workerCode": 2,
	"serviceTime": 1704042061,
	"addressInfo": {
		"city": "北京市",
		"address": "东城区xx街道101号",
		"location": "116.405285,39.904989"
	},
	"servicePeopleCount": 1,
	"serviceSpec": "吨",
	"serviceSpecNum": 2,
	"notes": "2吨水泥需要装卸车",
	"noteImgUrls": ["https://abc.com/abc.jpg"],
	"telephone": "135****1234",
	"amount": 100,
	"extendNo": "abc123",
	"appointWorkerFromOrderNo": "2024010110011358389",
	"orderSource": 1,
	"majorRemark": "4.2米货车,200件矿泉水,200斤"
}'

9.4.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-下单结果
data-addResultstring≤7成功与否,成功:success、失败:fail
data-ordernostring≤30订单号:2024010110011358389
data-statusint≤4订单状态:待接单、已接单等,详见订单状态说明
data-msgstring<300说明:下单成功,下单失败,订单进行中,不可修改等

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"addResult": "success",
		"orderNo": "2024010110011358389",
		"status": 0
	}
}

9.5 订单详情接口

9.5.1接口说明

下单成功后,可调用此接口获取订单信息,或订单状态流转时刷新此接口获取订单实时信息

9.5.2接口地址

POST /企业id/Order/OrderInfo

9.5.3请求消息

参数类型长度是否必传参数说明
orderNostring5-20订单号:2024010110011358389,与扩展号二者必传一项,都传时此字段优先级最高
extendNostring5-30下单时调用方传入的扩展序号,与订单号二者必传一项

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "orderNo": "2024010110011358389"
}'

9.5.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-订单详情

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"orderNo": "2024010110011358389",
		"orderStatus": 100,
		"workerCode": 2,
		"serviceTime": 1704042061,
		"addressInfo": {
			"city": "北京市",
			"address": "东城区xx街道101号",
			"location": "116.405285,39.904989"
		},
		"servicePeopleCount": 1,
		"serviceSpec": "吨",
		"serviceSpecNum": 2,
		"notes": "2吨水泥需要装卸车",
		"telephone": "135****1234",
		"amount": 100,
		"extendNo": "abc123"
	}
}

9.6 订单加价接口

9.6.1接口说明

订单已发布但未被接单时,可通过此接口修改订单价格,提高接单率

9.6.2接口地址

POST /企业id/Order/AddOrderPrice

9.6.3请求消息

参数类型长度是否必传参数说明
orderNostring5-20订单号:2024010110011358389
amountint<6加价金额:100

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "orderNo": "2024010110011358389",
 "amount": 100
}'

9.6.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-加价结果
data-orderNostring≤30订单号:2024010110011358389
data-orderStatusint≤4订单最新状态:详见订单状态说明
data-addPriceResultstring≤7成功与否,成功:success、失败:fail
data-msgstring<100说明:加价成功、已接单不可加价等

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"orderNo": "2024010110011358389",
		"orderStatus": 0,
		"addPriceResult": "success",
		"msg": "加价成功"
	}
}

9.7 重置订单接口

9.7.1接口说明

订单已被接单但未开始服务时,可通过此接口将订单重置为待接单状态,重新发布

9.7.2接口地址

POST /企业id/Order/ResetOrder

9.7.3请求消息

参数类型长度是否必传参数说明
orderNostring5-20订单号:2024010110011358389
reasonstring1-300重置原因:师傅临时有事等

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "orderNo": "2024010110011358389",
 "reason": "师傅临时有事"
}'

9.7.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-重置结果
data-orderNostring≤30订单号:2024010110011358389
data-orderStatusint≤4订单最新状态:详见订单状态说明
data-resetResultstring≤7成功与否,成功:success、失败:fail
data-msgstring<100说明:重置成功、服务中不可重置等

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"orderNo": "2024010110011358389",
		"orderStatus": 0,
		"resetResult": "success",
		"msg": "重置成功"
	}
}

9.8 取消订单接口

9.8.1接口说明

预约订单后,发现订单下错了或长时间未接单,可取消订单。

取消说明:订单未开始服务前都可取消(接入方确认核对价格后才可开始服务)

注意:在工人师傅到达现场时,进行此操作可能会扣除费用

9.8.2接口地址

POST /企业id/Order/CancelOrder

9.8.3请求消息

参数类型长度是否必传参数说明
orderNostring5-20订单号:2024010110011358389
reasonstring1-300取消原因:下错订单、未接单等
caultTypeEnumint<10责任类型 1:自己原因、2师傅原因

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "orderNo": "2024010110011358389",
 "reason": "下错订单",
 "caultTypeEnum": 1
}'

9.8.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-取消结果
data-orderNostring≤30订单号:2024010110011358389
data-orderStatusint≤4订单最新状态:详见订单状态说明
data-cancelResultstring≤7成功与否,成功:success、失败:fail
data-msgstring<100说明:取消成功、服务中不可取消等

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"orderNo": "2024010110011358389",
		"orderStatus": -1,
		"cancelResult": "success",
		"msg": "取消成功"
	}
}

9.9 核对订单接口

9.9.1接口说明

工人到达现场,与接入方现场人员沟通,发现作业量或工时需增加,此时需要添加附加费

9.9.2接口地址

POST /企业id/Order/CheckOrder

9.9.3请求消息

参数类型长度是否必传参数说明
orderNostring5-30订单号:2024010110011358389
checkStatusint<5核对状态:0驳回核对、1确认核对

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "orderNo": "2024010110011358389",
 "checkStatus": 1
}'

9.9.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-核对结果
data-orderNostring≤30订单号:2024010110011358389
data-orderStatusint≤4订单状态:详见订单状态说明
data-checkResultstring≤7成功与否,成功:success、失败:fail
data-msgstring<100说明:核对成功、请勿重复核对等

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"orderNo": "2024010110011358389",
		"orderStatus": 500,
		"checkResult": "success",
		"msg": "核对成功"
	}
}

9.10 重新核对订单接口

9.10.1接口说明

服务前应核对订单,中途增加服务内容或货物情况发生变化,可通过此接口将订单回溯到未发起核对状态,师傅可修改订单重新发起核对。

回溯说明:订单状态为待核对或订单完结前可回溯,若订单已完结请协商或联系客服处理

9.10.2接口地址

POST /企业id/Order/ReCheckOrder

9.10.3请求消息

参数类型长度是否必传参数说明
orderNostring5-20订单号:2024010110011358389
reasonstring1-300重置原因:额外服务、货物重量变更等
amountdecimal18,2订单金额,默认0不修改价格

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "orderNo": "2024010110011358389",
 "reason": "增加服务内容",
 "amount": 100
}'

9.10.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-重置结果
data-orderNostring≤30订单号:2024010110011358389
data-orderStatusint≤4订单最新状态:详见订单状态说明
data-reCheckResultstring≤7成功与否,成功:success、失败:fail
data-msgstring<100说明:重置成功、订单已完结不可重置等

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"orderNo": "2024010110011358389",
		"orderStatus": 0,
		"resetResult": "success",
		"msg": "重置成功"
	}
}

9.11 确认服务完成接口

9.11.1接口说明

工人师傅服务完成后会发起核对请求,请确认服务是否完成,服务质量是否达标,物品是否损坏等,如有异常可拒绝确认。由于服务中可修改价格,所以此接口会受可用余额限制,当可用余额不足时无法确认服务完成

9.11.2接口地址

POST /企业id/Order/CheckComplete

9.11.3请求消息

参数类型长度是否必传参数说明
orderNostring5-30订单号:2024010110011358389
checkStatusint<5核对状态:0拒绝确认、1同意确认

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "orderNo": "2024010110011358389",
 "checkStatus": 1
}'

9.11.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-确认结果
data-orderNostring≤30订单号:2024010110011358389
data-orderStatusint≤4订单状态:订单状态说明
data-checkResultstring≤7成功与否,成功:success、失败:fail
data-msgstring<100说明:核对成功、请勿重复核对等

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"orderNo": "2024010110011358389",
		"orderStatus": 700,
		"checkResult": "success",
		"msg": "确认成功"
	}
}

9.12 补差价接口

9.12.1接口说明

由于某些原因,导致在核对订单时订单金额与最终金额不一致,经接入方人员核实后可调用此接口为订单增加差价,只能在订单完结后调用,多次调用会多次扣费,若未收到响应结果,确保不重复调用,可稍后通过订单详情功能查看总金额是否为最终服务金额

9.12.2接口地址

POST /企业id/Order/AddOrderAmount

9.12.3请求消息

参数类型长度是否必传参数说明
orderNostring5-30订单号:2024010110011358389
amountint<6差价金额:最终金额-已完结金额

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "orderNo": "2024010110011358389",
 "amount": 30
}'

9.12.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataobject-补价结果
data-orderNostring≤30订单号:2025052611404364678
data-addResultstring≤7成功与否,成功:success、失败:fail
data-msgstring<100说明:核对成功、请勿重复核对等

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": {
		"orderNo": "2025052611404364678",
		"addResult": "success",
		"msg": "补差价成功"
	}
}

9.13 附近工人数量接口

9.13.1接口说明

由于某些原因,在下单前,需要得知服务地址周边的工人数量,以便提升接单时间以及接单率,可通过此接口进行查询

9.13.2接口地址

POST /企业id/Worker/VicinityWorkerCount

9.13.3请求消息

参数类型长度是否必传参数说明
workerCodeint≤4工种编码,通过 获取工种接口取得
locationstring≤30经纬度:116.405285,39.904989
经度在前纬度在后,英文逗号隔开

请求示例:

POST URL \
--header 'Authorization: EOPAUTH platformid="123",timestamp="789",signature="abc"' \
--header 'Content-Type: application/json' \
--data-raw '{
 "workerCode": 3,
 "location": "116.405285,39.904989"
}'

9.13.4响应消息

参数类型长度是否必传参数说明
codeint≤4响应码:0、401等,详见全局状态码
msgstring≤128返回结果描述:例如:“ok”,“参数异常”
dataint-工人数量

响应消息示例:

{
	"code": 0,
	"msg": "ok",
	"data": 100
}

10 余额预警通知说明

当接入方账户余额低于设置预警额度后,每次确认服务完成后都将触发余额预警通知,若可用余额不足将无法下单与验收服务,接入方需在收到通知后返回指定格式数据,如未返回响应示例数据或网络超时将触发重试机制,详见重试机制说明

10.1 接口地址

POST 接入方提供的余额预警地址

10.1.1请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-balancedecimal18,2余额:200.00 精确到小数两位
data-availableBalancedecimal18,2可用余额:200.00 精确到小数两位

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 100,
	"data": {
		"balance": 3000.00,
		"availableBalance": 1000.00
	}
}'

10.1.2响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

11 状态回调参数说明

当订单状态发生变化时,搬运帮会将订单状态通知到接入方提供的回调地址。有的状态时间间隔很短,加上网络延时,接入方可能会同时或逆序收到状态通知,接入方在收到回调时需正确处理并发和顺序问题,响应消息需按要求返回,如未返回响应示例数据或网络超时将触发重试机制,详见重试机制说明

11.1 订单取消通知

11.1.1接口说明

订单由于某些原因导致无法服务且由平台操作取消后,向接入方推送此状态,接入方收到此通知后应将内部订单也更新为已取消

11.1.2接口地址

POST 接入方提供的回调地址

11.1.3请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-handleTypeint<5事件类型,详见订单事件类型说明
data-orderNostring5-30订单号:2024010110011358389
data-statusint<4订单状态:详见订单状态说明

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 200,
	"data": {
		"orderNo": "2024010110011358389",
		"status": -1,
		"handleType": -1
	}
}'

11.1.4响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

11.2 订单待接单通知

11.2.1接口说明

订单由平台操作重置状态后(师傅不能服务等原因)向接入方推送待接单,此时将会由平台其他师傅参与接单

11.2.2接口地址

POST 接入方提供的回调地址

11.2.3请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-handleTypeint<5事件类型,详见订单事件类型说明
data-orderNostring5-30订单号:2024010110011358389
data-statusint<4订单状态:详见订单状态说明

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 200,
	"data": {
		"orderNo": "2024010110011358389",
		"status": 0,
		"handleType": 0
	}
}'

11.2.4响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

11.3 订单已接单通知

11.3.1接口说明

此订单由师傅接单后,向接入方推送此通知,接入方收到此通知后可同步相关信息给现场人员,注意接听师傅电话

11.3.2接口地址

POST 接入方提供的回调地址

11.3.3请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-handleTypeint<5事件类型,详见订单事件类型说明
data-orderNostring5-30订单号:2024010110011358389
data-statusint<4订单状态:详见订单状态说明
data-workerInfoobject-工人信息
data-workerInfo-workerNamestring≤20工人姓名:张三、李四等
data-workerInfo-workerMobilestring≤20工人电话:13011112222、13922221111等

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 200,
	"data": {
		"orderNo": "2024010110011358389",
		"status": 100,
		"handleType": 100,
		"workerInfo": {
			"workerName": "张三",
			"workerMobile": "13011112222"
		}
	}
}'

11.3.4响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

11.4 到达现场通知

11.4.1接口说明

师傅到达服务地址后推送此通知,接入方收到通知后可通知现场人员接洽服务事宜

11.4.2接口地址

POST 接入方提供的回调地址

11.4.3请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-handleTypeint<5事件类型,详见订单事件类型说明
data-orderNostring5-30订单号:2024010110011358389
data-statusint<4订单状态:详见订单状态说明

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 200,
	"data": {
		"orderNo": "2024010110011358389",
		"status": 200,
		"handleType": 200
	}
}'

11.4.4响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

11.5 订单待核对通知

11.5.1接口说明

订单处于待核对状态时向接入方推送此通知,接入方需进行核对价格,若未及时核对订单无法进入服务环节,若无需增加费用也应进行核对确认

11.5.2接口地址

POST 接入方提供的回调地址

11.5.3请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-handleTypeint<5事件类型,详见订单事件类型说明
data-orderNostring5-30订单号:2024010110011358389
data-statusint<4订单状态:详见订单状态说明
data-orderAmountdecimal18,2订单金额:200.00 精确到小数两位
data-addTypeint<5价格核对类型 1=核对金额(初次发起)、2=增加金额、3=修改金额

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 200,
	"data": {
		"orderNo": "2024010110011358389",
		"status": 300,
		"handleType": 300,
		"orderAmount": 200.00,
		"addType": 1
	}
}'

11.5.4响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

11.6 开始服务通知

11.6.1接口说明

接入方核对价格或接入方通过订单详情页确认服务开始,无需返回数据

11.6.2接口地址

POST 接入方提供的回调地址

11.6.3请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-handleTypeint<5事件类型,详见订单事件类型说明
data-orderNostring5-30订单号:2024010110011358389
data-statusint<4订单状态:详见订单状态说明

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 200,
	"data": {
		"orderNo": "2024010110011358389",
		"status": 500,
		"handleType": 500
	}
}'

11.6.4响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

11.7 确认服务完成通知

11.7.1接口说明

订单服务结束后向接入方推送此通知,接入方需确认服务结束,若未确认服务则订单无法完结,请谨慎确认

11.7.2接口地址

POST 接入方提供的回调地址

11.7.3请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-handleTypeint<5事件类型,详见订单事件类型说明
data-orderNostring5-30订单号:2024010110011358389
data-statusint<4订单状态:详见订单状态说明
data-orderAmountdecimal18,2订单金额:200.00 精确到小数两位
data-orderImgUrlsarray-string0-3订单凭证图片,最多3张,url需encode解码后为正常url
data-addTypeint<5价格核对类型 1=核对金额(初次发起)、2=增加金额、3=修改金额

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 200,
	"data": {
		"orderNo": "2024010110011358389",
		"status": 600,
		"handleType": 600,
		"orderAmount": 200.00,
		"addType": 1,
		"orderImgUrls": ["https://abc.com/abc.jpg"]
	}
}'

11.7.4响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

11.8 订单完结通知

11.8.1接口说明

订单在平台完结后,向接入方推送此通知,接入方收到此通知后将内部订单也更新为完结

11.8.2接口地址

POST 接入方提供的回调地址

11.8.3请求消息

参数类型长度是否必传参数说明
requestIdstring<36通知请求id,同一任务多次请求相同
requestTypeint0-1000通知类型,详见回调类型说明
dataobject-
data-handleTypeint<5事件类型,详见订单事件类型说明
data-orderNostring5-30订单号:2024010110011358389
data-statusint<4订单状态:详见订单状态说明
data-orderAmountdecimal18,2订单金额:200.00 精确到小数两位

请求示例:

POST URL \
--header 'Content-Type: application/json' \
--data-raw '{
	"requestId": "abc123def",
	"requestType": 200,
	"data": {
		"orderNo": "2024010110011358389",
		"status": 700,
		"handleType": 700,
		"orderAmount": 200.00
	}
}'

11.8.4响应消息

参数类型长度是否必传参数说明
codeint1响应码:0处理成功,1处理失败
msgstring≤128返回结果描述:例如:“处理成功”,“处理失败”

响应消息示例:

{
	"code": 0,
	"msg": "处理成功"
}

12 重试机制说明

腾讯云服务器响应异常或网络不稳定时,为避免接入方无法收到通知而影响业务,搬运帮平台将对每条通知进行多次重试,请接入方在收到相同通知时根据requestId判断是否已经处理,保证通知处理的幂等性。

重试顺序和机制请参考以下说明。

12.1.1 正确响应示例

接入方在收到请求时,需要对请求进行验签,验签通过后需要进行业务处理,处理完成后返回如下数据,表示处理成功,平台将判定此条通知处理完成,并将重试次数清零。

{
	"code": 0,
	"msg": "处理成功"
}

12.1.2 重试请求

如果接入方返回处理成功以外的数据或未限定时间内返回,平台将判定此条通知处理失败,此时平台将对此条通知进行重试,重试时请求参数相同。接入方需合理设计接口幂等性,以便应对重复通知。

12.1.3 重试次数与间隔

平台对每条通知的重试次数与间隔如下:

重试次数重试间隔
第1次1分钟
第2次2分钟
第3次4分钟
第4次8分钟
第5次16分钟

以上重试超时后,平台将放弃推送,请注意排查。