セットアップガイド
ウィジェットのインストール
5分以内でSonnyのライブチャットウィジェットをWebサイトに追加できます。必要なのはscriptタグひとつだけです。
インストールの手順
- 01
インストール用スニペットをコピーする
チャネル を開いてWebサイトに接続したチャネルを選び、ライブチャット を選択します。インストール用スニペット の下で コピー を選択します。
- 02
scriptタグを追加する
コピーしたスニペットを、WebサイトのHTMLの閉じ </body> タグの直前に貼り付けます。コピーしたものにはサイトIDがすでに含まれています。下のサンプルを使う場合は、YOUR_SITE_ID を置き換えてください。
- 03
Sonnyでカスタマイズする
同じ ライブチャット ページで設定を変更し、変更を保存 を選択します。すべてのオプションはカスタマイズガイドで説明しています。
- 04
インストールを確認する
Webサイトにアクセスすると、右下にチャットウィジェットが表示されるはずです。テストメッセージを送って、動作を確認してください。
基本のインストール
次のscriptタグを、Webサイトの閉じ </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タグひとつで済ませることもできます。
<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文字です。上限:1回の呼び出しにつき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):現在の未読数をいつでも取得します。
scriptタグひとつでのインストールを使う場合は、scriptタグに 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のチャネルの「ライブチャット」タブからカスタマイズできます。
| 設定 | 説明 | デフォルト |
|---|---|---|
| ブランドカラー | ウィジェットのメインカラー(16進数のカラーコード) | #2563eb |
| 表示位置 | ページ上のウィジェットの位置 | bottom-right |
| あいさつメッセージ | 訪問者に表示するあいさつメッセージ | こんにちは!どのようなご用件でしょうか? |
次のステップ
ウィジェットのインストールが完了したら、メール転送も設定しましょう。
メール転送を設定する関連ドキュメント
- ウィジェットのカスタマイズ
カラー、ロゴ、メッセージ、動作で、ウィジェットをブランドに合わせます。
- 訪問者の識別
ログイン中のユーザーを識別し、Webサイトからカスタム属性を送信します。
- ウィジェットを表示する場所
ページ、訪問者、URLパラメーター、日付、スケジュール、デバイス、ページ滞在時間で、ウィジェットの表示・非表示を切り替えます。
- モバイルチャットSDK
iOS、Android、React Nativeアプリに訪問者チャットを追加します。公開SDK、サンプルアプリ、Issueトラッカーをご覧ください。
- メールの設定
サポート用のメールをSonnyに転送し、ライブチャットと一緒にメールを管理します。
- チャネル
顧客がライブチャットやメールで連絡してくる窓口を作成・管理します。