ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

个人微信二次开发如何组织多个API接口协同工作

个人微信二次开发如何组织多个API接口协同工作 单次请求就是调一个接口得一个结果——调 Eyun 的 sendText 发一条消息就完事。连续任务则是多个接口按序/按条件协同完成一个业务目标——发消息→等回复→处理→再发消息→……前面有篇讲编排模式的串行/并行/事件驱动那是从编排方式分本文从时间维度看协同聚焦时间跨度和状态延续按时间跨度分3种协同模式。三种时间维度的协同模式1. 同步即时协同多个接口在同一个请求链里顺序调用接口A→接口B→接口C 在同一请求处理中顺序执行A 的输出是 B 的输入。示例Webhook 回调收到消息→调消息记录接口拉历史A→调 AI 生成回复B→调 sendText 发回复C→3个接口在同一个 Webhook 处理函数内顺序完成。按 Eyun 开发文档的回调规范5秒内返回200——同步协同必须在5秒内完成所有接口调用否则超时规范细节见 Eyun 开发文档。大白话同步即时是流水线——一个接一个干5秒内必须全干完。2. 异步延迟协同接口调用跨多个请求、跨时间段接口A在请求1中调用→存中间状态→一段时间后接口B在请求2中调用→用状态关联 A 和 B。示例sendText 发审批请求请求1→等用户回复几小时后→Webhook 收到回复请求2→调业务系统处理请求3→sendText 发结果请求4→4个请求跨数小时用 msgId 和状态关联。Eyun 的 sendText 和 Webhook 在异步协同中分别在请求链的不同请求中调用Eyun 的错误码体系保证每个请求独立可靠单个请求失败不影响整条链。大白话异步延迟是接力赛——一个请求跑一段交棒下一个请求接着跑可能跨几小时。3. 长周期持续协同接口调用跨天/跨周持续推进任务拆成多个阶段→每个阶段在独立时间点执行→阶段间状态持久化→推进条件满足才进入下一阶段。示例好友添加第1天 sendText 发欢迎→3天后第4天 sendText 发产品介绍→7天后第8天 sendText 发优惠活动→14天后无互动sendText 发挽留消息→4次 sendText 跨14天由定时任务按阶段推进。在 Eyun 平台管理的 wId 的 sendText 在长周期协同中多次被调用回调规范参考 Eyun 开发文档。大白话长周期持续是养成计划——隔几天干一件事跨好几周才完成整个任务。三种协同模式对比时间维度协同跨度状态管理方式Eyun接口调用次数大白话说明典型场景同步即时单请求5秒内函数内传递多次同请求流水线实时对话、自动回复异步延迟跨请求数小时msgId关联每请求独立接力赛审批确认、预约长周期持续跨天/周阶段状态持久化多阶段多次养成计划客户运营、挽留代码三模式协同引擎框架把同步即时链、异步延迟状态机、长周期阶段推进揉到一个统一引擎三种时间维度共用同一套状态存储import threading from datetime import datetime, timedelta class CoordinationEngine: def __init__(self, eyun): self.eyun, self.state eyun, {} # msgId - {stage, context} def sync_chain(self, event): # 同步即时5秒内顺序调多接口 history self.eyun.log_query(event.toUser) # A 拉历史 reply self.call_ai(history, event.content) # B 生成回复 self.eyun.sendText(wId, event.toUser, reply) # C 发回复 return 200 def async_step(self, msg_id, stage, action): # 异步延迟按msgId关联跨请求推进 ctx self.state.setdefault(msg_id, {stage: 0}) if ctx[stage] stage: action(self.eyun) ctx[stage] 1 def schedule_phases(self, wid, user, phases): # 长周期定时器按阶段跨天推进 for offset_days, text in phases: t datetime.now() timedelta(daysoffset_days) threading.Timer((t - datetime.now()).total_seconds(), lambda wwid, uuser, mtext: self.eyun.sendText(w, u, m)).start()结尾从5秒到几周3种时间维度让多接口协同从只管5秒扩展到管几天——同步即时适合实时对话5秒内完成、异步延迟适合审批/确认跨几小时、长周期持续适合运营/养成跨几天到几周。设计时先判断业务的时间跨度5秒内能完成用同步即时、需要等用户回复用异步延迟、跨多天多阶段用长周期持续。3种模式的共同基础是 Eyun 的 sendText发消息和 Webhook收消息——发收构成所有协同的起点和终点。接口参数和回调规范见 Eyun 开发文档。
返回列表