做电商最怕的不是订单少,而是订单多了之后,处理订单的人崩溃。每天上午运营一登录后台,几十上百个待发货订单等着处理——从拼多多导出发货单,去淘宝打单,再把抖音的订单手工录入ERP,最后还得去各个平台点发货。光是把订单从A搬到B,就耗掉了大半个上午。我曾经帮一个做店群的运营同事用影刀RPA搭了一套跨平台订单自动处理流程,把打单、发货、回传单号这三件事全串了起来。现在他每天早上只需要补一下异常订单,其他全自动跑完。
这篇文章就把这套“跨平台订单自动处理系统”的搭建过程完整拆解。它不是简单的一个采集流程,而是把多个平台的订单拉取、合并、打单、物流回传组合成一个自动化流水线。核心思路是:统一取订单→集中打单→按平台回传物流单号。你可以在它的骨架上增减平台,适配自己的业务。
系统整体架构:三阶段流水线,串起订单全生命周期
整个订单处理系统分成三个大的处理阶段,每个阶段用影刀RPA的独立子流程实现,再由一个主调度流程串联。
- 阶段一:多平台订单拉取与合并。 登录拼多多、淘宝、抖音等商家后台,导出“待发货”订单,统一清洗成相同格式,合并成一张总表。
- 阶段二:集中打单与物流匹配。 读取合并后的订单表,调用打单软件(如快递助手、我打)或者直接对接电子面单API,批量生成物流单号并打印(或标记已打单)。
- 阶段三:按平台回传物流单号。 根据订单来源平台,分别登录对应后台,将已生成的物流单号回填到订单中,执行“发货”操作。
整个主调度流程放在Windows计划任务里,每天上午9:00和下午14:00各执行一次。如果遇到异常订单(如地址不全、库存不足),自动收集到异常列表,发企业微信通知运营人工处理,不阻塞正常订单的自动化。
阶段一:多平台订单拉取与合并,统一数据格式
各平台后台都支持导出订单报表,这是最稳定、最不容易被限流的方式。不要用页面逐条提取,直接用导出功能拿Excel。
拼多多订单导出: 登录拼多多商家后台,进入“发货中心”→“订单查询”,筛选“待发货”状态,选择今天日期,点击“导出”按钮。下载完成后,文件移动到指定目录。在影刀流程中,等待下载完成的关键是用“判断文件是否存在”指令轮询下载文件夹,直到出现新文件且文件大小稳定(隔2秒再读一次,大小不变说明下载完毕)。
淘宝订单导出: 千牛卖家中心→“交易管理”→“已卖出的宝贝”,筛选“等待发货”,点击“导出订单”。淘宝导出支持按时间筛选,同样等待下载。
抖音订单导出: 抖店后台→“订单”→“订单管理”,筛选“待发货”,导出报表。有些版本导出按钮位置较深,需要稳定XPath定位。建议直接用浏览器F12抓导出按钮的选择器,抖音后台的
data-testid 属性相对稳定。
合并清洗规则: 三个平台导出的Excel列名不同,需要映射到统一格式。目标统一表结构:
| 平台 | 订单号 | 收件人 | 手机 | 地址 | 商品标题 | 数量 | 规格 | 物流公司 | 物流单号(待回填) |
|---|---|---|---|---|---|---|---|---|---|
| 拼多多 | ... | ... | ... | ... | ... | ... | ... | 待打单 |
| 淘宝 | ... | ... | ... | ... | ... | ... | ... | 待打单 | |
| 抖音 | ... | ... | ... | ... | ... | ... | ... | 待打单 | |
在影刀里用Python的Pandas做合并清洗。大致逻辑:
import pandas as pd
# 分别读取三个Excel
df_pdd = pd.read_excel('拼多多样表.xlsx')
df_tb = pd.read_excel('淘宝宝表.xlsx')
df_dy = pd.read_excel('抖音样表.xlsx')
# 列名映射,省略具体列名对照,按实际情况调整
df_pdd = df_pdd.rename(columns={'订单号': '订单号', '收货人': '收件人', ...})
df_tb = df_tb.rename(columns={'订单编号': '订单号', '买家昵称': '收件人', ...})
df_dy = df_dy.rename(columns={'order_id': '订单号', 'receiver_name': '收件人', ...})
# 添加平台标记
df_pdd['平台'] = '拼多多'
df_tb['平台'] = '淘宝'
df_dy['平台'] = '抖音'
# 合并
all_orders = pd.concat([df_pdd, df_tb, df_dy], ignore_index=True)
all_orders['物流公司'] = '待打单'

all_orders['物流单号'] = ''
合并后写入一个汇总Excel,供打单环节使用。需要特别清洗手机号:淘宝导出的手机号可能中间四位被隐藏(如138****1234),这种订单无法打单,需单独筛选出来,标记为“异常-号码不全”,不进入打单流程,而是通知运营手动处理。
阶段二:集中打单,对接电子面单或打单软件
这里根据实际使用的打单工具不同,影刀的对接方式不同。
方案A:使用第三方打单软件的API。 比如“快递助手”“我打”这些打单服务,通常提供API接口。你只需要用影刀的“发送HTTP请求”指令,把订单的收件人信息、商品信息、物流公司编码POST过去,就能返回物流单号。这是最自动化、最稳定的方式。前提是你的打单软件开放API,并且你有调用权限。实现细节参考之前API与HTTP请求的文章。
方案B:模拟操作打单软件桌面客户端。 如果打单软件只有客户端(如网点自有的打单工具),可以用影刀的桌面自动化来操作。流程:激活打单软件窗口→点击“导入订单”→在文件选择框中填入汇总Excel路径→点击“批量打单”→等待打单完成→导出含物流单号的回传Excel。这种方式受软件UI更新影响较大,但不用写API鉴权。
方案C:直接对接快递公司电子面单接口。 如果你有自己的快递月结账号,可直接调顺丰、中通等快递公司的电子面单API。每个快递公司接口不同,一般需要传入发货地址、收货地址、包裹信息,返回运单号和面单打印链接。这需要一定开发量,适合有IT支持的情况。
无论哪种方案,最终产物是一个“已打单”的Excel,里面除了原始订单信息,还填上了物流公司和物流单号。如果打单失败,对应行的物流单号为空或标记“失败”。流程里根据是否为空,将成功部分传给阶段三,失败部分加入异常列表。
一个容易忽视的坑: 不同快递的物流单号格式不同,回传平台时有的平台会自动识别快递公司,有的需要手动选择。需在打单时保留快递公司名称(如“中通快递”),回传时用到。
阶段三:按平台回传物流单号,完成发货
拿到物流单号后,要分别回填到各平台的“发货”操作里。这里不能用导出导入,因为平台没有批量回传单号的导入功能(大部分没有),需要逐笔操作。但好在已经有物流单号了,操作只是模拟点击发货。
拼多多回传: 在“发货中心”→“订单查询”里,按订单号搜索,点击“发货”按钮,在弹出的发货窗口中输入物流公司和物流单号,确认发货。影刀流程:ForEach循环处理拼多多平台的订单行,每笔订单执行:搜索订单号→点击发货→等待弹窗→选择物流公司(用下拉框或文本输入,取决于后台)→输入单号→点击确认。注意: 如果弹窗中物流单号输入框用“输入文本”无效(粘贴板限制),改用“模拟输入”。为防止出错,回传完一条后可以加一个判断:检查订单状态是否变为“已发货”。
淘宝回传: 类似,在千牛“已卖出的宝贝”里搜索订单号,点击“发货”,填写物流信息。淘宝发货页通常需要选择“在线下单”还是“自己联系物流”,选后者,再填入快递和单号。
抖音回传: 抖店后台的“订单管理”中,搜索订单,点“发货”,录入物流信息。抖音发货有时支持批量导入,如果支持,直接把含单号的表格导入,会比逐笔操作快很多。优先使用导入功能。
回传失败的处理: 如果某笔订单回传时弹窗报错(如“单号已被使用”“物流公司不匹配”),流程会捕获错误,记录该订单到异常列表,然后“继续循环”处理下一笔。整个循环跑完后,把异常列表(Excel)通过企业微信发给运营,并简要说明失败原因。
物流单号回传的节奏控制: 平台对发货接口有调用频率限制,不能瞬间发几百个请求。在ForEach循环内,每完成一笔回传,加一个随机延时2-5秒,模拟人工操作间隔。100个订单的回传大约需要10分钟,在上午这个时间完全可接受。
异常处理与人机协同
全自动化流程最怕的是遇到无法处理的异常时硬闯,导致订单状态混乱。我们的原则是:不能确定的,留给人。
自动处理的边界:
- 有完整地址、正常商品、成功获取物流单号的订单 → 全自动完成
- 地址不全、手机号隐藏、商品缺货标记、打单失败、回传平台报错 → 转入工
异常订单列表中记录:平台、订单号、客户昵称、异常原因(如“手机号隐藏”“库存不足”)、时间。运营每天上午处理完异常后,如果订单已经变成正常(比如补货了),可以手动点发货,或者把订单号放入一个“重新处理”的文本文件,让影刀流程下午再次尝试自动处理。
在设计流程时,专门建一个“异常订单处理”子流程,它的入参是订单信息和异常原因,内部负责:追加到异常Excel、发企业微信消息@运营。主流程中任何捕获到非预期错误的地方,都调用这个子流程,而不是只记录日志。
系统的扩展与维护
- 新增平台:只需要写一个新的“平台订单导出”子流程,输出统一格式的表,清洗合并模块完全不用动。
- 更换打单软件:修改阶段二的打单对接子流程,其余不变。
- 错峰执行:如果订单量大,上午一次处理可能导致限流。可在调度上拆成多次,比如每小时处理一部分,用配置表控制每次处理的订单数量上限。
订单处理常见问题速查
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 导出订单后文件迟迟不下载 | 后台导出任务队列卡住 | 增加重试机制,等待超时后重新点击导出 |
| 打单返回单号为空 | 快递公司接口报错或余额不足 | 检查快递账户,余额不足时告警人工充值 |
| 回传时提示“单号已被使用” | 该订单已在其他渠道发货 | 跳过并记录,人工确认是否是重复发货 |
| 搜索订单号无结果 | 订单已退款或状态变更 | 用状态检测判断,状态非待发货则跳过并记录 |
| 操作间隔太短被限流 | 平台发货接口QPS限制 | 增大随机延时,或设置每次处理最大单量 |
推荐资源: 影刀官方流程市场有“拼多多自动发货”“淘宝自动发货”等单平台模板,可以先下载研究,再按本文思路串成跨平台。打单软件API文档一般在其官网开放平台可以找到,影刀社区的“物流对接”板块有常见的API调用示例。企业微信通知已经在之前文章里专门讲过,可以作为异常通知模块直接复用。
#影刀RPA #RPA自动化 #电商 #订单处理 #自动化
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
