チャネルメニューの並び替え
顧客が Web サイトを閲覧するときにチャネルメニューの選択内容の表示、非表示、または並び替えを行うことで、より動的なエクスペリエンスを提供します。ユーザのページの場所やそのページでの滞在時間に応じて、表示されるフロート表示アクションボタンやチャネルオプションを変更します。

この API では Web ページ上でのユーザの操作に基づいて、設定 (EmbeddedServiceMenuItem) で指定された任意のチャネルの並び替えや項目の表示/非表示を必要に応じて実行できます。
動的リリースを作成する手順は、次のとおりです。
- [設定] の [チャネルメニュー] ページで、新しいリリースを作成するか既存のリリースを使用します。ページ読み込み時に最初に表示するメニュー項目と、Web サイトでユーザが特定のアクションを実行したときに動的に表示するメニュー項目を決定します。
- [メニュー設定] で、後で表示する項目の [デフォルト表示] の [このメニュー項目を表示] をオフにします。メニュー項目名を書き留めておきます。
- 実行時に、メニュー項目名のリストを含む embedded_svc.menu.reorder をコールすることで Reordering API を呼び出します。項目は、チャネルメニューのコードスニペットと同じ Web ページ上に順にリストされます。
embedded_svc.menu.reorder(["YourMenuItemName"]);
- メニュー項目配列の例 (使用するメニュー項目名に置き換えてください)
var newOrder = ["ServiceChat", "PriorityPhoneCall", "CallCenter"];
たとえば、高額な品目がショッピングカートに追加された場合には優先チャネルの電話番号のみを表示するには、addToCart JavaScript ロジック内で品目の価格やその他の条件を満たした場合に、embedded_svc.menu.reorder(["PriorityPhoneCall"]); をコールします。高額な品目がカートに追加されると、チャネルメニューの並び替えがトリガされ、エンドユーザに優先チャネルが表示されます。
[設定] の元のチャネルメニュー項目リストへのアクセス
並び替えがコールされると、メニューは API からの新しい順序で表示されます。ユーザに表示される内容を [設定] の [チャネルメニュー] で定義した元のチャネルにすべて戻すには、embedded_svc.menu.menuConfig.menuItems 値にアクセスします。
ユーザに表示される内容を [設定] の [チャネルメニュー] でユーザのオペレーティングシステムに対して定義したチャネルに戻すには、embedded_svc.menu.menuConfig.configuredChannels 値にアクセスします。
API の考慮事項
- この API は完全にクライアント側です。追加のサーバコールは実行されません。
- この API は単一項目のアクションボタンを複数のチャネル項目が設定されたメニューに更新します。
- ブランド設定、表示ラベル、その他の一般的なメニュー設定は、この API によって実行時に動的に更新されることはありません。
- 空の配列 (例: embedded_svc.menu.reorder([]);) を渡すと、現在のチャネルメニューが非表示になります。embedded_svc.menu.hideButtonAndMenu() をコールすることでも同じことを実行できます。