影刀RPA 餐饮外卖自动化美团饿了么订单自动处理什么情况用什么 → 怎么做 → 有什么坑作者林焱 | 飞行社出品什么情况用什么餐饮商家每天要处理大量外卖订单接单、打印小票、后台核对、汇总营业额。订单量大时手动操作容易漏单、错单。这套方案适合连锁餐饮门店批量管理多平台订单外卖运营数据自动汇总分析自动打印后厨小票核心工具影刀RPA 美团外卖开放平台API / 饿了么开放平台API 小票打印机控制怎么做第一步接入外卖平台开放API店群矩阵自动化突破运营极限美团和饿了么都有商家开放平台可以申请API权限importrequestsimportjsonimporthmacimporthashlibfromdatetimeimportdatetime# 美团外卖API defget_meituan_orders(shop_id,app_key,app_secret,start_time,end_time):获取美团外卖订单# 1. 构造请求参数params{app_key:app_key,timestamp:int(datetime.now().timestamp()),shop_id:shop_id,start_time:int(start_time.timestamp()),end_time:int(end_time.timestamp()),offset:0,limit:100}# 2. 生成签名美团API要求siggenerate_meituan_sig(params,app_secret)params[sig]sig# 3. 发送请求urlhttps://openapi.waimai.meituan.com/order/listresprequests.get(url,paramsparams,timeout10)dataresp.json()ifdata.get(code)0:ordersdata[data][order_list]returnorderselse:print(f获取订单失败:{data.get(msg)})return[]defgenerate_meituan_sig(params,app_secret):生成美团API签名# 参数按key排序拼接成字符串sorted_paramssorted(params.items(),keylambdax:x[0])param_str.join([f{k}{v}fork,vinsorted_params])# 加上app_secretsign_strparam_strapp_secret# MD5哈希sighashlib.md5(sign_str.encode()).hexdigest()returnsig# 饿了么API defget_eleme_orders(shop_id,app_key,app_secret):获取饿了么订单urlhttps://openapi.elm.com/order/querypayload{shop_id:shop_id,order_status:valid,# 有效订单start_time:2026-06-01 00:00:00,end_time:2026-06-28 23:59:59,page_no:1,page_size:100}# 饿了么用OAuth2.0需要先获取access_tokenaccess_tokenget_eleme_token(app_key,app_secret)headers{Authorization:fBearer{access_token},Content-Type:application/json}resprequests.post(url,jsonpayload,headersheaders,timeout10)dataresp.json()ifdata.get(code)200:returndata[data][order_list]else:print(f获取饿了么订单失败:{data.get(message)})return[]第二步订单数据标准化不同平台的订单格式不统一需要转换成统一格式defnormalize_order(order,platform):将不同平台的订单标准化ifplatformmeituan:return{platform:美团,order_id:order[order_id],customer_name:order[recipient_name],phone:order[recipient_phone],address:order[recipient_address],total_amount:float(order[total_fee])/100,# 美团用分单位items:[{name:item[food_name],qty:item[quantity]}foriteminorder[detail][food_list]],status:order[status],created_at:order[created_at],remark:order.get(remark,)}elifplatformeleme:return{platform:饿了么,order_id:order[order_id],customer_name:order[consignee][name],phone:order[consignee][phone],address:order[consignee][address],total_amount:float(order[total_price]),# 饿了么用元单位items:[{name:item[name],qty:item[quantity]}foriteminorder[items]],status:order[status],created_at:order[created_at],remark:order.get(buyer_message,)}第三步自动打印后厨小票importwin32printimportwin32apidefprint_kitchen_receipt(order):打印后厨小票printer_namePOS-80# 你的小票打印机型号# 构造小票内容ESC/POS指令receipt_contentf 新订单 #{order[order_id][-6:]} 下单时间:{order[created_at]}-------------------------------- foriteminorder[items]:receipt_contentf{item[name]}x{item[qty]}\nreceipt_contentf -------------------------------- 备注:{order.get(remark,无)} # 发送到打印机hPrinterwin32print.OpenPrinter(printer_name)try:hJobwin32print.StartDocPrinter(hPrinter,1,(订单小票,None,RAW))win32print.StartPagePrinter(hPrinter)# 发送ESC/POS指令根据不同打印机型号调整win32print.WritePrinter(hPrinter,b\x1B\x40)# 初始化win32print.WritePrinter(hPrinter,receipt_content.encode(gbk,errorsignore))win32print.WritePrinter(hPrinter,b\x0A\x0A\x0A)# 走纸3行win32print.WritePrinter(hPrinter,b\x1D\x56\x00)# 切纸win32print.EndPagePrinter(hPrinter)win32print.EndDocPrinter(hPrinter)finally:win32print.ClosePrinter(hPrinter)print(f小票已打印订单{order[order_id]})第四步异常订单自动告警defcheck_order_anomaly(order):检查订单异常anomalies[]# 1. 地址异常地址过短iflen(order[address])10:anomalies.append(⚠️ 收货地址过短疑似虚假订单)# 2. 金额异常远超平均客单价avg_priceget_avg_order_value(days30)iforder[total_amount]avg_price*3:anomalies.append(f⚠️ 订单金额异常{order[total_amount]}元平均{avg_price}元)# 3. 备注中有不要香菜等后厨需要关注的if不要inorder.get(remark,)or过敏inorder.get(remark,):anomalies.append(f⚠️ 特殊备注{order[remark]})# 4. 新用户首单可能需要特别关注ifis_first_order(order[phone]):anomalies.append(ℹ️ 新用户首单)returnanomaliesdefsend_anomaly_alert(order,anomalies):发送异常告警到企微webhook_urlhttps://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyYOUR_KEYcontentf **外卖订单异常告警** **订单号**{order[order_id]}**平台**{order[platform]}**金额**{order[total_amount]}元 **下单时间**{order[created_at]}**异常信息** \n.join([f-{a}forainanomalies])payload{msgtype:markdown,markdown:{content:content}}requests.post(webhook_url,jsonpayload)第五步影刀RPA完整流程编排【定时触发】每1分钟检查一次新订单 ↓ 【Python节点】get_meituan_orders() → 获取美团新订单 ↓ 【Python节点】get_eleme_orders() → 获取饿了么新订单 ↓ 【合并订单】将两个平台的订单合并 ↓ 【循环】遍历每个新订单 ↓ 【Python节点】normalize_order() → 标准化订单数据 ↓ 【Python节点】print_kitchen_receipt() → 打印后厨小票 ↓ 【Python节点】check_order_anomaly() → 检查异常 ↓ 【条件判断】有异常 ├─ 是 → 【企微通知】发送异常告警 └─ 否 → 继续 ↓ 【写入数据库】订单数据存入本地数据库 ↓ 【更新状态】标记订单已处理 ↓ 【生成日报】每天23:59触发 → 汇总今日订单数、营业额、平均客单价 → 生成Excel日报发送给店长有什么坑坑1外卖平台API申请难美团和饿了么的开放平台API不是谁都能申请的需要是企业资质个体工商户也行需要有一定规模的门店数量审核周期1-2周解决方案如果申请不到API权限可以用桌面自动化方式操作商家后台美团商家后台https://ecom.meituan.com/饿了么商家后台https://kaidian.ele.me/用影刀的【网页自动化】指令模拟登录→查看订单→导出订单一样能实现自动化。坑2小票打印机指令不统一不同品牌的小票打印机佳博、芯烨、爱普生ESC/POS指令有差异上面的代码可能需要调整。temu店群自动化报活动案例解决方案用打印机厂商提供的SDK或者直接用Windows打印方式# 简单方案用Windows的记事本打印defprint_receipt_simple(content,printer_name):用记事本打开并打印通用方案importtempfileimportos# 写入临时文件temp_filetempfile.mktemp(suffix.txt)withopen(temp_file,w,encodingutf-8)asf:f.write(content)![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7b8e7ebb105e483f9f58ddc9b213f34a.png#pic_center)# 用记事本打开并打印os.system(fnotepad /p {temp_file})# 延迟删除临时文件time.sleep(5)os.remove(temp_file)坑3订单状态同步延迟用户下单后API可能有1-3分钟延迟才能获取到订单。如果流程每分钟运行一次可能会漏掉刚下的订单。解决方案每次查询时时间范围向前推5分钟# 获取最近10分钟的订单避免漏单start_timedatetime.now()-timedelta(minutes10)end_timedatetime.now()ordersget_meituan_orders(shop_id,app_key,app_secret,start_time,end_time)# 然后根据订单ID去重本地数据库已有则不处理坑4多门店管理复杂如果你有10家门店每家门店的API账号不同需要分别调用API。解决方案用配置文件管理多门店信息# shops_config.json{shops:[{name:门店1,platform:meituan,shop_id:12345,app_key:xxx},{name:门店1,platform:eleme,shop_id:67890,app_key:yyy},{name:门店2,platform:meituan,shop_id:22222,app_key:zzz}]}# 批量处理所有门店withopen(shops_config.json)asf:configjson.load(f)forshopinconfig[shops]:ifshop[platform]meituan:ordersget_meituan_orders(shop[shop_id],shop[app_key],...)elifshop[platform]eleme:ordersget_eleme_orders(shop[shop_id],shop[app_key],...)# 处理订单...总结功能节省时间附加价值自动获取订单每天省1小时避免漏单自动打印小票每天省30分钟后厨出餐更快| 异常订单告警 | — | 降低客诉率 || 营业数据汇总 | 每天省1小时 | 实时掌握经营状况 |落地建议先接一个平台建议美团API更稳定跑通获取订单→打印小票→存入数据库这个最小闭环再扩展其他功能。