住所収集の事前構築済みコンポーネント

住所収集の事前構築済みコンポーネントは、エンドユーザーから住所を収集し、Google Address Validation API を使用して住所を検証します。

制限事項

一般的な事前構築済みコンポーネントの制限に加えて、この事前構築済みコンポーネントには次の制限があります。

追加機能

この事前構築されたコンポーネントには、以下の追加機能が用意されています。

サンプル ダイアログ

次のサンプル ダイアログは、この事前構築されたコンポーネントによって処理される一般的なシナリオを示しています。サンプル ダイアログは、コンポーネントがテレフォニー経由で呼び出されたときの動作を示しています。呼び出しにより、Default Welcome Intent と会話開始時の最初のエージェント レスポンスがトリガーされます。

有効で完全な住所

エンドユーザーが完全な住所を提示し、住所収集コンポーネントが住所を正常に検証します。

ユーザー入力 エージェントの応答
まず、完全な住所を教えてください。
1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, USA
最終的な住所を確認しました。番地が 1600、地名が Amphitheatre Parkway、都市は Mountain View、行政区域は CA、郵便番号は 94043、国は USA です。間違いありませんか? 「はい」または「いいえ」でお答えください。
はい
素晴らしい。住所を収集しました。

推測された要素を含む部分的な有効な住所

エンドユーザーが部分的な住所を提供します。エージェントが欠落している部分を推測し、エンドユーザーからの確認後に正常に検証します。

ユーザー入力 エージェントの応答
まず、完全な住所を教えてください。
1600 Amphitheatre Parkway
住所の一部を推測しました。都市は Mountain View、郵便番号は 94043、行政区域は CA、国は USA です。

最終的な住所を収集しました。番地が 1600、地名が Amphitheatre Parkway、都市名は Mountain View、行政区域は CA、郵便番号は 94043、国は USA です。間違いありませんか? 「はい」または「いいえ」でお答えください。
はい
素晴らしい。住所を収集しました。

ユーザー指定要素を含む部分的な有効な住所

エンドユーザーが部分的な住所を提供します。エージェントは欠落している部分を推測しますが、エンドユーザーが「no」という入力を行った後に独自の入力を提供し、エージェントはその住所を正常に受け入れます。

ユーザー入力 エージェントの応答
まず、完全な住所を教えてください。
1600 Amphitheatre Parkway
住所の一部を推測しました。都市は Mountain View、郵便番号は 94043、行政区域は CA、国は USA です。

最終的な住所を収集しました。番地が 1600、地名が Amphitheatre Parkway、都市名は Mountain View、行政区域は CA、郵便番号は 94043、国は USA です。間違いありませんか? 「はい」または「いいえ」でお答えください。
いいえ
はい。住所の変更が必要な部分をお知らせください。
郵便番号
郵便番号を教えてください。
94044
更新が完了しました。他に変更すべき点はありますか?「はい」または「いいえ」でお答えください。
いいえ
検証の結果、郵便番号を 94043 置き換えました。

最終住所を収集しました。番地が 1600、地名が Amphitheatre Parkway、都市名は Mountain View、行政区域は CA、郵便番号は 94043、国は USA です。間違いありませんか? 「はい」または「いいえ」でお答えください。
はい
素晴らしい。住所を収集しました。

認識されない入力

エンドユーザーが認識できない入力を 3 回提供すると、コンポーネントはフローを終了します。

ユーザー入力 エージェントの応答
まず、完全な住所を教えてください。
大丈夫です
すみません、聞き取れませんでした。まず、完全な住所を教えてください。
素晴らしい
うーん、やはりわかりませんでした。まず、完全な住所を教えてください。
すばらしい
申し訳ありませんが、応答を理解するのが難しいです。

住所がサポート対象外

エンドユーザーが Address Validation API で現在サポートされていない住所を提供し、その後コンポーネントがフローを終了します。

ユーザー入力 エージェントの応答
まず、完全な住所を教えてください。
インド
すみません、現在そのリージョンの住所を確認できません。

住所確認

住所収集コンポーネントが住所を検証する方法については、Address Validation API の概要をご覧ください。

住所収集コンポーネントは、@sys.address システム エンティティを使用してエンドユーザー入力をキャプチャし、取得した住所を Address Validation API に送信して、さらなる処理のために住所要素を抽出します。

Address Validation API から返される次の住所要素は、コンポーネントが完全な住所を収集して検証するために使用されます。

  • administrative_area_level_1
  • archipelago
  • country
  • locality
  • postal_code
  • ルート
  • street_number

サポートされているリージョンの住所であれば、Google Address Validation Demo を試すことができます。

命名規則

この事前構築済みコンポーネントでは、次の命名規則が使用されています。

機能 形式
フロー [コンポーネント名] 住所の収集
コンポーネントに固有のインテント prebuilt_components_[component_name]_[intent_name] prebuilt_components_address_collection_locality
パラメータ [param_name] user_provided_address
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_address_collection:address_validation

入力パラメータ

入力パラメータは、コンポーネントの特定の動作を構成するために使用されるパラメータです。このパラメータは、コンポーネントの動作を決定するためにフロー内の 1 つ以上の条件によって使用されます。フロースコープのパラメータは、後述するように、コンポーネントのスタートページで設定する必要があります。セッション スコープのパラメータは、呼び出しフローまたはこのコンポーネントのスタートページで設定できます。

フローのスタートページパラメータ プリセットを変更することで、このコンポーネントに必要な住所要素を構成できます。

この事前構築済みコンポーネントは、次の入力パラメータを受け入れます。

パラメータ名 説明 入力形式
$flow.zip_code 郵便番号の住所要素が必要な場合は true、それ以外の場合は false に設定します。 ブール値
$flow.city 都市の住所要素が必要な場合は true に設定し、そうでない場合は false に設定します。 ブール値
$flow.admin_area 行政区域の住所要素が必須の場合は true、そうでない場合は false に設定します。 ブール値
$flow.street_number 番地の住所要素が必須の場合は true、そうでない場合は false に設定します。 ブール値
$flow.route 地名の住所要素が必須の場合は true、そうでない場合は false に設定します。 ブール値
$flow.country 国の住所要素が必要な場合は true、そうでない場合は false に設定します。 ブール値
$flow.island 島名の住所要素が必要な場合は true、そうでない場合は false に設定します。 ブール値
$flow.retry_num Maps Address Validation API の Webhook 呼び出しの最大再試行回数を設定します integer

このコンポーネントの入力パラメータを構成するには、開いて手順を確認します。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Build] タブを選択します。
  5. [Flows] セクションでインポートされたコンポーネントをクリックします。
  6. [Pages] セクションで [Start Page] をクリックします。
  7. スタートページで true ルートをクリックします。
  8. [Route] ウィンドウで、必要に応じて [Parameter Presets] 値を編集します。
  9. [Save] をクリックします。

出力パラメータ

出力パラメータは、コンポーネントを終了した後もアクティブな状態を継続するセッション パラメータです。これらのパラメータには、コンポーネントによって収集される重要な情報が含まれます。この事前構築されたコンポーネントは、次の出力パラメータの値を提供します。

パラメータ名 説明 出力形式
address_collection_address このパラメータは、コンポーネントが住所を取得した場合の住所オブジェクトを返します
{
"admin-area": string,
"city": string,
"country": string,
"island": string,
"route": string,
"zip-code": string,
"street-number": string
}
address_collection_status このパラメータは、収集された住所のステータスを返します。戻り値は次のいずれかです。

VALID_ADDRESS : 住所検証 API によって住所が収集、検証されました。

INVALID_ADDRESS : 住所がエンドユーザーによって確認されましたが、住所検証 API によって 1 つ以上の要素が検証されなかったか、UNCONUALMED_BUT_PLAUSIBLE とマークされました。

MAPS_API_ERROR : 住所検証 API エラーにより住所が収集されませんでした。

COUNTRY_NOT_SUPPORTED : 住所検証 API がそのリージョンをサポートしていないため、アドレスは収集されませんでした。

NO_USER_CONFIRMATION : エンドユーザーが住所を確認しなかったため、住所が確認されませんでした。
string

基本設定

この事前構築済みコンポーネントを設定するには:

  1. 事前構築済みコンポーネントをインポートします。
  2. Address Validation API を有効にします。
  3. 付属の Flexible Webhook を Maps API キーを使用して構成します。下記の Webhook の設定をご覧ください。

Webhook の設定

Address Validation API を使用して住所を検証するには、提供されたフレキシブルな Webhook に正しい認証情報を構成する必要があります。

Address Validation Webhook

この Webhook は次のアクションを実行します。

  1. キャプチャされた会話エージェント(Dialogflow CX)パラメータを処理してリクエストを形成し、Address Validation API を使用して住所を検証します。
  2. Google Address Validation API のレスポンスから、確認済み、未確認、欠落、推定の各住所要素を抽出します。

このコンポーネントの Webhook を構成するには、Maps API キーを使用して Webhook の設定を更新する必要があります。

  1. API キーを取得するには、[Google Cloud Platform Console] > [API とサービス] > [認証情報] に移動して Maps API キーを選択し、[API キー] フィールドをコピーします。

Webhook を構成するには:

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_address_collection:address_validation Webhook を選択します。
  7. 会話エージェント(Dialogflow CX)Webhook URL フィールドの URL を Maps API キーを含む URL に置き換えます。https://addressvalidation.googleapis.com/v1:validateAddress?key=MAPS_API_KEY
  8. [認証] 設定で、ユーザー名を key に構成し、パスワードを Maps API キーに設定します。
  9. [保存] をクリックします。

完了

これで、エージェントとその Webhook が設定され、テストの準備が整いました。