IM 渠道与邮件

wesgine IM 渠道与邮件系统:注册、绑定、事件推送与 Webhook 回调。


IM 渠道 API

渠道管理

方法路径说明
GET/channels渠道列表
POST/channels注册/更新渠道
DELETE/channels/{platform}/{account}删除渠道

绑定管理

方法路径说明
GET/channels/bindings绑定列表
PUT/channels/bindings替换绑定

消息

方法路径说明
POST/channels/preflight预检验证
POST/channels/send发送消息
GET/channels/eventsSSE 事件流

邮件 API

方法路径说明
GET/email邮箱账号列表
POST/email添加邮箱账号
DELETE/email/{address}删除邮箱账号
POST/email/{address}/testSMTP 测试

SDK API

渠道

cell.Channels().Register(ctx, channelConfig)
cell.Channels().Delete(ctx, platform, account)
cell.Channels().List(ctx)
cell.Channels().Bindings(ctx)
cell.Channels().ReplaceBindings(ctx, bindings)
cell.Channels().Send(ctx, message)

邮件

cell.Email().AddAccount(ctx, emailConfig)
cell.Email().DeleteAccount(ctx, address)
cell.Email().ListAccounts(ctx)
cell.Email().TestSMTP(ctx, address)

支持的 IM 平台

平台Webhook 路径
企业微信POST /webhook/wecom
飞书POST /webhook/feishu
钉钉POST /webhook/dingtalk

与 CellSpec 的关系

渠道和邮件通过 CellSpec 声明式装配:

CellSpec{
    Channels: []channel.Config{...},
    Email:    []email.Config{...},
}

Cell A 的渠道凭据对 Cell B 不可见(AX-1)。


种子声明(INV-SEED-01)

CellSpec.Cron / CellSpec.Email 是出生声明:

风险

标记在探测成功后无条件写,含声明为空。


配额

判据在唯一增长点(INV-QUOTA-05)。

覆盖已有名字 delta=0(upsert 是编辑手势)。


Channels 无运行时存储

Channels / MCPs 没有运行时存储,spec 是唯一副本。

与 Cron/Email 不同——后者有运行时存储,spec 只是出生声明。


IMAP 收信

IMAP 收信注册与温度判断一律读存储(邮件账号表),不读声明。


相关文档