加载中…

商家配送服务插件教程

# 启用插件 1. 如果你是免费会员户,有点小遗憾,暂时无法使用api工厂的插件功能; 2. 如果你是专业版会员,那么登录后台,左侧菜单 “工厂设置” --> “插件管理” ,找到 “配送服务” 插件,在线购买开通即可; 3. 如果你是增值版会员,那么无需做任何操作,你可以免费使用所有的插件功能; # 启用模块 左侧菜单 “工厂设置” --> “模块管理” ,找到 “配送服务”  模块,启用模块后刷新页面,你将可以在左侧菜单“配送服务”中看到配送相关的菜单, ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600932887464-c0921b7f-febb-4064-be98-95e1c7742be7.png) # 使用说明 ## 配送设置 ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600933330043-549d4096-f08d-47cd-b6cc-9cb93d3cc116.png) ### 有新的配送订单提醒配送员 + 开启抢单模式 + 配置“抢单模版消息编号” + “抢单模版消息内容” 配置好上述信息以后,有新的配送订单产生,配送员即可接收到信息提醒,点击信息即可快速进入小程序(前提是配置了“小程序页面路径”) 如果配送员设置了区域编号,那么只有当前订单所在区域(shopIdZt)内的配送员才能收到消息 ### 系统自动派单 如果开启了“自动派单”,那么配送单在一定时间内没有被配送员主动抢单,那么系统会自动将订单分配给可接单的其他配送员。 ## 按配送距离收取配送费 假如有这么一个需求,1公里内免费配送,1 ~ 5 公里,需要收取5元配送费,5 ~ 10 公里需要收取 30元配送费,那么应该如何设置呢? ### 创建收费规则 首先,你需要创建配送费收取规则,如下图: ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600933074602-89fa2fd5-db48-498a-bf51-256fcdae77c5.png) ### 前端展示配送费 前端编码,根据用户配送地址、商家地址,计算配送距离,然后根据下面的前端接口,获取匹配的配送费记录: ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1598932693443-688d2760-d999-4faa-8d09-86ac95557ea8.png) [《前端接口文档》](https://api.it120.cc/doc.html) 返回示例: ```json { "code": 0, "data": [ { "dateAdd": "2020-09-01 11:51:08", "distance": 1, "fwf1Min": 0, "fwf1Name": "基础服务费", "fwf1Number": 0, "fwf1Type": 0, "fwf2Min": 0, "fwf2Name": "运费", "fwf2Number": 0, "fwf2Type": 0, "id": 143, "userId": 2, "ztDiscounts": 0 }, { "dateAdd": "2020-09-01 11:52:04", "distance": 5, "fwf1Min": 0, "fwf1Name": "基础服务费", "fwf1Number": 5, "fwf1Type": 0, "fwf2Min": 0, "fwf2Name": "运费", "fwf2Number": 0, "fwf2Type": 0, "id": 144, "userId": 2, "ztDiscounts": 0 }, { "dateAdd": "2020-09-01 11:52:14", "distance": 10, "fwf1Min": 0, "fwf1Name": "基础服务费", "fwf1Number": 30, "fwf1Type": 0, "fwf2Min": 0, "fwf2Name": "运费", "fwf2Number": 0, "fwf2Type": 0, "id": 145, "userId": 2, "ztDiscounts": 0 } ], "msg": "success" } ``` ### 创建订单接口指定服务费规则 创建订单接口,需要新增一个参数: peisongFeeId 传值即为上一步中接口读到的配送费规则记录对应的 id 字段 ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1598932895928-d4b7f86a-06f4-429d-87ac-58e57cc8ed09.png) ## 配送员管理 ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600933397493-a6a0f70b-87d1-4be5-b39b-e0516b993933.png) ### 工作状态 0 可接单 1 休息 2 在路上 3 服务中 ### 身份类型 0 禁用 1 配送员/骑手 2 管理员(可派单) ### openid设置 让配送员关注你的服务号,你即可查看每个配送员的openid,填写 openid 后,有订单信息将通过你的服务号推送给配送员 [《如何查看服务号某个用户的openid》](https://www.yuque.com/apifm/doc/dbtods) ## 订单配送流程 ### 指定订单是需要配送的 如果需要使用配送流程,也就是说用户下单以后,系统自动会生成一个配送订单,继而可以自动 / 手动 / 抢单 的方式分配给对应的配送员进行配送。那么,您必须在创建订单的时候,指定该订单是需要自动配送的: 创建订单接口,指定参数: autoPeisong = true ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600934536448-93edee6e-bc9a-4be0-aa78-e184a1e0f43b.png) ### 系统自动生成配送订单 创建订单时候如果指定了autoPeisong=true,那么在下述几个环节,系统会自动创建配送订单: + 货到付款的订单,下单立即创建配送单 + 用户完成支付时候创建配送单 + 管理员后台设置为已支付创建配送单 + 管理员在后台使用用户余额支付订单 系统生成配送订单的同时,也会生成并记录这个配送订单的订单明细(何时创建、何时接单、何时开始配送、何时完成配送等等);同时商城订单状态会被设置为已发货状态。 所以,此类订单,除了要根据商城订单的状态,还需要根据对应的配送订单的状态来给用户展示整体订单的情况。 订单列表 / 订单明细会同时返回两个状态: + status -1 关闭订单 0 待支付 1 已支付待发货 2 已发货待确认 3 确认收货待评价 4 已评价 + peisongStatus 1 待接单; 2 待取货(餐); 3 配送中; 4 已完成; 5 已取消; 6 预留; 7 预留; 8 预留; 9 退回中; 10 已退回; ### ➌新订单通知所有配送员 根据“配送设置”里的新订单提醒配置,提醒相应的配送员去接单。 ### ➍配送员抢单 “配送设置” 中开启抢单模式的情况下,可以通过前端配送订单可抢单列表接口,读取到所有待接单的订单,配送员根据自己的实际情况考虑是否接单,调用接单接口,完成抢单操作: ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600938493212-56e23bfb-e837-4c4b-8241-3e7e08a52561.png) ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600938509436-6f2bfe2f-386a-4dd9-8295-210bdd204497.png) ### ➎超时未抢单系统自动派单 开启自动配单后,超时配送单,系统自动派单给配送员 ### ➏管理员手动派单 配送员管理里的管理员,可以将某个配送单,手动的分配给某个配送员 ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600940282165-7b7a8a22-068b-4fe9-aebc-3c0939d4b538.png) ### 配送服务 通过前端相对应的接口,完成最终的配送服务 ![](https://dcdn.it120.cc/yuque/0/2020/png/572726/1600940367487-89e45264-1fca-4718-a9f7-c595bd1c75ff.png) ## 问题排查 如果订单没有生成配送单,按照下面的步骤进行排查: 1. 下单接口没传autoPeisong参数,这个参数要传 true; 2. 检查你的商品所属门店,编辑,经纬度是否没填,因为配送需要涉及到计算距离,需要有经纬度的信息; 3. 下单的时候,是不是没有传收货地址经纬度,如果目的地没有传经纬度,也是不会生成配送单的;