ボットビルダーでは、変数は、カスタマーの名前や店舗の注文IDなど、会話に関連するデータを格納するためのコンテナです。会話中、メッセージングボットは以下のような様々な方法で変数を利用できます。
- ボットメッセージに挿入して、テキスト応答をパーソナライズしたり、動的な情報や画像を表示したり、会話を分岐させたりする。
- エンドユーザーの入力に基づいて変数の値を設定する。
- 「エージェントへの転送」ステップ中にチケットに追加されるタグの中。
ボットには、すべての回答で最大46個の一意の変数を含めることができます。一意の変数はそれぞれ、必要に応じて何度でも回答で使用することができます。
変数の名前と値について
ボットビルダーでは、各変数に名前と値があります。回答のステップを構成する際に、名前は値のプレースホルダとして機能します。ボットが回答を実行すると、変数の名前が変数の値に置き換えられます。たとえば、メールという名前の変数を、カスタマーのメールアドレスのプレースホルダとして使用できます。
変数は会話ボット内でグローバルです。作成された変数は、フリーテキストまたは「別の回答にリンク」ステップを使用して、エンドユーザーの会話内の後続の回答で使用できます。
空の変数の処理
変数が空であるのは、値がない場合です。メッセージングボットは、会話中に空の変数をスキップします。
たとえば、「メッセージの送信」ステップには、「商品の配送状況はshipping_statusです」というボットのメッセージが含まれています。会話中にshipping_status変数が空だった場合、ボットは「商品の配送状況は...です」というメッセージを送信します。
ボットのメッセージ | カスタマーの画面 |
---|---|
不足している変数の処理
「APIコールを実行する」ステップでは、保存された変数のいずれかが応答に見つからない場合、ステップのFail分岐がトリガされます。詳しくは「ボットビルダーでの「APIコールを実行する」ステップの使用」を参照してください。
変数の型について
カスタマー変数
カスタマー変数には、「詳細を質問する」ステップでカスタマーから提供された情報が保存されます。たとえば、ステップでは、名前とメールアドレスの提供をカスタマーに求めることができます。
変数を追加アイコン()を使ってステップに変数を挿入すると、「カスタマーからの回答」にカスタマー変数が表示されます。
外部サービス変数
外部サービス変数には、「APIコールを実行する」ステップ中に外部システムから受信したデータが格納されます。たとえば、配送業者にREST APIリクエストを行うことで、配送荷物の現在のステータスを取得することができます。
管理者は、「APIコールを実行する」ステップを構成する際に、外部サービス変数を作成します。変数の作成時に、管理者は各変数のカスタム名を設定することができます。
変数を追加アイコン()を使ってステップに変数を挿入すると、「外部サービスからの回答」に外部サービス変数が表示されます。
メッセージングメタデータ変数
メッセージングメタデータ変数には、カスタマーの身元と認証ステータスに関する情報が格納されます。メッセージングメタデータ変数は、メッセージングの認証に使用される署名付きJSON Webトークン(JWT)から値を取得します。
メッセージングメタデータ変数は、デフォルトでは有効になっておらず、Web WidgetおよびモバイルSDKチャネルでのみ利用可能です。メッセージングメタデータ変数の有効化と使用について詳しくは、「ボット回答での認証メタデータの使用」を参照してください。
メッセージングメタデータ変数が有効にされている場合、変数を追加アイコン()を使用してステップに変数を挿入すると、「メッセージングメタデータ」にメッセージングメタデータ変数が表示されます。
Sunshine Conversations変数
回答の中で変数を使用する
ボットメッセージをカスタマイズする
外部システムへデータを送信する
「APIコールを実行する」ステップを使用して外部システムにREST APIコールを実行する場合、管理者は、挿入した変数をステップの「エンドポンドURL」フィールドのパスとクエリ文字列に追加することができます。詳細については、「ボットビルダーでの「APIコールを実行する」ステップの使用」を参照してください。
回答フローを分岐させる
変数の値を設定する
管理者は「変数を設定」ステップを使用して、新しい変数を作成して値を割り当てるか、または既存の変数を選択して、エンドユーザーが会話内で行ったアクションに基づいてその値を上書きすることができます。変数には、ボット内のすべての回答で参照できます。
変数の使い方については、「回答ステップのタイプについて:変数を設定」を参照してください。
タグの中で変数を使用する
管理者は、「エージェントへの転送」ステップの中で作成されたチケットに追加されるタグ内で変数を使用できます。これらのタグは、エージェントがチケットを表示、整理、追跡するために使用したり、チケットのルーティングやその他のビジネスルールなどの自動アクション内で使用することができます。
タグは理論上は回答の一部ですが、タグ内の変数には、他の変数とは異なるルールや制限が適用されます。
APIコールから生成された変数やシステム変数を使用できます。利用可能な変数は、以下の図のようにドロップダウンリストに選択肢として表示されます。
ただし、エンドユーザーからの入力を含む変数は、タグでは使用できません。それらはドロップダウンリストに表示されますが、無効になります。たとえば、会話の前の段階で「詳細を質問する」ステップで収集した情報を使用して変数を参照することはできません。
タグで変数を使用するには、以下のルールと推奨事項が適用されます。
文字数制限
- ハードコーディングされたタグは、それぞれ最大80文字に制限されています。
特殊文字
- £、`、´、\、[、]、{、}、(、)、<、>、%、&、?、+、@、!、*、$、#、=、" の特殊文字を含む変数は使用できません。使用可能な変数のリストにも表示されません。
- 変数内で使用されるスペースやカンマは、タグではアンダースコアとして表示されます。
さらに、変数をタグとして使用する場合は、次のベストプラクティスを推奨します。
- タグは通常、会話のルーティングやトリガ条件に使用されます。エージェントのコンテキストのためにチケットに情報を追加したい場合は、カスタムフィールドを使用することをお勧めします。
- 変数に設定できる値の数を制限してください。値が多すぎると、予期せぬ動作を引き起こす可能性があります。
- タグとして切り捨てられないように、値オプションは短くしてください。
- 値に特殊文字を使用しないでください。