セットアップガイド

ウィジェットのインストール

5分以内でSonnyのライブチャットウィジェットをWebサイトに追加できます。必要なのはscriptタグひとつだけです。

インストールの手順

  1. 01

    インストール用スニペットをコピーする

    チャネル を開いてWebサイトに接続したチャネルを選び、ライブチャット を選択します。インストール用スニペット の下で コピー を選択します。

  2. 02

    scriptタグを追加する

    コピーしたスニペットを、WebサイトのHTMLの閉じ </body> タグの直前に貼り付けます。コピーしたものにはサイトIDがすでに含まれています。下のサンプルを使う場合は、YOUR_SITE_ID を置き換えてください。

  3. 03

    Sonnyでカスタマイズする

    同じ ライブチャット ページで設定を変更し、変更を保存 を選択します。すべてのオプションはカスタマイズガイドで説明しています。

  4. 04

    インストールを確認する

    Webサイトにアクセスすると、右下にチャットウィジェットが表示されるはずです。テストメッセージを送って、動作を確認してください。

基本のインストール

次のscriptタグを、Webサイトの閉じ </body> タグの直前に追加します。

HTML
<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タグひとつで済ませることもできます。

HTML
<script
  src="https://www.usesonny.com/widget.js"
  data-site-id="YOUR_SITE_ID"
  async
></script>

訪問者を識別し、カスタム属性を送信する

ユーザーがサイトにログインしたら、メールアドレスと、サポートチームに見せたい追加データを指定して sonny('identify') を呼び出します。追加のフィールドは attributes に渡します。新しいキーは自動でカスタムフィールドとして作成され、会話の右側に表示されます。その後の呼び出しでは、前の値が上書きされます。

HTML
<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') を呼び出します。

HTML
<!-- 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 イベントを発行します。数値は組み込みのランチャーに表示されるものと同じです。独自のモバイルナビゲーションのバッジに最適です。

HTML
<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
あいさつメッセージ訪問者に表示するあいさつメッセージこんにちは!どのようなご用件でしょうか?

次のステップ

ウィジェットのインストールが完了したら、メール転送も設定しましょう。

メール転送を設定する

関連ドキュメント