Web チャットでのユーザー ID 情報の管理
watsonx Assistant の料金は、固有の月次アクティブ・ユーザー (MAU) の数に基づきます。
セッションの開始時にユーザーの ID を渡さないと、Web チャットによって作成されます。 Web チャットは、生成した匿名 ID が含まれたファースト・パーティー Cookie を作成します。 この Cookie のアクティブ期間は、45 日間です。 後で同じユーザーが同じ月にサイトに戻ってきて再びアシスタントとチャットした場合、Web チャット統合はそのユーザーを認識します。 同じ匿名ユーザーが 1 カ月の間にアシスタントと複数回対話しても、1 回としてのみ課金されます。
入力を送信したユーザーを知る必要があるタスクを実行したい場合、ユーザーIDをウェブチャット統合に渡す必要があります。 個人を特定できない ID を選択してください。 例えば、ユーザーIDとして個人の電子メールアドレスを使用しないでください。
さらに、忘れ去られることを要求した人が作成したデータを削除するには、 customer_id がユーザー入力に関連付けられる必要がある。 user_id が定義されている場合、本製品はそれを再利用して customer_id パラメーターを渡すことができます。 (ユーザー・データの削除について詳しくは、 データのラベル付けと削除 を参照してください。)
送信した user_id 値が、各メッセージ要求の customer_id ヘッダーに追加される X-Watson-Metadata 値に含まれるので、user_id 構文は、RFC 7230 で規定されているヘッダー・フィールドの要件を満たす必要があります。
このようユーザー・ベースの機能をサポートするには、ウェブ・ページに貼り付ける前に、コード・スニペットに updateUserID() メソッドをな追加してください。
セキュリティを有効にすると、代わりにJSON Web TokenにユーザーIDが設定されます。 詳しくは、 Web チャットでのユーザーの認証 を参照してください。
以下の例では、ユーザー ID の L12345 をスクリプトに追加しています。
<script>
window.watsonAssistantChatOptions = {
integrationID: 'YOUR_INTEGRATION_ID',
region: 'YOUR_REGION',
serviceInstanceID: 'YOUR_SERVICE_INSTANCE',
onLoad: function(instance) {
instance.updateUserID('L12345');
instance.render();
}
};
setTimeout(function(){
const t=document.createElement('script');
t.src='https://web-chat.global.assistant.dev.watson.appdomain.cloud/versions/' +
(window.watsonAssistantChatOptions.clientVersion || 'latest') +
'/WatsonAssistantChatEntry.js';
document.head.appendChild(t);
});
</script>
Apple デバイス
Apple デバイスでは、インテリジェント・トラッキング防止機能により、7 日後にすべてのクライアント・サイド Cookie が自動的に削除されます。 つまり、匿名の顧客が Web サイトにアクセスし、2 週間後に再度アクセスした場合、2 つの訪問は 2 つの異なる MAU として扱われます。
この問題を回避するには、Web アプリケーションでサーバー・サイドのファースト・パーティー Cookie を使用します。 例えば、匿名ユーザーが初めて Web サイトにアクセスしたときに、固有のユーザー ID を生成し、任意の有効期限を選択してサーバー・サイドの Cookie に保管することができます。 その後、コードで updateUserID() インスタンス・メソッドを使用してユーザー ID を設定できます。 その後、同じ Cookie を使用して、有効期限が切れるまでこのお客様が今後アクセスするときに同じユーザー ID を設定することができます。
詳細情報
請求について詳しくは、「ユーザー・ベースのプランの説明」を参照してください。
プランごとの MAU 制限について詳しくは、 料金 を参照してください。
ユーザーのデータの削除について詳しくは、「データのラベル付けと削除」を参照してください。