OpenReply收件箱与24小时私聊窗口:如何在后台直接回复Instagram DM
【免费下载链接】openreplyThe open-source Manychat alternative项目地址: https://gitcode.com/gh_mirrors/op/openreply
OpenReply 是一款开源的 ManyChat 替代品,它的收件箱(Inbox)功能让你直接在后台读取 Instagram DM 会话,并在 Meta 的 24 小时私聊窗口内手动回复用户。无需打开 Instagram App,也不用担心错过评论触发的对话——所有私信往来都汇总在你的 OpenReply 仪表盘里,配合关键词自动回复与跟踪链接,形成完整的 Instagram 私信运营闭环。
OpenReply 收件箱能做什么?
OpenReply 的定位很简单:用户在你的 Reel 或帖子下评论关键词,它就通过 Meta 官方 API 自动发送私信,同时可选地发一条公开评论回复。而在这些自动化私信之外,还有一批需要你人工跟进的对话——这就是收件箱存在的意义:
- 会话列表:按时间倒序展示该账号的所有 DM 对话,附最新一条消息预览和时间
- 消息历史:点开任一对话,可读取最近 20 条消息(Meta 的 Conversations API 每次仅暴露每个线程最近 20 条)
- 手动回复:在输入框直接打字发送,发送过程带乐观更新,失败会自动回滚并保留草稿
- 多账号切换:工作台连接了多个 Instagram 专业账号时,右上角可切换账号查看各自的收件箱
- 双通道支持:无论走直连 Meta 还是 Zernio 接入商,收件箱功能均可用,实现在 lib/instagram/read-inbox.ts
什么是 Instagram 的 24 小时私聊窗口
这是理解收件箱回复行为的关键规则:Instagram 规定商家只能在与用户最近一次消息之后的 24 小时内发送私信。窗口一过,Meta API 会直接拒绝发送,返回类似 "outside of allowed window" 的错误。
OpenReply 对此的处理非常透明:当你在后台手动回复时,如果窗口已关闭,服务端会把 Meta 的原始报错原样展示在输入框下方,而不是静默吞掉。这样你能立刻明白不是系统故障,而是时间超了——需要等对方再次发消息,窗口才会重新打开。
这个规则同样约束自动任务:后台 worker 里的延迟跟进消息如果拖过 24 小时窗口,投递会失败并记录日志,而不是无限重试。相关逻辑可见 lib/queue/dm-worker.ts,处理细节说明在 docs/delivery-retries.md。
三步在后台回复 Instagram DM
第一步:进入收件箱
登录 OpenReply 后,从左侧导航栏点击Inbox即可,路由定义在 app/(dashboard)/inbox/page.tsx/inbox/page.tsx)。页面加载走的是轻量账号接口,不会先卡在数据统计上。
第二步:选择要处理的会话
左侧列表展示每个对话的对方用户名(@username)、最后更新时间与最新消息摘要。列表每12 秒自动轮询刷新,新消息会自己冒出来,无需手动 F5。
第三步:直接回复
点开对话后在底部输入框撰写消息,按 Enter 发送。发送采用"先发后确认"策略:消息立即出现在气泡里,后台再向 Meta 提交;一旦失败(最常见就是窗口关闭),气泡自动撤下、草稿恢复原样,错误信息清晰可见。接口实现位于 app/api/instagram/conversations/route.ts。
为什么收件箱打开速度很快
Instagram 的 Conversations API 响应偏慢(经常要好几秒),OpenReply 用本地缓存解决这个体验问题:
- 会话列表和消息线程会缓存在浏览器(sessionStorage)中,60 秒内有效
- 再次访问时先秒显缓存内容,再在后台静默拉取最新数据
- 上次选择的账号也会被记住,下次打开自动定位
这套机制的实现见 lib/client-cache.ts,注释说明在收件箱页面源码里。
常见问题速查
| 现象 | 原因 | 怎么办 |
|---|---|---|
| 回复报 "outside of allowed window" | 24 小时窗口已关闭 | 等用户再发消息后回复 |
| 对话显示 "Details unavailable" | Instagram 未能加载该会话详情 | 其他对话不受影响,可去 Instagram App 查看 |
| 列表没有更新 | 超过 12 秒轮询间隔或网络延迟 | 稍等一个轮询周期,缓存会先展示旧数据 |
| 想回复但对方没动过 | 窗口不会自行重新打开 | 引导用户点击帖子链接或重新互动 |
小结
OpenReply 的收件箱把"自动化私信"和"人工跟进"放在同一个后台:关键词触发的 DM 由 worker 自动发出,而需要销售跟进、答疑的对话则通过收件箱在 24 小时窗口内手动处理。完整部署步骤(包括 PostgreSQL、Redis、worker 与 Instagram 连接配置)请参阅 docs/setup.md。
【免费下载链接】openreplyThe open-source Manychat alternative项目地址: https://gitcode.com/gh_mirrors/op/openreply
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考