이 화면 전체를 지배하는 규칙 하나: 채팅은 손님이 시작하고, 전화는 가게가 건다
대화는 언제나 손님이 먼저 시작합니다. 가게가 손님에게 먼저 말을 걸 수는 없습니다 — 그래서 메시지함에는 "손님에게 말 걸기" 버튼이 아예 없습니다. 시스템이 그런 대화방 생성 요청을 곧바로 거절하기 때문입니다. 전화는 반대입니다: 가게만 먼저 걸 수 있습니다. 손님은 가게가 "통화 초대"를 낸 뒤에만 전화를 걸 수 있습니다
메시지함
가게에 말을 건 손님과의 1:1 채팅입니다. 누구나 볼 수 있는 답인 "리뷰"와는 다릅니다 — 손님에게 답하려면 inbox.reply 권한이 필요합니다. 두 탭으로 나뉩니다.
- 고객 — 가게의 대화방입니다. inbox.reply 권한을 가진 사람은 모두 같은 방을 보며, 팀의 누구든 답할 수 있습니다
- 직원 — 가게에서 아직 활동 중인 직원 목록입니다. 눌러서 열면 동료 두 사람 사이의 평범한 1:1 채팅이며, 가게의 방이 아니고 inbox.reply 권한도 필요 없습니다
읽기에 실패했을 때 "아직 메시지가 없습니다"로 보여 주는 일은 절대 없습니다 — 메시지함에서 그것은 가장 위험한 거짓말이기 때문입니다(손님은 실제로 기다리는데 화면은 아무도 말을 걸지 않았다고 말하는 셈입니다).
고객 채팅 팀 (채널)
손님 메시지를 주제별 팀으로 나눕니다. 예를 들어 지원, 청구, 마케팅으로 나누고 손님이 말을 걸 때 직접 채널을 고르게 합니다 — 이것은 답하는 팀을 짜는 일이지 실제 메시지를 찾는 곳이 아닙니다(실제 메시지는 언제나 "메시지함"에 있습니다). 채널을 만들거나 고치려면 inbox.manage 권한이 필요합니다.
- 채널을 만들고, 이 가게의 직원을 그 채널의 팀으로 넣습니다(전체 사용자 검색이 아니라 아직 활동 중인 직원에서만 가져옵니다)
- 예전 메시지가 채널을 가리키고 있어 채널은 삭제할 수 없습니다 — 보관(archive)만 할 수 있습니다
업무 이관 (통화·채팅 넘기기)
손님 대화방을 한 팀에서 다른 팀으로 사유 기록과 함께 넘깁니다 — 이미 담당 팀이 있는 방을 사유 없이 맨몸으로 넘길 수는 없고 시스템이 거절합니다. 그래서 팀을 옮길 때는 언제나 이 화면을 써야 합니다.
- 사유 메모는 필수입니다 — 메모를 쓰기 전까지 확인 버튼이 잠깁니다
- 새 팀이 이력을 어디까지 볼지 고를 수 있습니다: 넘긴 시점 이후 · 전부 · 또는 고른 메시지만
- 이관의 내부 메모는 손님이 읽을 권한이 전혀 없습니다
자주 쓰는 문구
채팅 창의 "추천 문구" 줄에 있는 문구 칩입니다. 같은 답을 반복해 치는 시간을 줄여 줍니다 — 고객 채팅과 일반 1:1 채팅 모두에서 쓸 수 있습니다.
- 같은 줄의 "가게 문구 추가" 버튼에서 가게의 문구를 더하고 고치고 지울 수 있습니다 — 이 버튼을 보려면 inbox.reply 권한이 필요합니다. 이 권한이 없는 직원도 자기 개인 문구는 평소대로 쓸 수 있습니다
- 칩을 누르면 문구가 곧바로 전송되지 않고 입력창에 채워져 보내기 전에 고칠 수 있습니다
- 가게 바깥 사람은 가게의 문구를 아예 불러올 수 없습니다 — 빈 목록을 받는 것이 아닙니다
전화
가게와 손님 사이의 걸고 받는 통화는 양쪽 다 실제 휴대폰으로 이뤄지며, 장식용 버튼이 아닙니다 — 손님 전화를 받는 데는 calls.receive 권한을 씁니다.
- 언제나 가게가 먼저 "통화 초대"를 냅니다 — 초대에는 수명이 있고(만료될 수 있습니다), 대화방마다 한 장만 있을 수 있어 새로 내면 예전 것이 자동으로 취소됩니다
- 손님은 가게가 초대를 낸 뒤에만 전화를 걸 수 있습니다
- 어떤 직원에게서 calls.receive 권한을 거두면, 그 사람이 낸 통화 초대는 즉시 쓸 수 없게 됩니다
초대 상태를 읽는 데 실패했을 때 "아직 초대하지 않음"으로 보여 주는 일은 절대 없습니다. 이미 했을 수도 있는데 하지 않았다고 가게를 몰아세우는 셈이기 때문입니다 — 읽기에 실패하면 화면은 실패했다고 말하고 다시 시도하라고 합니다.