跳到內容

對話

client.conversations 管理聯絡人與您的團隊(或 AI 代理)之間的對話串。每個對話屬於一個 Channel 並連結到一個 Contact。


結構定義

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);