企业微信 API 接口:收到客户订单/咨询时自动给客服发提醒
客户下单了,客服不知道;客户咨询了,客服没看到。这类"信息延迟"是客服团队最常见的痛点。这篇讲怎么用企微 API 把订单和咨询事件实时推给客服。
事件来源:订单系统和咨询入口
订单事件来自你的业务系统(电商后台、ERP、CRM),咨询事件来自企微消息回调。两个来源,两条链路,最后汇到同一个提醒服务。
订单事件:业务系统里订单状态变化(待付款→已付款→已发货),触发 webhook 到你的提醒服务。
咨询事件:客户在企微里发消息,回调推送到你的服务。
两条链路的处理逻辑一样:解析事件 → 确定接收人 → 渲染模板 → 发送提醒。
确定接收人:不是"发给客服",是"发给谁"
"给客服发提醒"这个说法太模糊。实际场景里,接收人可能是:
值班的客服(排班表决定)
负责这个客户的销售(客户归属决定)
负责这个品类的运营(订单内容决定)
客服主管(投诉类事件升级)
做法是用一张路由表,按事件类型和业务属性匹配接收人:
ROUTES = { "order_paid": {"type": "sales", "field": "customer_owner"}, "order_urgent": {"type": "role", "value": "on_duty_cs"}, "complaint": {"type": "role", "value": "cs_manager"}, } def resolve_receiver(event): route = ROUTES.get(event["type"]) if not route: return default_receiver() if route["type"] == "sales": return get_sales_of_customer(event["customer_uin"]) elif route["type"] == "role": return get_users_by_role(route["value"])渲染模板:信息密度决定响应速度
提醒消息的内容,决定客服要花多少时间理解发生了什么。好的模板让客服一眼就能行动:
TEMPLATES = { "order_paid": ( "新订单提醒\n" "订单号:{order_no}\n" "客户:{customer_name}({customer_uin})\n" "金额:{amount}\n" "商品:{items}\n" "请及时处理发货。" ), "complaint": ( "客户投诉\n" "客户:{customer_name}\n" "内容:{content}\n" "历史订单:{order_count} 笔\n" "请尽快联系客户处理。" ), }关键信息放前面,辅助信息放后面。客服扫一眼就知道要不要立刻处理。
发送:单聊优先,群聊兜底
提醒发给个人,别发到群里。群里消息多,容易被淹没;单聊消息有强提醒,客服不会错过。
但如果值班客服没设,或者销售离职了,要有兜底策略:发到客服群,@ 所有人。
def send_reminder(event): receivers = resolve_receiver(event) if not receivers: # 兜底:发到客服群 send_to_group(CS_GROUP_ID, render(event), mention_all=True) return for uin in receivers: conv_id = resolve_conversation(uin) send_text(conv_id, render(event))状态跟踪:发出去不算完,要确认收到
提醒发出去,客服没看到,等于没发。要跟踪已读状态:
发送后记录
messageId定时查
getMessageReceipt,确认已读超时未读,升级到主管
def track_receipt(message_id, event, timeout=300): deadline = time.time() + timeout while time.time() < deadline: resp = call_api("message/getMessageReceipt", { "appid": APPID, "messageId": message_id }) if resp["code"] == 0 and resp["data"].get("read"): return True time.sleep(10) # 超时未读,升级 escalate(event) return False一个真实场景
某电商团队的订单提醒,之前靠客服每小时手动刷一次后台,平均响应 40 分钟。改成实时推送后,订单支付成功 10 秒内客服就收到提醒,平均响应降到 2 分钟。
关键是提醒要"到人",不是"到群"。
接口路径和字段在Eyun 开发文档里能查到,凭证在Eyun 控制台开通实例后拿到。