설정 가이드
위젯 설치
5분 안에 웹사이트에 Sonny 실시간 채팅 위젯을 추가하세요. 스크립트 태그 하나면 충분해요.
설치 단계
- 01
설치 스니펫 복사
채널을 열고 웹사이트에 연결된 채널을 고른 뒤 실시간 채팅을 선택하세요. 설치 스니펫 아래에서 복사를 선택하세요.
- 02
스크립트 태그 추가
복사한 스니펫을 웹사이트 HTML의 닫는 </body> 태그 바로 앞에 붙여 넣으세요. 복사한 코드에는 사이트 ID가 이미 들어 있어요. 아래 예시를 대신 쓴다면 YOUR_SITE_ID를 바꿔 주세요.
- 03
Sonny에서 맞춤 설정
같은 실시간 채팅 페이지에서 설정을 바꾼 뒤 변경 사항 저장을 선택하세요. 맞춤 설정 가이드에서 모든 옵션을 설명해요.
- 04
설치 확인
웹사이트를 방문하면 오른쪽 아래에 채팅 위젯이 나타나야 해요. 테스트 메시지를 보내 작동하는지 확인하세요.
기본 설치
웹사이트의 닫는 </body> 태그 바로 앞에 이 스크립트 태그를 추가하세요.
<script>
(function(w,d,s,o,f,js,fjs){
w['Sonny']=o;w[o]=w[o]||function(){
(w[o].q=w[o].q||[]).push(arguments)};
js=d.createElement(s);fjs=d.getElementsByTagName(s)[0];
js.id=o;js.src=f;js.async=1;fjs.parentNode.insertBefore(js,fjs);
})(window,document,'script','sonny','https://www.usesonny.com/widget.js');
sonny('init', { siteId: 'YOUR_SITE_ID' });
</script>자동 초기화 스니펫
위젯이 로드되기 전에 명령을 대기열에 넣을 필요가 없다면 스크립트 태그 하나만 써도 돼요.
<script
src="https://www.usesonny.com/widget.js"
data-site-id="YOUR_SITE_ID"
async
></script>방문자 식별과 사용자 지정 속성 보내기
사용자가 사이트에 로그인하면 이메일과 고객 지원 팀이 봐야 할 추가 데이터를 담아 sonny('identify')을 호출하세요. 추가 필드는 attributes 아래에 넘기세요. 새 키는 사용자 지정 필드로 자동 생성되어 대화 오른쪽에 표시돼요. 이후 호출은 이전 값을 덮어써요.
<script>
// Identify the visitor and pass any custom attributes you want
// surfaced in the agent sidebar. Unknown keys are auto-created
// as Custom Fields in your workspace settings.
sonny('identify', {
email: 'jane@acme.com',
name: 'Jane Doe',
attributes: {
plan: 'pro',
mrr: 499,
signedUpAt: '2025-08-01T00:00:00Z',
website: 'https://acme.com'
}
});
</script>지원되는 값 유형: 문자열, 숫자, 불리언, ISO-8601 날짜, URL. 속성을 지우려면 null을 넘기세요. 키는 문자로 시작하고, 문자·숫자·밑줄만 쓰며, 최대 64자여야 해요. email, name, id, phone, createdAt, updatedAt 키는 예약돼 있어요. 텍스트 값은 최대 1,000자예요. 제한: 호출당 속성 50개.
내 버튼으로 위젯 열기
떠 있는 말풍선 대신 내 버튼으로 채팅을 열고 싶나요? sonny('init')에 hideLauncher: true를 넘겨 기본 런처를 숨기고, 페이지의 원하는 요소에서 sonny('open')을 호출하세요.
<!-- 1. Boot Sonny with its built-in launcher hidden -->
<script>
(function(w,d,s,o,f,js,fjs){
w['Sonny']=o;w[o]=w[o]||function(){
(w[o].q=w[o].q||[]).push(arguments)};
js=d.createElement(s);fjs=d.getElementsByTagName(s)[0];
js.id=o;js.src=f;js.async=1;fjs.parentNode.insertBefore(js,fjs);
})(window,document,'script','sonny','https://www.usesonny.com/widget.js');
sonny('init', { siteId: 'YOUR_SITE_ID', hideLauncher: true });
</script>
<!-- 2. Open the chat from your own button, anywhere on the page -->
<button onclick="sonny('open')">Chat with us</button>다음 명령으로 페이지 어디서든 위젯을 제어할 수 있어요.
sonny('open')— 채팅 패널을 열어요.sonny('close')— 채팅 패널을 닫아요.sonny('toggle')— 열림과 닫힘을 전환해요. 토글 버튼 하나에 딱 맞아요.sonny('show')와sonny('hide')— 표시 규칙보다 우선해 위젯 전체를 표시하거나 숨겨요.sonny('getUnreadCount', callback)— 현재 읽지 않은 개수를 언제든 읽어요.
스크립트 태그 하나로 설치하는 방식이 더 좋나요? 스크립트 태그에 data-hide-launcher를 추가해 런처를 숨기고, 내 버튼을 같은 명령에 연결하세요.
내 버튼에 읽지 않은 답장 표시하기
런처를 숨기면 읽지 않은 배지도 함께 숨겨지므로, 대신 Sonny가 페이지에 알려 줘요. 위젯은 window에서 detail.count와 함께 sonny:unread 이벤트를 보내요. 기본 런처가 보여 줄 숫자와 같아요. 내 모바일 내비게이션에 배지를 달 때 딱 좋아요.
<button id="chat-button" onclick="sonny('open')">
Chat with us
<span id="chat-unread" hidden></span>
</button>
<script>
function showUnread(count) {
var badge = document.getElementById('chat-unread');
badge.textContent = count > 9 ? '9+' : count;
badge.hidden = count === 0;
}
// Fires once after the widget loads, then on every change.
window.addEventListener('sonny:unread', function (event) {
showUnread(event.detail.count);
});
// Optional: read the count on demand (e.g. after your own nav re-renders).
sonny('getUnreadCount', showUnread);
</script>이 숫자는 방문자의 모든 대화에서 읽지 않은 상담원 답장을 세요. 위젯이 로드된 직후 한 번 발생하므로 페이지 로드 때 추가한 리스너는 항상 현재 상태를 받아요. 이후 값이 바뀔 때마다 다시 발생하며, 방문자가 채팅을 열어 0이 될 때도 발생해요.
맞춤 설정 옵션
Sonny에서 채널의 "실시간 채팅" 탭에서 위젯을 맞춤 설정하세요.
| 설정 | 설명 | 기본값 |
|---|---|---|
| 브랜드 색상 | 위젯의 기본 색상(hex 코드) | #2563eb |
| 위치 | 페이지에서 위젯의 위치 | bottom-right |
| 인사 메시지 | 방문자에게 보여 줄 인사 메시지 | 안녕하세요! 무엇을 도와드릴까요? |
다음 단계
위젯을 설치했으니 이메일 전달도 설정하세요.
이메일 전달 설정하기관련 문서
- 위젯 맞춤 설정
색상, 로고, 메시지, 동작으로 위젯을 브랜드에 맞추세요.
- 방문자 식별
로그인한 사용자를 식별하고 웹사이트에서 사용자 지정 속성을 보내세요.
- 위젯 표시 위치
페이지, 방문자, URL 매개변수, 날짜, 일정, 기기, 페이지 체류 시간에 따라 위젯을 표시하거나 숨기세요.
- 모바일 채팅 SDK
iOS, Android, React Native 앱에 방문자 채팅을 추가하세요. 공개 SDK, 샘플 앱, 이슈 트래커를 살펴보세요.
- 이메일 설정
고객 지원 이메일을 Sonny로 전달하고 실시간 채팅과 함께 이메일을 관리하세요.
- 채널
고객이 실시간 채팅과 이메일로 연락하는 곳을 만들고 관리하세요.