onRequestTransferData
このハンドラーは、エージェントデスクトップアプリケーションが、あるエージェントから別のエージェントへ転送するための追加データを受け取りたい場合に呼び出されます。
転送対象のデータは、内線対話情報に加え、CRM連携間で転送する必要があるあらゆる情報となります。このデータは、エージェントデスクトップアプリケーションを経由して、別のエージェントのCRM連携へ転送されます(つまり、2人目のエージェントが同じCRM連携を使用している場合です)。エージェントデスクトップアプリケーションはこのデータを読み取ることはなく、単に転送を行うだけです。
メモ
:
- 複数のハンドラを設定し、それらすべてがデータを返す場合、最後のハンドラからの結果のみが使用されます。
- コールバック関数 `onRequestTransferData`
および `onLoadTransferData` は連携して動作し、SDK ユーザーがインタラクションの転送時に 2 人のエージェント間で任意のデータを送信できるようにします。
リクエスト
構文
on('ON_REQUEST_TRANSFER_DATA', handler: OnRequestTransferDataHandler): void
type OnRequestTransferDataHandler = (interactionId: string) => DataToTransfer | Promise<DATATOTRANSFER>
type DataToTransfer = any
パラメータ
| パラメータ | パラメータ値 | データ型 | オプション/必須 | 説明 |
| interactionId | 文字列 | 必須 | 転送されたインタラクションの id |
リクエストの例
function requestTransferDataHandler(interactionId: string) {
const currentUserConversationHistory = conversations[interactionId];
return currentUserConversationHistory;
}
adApi.on("ON_REQUEST_TRANSFER_DATA", requestTransferDataHandler);
戻り値
戻り値には、同じCRM統合環境にある別のエージェントに対して、このデータを用いてインタラクションの状態を復元するために、インタラクションとともに転送したい任意の情報を指定できます。
例
エージェント1がインタラクションをエージェント2に転送しようとする際、エージェント1側でonRequestTransferDataコール
バックがトリガーされます。これは、転送にエージェント2向けのコンテキスト情報を含めるべきかどうかを尋ねるようなものです。
エージェント1が何らかのデータ(例:現在のページのURL)を転送したい場合、そのデータは onRequestTransferData コールバックの戻り値として渡されます。
転送されたコールがエージェント2によって受信されると、エージェント1から渡された `onRequestTransferData` のデータを含む `onLoadTransferData` コールバックがトリガーされます。
// これは、インタラクションを転送するエージェント側で実行されます
jsApi.on("ON_REQUEST_TRANSFER_DATA", function (interactionId) {
return {url: window.location.origin};
});
// これは、インタラクションが転送されたエージェント側で実行されます
jsApi.on("ON_LOAD_TRANSFER_DATA", function (interactionId, transferredData) {
const transferredUrl = transferredData.url;
window.open(transferredUrl);
});