openFrameAPI - クライアント
openFrameAPI は、OpenFrame と対話するメソッドを提供します。OpenFrame は、コミュニケーションパートナーがシステムを ServiceNow プラットフォームに統合するために使用できる、非常に一般的なフレームです。
コア要件の 1 つが、パートナーサブシステムとシームレスに接続できるさまざまなドメインから取得したコードをつないで提供する機能です。このクロスドメイン接続は、クロスドメインの問題を発生させることなく接続とコールバックを通信システムに登録するために必要です。
openFrameAPI - getAWAAgentPresence(文字列の成功、文字列の失敗)
ログインしているエージェントの現在の在席状況を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 正常終了 | 文字列 | メソッドが成功した場合、呼び出すコールバック関数の名前。 |
| 失敗 | 文字列 | メソッドが失敗した場合に呼び出すコールバック関数の名前。 |
| タイプ | 説明 |
|---|---|
| presence | 結果は、OpenFrame インフラストラクチャによって成功コールバック関数に渡されます。 データタイプ: オブジェクト |
| presence.available | 関連付けられたエージェントが利用可能かどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
| presence.channels | エージェントとの利用可能なコミュニケーションチャネルのリスト。 データタイプ:オブジェクトのアレイ
|
| presence.channels.available | チャネルが利用可能かどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
| presence.channels.name | チャットや電話などのチャネルの名前。 データタイプ:文字列 |
| presence.channels.restrict_update | ユーザーがチャネルの更新を制限できるかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
| presence.channels.service_channel_type | サービスチャネルのタイプ。 データタイプ:文字列 |
| presence.channels.sys_id | チャネルレコードのSys_id。 データタイプ:文字列 テーブル:サービスチャネル [awa_service_channel] |
| presence.name | エージェントの在席状況の名前。 データタイプ:文字列 |
| presents.sys_id | 在席状況レコードのSys_id。 データタイプ:文字列 表:在席状況 [awa_presence_state] |
次のコード例は、このメソッドを呼び出す方法を示しています。
function failure(data)
{
console.log("failure: " + JSON.stringify(data));
}
function success(data)
{
console.log("success: " + JSON.stringify(data));
}
openFrameAPI.getAWAAgentPresence(success, failure)
成功への応答コールバック関数:
success: {
"presence": {
"name": "Available",
"sys_id": "0b10223c57a313005baaaa65ef94f970",
"available": true,
"channels": [
{
"name": "Chat",
"available": true,
"sys_id": "27f675e3739713004a905ee515f6a7c3",
"restrict_update": false,
"service_channel_type": "chat"
}
]
}
}
openFrameAPI - hide()
TopFrame で OpenFrame を非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.hide()
openFrameAPI - init(オブジェクト config, 関数 successCallback, 関数 failureCallback)
OpenFrame を初期化します。これは、最初に呼び出すメソッドでなければなりません。
このメソッドは、TopFrame との通信を初期化し、 config パラメーターで渡されたすべてのビジュアル要素を初期化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| config | オブジェクト | 初期化プロセス中に使用する名前と値のペア。 可能なキー: すべてのキーはオプションです。これらのキーと値のペアを設定しない場合は、空のオブジェクトを渡します。
|
| successCallback | 関数 | init メソッドが成功した場合に使用するコールバック関数の名前。システムに保存されている OpenFrame 構成 は、コールバック関数にパラメーターとして渡されます。 |
| failureCallback | 関数 | init メソッドが失敗した場合に使用するコールバック関数の名前。 |
| タイプ | 説明 |
|---|---|
| なし |
var config = {
height: 300,
width: 200
}
function handleCommunicationEvent(context) {
console.log("Communication from Topframe", context);
}
function initSuccess(snConfig) {
console.log("openframe configuration", snConfig);
//register for communication event from TopFrame
openFrameAPI.subscribe(openFrameAPI.EVENTS.COMMUNICATION_EVENT,
handleCommunicationEvent);
}
function initFailure(error) {
console.log("OpenFrame init failed...", error);
}
openFrameAPI.init(config, initSuccess, initFailure);
openFrameAPI - isVisible(関数 callback)
OpenFrame が TopFrame に表示されるかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| callback | 関数 | true または false の値を持つパラメーターがコールバック関数に返されます。OpenFrame が表示される場合は true、表示されない場合は false です。 |
| タイプ | 説明 |
|---|---|
| なし |
function callback(isVisible) {
console.log(isVisible)
}
openFrameAPI.isVisible(callback)
openFrameAPI - openCustomURL(文字列 details)
UI16 インターフェイスでカスタム URL を開きます。
| 名前 | タイプ | 説明 |
|---|---|---|
| Url | 文字列 | カスタム URL のテキスト。 最大サイズ:2083 文字 |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.openCustomURL('10_cool_things.do');
openFrameAPI - openServiceNowForm(オブジェクト details)
フォームの URL を開きます。
- プラットフォームインターフェイスの場合、この API では TopFrame にフォーム URL が開きます。
- エージェントワークスペース の場合、この API はインタラクションタブの管理をサポートします。エージェントワークスペース では、インタラクションレコードが親タブに開き、指定されたエンティティレコードがインタラクションタブの下の子タブで開きます。
| 名前 | タイプ | 説明 |
|---|---|---|
| details | オブジェクト | 開くフォームの URL を特定するキーと値のペア。 |
| details.entity | 文字列 | テーブルまたはエンティティの名前。 |
| details.interaction_sys_id | 文字列 | オプション。エージェントワークスペース で親タブとして開くインタラクションレコードの sys_id。 注: プラットフォームインターフェイスでは、interaction_sys_id は無視されます。 |
| details.query | 文字列 | 開くレコードを特定するクエリー。例:query:'sys_id=<record_sys_id>' |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、プラットフォームでの基本的な使い方を示しています。
openFrameAPI.openServiceNowForm({entity:'customer_account',
query:'sys_id=447832786f0331003b3c498f5d3ee452', 'interaction_sys_id':'3be092313b711300758ce9b534efc4dd'});
次の例は、query パラメーターを使用して、フォームで提供されたデータを使って sysparm_query とエンコードされたクエリーで新しいレコードを作成し、Workspace の姓と名のフィールドに入力する方法を示しています。
openFrameAPI.openServiceNowForm({ entity: 'sys_user',
query: 'sys_id=-1&sysparm_query=first_name=Ivan^last_name=Greggor' });
openFrameAPI - openServiceNowFormwithChildTab()
ワークスペースで呼び出された場合は子タブを持つ ServiceNow フォームを開き、UI16 インターフェイスで呼び出された場合はエンティティを開きます。
| 名前 | タイプ | 説明 |
|---|---|---|
| OpenServiceNowFormwithChildTab | オブジェクト | ワークスペースで呼び出された場合に API が子タブを持つ ServiceNow フォームを開くか、UI16 インターフェイスで呼び出された場合にエンティティを開くかを定義します。 |
| openServiceNowFormwithChildTab.entity | 文字列 | 開くレコードを含むテーブルの名前です。 |
| openServiceNowFormwithChildTab.sys_id | 文字列 | 開くレコードの sys_id。 |
| openServiceNowFormwithChildTab.parent_entity | 文字列 | 親タブとして開くテーブルの名前。 |
| openServiceNowFormwithChildTab.parent_entity_sys_id | 文字列 | 開く親レコードのSys_id。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例では、親エンティティを構成されたワークスペースの親タブとして開くか、UI16 で呼び出された場合はエンティティのみを開きます。
openFrameAPI.openServiceNowFormwithChildTab({
entity: "customer_account",
sys_id: "447832786f0331003b3c498f5d3ee452",
parent_entity: "interaction",
parent_entity_sys_id: "3be092313b711300758ce9b534efc4dd"
});
openFrameAPI - openServiceNowList(オブジェクト details)
UI16 インターフェイスでリスト URL を開きます。
| 名前 | タイプ | 説明 |
|---|---|---|
| details | オブジェクト | リスト URL を開くときに使用するコンテンツを説明するキーと値のペア。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});
openFrameAPI - setFrameMode(mode)
OpenFrame のモードを設定します。
- ヘッダーに適切なアイコン (折りたたみまたは展開) を設定する
- CTI に対して以下の関連イベントを発生させる
- openFrameAPI.EVENTS.COLLAPSE
- openFrameAPI.EVENTS.EXPAND
| 名前 | タイプ | 説明 |
|---|---|---|
| モード | 文字列 | OpenFrame のモードを設定します。オプションは以下のとおりです。
|
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
openFrameAPI - setHeight(height)
OpenFrame の高さを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| Height | 数字 | 高さ (ピクセル) |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setHeight(100);
openFrameAPI - setICContext(String Type, Object <Context>)
クライアントのインタラクションコントロールに関連するコンテキストデータを設定します。このコンテキストデータを使用して、OpenFrame に表示するクライアント UI を決定します。
インタラクティブコントロールの詳細については、「 Interaction Controls Component」を参照してください。
インタラクションレコードの詳細については、「 CSM voice interaction record page」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| タイプ | 文字列 | 設定するコンテキストデータのタイプ。 有効な値:
|
| <コンテキスト> | オブジェクト | 設定するコンテキストデータ。各コンテキストデータタイプには、可能な入力データの異なるセットがあります。 有効な Context データオブジェクト:
|
| activeCall | オブジェクトのアレイ | アクティブなコールに関する詳細。各オブジェクトは、進行中のアクティブなコールを表します。 |
| activeCall.currentParticipant | オブジェクト | 必須。現在の参加者のコール機能とコールステータスに関する詳細。 |
| activeCall.currentParticipant.actor | 文字列 | コールの参加者のタイプ。 有効な値:
注: 今後追加される他の参加者タイプ。 |
| activeCall.currentParticipant.callStartTime | 文字列 | コールが開始された日時。 時間標準:UTC 形式:RSS - "<曜日>, dd mmm yyyy hh:MM:ss GMT" 例:「Wed, 17 Dec 2024 05:23:41 GMT」 |
| activeCall.currentParticipant.capabilities | オブジェクト | 現在の (エージェント) 参加者が通話中に実行できる機能の詳細。有効になっている機能のアクティブなコールコンポーネントには、関連するアイコンが表示されます。 |
| activeCall.currentParticipant.capabilities。DTMF | ブール | エージェントが現在のコールに対してデュアルトーンマルチ周波数 (DTMF) 機能を持っているかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。エンドコール | ブール | 関連付けられた参加者がコールを終了できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。旗 | ブール | 参加者が音声品質の問題などの品質の問題についてコールにフラグを立てることができるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。持つ | ブール | 参加者がコールを保留にできるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。leaveAndTransfer | ブール | 参加者がコールを別のエージェントに転送して、コールをドロップオフできるかどうかを示すフラグ。相談を受けるユーザーがコールの所有者でない場合の相談転送などのアクションに対して、この機能を有効にします。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。MergeCall | ブール | 参加者がコールを結合できるかどうかを示すフラグ。この機能は、参加者のコールレッグがマージ可能な場合に使用します。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。唖 | ブール | 参加者がコールをミュートできるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。resumeRecording | ブール | 参加者が通話の記録を再開できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。記録の一時停止 | ブール | 参加者が通話の録音を一時停止できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。記録の開始 | ブール | 参加者がコールの記録を開始できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。記録を停止 | ブール | 参加者がコールの記録を停止できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。移転 | ブール | 参加者がコールを転送できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.connectedTime | 文字列 | 通話が最初に接続された日時。 タイムベース:UTC 形式:RSS - "<曜日>, dd mmm yyyy hh:MM:ss GMT" 例:「Wed, 17 Dec 2024 05:23:41 GMT」 |
| activeCall.currentParticipant.custom-capability-state-1 | ブール | コールに現在参加者がいるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.flagged | ブール | コールに音声品質の問題などの問題に対するフラグが付けられているかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.held | ブール | 参加者の保留ステータスを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.id | 文字列 | 必須。エージェントのsys_idなど、関連付けられた参加者レコードのSys_id。 テーブル: ユーザー [sys_user] |
| activeCall.currentParticipant.muted | ブール | 参加者のミュート状態を示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.name | 文字列 | 参加者の名前。 |
| activeCall.currentParticipant.paused | ブール | 参加者の一時停止状態を示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.recording | 文字列 | コールの現在の記録ステータス。 有効な値:
|
| activeCall.currentParticipant.wrapUP | オブジェクト | 将来の使用。 |
| activeCall.customPayload | オブジェクト | OpenFrame イベントの一部として OpenFrame に渡すカスタムペイロード。これは自由形式のオブジェクトであり、ボタンやテキストの追加など、アクティブなコールコンポーネントをカスタマイズするために必要なデータを含めることができます。 |
| activeCall.direction | 文字列 | 関連付けられた参加者のコールの方向。 有効な値:
|
| activeCall.externalId | 必須。関連付けられた外部システム上の現在のアクティブなコールを識別する一意の値。 | |
| activeCall。現在のレコード ID | 文字列 | 必須。アクティブなコールレコードのSys_id。 テーブル:インタラクション [interaction] ベースシステムでのみサポートされているオプション。 |
| activeCall。nowRecordTable | 文字列 | 必須。アクティブなコールが属するテーブル。 テーブル:インタラクション [interaction] ベースシステムでのみサポートされているオプション。 |
| activeCall。参加者 | オブジェクトのアレイ | 必須。コールの追加参加者のリスト。参加者は、エージェント、顧客、エージェントでも顧客でもない外部の人物、またはキューでもかまいません。 |
| activeCall。参加者。俳優 | 文字列 | 関連付けられた参加者のアクターのタイプ。 たとえば、次のようになります。
|
| activeCall。参加者。アニ | 自動番号識別。電話の受信者に表示する電話番号。 | |
| activeCall。参加者。住所 | 文字列 | 参加者の電話番号。 |
| activeCall。参加者。資格 | オブジェクト | 参加者が関連付けられたコールに対して持つ機能のタイプに関する詳細。 |
| activeCall。参加者。資格。エンドコール | ブール | 関連付けられた参加者がコールを終了できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall。参加者。資格。持つ | ブール | 参加者がコールを保留にできるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall。参加者。資格。唖 | ブール | 参加者がコールをミュートできるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall。参加者。connectedTime | 文字列 | 必須。参加者が最初にコールにつながった日時。 時間標準:UTC 形式:RSS - "<曜日>, dd mmm yyyy hh:MM:ss GMT" 例:「Wed, 17 Dec 2024 05:23:41 GMT」 |
| activeCall。参加者。カスタムペイロード | オブジェクト | OpenFrame カスタムイベントの一部として OpenFrame に渡すカスタムペイロード。これは自由形式のオブジェクトであり、ボタンやテキストの追加など、アクティブなコールコンポーネントをカスタマイズするために必要なデータを含めることができます。 |
| activeCall。参加者。DNI | 文字列 | ダイヤル番号識別サービス。参加者がダイヤルした電話番号。 |
| activeCall。参加者。開催 | ブール | 参加者の保留ステータスを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall。参加者。heldAtTime | 文字列 | 参加者のコールへの接続が保留になった日時。 タイムベース:UTC 形式:RSS - "<曜日>, dd mmm yyyy hh:MM:ss GMT" 例:「Wed, 17 Dec 2024 05:23:41 GMT」 |
| activeCall。参加者。身分証明書 | 文字列 | 必須。Contact Center as a Service (CCaaS) システムからの参加者の一意の ID。 |
| activeCall。参加者。ミュート | ブール | 参加者のミュート状態を示すフラグ。 有効な値:
デフォルト値:false |
| activeCall。参加者。名前 | 文字列 | 参加者の名前。 |
| activeCall。参加者。リクエストACW | ブール | エージェントユースケース専用: activeCall.currentParticipant.actor が「agent」の場合にのみ有効です。 参加者が顧客をフォローアップする必要があるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall。参加者。requireWrapup | ブール | エージェントユースケース専用: activeCall.currentParticipant.actor が「agent」の場合にのみ有効です。 呼び出しの完了後に 最終作業 コンポーネントを表示するかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall。参加者。状態 | 文字列 | 参加者のコールレグのステータス。アクティブなコールコンポーネントの電話番号の下に表示されます。 これは、次のような意味のあるテキストにすることができます。
|
| activeCall.type | 文字列 | コールのタイプ。 有効な値:
|
| <idleState> | オブジェクト | エージェントのアイドル状態コンテキストについて説明します。このコンテキスト データは、エージェントがコールを待機しているときにダイヤルパッドに表示される情報と、エージェントがこのダイヤルパッドを介して使用できる機能を決定します。 |
| <idleState>.capability | オブジェクト | 現在のユーザーのアイドル状態機能の説明。 |
| <idleState>.capability です。globalContactSerarch | ブール | アイドル状態のときにグローバル連絡先リストを表示するかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| <idleState>.capability です。ログアウト | ブール | ユーザーがアイドル状態でログアウトできるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| <idleState>.capability です。outBoundCall | ブール | ユーザーがアイドル状態のときに発信コールを実行できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| <idleState>。currentInboundId | 文字列 | 発信コールインタラクションの作成に使用されるプロバイダーアプリケーションの受信識別子。 テーブル:プロバイダーチャネル ID [sys_cs_provider_application] テーブルの id フィールドにあります。 デフォルト:ベースシステムプロバイダーアプリケーション |
| <idleState>。ダイヤルパッド情報メッセージ | オブジェクト | 現在選択されているキューなど、ユーザーのダイヤルパッドに表示する情報メッセージの詳細。次の例では、labelは [選択されたキュー:] で、valueは [顧客からの問い合わせ] です。[選択したキュー: 顧客照会] で label または value パラメーターを使用することもできます。 |
| <idleState>。dialpadInfoMessage です。ラベル | 文字列 | ダイヤルパッドに表示するフリーフォームラベル。 |
| <idleState>。dialpadInfoMessage です。価値 | 文字列 | ダイヤルパッドのラベルの後に表示する自由形式のメッセージテキスト。 |
| <idleState>。enableState | オブジェクト | ダイヤルパッドのボタンの有効化状態に関する詳細。 |
| <idleState>。enableState。ログアウト | ブール | アイドル状態で UI のログアウトボタンを有効にするかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| <idleState>。enableState。outBoundCall | ブール | アイドル状態で UI の発信コールボタンを有効にするかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| searchTargetList | オブジェクトのアレイ | ServiceNowテーブルの転送関連データの詳細。 |
| searchTargetList。externalId | 文字列 | CCaaS システム上の関連するコールの一意の識別子。 |
| searchTargetList。現在のレコード ID | 文字列 | 必須。searchTargetList が属するレコードのSys_id。 注: インタラクション [interaction] テーブルのレコードのみが現在サポートされています。 |
| searchTargetList。nowRecordTable | 文字列 | 必須。searchTargetList が属する ServiceNow テーブル。 テーブル:有効な値: |
| searchTargetList。participantID | 文字列 | CCaaS システムからの参加者の一意の識別子。 |
| searchTargetList。ターゲット | オブジェクトのアレイ | コールの転送先となるエージェント、外部ユーザー、またはキューに関する詳細。 |
| searchTargetList。ターゲット。ペイロード | オブジェクト | 転送コールコントロールに表示する情報の詳細。 次に、コールを転送できるエージェントのリストを含む [ コールを転送 ] コントロールの例を示します。スクリーンショットは、 list.payload の各パラメーターが制御する UI の要素を示しています。 この例は、エージェントペイロード (" 次に、キューペイロード (" |
| searchTargetList。ターゲット。ペイロード。リスト | オブジェクトのアレイ | ターゲットのタイプごとのペイロードに関する詳細。 |
| searchTargetList。ターゲット。ペイロード。リスト。hasStats | ブール | 関連付けられたターゲットに追加の統計情報 (キューの待機時間など) があるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| searchTargetList。ターゲット。ペイロード。リスト。身分証明書 | 文字列 | CCaaS システム内のエージェントまたはキューの一意の識別子。 |
| searchTargetList。ターゲット。ペイロード。リスト。詳細情報 | オブジェクトのアレイ | searchTargetList.targets.payload.list.hasStatsが「true」に設定されている場合は必須です。エージェントまたはキューが持つスキルのリスト。この情報は、ユーザーがエンティティ名の末尾にある情報アイコンを選択するとポップアップウィンドウに表示されます。 |
| searchTargetList。ターゲット。ペイロード。リスト。moreInfo です。ラベル | 文字列 | スキルや言語など、ポップアップウィンドウに表示する情報の自由形式のラベル。 |
| searchTargetList。ターゲット。ペイロード。リスト。moreInfo です。価値 | 文字列 | CRM 認定やドイツ語など、ラベルの後にポップアップウィンドウに表示するテキスト。 |
| searchTargetList。ターゲット。ペイロード。リスト。名前 | 文字列 | エージェント、外部ユーザー、またはキューの名前。CCaaS システム内にあります。 |
| searchTargetList。ターゲット。ペイロード。リスト。出席 | 文字列 | 関連付けられたエージェントの在席ステータス。このパラメーターは、「agent」の searchTargetList.targets.type に対してのみ有効です。有効な値:
|
| searchTargetList。ターゲット。transferSubtype | オブジェクトのアレイ | 指定された searchTargetList.targets.typeでサポートされている転送のタイプに関する詳細。 この情報は、ユーザーが UI でターゲット名の横にある省略記号をクリックすると表示されます。 たとえば、現在のターゲット・タイプ(キューなど)でコンサルト・タイプのみがサポートされている場合、この配列には転送のコンサルト・タイプを示すオブジェクトが1つ含まれます。 |
| searchTargetList。ターゲット。transferSubtypeです。身分証明書 | 文字列 | 転送サブタイプの識別子。 有効な値:
これは、 searchTargetList.targets.transferSubtypes.label の値に対応している必要があります。 |
| searchTargetList。ターゲット。transferSubtypeです。ラベル | 文字列 | 転送サブタイプのラベル。ラベルを渡さない場合、転送サブタイプの UI には何も表示されません。 有効な値:
これは、 searchTargetList.targets.transferSubtypes.id の値に対応している必要があります。 |
| searchTargetList。ターゲット。種類 | 文字列 | ターゲットのタイプ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、アクティブ状態コンテキストを設定する方法を示しています。
openFrameAPI.setICContext("activeCall", {
"activeCall": [
{
"nowRecordTable": "interaction",
"nowRecordId": "12345675678903456",
"externalId": "1234567890",
"type": "call",
"direction": "inbound",
"currentParticipant": {
"id": "participant1",
"name": "John 1",
"actor": "agent",
"state": "connected",
"connectedTime": "Fri, 12 Jul 2024 05:23:41 GMT",
"callStartTime": "Fri, 12 Jul 2024 04:20:22 GMT",
"muted": false,
"held": true,
"paused": true,
"flagged": true,
"recording": "in_progress",
"capabilities": {
"hold": false,
"mute": true,
"endCall": true,
"startRecording": true,
"pauseRecording": true,
"stopRecording": true,
"resumeRecording": true,
"transfer": true,
"mergeCall": true,
"leaveAndTransfer": true,
"dtmf": true,
"flag": true
}
},
"participants": [
{
"id": "customer1",
"name": "Gilly 1",
"actor": "customer",
"address": "+18582359874",
"ani": "+16193287356",
"dnis": "+18004346258",
"state": "connected",
"connectedTime": "Fri, 12 Jul 2024 00:23:41 GMT",
"callStartTime": "Fri, 12 Jul 2024 20:55:04 GMT",
"muted": false,
"held": false,
"heldAtTime": "Fri, 12 Jul 2024 20:55:04 GMT",
"capabilities": {
"mute": true,
"hold": true,
"endCall": true
}
},
{
"id": "agent2",
"name": "Ned",
"actor": "agent",
"address": "+3134787324",
"ani": "+13134787324",
"dnis": "+14773286943",
"state": "Ringing...",
"requireWrapup": true,
"requestACW": true,
"connectedTime": "Fri, 12 Jul 2024 20:24:41 GMT",
"callStartTime": "Fri, 12 Jul 2024 20:56:34 GMT",
"muted": true,
"held": true,
"heldAtTime": "Fri, 12 Jul 2024 20:55:41 GMT",
"capabilities": {
"mute": true,
"endCall": true,
"hold": true
}
}
]
},
{
"nowRecordTable": "interaction",
"nowRecordId": "12345yhedfh534576u5",
"externalId": "1234567890",
"type": "call",
"direction": "inbound",
"currentParticipant": {
"id": "participant1",
"name": "John 1",
"actor": "agent",
"state": "connected",
"muted": true,
"held": false,
"recording": "in_progress",
"paused": true,
"flagged": true,
"capabilities": {
"hold": false,
"mute": true,
"endCall": true,
"record": true,
"startRecording": true,
"stopRecording": true,
"transfer": true,
},
"mergeCall": false,
"dtmf": true,
"flag": true
}
},
"participants": [
{
"id": "customer1",
"name": "Gilly 2",
"actor": "customer",
"address": "+123456789",
"state": "connected",
"connectedTime": "Wed, 04 Dec 2024 00:23:41 GMT",
"muted": true,
"held": false,
"heldAtTime": "Fri, 12 Jul 2024 20:24:41 GMT”,
"capabilities": {
"mute": true,
"hold": true,
"endCall": true
}
},
{
"id": "agent2",
"name": "Ned 2",
"actor": "agent",
"address": "+123456789",
"state": "Ringing...",
"connectedTime": "Fri, 12 Jul 2024 20:24:41 GMT",
"muted": true,
"held": true,
"heldaAtTime": "Fri, 12 Jul 2024 20:24:41 GMT”,
"capabilities": {
"mute": true,
"endCall": true,
"hold": true
}
}
]
}
]
}
);
次の例は、アイドル状態コンテキストを設定する方法を示しています。
openFrameAPI.setICContext("idleState", {
"capability": {
"outBoundCall": true,
"logOut": true
},
"enableState": {
"outBoundCall": true,
"logOut": true
},
"dialpadInfoMessage": {
"label": "Info Message Label",
"value": "Info Message Value"
},
"currentInboundId": "1234"
});
次の例は、検索ターゲットのリストコンテキストを設定する方法を示しています。
openFrameAPI.setICContext("searchTargetList",
{
"searchTargetList": [
{
"nowRecordTable": "interaction",
"nowRecordId": "1234",
"externalId": "5678",
"participantID": "participant1",
"targets": [
{
"type": "agent",
"transferSubtypes": [
{
"id": "consult",
"label": "Consult"
},
{
"id": "blind",
"label": "Blind"
}
],
"payload": {
"list": [
{
"name": "John Jason",
"id": "agent1Id",
"hasStats": "true",
"presence": "away",
"moreInfo": [
{
"label": "Skill",
"value": "10sec"
}
]
}
]
}
},
{
"type": "queue",
"transferSubtypes": [
{
"id": "consult",
"label": "Consult"
},
{
"id": "blind",
"label": "Blind"
}
],
"payload": {
"list": [
{
"name": "Product Support Queue",
"id": "queue1Id",
"hasStats": "true",
"moreInfo": [
{
"label": "Skill",
"value": "10sec"
},
{
"label": "Queue Skill",
"value": "German"
}
]
},
{
"name": "Billing Queue",
"id": "queue2Id",
"hasStats": "true",
"moreInfo": [
{
"label": "Skill",
"value": "10sec"
}
]
}
]
}
}
],
"customPayload": {}
}
],
"customPayload": {}
});
openFrameAPI - setIcons(アレイ icons)
閉じるアイコンの横に配置される OpenFrame ヘッダーのアイコンを定義します。
| 名前 | タイプ | 説明 |
|---|---|---|
| アイコン | オブジェクトのアレイ | アイコン構成のリスト。各アイコン構成は、キー値 imageURL、 imageTitle、およびその他の必要なコンテキストを持つオブジェクトです。 最大サイズ:アイコンは最大 16x16 ピクセルです。大きな画像は、この最大値に自動的に調整されます。 |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setIcons([{imageURL:'https://mydomian.com/image/mute.png',
imageTitle:'mute', id:101}, {imageURL:'https://mydomian.com/image/hold.png',
imageTitle:'hold', id:102}]);
openFrameAPI - setPresenceIndicator(presence)
エージェントの空き状況を表示するプレゼンスインジケーターを Workspace に設定します。
OpenFrame の設定の詳細については、「OpenFrame 設定の作成」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| state | 文字列 | エージェントの在席ステータス。 デフォルトのステータス:
カスタムのステータスも指定できます。 |
| 色 | 文字列 | Workspace のプレゼンスインジケーターの色。 サポートされている色:
|
| タイプ | 説明 |
|---|---|
| なし |
openframeAPI.setPresenceIndicator('Available', 'green');
openFrameAPI - setSize(数字 width, 数字 height)
OpenFrame のサイズを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| width | 数字 | ゼロより大きくする必要があります。 |
| height | 数字 | ゼロより大きくする必要があります。 |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setSize(300, 370);
openFrameAPI - setSubtitle(文字列 subTitle)
OpenFrame のサブタイトルを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| subTitle | 文字列 | 256 文字以下の文字列。 |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setSubtitle('+18888888888');
openFrameAPI - setTitle(文字列 title)
OpenFrame のタイトルを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| title | 文字列 | 256 文字以下の文字列。 |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setTitle('Incoming Call');
openFrameAPI - setTitleIcon(オブジェクト icon)
OpenFrame のタイトルアイコンを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| icon | オブジェクト | キーと値のペアのオブジェクト。キーには、 imageURL、 imageTitle、およびその他の必要なコンテキストが含まれます。 最大サイズ:アイコンは最大 16x16 ピクセルです。大きな画像は、この最大値に自動的に調整されます。 |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setTitleIcon({imageURL:'/my/image/path.png', imageTitle:'mute', id:101});
openFrameAPI.setTitleIcon({imageURL:'https://mydomian.com/image/path.png',
imageTitle:'mute', id:101});
openFrameAPI - setwidth(width)
OpenFrame の幅を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| Width | 数字 | 幅 (ピクセル) |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setWidth(100);
openFrameAPI - show()
TopFrame で OpenFrame を表示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.show()
openFrameAPI - subscribe(openFrameAPIEVENT event, 関数 eventCallback)
指定されたイベントに登録します。
| 名前 | タイプ | 説明 |
|---|---|---|
| イベント | openFrameAPIEVENT | 登録するイベント:
|
| eventCallback | 関数 | 指定されたイベントが発生したときに呼び出す関数。 |
| タイプ | 説明 |
|---|---|
| 結果 | ほとんどのイベントサブスクリプションには戻り値がありません。値を返すイベントサブスクリプションについては、次の表のエントリで説明します。 |
| openframe_awa_agent_presence | AWAでは、openframe_awa_agent_presenceイベントはプレゼンスオブジェクトを返します。presence:エージェントの現在の在席状況とチャネルに関する情報。
|
| openframe_awa_workitem_acceptedとopenframe_awa_workitem_offered | AWAでは、openframe_awa_workitem_acceptedイベントとopenframe_awa_workitem_offeredイベントがworkItemオブジェクトを返します。workItem:イベントに関連付けられている作業アイテムに関する情報。
|
| openframe_awa_workitem_rejected | AWAでは、openframe_awa_workitem_rejectedイベントは workItem オブジェクトを返します。workItem:イベントに関連付けられている作業アイテムに関する情報。
|
| openframe_heart_beat | openframe_heart_beatイベントは、次のオブジェクトを返します。
|
| openframe_wrap_up_submitted | openframe_wrap_up_submittedイベントは、次のオブジェクトを返します。
|
次のコード例は、 openframe_awa_agent_presence イベントに対してこのメソッドを呼び出す方法を示しています。
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_agent_presence, handleIconClick);
出力:
// Sample presence object output
// openframe_awa_agent_presence event only
{
"result":{
"presence":{
"name":"Available",
"sys_id":"27f675e3739713004a905ee515f6a7c3",
"available":true,
"channels":[
{
"name":"Chat",
"available":true,
"sys_id":"36f675e4239713124a905fe515f6a832",
"restrict_update":false
},
{
"name":"Phone",
"available":true,
"sys_id":"9378a530a1820610f809018efd9bc01e",
"restrict_update":false
}
]
}
}
}
次のコード例は、 openframe_awa_workitem_accepted イベントに対してこのメソッドを呼び出す方法を示しています。
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_accepted, handleIconClick);
出力:
// Sample workItem object output
// openframe_awa_workitem_accepted event only
{
"result": {
"workItem": {
"sys_id": "14c86c40a1650610f87701807d9bc0be",
"size": 1,
"serviceChannel": {
"name": "Chat",
"sys_id": "27f675e3739713004a905ee515f6a7c3"
},
"document": {
"sys_id": "aa582040a1650610f87701807d9bc076",
"table": "interaction"
},
"previousWorkItem": "7c78a440a1650610f87701807d9bc02b",
"isQueueTransferred": true,
"isAutoAccepted": true
}
}
}
次のコード例は、 openframe_awa_workitem_rejected イベントに対してこのメソッドを呼び出す方法を示しています。
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_rejected, handleIconClick);
出力:
// Sample workItem object output
// openframe_awa_workitem_rejected event only
{
"payload": {
"workItem": {
"sys_id": "2c3bdc4824250610f8775e73b116f8de",
"size": "1",
"serviceChannel": {
"name": "Chat",
"sysID": "27f675e3739713004a905ee515f6a7c3"
},
"document": {
"sys_id": "cf0a180824250610f8775e73b116f80c",
"table": "interaction"
},
"rejection": {
"reason": "Busy",
"sys_id": "4e93fa29b38023002e7b6e5f26a8dc20"
},
"previousWorkItem": "831b9c4824250610f8775e73b116f841",
"isQueueTransferred": true
}
}
}
openFrameAPI - version()
OpenFrame API のバージョンを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | OpenFrame API のバージョン |
var version = openFrameAPI.version();
console.log("API version " + version);