# 车服门店
# 1、接口概述
# 接口说明
车服门店接口。
# 接口地址
详见每个功能具体接口地址。
# 请求方式
除非特殊指定,所有接口都采用POST请求。
# 请求格式
接口内如果没有特殊说明的,请求格式一律统一为application/json
# 字符编码
除非特殊指定,默认字符编码均为UTF-8编码格式。
# 签名说明
- 被调方应当按照以下的方式进行签名校验
- 计算规则:sign=MD5(apiKey+seqId+timestamp+nonce+requestBody json+apiSecret)
- apiSecret是服务提供者为服务调用者分配的一个秘钥串,与apiKey一一对应
- 说明:
请求参数: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "21052111204078013090001", "timestamp": 1621567240799, "nonce": "t1andsr4y3", "sign": "9ed843494f11c408cc5aeefa62da086b" }, "requestBody": { "shopId": "16894647563528499848" } } 字段: apiKey=aaabbbcccdddeeefffggghhhiiijjjkkk apiSecret=9k811ve3fg62vhb4b1tvrwedsgudce669szyq5f0wm6lxxxxxx seqId=21052111204078013090001 timestamp=1621567240799 nonce=t1andsr4y3 requestBody={"shopId":"16894647563528499848"} 计算结果: MD5(aaabbbcccdddeeefffggghhhiiijjjkkk210521112040780130900011621567240799t1andsr4y3{"shopId":"16894647563528499848"}9k811ve3fg62vhb4b1tvrwedsgudce669szyq5f0wm6l5uu94m)=9ed843494f11c408cc5aeefa62da086b即为sign
# 2、接口文档
主调方:腾讯
被调方:SP
# 2.1、获取店铺下的商品信息接口
# 接口说明
获取店铺下的商品信息接口,比如商品名称,商品价格,预约信息等信息
# 请求地址
/carwash/shop/product/list
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 shopId requestBody 是 string 店铺id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 products data list<ProductInfo> 商品列表 type products int 商品类型,见附录 typeName products string 商品类型名,见附录 productId products string 商品id productName products string 商品名称 productClassify products int 商品分类,1普通商品,2卡商品,3收款码商品 useCount products int 洗⻋卡多次,其他1次 salePrice products int 售价,单位:分 originPrice products int 原价,单位:分 priceOneTime products int 单次价格,单位:分,相当于售价除以使用次数 bookable products int 是否可预约,0不可预约,1可预约 picUrl products list<string> 图片列表,list的元素是string类型 detailPicUrl products list<string> 详情图片列表,list的元素是string类型 soldCount products int 销量 description products string 商品描述 tags products list<string> 商品标签,list的元素是string类型 carTypes products list<int> 支持的车型列表,见附录,list的元素是int类型 carTypeNames products list<string> 支持的车型名称列表,见附录,list的元素是string类型 cardProducts data list<ProductInfo> 卡商品列表 type cardProducts int 商品类型,见附录 typeName cardProducts string 商品类型名,见附录 productId cardProducts string 商品id productName cardProducts string 商品名称 productClassify cardProducts int 商品分类,1普通商品,2卡商品,3收款码商品 useCount cardProducts int 洗⻋卡多次,其他1次 salePrice cardProducts int 售价,单位:分 originPrice cardProducts int 原价,单位:分 priceOneTime cardProducts int 单次价格,单位:分,相当于售价使⽤用次数 bookable cardProducts int 是否可预约,0不可预约,1可预约 picUrl cardProducts list<string> 图片列表,list的元素是string类型 soldCount cardProducts int 销量 description cardProducts string 商品描述 tags cardProducts list<string> 商品标签,list的元素是string类型 carTypes cardProducts list<int> 支持的车型列表,见附录,list的元素是int类型 carTypeNames cardProducts list<string> 支持的车型名称列表,见附录,list的元素是string类型 effectiveType cardProducts int 有效期类型,0天,1周,2月,3季,4年 effectiveValue cardProducts int 表示几天、几周、几个月等 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "shopId": "111" } } 响应: { "code": 0, "message": "success", "data": { "products": [{ "type": 1, "typeName": "洗车", "productId": "111", "productName": "标准五座", "productClassify": 1, "useCount": 1, "salePrice": 3000, "originPrice": 5000, "priceOneTime": 3000, "bookable": 1, "picUrl": ["http://xxx.xx"], "soldCount": 100, "description": "标准五座洗车", "tags": ["可预约"], "carTypes": [1], "carTypeNames": ["小轿车"] }], "cardProducts": [{ "type": 1, "typeName": "洗车卡", "productId": "222", "productName": "标准五座", "productClassify": 2, "useCount": 10, "salePrice": 3000, "originPrice": 5000, "priceOneTime": 300, "bookable": 1, "picUrl": ["http://xxx.xx"], "soldCount": 100, "description": "标准五座洗车", "tags": ["可预约"], "carTypes": [1], "carTypeNames": ["小轿车"], "effectiveType": 0, "effectiveValue": 10 }] } }
# 2.2、获取商品价格信息接口
# 接口说明
获取商品价格信息接口
# 请求地址
/carwash/product/price
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 productId requestBody 是 string 商品id productClassify requestBody 是 int 商品分类,1普通商品,2卡商品,3收款码商品 promotionCode requestBody 否 string 促销码,用户促销页下单的资格码 # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 type data int 商品类型或卡商品类型,见附录 typeName data string 商品类型名或卡商品类型名,见附录 productId data string 商品id productName data string 商品名称 useCount data int 洗⻋卡多次,其他1次 salePrice data int 售价,单位:分 originPrice data int 原价,单位:分 priceOneTime data int 单次价格,单位:分,相当于售价除以使用次数 bookable data int 是否可预约,0不可预约,1可预约 carTypes data list<int> 支持的车型列表,见附录,list的元素是int类型 carTypeNames data list<string> 支持的车型名称列表,见附录,list的元素是string类型 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "productId": "111", "productClassify": 1, "promotionCode": "fdsf2rfd9898789wff99ww" } } 响应: { "code": 0, "message": "success", "data": { "type": 1, "typeName": "洗车", "productId": "111", "productName": "标准五座", "useCount": 1, "salePrice": 3000, "originPrice": 5000, "priceOneTime": 3000, "bookable": 1, "carTypes": [1], "carTypeNames": ["小轿车"] } }
# 2.3、获取用户绑定的店铺列表接口
# 接口说明
获取用户绑定的店铺id列表
# 请求地址
/carwash/shop/bind/list
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outUserId requestBody 是 string 第三方用户id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data list<ShopBindInfo> 响应数据 shopId data string 店铺id outShopId data string 第三方店铺id bindTime data string 绑定时间,格式:yyyy-MM-dd HH:mm:ss # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outUserId": "1234567" } } 响应: { "code": 0, "message": "success", "data": [{ "shopId": "111", "outShopId": "16894647563528499848", "bindTime": "2021-05-19 19:10:23" }] }
# 2.4、用户绑定店铺接口
# 接口说明
用户绑定店铺接口
# 请求地址
/carwash/shop/bind
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outUserId requestBody 是 string 第三方用户id outShopId requestBody 是 string 第三方店铺id shopId requestBody 是 string 店铺id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 isFirstBind data boolean 是否首次绑定,true是,false否 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outUserId": "1234567", "outShopId":"16894647563528499848", "shopId":"111" } } 响应: { "code": 0, "message": "success", "data": { "isFirstBind": true } }
# 2.5、用户解绑店铺接口
# 接口说明
用户解绑店铺接口
# 请求地址
/carwash/shop/unbind
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outUserId requestBody 是 string 第三方用户id outShopId requestBody 是 string 第三方店铺id shopId requestBody 是 string 店铺id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outUserId": "1234567", "outShopId":"16894647563528499848", "shopId":"111" } } 响应: { "code": 0, "message": "success" }
# 2.6、预下单接口
# 接口说明
预下单接口
# 请求地址
/carwash/order/create
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outUserId requestBody 是 string 第三方用户id mobilePhone requestBody 是 string 第三方用户手机号 plateNumber requestBody 否 string 第三方用户车牌号 outOrderId requestBody 是 string 第三方订单id shopId requestBody 是 string 店铺id productId requestBody 是 string 商品id productName requestBody 是 string 商品名称 productClassify requestBody 是 int 商品分类,1普通商品,2卡商品,3收款码商品 originPrice requestBody 是 int 原价,单位:分 salePrice requestBody 是 int 售价,单位:分 reserveTime requestBody 否 string 预约时间,格式:yyyy-MM-dd HH:mm:ss promotionCode requestBody 否 string 促销码,用户促销页下单的资格码 payFee requestBody 否 int 订单支付金额,单位:分 merchantCouponFee requestBody 否 int 商家券总金额,单位:分,使用商家券,必填 merchantCoupons requestBody 否 list<MerchantCoupon> 商家券列表信息,使用商家券,必填 stockId merchantCoupons 否 string 批次id,使用商家券,必填 couponId merchantCoupons 否 string 优惠券id ,使用商家券,必填 couponFee merchantCoupons 否 int 优惠券金额,单位:分,使用商家券,必填 stockClassify merchantCoupons 否 int 批次分类(0:内部批次,即微信批次;1:外部SP批次,3:商家券批次),使用商家券,必填 couponType merchantCoupons 否 int 优惠券类型(1:满减券;2:减至券;3:折扣券),商家券暂未支持2减至券类型,使用商家券,必填 couponName merchantCoupons 否 string 优惠券名称,使用商家券,必填 extInfo requestBody 否 string 扩展信息 # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 orderId data string 订单id orderStatus data int 订单状态,见附录 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outUserId": "1234567", "mobilePhone": "1389552xxxx", "plateNumber": "京AGxxxx", "outShopId": "16894647563528499848", "shopId": "111", "productId": "123", "productName": "标准洗车", "productClassify": 1, "originPrice": 3000, "salePrice": 2000, "reserveTime": "2021-05-20 10:00:00", "promotionCode": "fdsf2rfd9898789wff99ww", "payFee": 10, "merchantCouponFee": 10, "merchantCoupons": [{ "stockId": "4342352424", "couponId": "432432434444", "couponFee": 10, "stockClassify": 3, "couponType": 1, "couponName": "满30减5元" }], "extInfo": "扩展信息" } } 响应: { "code": 0, "message": "success", "data": { "orderId": "123", "orderStatus": 0 } }
# 2.7、预下单释放接口
# 接口说明
预下单释放接口,只有在订单状态=0的情况下才能释放订单
# 请求地址
/carwash/order/release
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 orderId requestBody 是 string 订单id outUserId requestBody 是 string 第三方用户id outOrderId requestBody 是 string 第三方订单id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 orderId data string 订单id orderStatus data int 订单状态,见附录 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "orderId": "123", "outUserId": "111", "outOrderId": "1234" } } 响应: { "code": 0, "message": "success", "data": { "orderId": "123", "orderStatus": 3 } }
# 2.8、下单确认接口
# 接口说明
下单确认接口,只有在订单状态=0的情况下才能确认成功
# 请求地址
/carwash/order/confirm
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 orderId requestBody 是 string 订单id outUserId requestBody 是 string 第三方用户id outOrderId requestBody 是 string 第三方订单id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 orderId data string 订单id orderStatus data int 订单状态,见附录 verifyCode data string 核销码 expiredAt data string 核销码过期时间,格式:yyyy-MM-dd HH:mm:ss verifyQrCode data string 核销二维码,二维码图片链接 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "orderId": "123", "outUserId": "111", "outOrderId": "1234" } } 响应: { "code": 0, "message": "success", "data": { "orderId": "123", "orderStatus": 1, "verifyCode": "ew32ffw", "expiredAt": "2021-05-20 13:04:12", "verifyQrCode": "http://xxxx" } }
# 2.9、订单取消接口
# 接口说明
订单取消接口,只有在订单状态=1的情况下才能取消,相当于退款
# 请求地址
/carwash/order/cancel
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 orderId requestBody 是 string 订单id outUserId requestBody 是 string 第三方用户id outOrderId requestBody 是 string 第三方订单id refundAmount requestBody 否 string 退款金额 # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 orderId data string 订单id orderStatus data int 订单状态,见附录 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "orderId": "123", "outUserId": "111", "outOrderId": "1234", "refundAmount": 100 } } 响应: { "code": 0, "message": "success", "data": { "orderId": "123", "orderStatus": 4 } }
# 2.10、订单状态信息查询接口
# 接口说明
订单状态信息查询接口,通过第三方订单id查询订单状态信息
# 请求地址
/carwash/order/status
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outOrderId requestBody 是 string 第三方订单id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 outOrderId data string 第三方订单id outUserId data string 第三方用户id mobilePhone data string 第三方用户手机号 plateNumber data string 第三方用户车牌号 orderId data string 订单id orderStatus data int 订单状态,见附录 verifyCode data string 核销码 expiredAt data string 核销码过期时间,格式:yyyy-MM-dd HH:mm:ss verifyQrCode data string 核销二维码,二维码图片链接 usableSize data int 可用次数 productId data string 商品id productName data string 商品名称 useCount data int 洗⻋卡多次,其他1次 productClassify data int 商品分类,1普通商品,2卡商品,3收款码商品 startTime data string 有效期开始时间,格式:yyyy-MM-dd HH:mm:ss,只针对卡和券类型商品有值 endTime data string 有效期结束时间,格式:yyyy-MM-dd HH:mm:ss,只针对卡和券类型商品有值 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outOrderId": "111111" } } 响应: { "code": 0, "message": "success", "data": { "outOrderId": "123", "outUserId": "12345", "mobilePhone": "1381123xxxx", "plateNumber": "京AGxxxx", "orderId": "123", "orderStatus": 1, "verifyCode":"ew32ffw", "expiredAt":"2021-05-20 13:04:12", "verifyQrCode": "http://xxxx", "usableSize": 2, "productId": "111", "productName": "标准洗车", "useCount": 10, "productClassify": 2, "startTime": "2021-05-20 14:17:55", "endTime": "2021-05-31 14:17:55" } }
# 2.11、获取核销二维码接口
# 接口说明
获取核销二维码接口,根据核销码生成对应的二维码图片并返回
# 请求地址
/carwash/order/getVerifyQrCode
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 verifyCode requestBody 是 string 核销码 # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 qrCode data string 二维码图片链接 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "verifyCode": "ew32ffw" } } 响应: { "code": 0, "message": "success", "data": { "qrCode": "http://xxxx" } }
# 2.12、服务预约接口
# 接口说明
服务预约接口,预约服务时间
# 请求地址
/carwash/shop/service/reserve
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outUserId requestBody 是 string 第三方用户id orderId requestBody 是 string 订单id reserveTime requestBody 是 string 预约时间,格式:yyyy-MM-dd HH:mm:ss # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data object 响应数据 reserveCode data string 预约码 reserveOrder data int 预约顺序 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outUserId": "111", "orderId": "1234", "reserveTime": "2021-05-20 14:17:55" } } 响应: { "code": 0, "message": "success", "data": { "reserveCode": "w1wr2", "reserveOrder": 10 } }
# 2.13、取消服务预约接口
# 接口说明
取消服务预约接口
# 请求地址
/carwash/shop/service/reserve/cancel
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outUserId requestBody 是 string 第三方用户id orderId requestBody 是 string 订单id reserveCode requestBody 是 string 预约码 # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outUserId": "111", "orderId": "1234", "reserveCode": "w1wr2" } } 响应: { "code": 0, "message": "success" }
# 2.14、获取商品预约信息接口
# 接口说明
获取商品预约信息接口,返回商品的可预约信息和当前用户的预约信息
# 请求地址
/carwash/shop/service/reserve/list
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outUserId requestBody 是 string 第三方用户id shopId requestBody 是 string 店铺id productId requestBody 是 string 商品id orderId requestBody 否 string 订单id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data list<ProductReserveInfo> 响应数据 shopId data string 店铺id reserveTime data string 预约时间,格式:yyyy-MM-dd HH:mm:ss totalSeat data int 总席位 usableSeat data int 可用席位 reserveCode data string 预约码,orderId对应的预约码,不传orderId则无 reserveOrder data int 预约顺序,orderId对应的预约顺序,不传orderId则无 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outUserId": "12345", "shopId": "111", "productId": "123", "orderId": "1234455" } } 响应: { "code": 0, "message": "success", "data": [{ "shopId": "111", "reserveTime": "2021-05-20 14:17:55", "totalSeat": 10, "usableSeat": 5, "reserveCode": "w1wr2", "reserveOrder": 2 }] }
# 2.15、获取订单列表接口
# 接口说明
获取订单列表接口,按下单时间倒序排列
# 请求地址
/carwash/order/list
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outUserId requestBody 是 string 第三方用户id queryParams requestBody 否 list<QueryParam> 查询参数列表 shopId queryParams 否 string 店铺id orderStatus queryParams 否 int 订单状态,见附录 pageNum requestBody 是 int 页数,默认1 pageSize requestBody 是 int 每页条数,默认10 # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data list<OrderInfo> 响应数据 orderId data string 订单id outOrderId data string 第三方订单id outUserId data string 第三方用户id mobilePhone data string 第三方用户手机号 plateNumber data string 第三方用户车牌号 orderStatus data int 订单状态,见附录 verifyCode data string 核销码 expiredAt data string 核销码过期时间,格式:yyyy-MM-dd HH:mm:ss verifyQrCode data string 核销二维码,二维码图片链接 usableSize data int 可用次数 productId data string 商品id productName data string 商品名称 useCount data int 洗⻋卡多次,其他1次 productClassify data int 商品分类,1普通商品,2卡商品,3收款码商品 startTime data string 有效期开始时间,格式:yyyy-MM-dd HH:mm:ss,只针对卡和券类型商品有值 endTime data string 有效期结束时间,格式:yyyy-MM-dd HH:mm:ss,只针对卡和券类型商品有值 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outUserId": "12345", "queryParams": { "shopId": "123", "orderStatus": 1 }, "pageNum": 1, "pageSize": 10 } } 响应: { "code": 0, "message": "success", "data": [{ "orderId": "111", "outOrderId": "123", "outUserId": "12345", "mobilePhone": "1381123xxxx", "plateNumber": "京AGxxxx", "orderStatus": 1, "verifyCode": "wrew2", "expiredAt": "2021-05-20 14:17:55", "verifyQrCode": "http://xxxx", "usableSize": 2, "productId": "111", "productName": "标准洗车", "useCount": 10, "productClassify": 2, "startTime": "2021-05-20 14:17:55", "endTime": "2021-05-31 14:17:55" }] }
# 2.16、过期退款(第三方提供)
# 接口说明
该接口由第三方提供,用来推送过期订单数据
# 请求地址
/carwash/push/order/expire
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 orderId requestBody 是 string 订单id orderStatus requestBody 是 int 订单状态,见附录 outUserId requestBody 是 string 第三方用户id outOrderId requestBody 是 string 第三方订单id expireTime requestBody 是 string 过期时间,格式:yyyy-MM-dd HH:mm:ss # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "orderId": "123", "orderStatus": 6, "outUserId": "111", "outOrderId": "123", "expireTime": "2021-05-20 14:17:55" } } 响应: { "code": 0, "message": "success" }
# 2.17、订单核销(第三方提供)
# 接口说明
该接口由第三方提供,用来推送订单核销数据
# 请求地址
/carwash/push/order/verify
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 orderId requestBody 是 string 订单id orderStatus requestBody 是 int 订单状态,见附录 outUserId requestBody 是 string 第三方用户id outOrderId requestBody 是 string 第三方订单id verifyTime requestBody 是 string 核销时间,格式:yyyy-MM-dd HH:mm:ss # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "orderId": "123", "orderStatus": 5, "outUserId": "111", "outOrderId": "123", "verifyTime": "2021-05-20 14:17:55" } } 响应: { "code": 0, "message": "success" }
# 2.17、获取店铺下的批次信息接口
# 接口说明
获取店铺下的批次信息接口
# 请求地址
/carwash/shop/stock/list
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 shopId requestBody 是 string 店铺id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data list<StockInfo> 响应数据 stockId data string 批次id stockName data string 批次名称 couponName data string 批次优惠券名称 couponDesc data string 批次优惠券描述 couponType data int 优惠券类型(1:满减券;2:减至券;3:折扣券),商家券暂未支持2减至券类型 couponAmount data int 优惠券面额(单位:分)【1:满减券 必填】 transactionMinimum data int 使用券金额门槛(单位:分)【1:满减券 必填 或 3:折扣券 必填】 singlePriceMax data int 可用优惠的商品最高单价(单位:分)【2:减至券 必填】 cutToPrice data int 减至后的优惠单价(单位:分)【2:减至券 必填】 discountAmountMax data int 最高折扣金额(单位:分)【3:折扣券 必填】 discountPercent data int 折扣百分比,例如88-八八折【3:折扣券 必填】 maxCoupons data int 发放总上限 maxCouponsPerUser data int 单个用户可领个数 availableBeginTime data long 可用开始时间,毫秒 availableEndTime data long 可用结束时间,毫秒 discountSharing data boolean 优惠同享 province data string 优惠券支持的可用省份,多个逗号分隔,为空表示不限制 city data string 优惠券支持的可用城市,多个逗号分隔,为空表示不限制 stockClassify data int 批次分类(0:内部批次,即微信批次;1:外部SP批次,3:商家券批次) useRule data string 使用规则,JSON格式,需要双方提前约定 maxCouponsByDay data int 单天发放上限个数【商家券】 availableTimeType data int 可用时间类型(目前商家券才有 '固定周期有效'和'无规律有效时间'类型)【商家券】,0默认,1固定周期有效,2无规律有效时间 waitDaysAfterReceive data int 领取后N天开始生效【商家券】 availableWeek data AvailableWeek 固定周期有效时间段【商家券】 weekDay availableWeek list<int> 可用星期数,0代表周日,1代表周一,以此类推;当填写available_day_time时,week_day必填 availableDayTime availableWeek list<AvailableIntDayTime> 当天可用时间段,最多不超过2个 beginTime availableDayTime int 当天可用开始时间,单位:秒,1代表当天0点0分1秒 endTime availableDayTime int 当天可用结束时间,单位:秒,86399代表当天23点59分59秒 irregularyAvaliableTime data list<IrregularyAvaliableTime> 无规律的有效时间段【商家券】 beginTime irregularyAvaliableTime long 开始时间 endTime irregularyAvaliableTime long 结束时间 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "shopId": "111" } } 响应: { "code": 0, "message": "success", "data": [{ "stockId": "1111", "stockName": "洗车券", "couponName": "洗车券5元", "couponDesc": "仅限标准洗车", "couponType": 1, "couponAmount": 500, "transactionMinimum": 1, "singlePriceMax": 0, "cutToPrice": 0, "discountAmountMax": 0, "discountPercent": 0, "maxCoupons": 100, "maxCouponsPerUser": 1, "availableBeginTime": 1629878997000, "availableEndTime": 1629879031000, "discountSharing": false, "province": "", "city": "", "stockClassify": 3, "useRule": "", "maxCouponsByDay": 10, "availableTimeType": 1, "waitDaysAfterReceive": 1, "availableWeek": { "weekDay": [0], "availableDayTime": [{ "beginTime": 1, "endTime": 86399 }] }, "irregularyAvaliableTime": [{//仅举例 "beginTime": 0, "endTime": 86399 }] }] }
# 2.18、根据商户手机号获取商户店铺信息接口
# 接口说明
根据商户手机号获取商户店铺信息接口
# 请求地址
/carwash/getShopInfoByMobilePhone
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 mobilePhone requestBody 是 string 商户手机号 # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data list<ShopInfo> 响应数据 shopId data string 店铺id outShopId data string 第三方店铺id mobilePhone data string 商户手机号 # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "mobilePhone": "1371793xxxx" } } 响应: { "code": 0, "message": "success", "data": [{ "shopId": "111", "outShopId": "16894647563528499848", "mobilePhone": "1371793xxxx" }] }
# 2.19、订单核销记录查询接口
# 接口说明
订单核销记录查询接口,通过第三方订单id查询订单核销记录
# 请求地址
/carwash/order/verifyRecord/list
# 请求参数
元素名称 父元素名称 是否必传 类型 说明 apiKey requestHead 是 string 服务方分配给调用方的一个账号 seqId requestHead 是 string 随机序列号 timestamp requestHead 是 long 时间戳,毫秒 nonce requestHead 是 string 10位随机数 sign requestHead 是 string 签名串 outOrderId requestBody 是 string 第三方订单id # 响应数据
元素名称 父元素名称 类型 说明 code int 响应状态码,见附录 message string 响应状态说明,见附录 data list<OrderVerifyRecord> 响应数据 verifyTime data string 核销时间,格式:yyyy-MM-dd HH:mm:ss # 请求/响应示例
请求: { "requestHead": { "apiKey": "aaabbbcccdddeeefffggghhhiiijjjkkk", "seqId": "343242423424234", "timestamp": 13434342, "nonce": "42fswrfw84", "sign": "bc083ca5-4f37-40f0-9fc6-638f5d920981" }, "requestBody": { "outOrderId": "123" } } 响应: { "code": 0, "message": "success", "data": [{ "verifyTime": "2021-05-20 14:17:55" }] }
# 附录
# 响应状态码
code message 说明 0 success 成功 # 第三方响应状态吗
code message 说明 0 success 成功 # 普通商品类型表
商品类型名称 商品type取值 洗车 1 美容 2 保养 3 维修 4 # 卡商品类型表
商品类型名称 商品type取值 洗车卡(自营洗车卡) 1 活动洗车卡 2 # 车型表
车类型名称 车类型编号 小轿车 1 SUV 2 商务车 3 其他 4 # 订单编号
orderStatus 说明 0 新建-未确认 1 已确认 2 未确认订单-超时 3 未确认订单-已释放 4 已确认订单-已取消 5 已确认订单-已核销 6 已确认订单-超时未使用