跳到主要内容

消息渠道

浏览器语音和 Twilio 语音遵循与 Chat 相同的 Entity BYOK 模型策略。除了模型, 还需配置语音供应商;只有平台密钥不代表自托管语音健康。SMTP 未配置时出站 邮件不可用,但本地文档、签署和协作仍可用。健康/准备检查不会授予渠道或工具权限。

渠道将外部会话——WhatsApp 上的客户、团队的 Slack、一个收件箱—— 连接到 Agent 运行时。入站消息会被路由到正确的工作区和 Agent,可以创建 任务,回复则通过同一渠道发回。

支持的渠道​

渠道传输方式说明
TelegramWebhook 或长轮询TELEGRAM_MODE=webhook|polling|auto;auto 在 PUBLIC_BASE_URL 为 HTTPS 时使用 webhook,否则使用轮询——因此在没有公网 URL 的笔记本上 Telegram 也能工作。
WhatsApp BusinessMeta Cloud API webhook通过 Meta Embedded Signup 连接客户自有 WABA 和业务号码。
SMS / 语音(Twilio)Webhook + Media Streams语音通话通过 WebSocket 使用原生 OpenAI Realtime。在 Account → Models 中配置 Entity 的 Primary AI BYOK——参见配置。
微信公众号固定回调地址通过公众号 API 收发客服消息和模板消息。请在明文模式下配置,并使用 Integration 健康详情中显示的完整地址:https://<公网域名>/api/v1/channels/wechat/callback?config_id=<ChannelConfig ID>。
微信个人号wechat-runner 回调wechat-runner 服务桥接一个个人号形式的微信会话(在 http://localhost:8801/qr.png 扫码)。
Facebook 主页 / MessengerHMAC 验证的 webhook生产环境权限需要通过 Meta 应用审核。
Slack通用回调自动处理 Slack 的 url_verification。
Discord通用回调 + 机器人交互签名使用 DISCORD_PUBLIC_KEY 验证。
电子邮件SMTP/入站适配器使用部署的电子邮件配置。
网页聊天内置可嵌入的公开聊天,无需外部提供商。

每个已连接的渠道都是你实体上的一份渠道配置,凭据以加密方式存储 (Vault)。发来消息的联系人会成为渠道联系人——按渠道划分的身份, 可选择由某个 Manor 用户认领并分配角色(external、member、admin), 该角色决定 Agent 在该会话中可以使用哪些工具。部分渠道允许联系人级路由; WhatsApp Business 始终使用该业务号码唯一、精确、有效的 Agent Binding。

WhatsApp Business 设置​

Manor 只提供一个账号级 Embedded Signup 流程。客户拥有 Meta Business Portfolio、WABA、业务号码、账单、模板及合规责任;Nango 保管客户授权的 delegated token。正常流程不要求手动填写 access token、App Secret、WABA ID、 phone ID 或 callback。

  1. 打开集成,找到 WhatsApp Business 并点击连接。
  2. 以 Business Portfolio 管理员身份完成 Meta Embedded Signup,选择或创建 客户的 WABA 和可用 Cloud API 号码。
  3. 执行测试连接。它只检查 OAuth、资产关系、号码注册、准确的 Manor Meta App 订阅和固定 callback。只有 Meta 要求注册恢复时才输入六位 PIN。
  4. 打开 Agent Channels,使用现有 Agent Binding 控件,把该号码绑定到 一个准确的 Agent 部署和 Workspace。
  5. 从另一个 WhatsApp 账号给业务号码发消息,或打开 https://wa.me/<不带加号的 E164 号码>;业务号码不能给自己发消息。

客户先发消息后会开启 Meta 的 24 小时客服窗口,窗口内可自由文本回复; 窗口外必须显式选择已审批模板,Manor 不会自动猜测或替换模板。

自托管运维需要创建 Facebook Login for Business v4 配置并选择 Embedded Signup 与 Cloud API,为 whatsapp_business_management 和 whatsapp_business_messaging 取得 Advanced Access,并提供公网 HTTPS callback。 staging 与 production 必须使用不同的 Meta App、Config ID、App Secret、verify token、Nango provider config 和 callback host。production Nango 重定向地址必须 使用 ${NANGO_PUBLIC_URL}/oauth/callback,不能复制 staging Nango host。

路由到工作区​

在工作区的渠道标签页中,绑定一个渠道并将其映射到合适的 Agent (例如:预约收件箱 → 礼宾 Agent)。此后入站消息会在该工作区中创建 会话和任务,Agent 则通过该渠道回复。

配对码​

对于用户需要将外部身份关联到 Manor 账户的聊天应用(例如为团队服务的 Telegram 机器人),Manor 使用短配对码:

  1. 运维人员在 Manor 中生成一个配对码(POST /api/v1/channel-pairings)。
  2. 用户将配对码发送给机器人。
  3. 机器人兑换该配对码(POST /api/v1/channel-pairings/redeem), 外部身份即与该 Manor 用户完成关联。

配对码一次性有效,几分钟后过期,并且可以绑定到特定工作区。

Webhook URL​

入站 webhook 位于 /api/v1/channels/ 之下:

POST /api/v1/channels/telegram/webhook/{bot_token_hash}
GET/POST /api/v1/channels/whatsapp/webhook
POST /api/v1/channels/twilio/sms | /twilio/voice | /twilio/status
GET/POST /api/v1/channels/wechat/callback?config_id=... # 公众号;明文模式
GET/POST /api/v1/channels/facebook/webhook
POST /api/v1/channels/{channel_type}/callback?config_id=... # generic (Slack, Discord, …)

所有这些端点都要求 PUBLIC_BASE_URL 能被提供商访问——生产环境必须是 HTTPS。签名验证(Meta HMAC、Discord Ed25519、Twilio 签名)会拒绝未签名的 流量;从提供商的角度看,签名不匹配会静默失败,所以当消息迟迟不到时, 请务必仔细检查应用密钥。

内部私信​

与外部渠道分开,Manor 还提供团队私信(侧边栏中的消息):同一实体 用户之间的人对人会话线程,由 GET/POST /api/v1/messages 和 /api/v1/messages/threads 支持。