event_type 返回处理结果,或在 auto_dialog 场景下按你提供的 send_url 自动发送消息。如果你只是使用 MarsMind 后台和标准聊天入口,不需要从这里开始。
什么时候会用到它
- 你有自己的 App、客服系统或消息渠道,想把 MarsMind 的对话能力接进去,而不是只用标准聊天入口。
- 自有系统需要在调用时实时拿到 AI 对某条消息的处理结果。
- 需要以命令方式控制消息处理,例如停止某个场景的自动回复。
接入前准备
这一页没有后台菜单入口——请求从你自己的系统发起,也没有自助申请入口。调用前先准备好四项:正式接口入口、client 与 secret、签名算法说明由 MarsMind 分配(请联系 sales@marsmind.co 获取);接入场景(event_type)由你按业务选择:- 正式接口入口:示例中的
{正式入口}就是你的接入域名,本文档不写死。 - 凭据:
client(业务标识)与secret。 - 签名算法:
signature的计算方式以 MarsMind 提供的接入资料为准,本页不展开。 - 确认场景:auto_dialog、assist_dialog、website_dialog、cmd_dialog 四选一。它们的参数要求和返回行为不同,见「对话场景说明」。
event_type。
鉴权说明
每个请求都必须带client、signature、timestamp 三个字段,缺一不可;signature 的算法请联系 sales@marsmind.co 获取。字段的类型与说明见下方「请求参数」的「请求主体」表。
这三个字段之外,请求体里还必须带 message_info 对象,用来承载消息内容。
请求参数
请求主体
message_info 字段
files_info 结构
对话场景说明
auto_dialog(自动对话)
event_type = auto_dialog- 由你提供
send_url,之后的消息发送逻辑由 MarsMind 自动控制 - 支持文本、图片、文件(每次请求类型唯一)
from_user_type 填写建议:
- 绑定对象:除智能助手本身消息外,均填 1
- 未绑定对象:外部客户填 2,同公司人员填 3
assist_dialog(辅助对话)
- 实时返回消息处理结果
msg_id必填- 参数若与某条 auto_dialog 消息一致,将复用那条消息的上下文
website_dialog(网页对话)
- 消息立即返回结果并入上下文
- 不支持
send_url
cmd_dialog(命令控制)
content为具体命令,目前支持:stop_auto_reply:停止自动回复(仅 auto_dialog 场景下有效)
调用步骤
1
拿到正式入口与凭据
联系 sales@marsmind.co,获取正式接口入口、client、secret 与 signature 算法说明。在这一步完成前,不要把示例中的地址和占位值用于真实调用。判断标准:你手上有四项信息——正式入口域名、client、secret、签名算法说明。
2
选择场景并组装 message_info
先定
event_type,再按上面的字段表逐项组装。最容易漏的是这几条:content与files_info至少填一个;message_type为 2(引用消息)时必须带quote,quote里要有msg_id与message_type;from_user_id与group_id不要同时为空,两者同为空会报错 400;- auto_dialog 场景还要填
from_user_type。
3
发起请求
请求地址是「正式入口 + /custom-im/chat-messages」,用 POST 发送,判断标准:assist_dialog 与 website_dialog 会在响应里实时带回这条消息的处理结果;auto_dialog 的请求被接受后,MarsMind 按
Content-Type: application/json。示例里的 {正式入口} 请替换成你获取到的域名;client、signature、消息 ID 等均为占位值:send_url 自动发送,不需要你再手动调用发送接口。4
回后台核对处理情况(可选)
消息进入系统后,用后台的明细数据核对这次处理:把数据口径切到「沟通数据详情」(仅 AI 对话),按窗口与时间筛选,点用户问询内容打开「消息处理链路」,在「执行步骤」「参考知识(N)」两个标签页里逐步对照。执行步骤按「当时的聊天上下文 → 群聊处理 → 回复判定 → 技能调用 → 知识生成 → 安全围栏」展示;面板顶部的「回复生成」「客户送达」「护栏拦截」三项证据独立展示,缺失即未知。注意:改动筛选后要点「搜索」才会刷新结果。判断标准:能定位到这次调用对应的消息,并看到它走到链路里的哪一步;某一步缺失时,「执行步骤」里会直接显示出来,方便判断卡在哪一环。
检查点
- assist_dialog、website_dialog:响应里带回这条消息的处理结果。
- auto_dialog:你的
send_url收到了 MarsMind 发出的消息,自动发送链路就通了。 - 上下文复用:assist_dialog 的参数与某条 auto_dialog 消息一致时,处理会延续那段上下文,而不是从零开始。
- 命令控制:cmd_dialog 发送
stop_auto_reply后,对应的自动回复停止。 - 参数没被拒绝:没有收到 400(
from_user_id与group_id同时为空会报 400)。
注意事项
四个场景如何分工(谁负责发送、谁在调用时实时返回结果),见上文「对话场景说明」与下文「常见问题」。
常见问题
我该用哪个 event_type?
- 让 MarsMind 自动控制发送逻辑(消息怎么回、什么时候发都由 MarsMind 处理)→ auto_dialog,需要提供
send_url; - 调用时就要拿到这条消息的处理结果 → assist_dialog(
msg_id必填); - 网页对话 → website_dialog(立即返回结果并入上下文,不支持
send_url); - 下发命令 → cmd_dialog,
content填命令本身。
正式入口和 client、secret 在哪里申请?
没有自助申请入口:接口地址、凭据与签名算法都由 MarsMind 分配。请联系 sales@marsmind.co 获取;拿到之前,示例中的{正式入口}、client: "test"、示例签名都不能用于真实调用。
请求报 400 是什么原因?
先检查这三处参数:from_user_id 与 group_id 是否同时为空(同为空会报 400);content 与 files_info 是否至少填了一个;message_type 为 2 时是否带了 quote(含 msg_id、message_type)。改好后重新发起请求即可。
auto_dialog 和 assist_dialog 有什么不同?
auto_dialog 由 MarsMind 自动控制发送逻辑、按你提供的send_url 发出,支持文本、图片、文件(每次请求类型唯一);assist_dialog 在调用时实时返回处理结果,参数与某条 auto_dialog 消息一致时会复用那段上下文,msg_id 必填。要「自动发」选前者,要「当场看结果」选后者。
怎么确认消息真的被处理了?
调用侧看响应和send_url;系统侧回到后台核对的方法见「调用步骤」第 4 步。
