跳转到内容

对话

client.conversations 管理联系人与您的团队(或 AI 代理)之间的对话线程。每个对话属于一个 Channel 并链接到一个 Contact。


Schema

Conversation

字段类型说明
object_name"conversation"对象类型标识符
idstring唯一对话 ID
organization_idstring所属组织
business_unit_idstring业务单元 ID
channel_idstring此对话所属的渠道
channel_typestring渠道平台类型(参见 Channel)
contact_idstring链接的联系人 ID
statusstring对话状态(例如 open、resolved)
namestring对话显示名称
timestampstring最新消息的 ISO 8601 时间戳
usersSimpleUser[]当前在此对话中的团队成员

方法

方法TypeScriptPython说明
列出listlist分页的对话列表
获取getget按内部 ID 获取对话
按对话 ID 获取getByConversationId—按公开对话 ID 获取
搜索searchsearch在业务单元内全文搜索
获取视图计数getViewsCountget_views_count按视图/状态统计对话数量
创建createcreate创建新对话
加入joinjoin以团队成员身份加入对话
离开leaveleave离开对话
更新状态updateStatusupdate_status更改对话状态
更新名称updateName—重命名对话
发起视频通话initVideoCall—在对话中开始视频通话
分配团队成员assignTeamMember—分配团队成员到对话
移除团队成员removeTeamMember—移除团队成员
获取可邀请用户getInvitableUsers—列出可邀请的用户

list / list

const page = await client.conversations.list({
type: "open",
q: "billing",
limit: 20,
skip: 0,
});
for (const conv of page.data) {
console.log(conv.id, conv.name, conv.status);
}

const results = await client.conversations.search({
businessUnitId: "bu_id",
q: "refund request",
limit: 10,
});

create / create

const conversation = await client.conversations.create({
channel_id: "channel_id",
contact_id: "contact_id",
});
console.log(conversation.id);

join / join

await client.conversations.join({ conversation_id: "conversation_id" });

updateStatus / update_status

await client.conversations.updateStatus({
conversation_id: "conversation_id",
status: "resolved",
});

assignTeamMember

await client.conversations.assignTeamMember({
conversation_id: "conversation_id",
user_id: "agent_user_id",
});

leave / leave

await client.conversations.leave({ conversation_id: "conversation_id" });

getByConversationId

const conversation = await client.conversations.getByConversationId("public_conversation_id");
console.log(conversation.id, conversation.status);

getViewsCount / get_views_count

const counts = await client.conversations.getViewsCount({ type: "open" });
console.log(counts);

updateName

await client.conversations.updateName({
conversation_id: "conversation_id",
name: "VIP Support Thread",
});

removeTeamMember

await client.conversations.removeTeamMember({
conversation_id: "conversation_id",
user_id: "agent_user_id",
});

getInvitableUsers

const users = await client.conversations.getInvitableUsers("conversation_id");
for (const u of users) {
console.log(u._id, u.name);
}

initVideoCall

const result = await client.conversations.initVideoCall({
conversation_id: "conversation_id",
});
console.log(result.conversation);