대화 라이프사이클
대화가 생성부터 해결까지 어떻게 흐르는지 알아보세요.
새 대화
사용자가 첫 메시지를 보내면 상태가 open이고 핸들러가 bot인 새 대화가 생성됩니다 — AI가 지식 베이스, 커스텀 답변, 제품 맥락을 사용하여 자동으로 답변을 이끕니다. status는 라이프사이클을 추적하고(open, snoozed, resolved, archived), handler는 다음 답변을 누가 이끄는지 추적합니다(bot, awaiting_human, teammate, team). 이관은 핸들러를 awaiting_human으로, 배정 시에는 teammate/team으로 전환하며, 상태는 open으로 유지됩니다.
이관
이관은 세 가지 방식으로 일어납니다: (1) 사용자가 위젯에서 "상담원과 대화" 버튼을 클릭하거나, (2) 사용자가 "상담원이 필요해요" 또는 "позовите оператора" 같은 문구를 입력하거나, (3) AI가 도움을 줄 수 없다고 감지하고 지원팀에 문의할 것을 제안하는 경우입니다. 이관되면 봇은 AI 답변 생성을 중단합니다. 이후 메시지는 저장되어 지원팀으로 전달됩니다. 위젯에는 "상담원 대기 중" 배너가 표시됩니다.
사람 지원
지원 상담원이 Conversations 대시보드에서 답변합니다. 사용자는 위젯에서 답변을 확인합니다. 상담원은 팀에게만 보이는 내부 메모를 추가할 수 있습니다. 이관되면 대화는 Needs-human 대기열에 들어가고, 지원팀에 자동으로 배정되며, 팀원에게 이메일로 알림이 전송됩니다.
해결 및 새 세션
상담원이 "해결"을 클릭하거나(또는 비활성 후 자동 해결이 발동하면), 대화가 resolved로 이동합니다. 사용자가 해결 후 새 메시지를 보내면 이전 대화와 연결된 후속 대화가 자동으로 열립니다(Inbox에는 "Continued from #N"으로 표시). 언어 같은 맥락은 이어지고, 방문자에게는 하나의 연속된 채팅으로 보입니다. 해결된 대화를 팀원이 처리하고 있었다면 후속 대화는 AI가 아니라 팀으로 다시 라우팅되고, 그렇지 않으면 AI가 넘겨받습니다.
스누즈 및 보관
open과 resolved 외에, 대화는 두 가지 상태를 더 가질 수 있습니다:
스누즈됨(Snoozed)
상담원은 POST /conversations/:id/snooze로 대화를 스누즈(잠시 보류)할 수 있습니다. 고객이 새 메시지를 보내거나 대화가 다시 배정되면 자동으로 open으로 돌아오며, 상담원이 답변해도 스누즈가 종료됩니다. 태그를 달거나 우선순위를 바꾸는 것으로는 스누즈가 해제되지 않습니다.
보관됨(Archived)
보관은 읽기 전용의 최종 상태입니다 — 모든 변경 엔드포인트가 409 Conflict를 반환합니다. resolved와 마찬가지로 보관된 대화는 더 이상 채널 세션을 보유하지 않으므로, 고객의 새 메시지는 완전히 새로운 대화를 시작합니다.