$pages.agent オブジェクト
Power Pages Client API $pages.agent オブジェクトとその SendActivity メソッドを使用して、現在のユーザーが使用できるMicrosoft Copilot Studio エージェントでメッセージを送信したり、イベントを呼び出したりします。 応答コールバックとエラー コールバックは、サイトがエージェントの結果を処理するのに役立ちます。
SendActivity メソッド
SendActivity メソッドは、メッセージを送信するか、指定したCopilot Studio エージェントでイベントを呼び出し、コールバック関数を使用して応答とエラーを処理します。
SendActivity メソッドの構文
$pages.agent.SendActivity(
agentSchemaName: string,
inputActivity: object,
responseSubscriber: function,
errorSubscriber: function
);
SendActivity メソッドのパラメーター
| パラメーター名 | タイプ | Description |
|---|---|---|
agentSchemaName |
String | アクティビティの送信先となるボットのスキーマ名。 |
inputActivity |
Object | ボットに送信するテキストまたはイベントを含むオブジェクト。 |
responseSubscriber |
関数 | エージェントが応答を送信するときに実行されるコールバック関数。 |
errorSubscriber |
関数 | エラーを処理するコールバック関数。 |
SendActivity メソッドはvoidを返します。 エージェントから応答を受信するには、 responseSubscriber コールバック関数を渡します。 このメソッドは、エージェントが応答を送信するときにこのコールバックを呼び出します。 エラーを処理するために errorSubscriber コールバック関数を渡します。
SendActivity 応答プロパティ
次の形式で受信したエージェントからの応答オブジェクト:
| Name | タイプ | Description |
|---|---|---|
type |
String | メッセージなどのアクティビティの種類。 |
text |
String | 省略可能。エージェントからのメッセージ。 |
textFormat |
String | オプション。マークダウン、プレーン、XML など、メッセージのテキストの形式。 |
Id |
String | アクティビティを一意に識別する ID。 |
From |
Object | アクティビティの送信者 (ID、名前 (省略可能)、ロール情報を含む) を指定します。 |
Conversation |
Object | アクティビティが属する会話の ID を格納します。 |
InputHint |
String | 省略可能。ボットがユーザー入力を受け入れるか、想定しているか、無視しているかを示します。 |
replyToId |
String | 応答メッセージの ID。 |
Examples
次の例では、応答コールバックとエラー コールバックを定義し、 SendActivity を使用してメッセージを送信したり、イベントを呼び出したりする方法を示します。
| 例 | Description |
|---|---|
| 応答コールバックとエラー コールバックを定義する | エージェントの応答とエラーを処理する responseSubscriber および errorSubscriber コールバック関数を定義します。 |
| エージェントにメッセージを送信する | 指定したエージェントに Hello! テキスト アクティビティを送信し、コールバック関数を使用して応答またはエラーを処理します。 |
| クライアント イベントを呼び出す |
AgentEvent クライアント イベントを呼び出し、キーと値のペイロードをエージェントに渡します。 |
応答コールバックとエラー コールバックを定義する
エージェントの応答とエラーを処理する responseSubscriber および errorSubscriber コールバック関数を定義します。
const responseSubscriber = (response) => {
// Replace with your response handling.
console.log('Agent response:', response);
};
const errorSubscriber = (error) => {
// Replace with your error handling.
console.error('Error:', error);
};
// Replace with your agent schema name.
const agentSchemaName = 'agent SchemaName';
エージェントにメッセージを送信する
この例では、指定したエージェントに Hello! テキスト アクティビティを送信し、コールバック関数を使用して応答またはエラーを処理します。
Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
const inputActivity = {
text: 'Hello!' // Message to the agent.
};
$pages.agent.SendActivity(agentSchemaName, inputActivity, responseSubscriber, errorSubscriber);
});
クライアント イベントを呼び出す
このサンプルでは、 AgentEvent クライアント イベントを呼び出し、キー値ペイロードをエージェントに渡します。
Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
const inputActivity = {
name: 'AgentEvent', // The name of the event to be invoked.
value: { key1: 'value1', key2: 'value2' } // Open-ended value used to carry additional data or payloads necessary for specific agent operations or responses.
};
$pages.agent.SendActivity(agentSchemaName, inputActivity, responseSubscriber, errorSubscriber);
});
エラー メッセージ
ユーザーが発生する可能性があるエラー メッセージとその潜在的な原因を次に示します。
| エラーの種類 | 原因 | ユーザーのエラー メッセージ |
|---|---|---|
| エージェント スキーマの検証 | 無効なボット スキーマ名が指定されているか、ユーザーにエージェントへのアクセス許可がありません | Invalid bot schema name or access denied. Check the bot schema name and try again. |
| トークンのフェッチ エラー | 直接行トークンのフェッチ中にエラーが発生しました | Something went wrong while fetching the token. Please try again. |
| 投稿アクティビティ エラー (再試行) | アクティビティの投稿中にエラーが発生し、再試行が必要です。 | Something went wrong while posting the activity: retry. |
| 投稿アクティビティ エラー (タイムアウト) | 送信メッセージまたは postActivity の待機中にタイムアウトしました | Timed out while posting activity: Please retry. |
| 投稿アクティビティ エラー (無効なアクティビティ) | 入力アクティビティには、イベントを呼び出すテキストまたは名前がありません。 | Invalid activity: At least one of text, name, or attachments must be provided. |
| 投稿アクティビティ エラー (ユーザー ID が見つからないか、トークンが見つかりません) | セッション ストレージにトークンが見つからないか、トークンにユーザー ID が見つかりません | Error retrieving user ID: {error message} |
| 転記アクティビティ エラー (一般) | アクティビティの投稿中に未指定のエラーが発生しました | Something went wrong while posting the activity: Please try again. |
| 直接接続エラー | ボットとの直接接続の作成中にエラーが発生しました。 | Something went wrong while creating direct line connection: Please try again. |
| 一般的なエラー | 上記のカテゴリに分類されない予期しないエラー | An unexpected error occurred while sending activity: Please try again. |