インテントの概要(Dialogflow)

インテントは、何かを行う方法を記述するメッセージ オブジェクトです。インテントは、次の 2 つの方法のいずれかで使用できます。

  • インテントのフルフィルメントを提供する
  • Google アシスタントによるインテントのフルフィルメントをリクエストする。

インテントにフルフィルメントを提供するプロセスは、Dialogflow でビルドするデベロッパーと Actions SDK を使用してビルドするデベロッパーで異なります。どちらの場合も、インテントの名前とフルフィルメント Webhook の URL を指定します。これにより、インテントに一致するユーザークエリをサポートできることが Actions on Google に伝えられます。

インテントのフルフィルメントをリクエストするには、アシスタントに応答する際に possibleIntents オブジェクトでインテントを指定します。後続のフルフィルメントへのリクエストで、処理されたインテントの結果がアシスタントから返されます。詳細については、ヘルパーの使用状況の概要をご覧ください。

一般的なインテント

次の表に、アシスタントが処理をリクエストするインテントを示します。

インテントの名前 使用状況 Dialogflow イベント
actions.intent.MAIN 必須: すべてのアクション パッケージにおいて、ユーザーが会話を始めるためのエントリ ポイントとなるインテントを 1 つだけ宣言する必要があります。 WELCOME または GOOGLE_ASSISTANT_WELCOME
actions.intent.TEXT ユーザー リクエストの生のテキスト表現を取得します。通常はユーザーと会話する際に使用します。
actions.intent.CANCEL このインテントは、アクション パッケージで CANCEL インテントを受け取ることを宣言した場合に受け取ります。ユーザーが「終わり」のようなグローバルなキャンセル コマンドを発すると、次のリクエストでこのインテントがフルフィルメントに送信されます。そのため、このリクエストに対して最終的なメッセージで応答し、フルフィルメント ロジックでクリーンアップ処理を行うことができます。 actions_intent_CANCEL
actions.intent.NO_INPUT このインテントは、アクション パッケージで NO_INPUT インテントを受け取ることを宣言した場合に受け取ります。ユーザーが入力要求に応答しないと、次のリクエストでこのインテントがフルフィルメントに送信されます。 actions_intent_NO_INPUT

ヘルパー

次の表に、アシスタントに処理をリクエストできる、サポートされているヘルパーを示します。

インテントの名前 使用状況 Dialogflow イベント
actions.intent.PERMISSION ユーザーの氏名、おおまかな現在地、正確な現在地、またはこれら 3 つすべてを取得します。 actions_intent_PERMISSION
actions.intent.OPTION リストまたはカルーセル UI から、選択されたアイテムを受け取ります。または、ユーザーがリストまたはカルーセル UI から選択しなかった場合は、リストまたはカルーセル UI 内のキーと一致する音声入力またはテキスト入力を受け取ります。 actions_intent_OPTION
actions.intent.DATETIME ユーザーから日時の入力を取得します。 actions_intent_DATETIME
actions.intent.SIGN_IN ユーザーのアカウントをリンクするためのアカウント リンク フローを要求します。 actions_intent_SIGN_IN
actions.intent.PLACE ユーザーから住所または保存場所を取得します。 actions_intent_PLACE
actions.intent.CONFIRMATION ユーザーから確認を取得します(例: 「はい」か「いいえ」で答える質問)。 actions_intent_CONFIRMATION
actions.intent.NEW_SURFACE 別のアシスタント サーフェスを引き継ぐ権限をユーザーに求めます。 actions_intent_NEW_SURFACE

組み込みインテント

組み込みインテントは、料理の注文、乗り物の予約、口座残高の確認など、ユーザーが行おうとしているタスクや探している情報を表現する一般的な方法をモデル化します。詳しくは、組み込みインテントのリファレンスをご覧ください。

その他のインテント

ほとんどの会話型アクションは、一般的なインテント、ヘルパー、レスポンスを組み合わせて構築されています。ただし、トランザクションや日次更新などの追加機能が組み込まれたアクションは、これらの機能に固有のインテントにアクセスできます。

トランザクション ヘルパー

次の表に、アシスタントにリクエストできる購入の処理に関連するヘルパーを示します。このようなインテントやその他の関連するインテントの実装方法について詳しくは、トランザクション機能のドキュメントをご覧ください。

インテントの名前 使用状況 Dialogflow イベント
actions.intent.DELIVERY_ADDRESS ユーザーが入力した配送先住所を取得します。 actions_intent_DELIVERY_ADDRESS
actions.intent.TRANSACTION_REQUIREMENTS_CHECK 取引の要件がすべて満たされているかどうかを確認します。 actions_intent_TRANSACTION_REQUIREMENTS_CHECK
actions.intent.TRANSACTION_DECISION 取引を行うかどうかをユーザーに確認します。 actions_intent_TRANSACTION_DECISION
actions.intent.DIGITAL_PURCHASE_CHECK ユーザーのトランザクションの構成を検証します。トランザクションが失敗するユーザーにデジタル商品を提供できないようにする場合に使用します。 actions_intent_DIGITAL_PURCHASE_CHECK
actions.intent.COMPLETE_PURCHASE 購入リクエストを開始します。トランザクションが成功したかどうかと、どのように失敗したかを示す購入結果が返されます。 actions_intent_COMPLETE_PURCHASE

ユーザー エンゲージメント インテント

次の表に、ユーザー エンゲージメント機能に関連するインテントを示します。こうしたインテントやその他の関連インテントの実装方法について詳しくは、ユーザー エンゲージメント機能のドキュメントをご覧ください。

インテントの名前 フルフィルメントの提供 フルフィルメントの要求 使用状況 Dialogflow イベント
actions.intent.REGISTER_UPDATE X 更新情報に登録するようユーザーに求めます。 actions_intent_REGISTER_UPDATE
actions.intent.CONFIGURE_UPDATES X ユーザーが更新情報の登録を行おうとすると、このインテントを受け取ります(REGISTER_UPDATE インテントを送信する必要があります)。 actions_intent_CONFIGURE_UPDATES

カスタム インテント

ユーザーがより効率的に作業を行えるように、独自のインテントを作成して会話へのショートカットを定義できます。これらのインテントは独自の名前空間にあります。ユーザーがインテントをトリガーする方法を定義します。アクション パッケージはインテントをサポートできる唯一のインテント パッケージです。

詳細については、Dialogflow でアクションを定義するまたは Actions SDK でアクションを定義するをご覧ください。アクション パッケージの詳細については、アクション パッケージのリファレンスのドキュメントをご覧ください。

スマートホーム インテント

スマートホーム アクションを作成する場合は、インテントのサポートを若干異なる方法で定義します。詳しくは、スマートホーム インテントのドキュメントをご覧ください。