様々なサプライヤとのMCAの統合の概要
必須コンポーネント
この統合には、次のコンポーネントが必要です:
- Fusionアプリケーション。
- メディア・ツールバー
- CTIアプリケーションをレンダリングするためのプレースホルダーとして機能します。
- パートナCTIアプリケーションのURLは、Fusion構成管理画面で構成できます。 この構成を設定すると、このURLはパートナ・アプリケーション・ビューのiFrameにレンダリングされます。
- 「メディア」ツールバーを使用すると、FusionアプリケーションとCTIサプライヤ間の通信が可能になります
- Fusionアプリケーションとパートナ・アプリケーションの間の通信は、パートナ・アプリケーションで使用できるJavaScriptライブラリを介して有効になります。
- サードパーティCTIサプライヤ。
- 統合用に独自のサプライヤを選択できます。
サード・パーティ・サプライヤを統合する際、Fusion CTIでは、次の2つのタイプのAPIを持つライブラリが提供されます:
- 処理
- イベント
アクションおよびイベントAPIを実行する一般的なステップ:
- 適切なコンテキストを取得します。
- リクエスト・オブジェクトを作成します。
- APIを呼び出します。
処理
アクションAPIは、パートナ・アプリケーションがFusionアプリケーションに特定の操作を実行させる場合に使用します。 たとえば、パートナ・アプリケーションは、着信コールの受信時に着信コール・ダイアログをレンダリングするようにFusionアプリケーションに通知します(NewCommEventアクション)。


| 処理 | 説明 |
|---|---|
| agentStateEvent | このアクションは、パートナ・アプリケーションから起動して、現在ログインしているエージェントがコールを実行または受理する準備を整えることができます。 これにより、Fusionアプリケーションで電話アイコンが有効になります。 |
| newCommEvent | CTIサプライヤからパートナ・アプリケーションへの着信コールを受信すると、newCommEventアクションがパートナ・アプリケーションから起動され、着信コールについてFusionアプリケーションに通知されます。 Fusionアプリケーションは、名前と着信電話番号を含むダイアログ・ボックスをレンダリングします。 |
| startCommEvent | CTIサプライヤがパートナ・アプリケーションにコールが受理されたことを通知すると、パートナ・アプリケーションはstartCommEventアクションを起動して、コールが受理されたことをFusionアプリケーションに通知する必要があります。 |
| closeCommEvent | パートナ・アプリケーションは、コールがCTIサプライヤから切断されるたびに、またはエージェントによってFusionアプリケーションから切断されるたびに、このアクションを起動できます。 |
| outboundCommErro | パートナ・アプリケーションは、このアクションを起動して、アウトバウンド・イベントの開始時にエラーが発生したことをFusionアプリケーションに通知できます。 |
| getConfiguration | パートナ・アプリケーションは、このアクションを起動して、ツールバーがFusionアプリケーションでサポートされている機能を評価できるようにする構成情報を取得できます。 |
| disableFeature | ツールバーで機能を実装していないため、使用可能な機能のサブセットを無効にする必要があることをFusionアプリケーションに通知します。 |
| readyForOperation | ツールバーが操作の準備ができていることをFusionアプリケーションに通知します。 |
アクションの起動を示すコード例を次に示します:
// Step 1: Get the proper context
const multiChannelAdaptorContext: IMultiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
const phoneContext: IPhoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE') as IPhoneContext;
// Step 2: Create the request object
const request: IMcaNewCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('<Action Name>');
// Set request object properties
// Step 3: Invoke the API
phoneContext.publish(request).then((res: IOperationResponse) => {
// response after firing the action
}).catch(() => {
})
イベント
エージェントがFusionアプリケーションに対してアクションを実行するたびに、FusionアプリケーションはMCAライブラリを介して一部のイベントを生成し、これらのイベントをパートナ・アプリケーションでリスニングできます。
パートナ・アプリケーションがFusionアプリケーションでエージェントによって実行されたアクションをリスニングする必要がある場合、イベントAPIを使用します。
たとえば、Fusionアプリケーションは、アウトバウンド・コールがFusionアプリケーション - onOutgoingEventから開始されたときにイベントを呼び出します。

| イベント | 説明 |
|---|---|
| onToolbarInteractionCommand |
Fusionアプリケーションでコールを受信すると、エージェントはそれを受け入れる、拒否または切断できます。onToolbarInteractionCommandは、エージェントのアクション(受入れ、拒否または切断)に基づいてFusionアプリケーションから起動されます。
|
| onDataUpdated | このイベントは、Fusionアプリケーションで発生するDataUpdateイベントをリスニングするために使用されます。 |
| onOutgoingEvent | Fusionアプリケーションからアウトバウンド・コールが開始されるたびに、このイベントが起動され、パートナ・アプリケーションはこのイベントをリスニングし、アウトバウンド・コールを行うようにCTIサプライヤに通知できます。 |
イベントをサブスクライブする例を次に示します:
// Step 1: Get the proper context
const multiChannelAdaptorContext: IMultiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
const phoneContext: IPhoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE') as IPhoneContext;
// Step 2: Create the request object
const request: IMcaEventRequest = uiEventsFrameworkInstance.requestHelper.createSubscriptionRequest('<Event Name>');
// Set request object properties
// Step 3: Invoke the API
phoneContext.subscribe(request, (response: IEventResponse) => {
// subscription response
});