openFrameAPI - クライアント
openFrameAPI は、OpenFrame とやり取りするメソッドを提供します。OpenFrame は、コミュニケーションパートナーが自社のシステムを ServiceNow Platform に統合するために使用できる遍在型フレームです。
コア要件の 1 つは、パートナー サブシステムとシームレスに接続できるさまざまなドメインのコードを接続して提供する機能です。このクロスドメイン接続は、クロスドメインの問題なく接続とコールバックを通信システムに登録し続けるために必要です。
openFrameAPI - getAWAAgentPresence(文字列成功、文字列失敗)
ログインしているエージェントの現在の在席状況を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 成功 | 文字列 | メソッドが成功した場合、呼び出すコールバック関数の名前。 |
| 失敗 | 文字列 | メソッドが失敗した場合、呼び出すコールバック関数の名前。 |
| タイプ | 説明 |
|---|---|
| プレゼンス | 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 | エージェントの在席状況の名前。 データタイプ:文字列 |
| presence.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(オブジェクト構成, 関数 successCallback, 関数 failureCallback)
OpenFrame を初期化します。これは、最初に呼び出すメソッドである必要があります。
このメソッドは、TopFrame への通信を初期化し、 config パラメーターで渡されたビジュアル要素を初期化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 構成 | オブジェクト | 初期化プロセス中に使用する名前と値のペア。 可能なキー: すべてのキーはオプションです。これらのキーと値のペアを設定しない場合は、空のオブジェクトを渡します。
|
| successCallback | 関数 | init メソッドが成功した場合に使用するコールバック関数の名前。システムに保存されている OpenFrame 構成 は、コールバック関数にパラメーターとして渡されます。 |
| 失敗コールバック | 関数 | 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(関数コールバック)
OpenFrame が TopFrame に表示されるかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| コールバック | 関数 | コールバック関数は、true または false の値を持つパラメーターを受け取ります。OpenFrame が表示されている場合は true、表示されていない場合は false。 |
| タイプ | 説明 |
|---|---|
| なし |
function callback(isVisible) {
console.log(isVisible)
}
openFrameAPI.isVisible(callback)
openFrameAPI - openCustomURL (文字列の詳細)
UI16 インターフェイスでカスタム URL を開きます。
| 名前 | タイプ | 説明 |
|---|---|---|
| URL | 文字列 | カスタム URL のテキスト。 最大サイズ:2083 文字 |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.openCustomURL('10_cool_things.do');
openFrameAPI - openServiceNowForm (オブジェクトの詳細)
フォームの 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とエンコードされたクエリを使用してワークスペースの姓と名のフィールドに入力し、フォームで指定されたデータで新しいレコードを作成する方法を示しています。
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(オブジェクトの詳細)
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 の高さを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 高さ | 番号 | 高さ (ピクセル) |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setHeight(100);
openFrameAPI - setICContext(String Type, Object <context>)
クライアントのインタラクションコントロールに関連するコンテキストデータを設定します。このコンテキストデータを使用して、OpenFrame に表示するクライアント UI を決定します。
インタラクティブコントロールの詳細については、「 Interaction Controls Component (ICC) for voice calls」を参照してください。
インタラクションレコードの詳細については、「 CSM voice interaction record page」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| <コンテキスト> | オブジェクト | 設定するコンテキストデータ。各コンテキストデータタイプは、一意の入力データのセットです。 有効な Context データオブジェクト:
|
| activeCall | オブジェクトのアレイ | アクティブなコールに関するコンテキストの詳細。各オブジェクトは進行中のアクティブなコールを表します。 |
| activeCall.callbackContext | オブジェクト | activeCall.typeプロパティがコールバックの場合にのみ使用されます。進行中のコールバックコンポーネントのコールバックコンテキスト情報。 |
| activeCall。callbackContext です。エージェントによる呼び出しの試行 | ブーリアン | コールバックがカスタマーサービスエージェントによって試行されたかどうかを示すフラグ。 有効な値:
デフォルト値:False |
| activeCall。callbackContext です。コールバック番号 | アレイ | 文字列として指定された電話番号のリスト。 |
| activeCall。callbackContext です。終了時を閉じる | 文字列 | callAttemptedByAgentが true の場合にのみ設定します。UTC 形式のコールバックの終了時間。 |
| activeCall。callbackContext です。顧客名 | 文字列 | 顧客の名前。 |
| activeCall。callbackContext です。dialInEndTime | 文字列 | callAttemptedByAgentが false で、コールバックのタイプが自動ダイヤルの場合にのみ設定されます。UTC 形式のコールバックのダイヤルイン終了時間。 |
| 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.callbackTransferStatus | 文字列 | CCaaS (Contact Center as a Service) コールバック転送ステータス。 可能な値:
|
| activeCall.currentParticipant.capabilities.cancelCallbackTransferEligible | ブーリアン | コールバック転送キャンセルオプションが有効かどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities.closeCallback | ブーリアン | コールバックをクローズボタンが有効かどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。DTMF | ブーリアン | エージェントに現在のコールに対するデュアルトーンマルチ周波数 (DTMF) 機能があるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。エンドコール | ブーリアン | 関連付けられた参加者がコールを終了できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。旗 | ブーリアン | 参加者が音声品質の問題などの品質の問題について通話にフラグを付けることができるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。持つ | ブーリアン | 参加者がコールを保留にできるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities です。initiateCall | ブーリアン | 関連付けられた参加者が通話を開始できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。leaveAndTransfer | ブーリアン | 参加者がコールを別のエージェントに転送してから、コールをドロップできるかどうかを示すフラグ。相談対象ユーザーがコールの所有者でない場合の相談転送などのアクションに対して、この機能を有効にします。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。MergeCall | ブーリアン | 参加者がコールを結合できるかどうかを示すフラグ。参加者のコールレッグを結合できる場合は、この機能を使用します。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。唖 | ブーリアン | 参加者がコールをミュートできるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。記録の一時停止 | ブーリアン | 参加者が通話の記録を一時停止できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| activeCall.currentParticipant.capabilities。resumeRecording | ブーリアン | 参加者がコールの記録を再開できるかどうかを示すフラグ。 有効な値:
デフォルト値: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。参加者。身分証明書 | 文字列 | 必須です。サービスとしてのコンタクトセンター (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.logOut | ブーリアン | ユーザーがアイドル状態のときにログアウトできるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| idleState.capability.outBoundCall | ブーリアン | ユーザーがアイドル状態のときに発信コールを実行できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| idleState です。currentInboundId | 文字列 | 発信コールインタラクションの作成に使用されるプロバイダーアプリケーションの受信識別子。 テーブル:プロバイダーチャネル ID [sys_cs_provider_application] テーブルの id フィールドにあります。 デフォルト:ベースシステムプロバイダーアプリケーション |
| idleState です。dialpadInfoメッセージ | オブジェクト | 現在選択されているキューなど、ユーザーのダイヤルパッドに表示する情報メッセージの詳細。次の例では、 label は [選択されたキュー: ] で、 value は [顧客の問い合わせ] です。[選択したキュー:顧客の問い合わせ (Selected queue: Customer Inquiries)] で label または value パラメーターのいずれかを使用することもできます。 |
| idleState です。dialpadInfoMessage です。ラベル | 文字列 | ダイヤルパッドに表示する自由形式のラベル。 |
| idleState です。dialpadInfoMessage です。値 | 文字列 | ダイヤルパッドのラベルの後に表示する自由形式のメッセージテキスト。 |
| idleState です。enableState | オブジェクト | ダイヤルパッドのボタンの有効化状態に関する詳細。 |
| idleState です。enableState です。ログアウト | ブーリアン | アイドル状態のときに UI のログアウトボタンを有効にするかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| idleState です。enableState です。outBoundCall | ブーリアン | アイドル状態のときに UI の発信コールボタンを有効にするかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| offerContext | オブジェクト | 現在の参加者の対障害弾力性のオファーコンテキストに関する詳細。 |
| offerContext.assignment | オブジェクト | エージェントのアサインに関する詳細。 |
| offerContext.assignment. allowedToDecline | ブーリアン | 必須です。エージェントがアサインを拒否できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| offerContext.assignment. enableAutoAssign | ブーリアン | 必須です。エージェントがアサインを自動的に受け取るかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| offerContext.assignment. offeredOn | 文字列 | オファーが行われた日付は UTC 形式 (Www, dd Mmm yyyy HH:mm:ss GMT) です。 |
| offerContext.assignment. timeout | 文字列 | タイムアウトまでにエージェントにアサインする時間 (ミリ秒)。 |
| offerContext.creationTime | 文字列 | オプション。UTC 形式 (YYYY-MM-DDTHH:MM:SS) でのコール作成日時。 |
| offerContext.description | 文字列 | オプション。オファーの説明。 |
| offerContext.displayContent | オブジェクト | オプション。画面に表示される値を表す一意の JSON ペイロード値。 |
| offerContext.externalId | 文字列 | 関連付けられた外部システム上の現在アクティブなコールを識別する一意の値。 |
| offerContext.isResilient | ブーリアン | オプション。オファーコンテキストに回復力があるかどうかを示すフラグ。 有効な値:
デフォルト:true |
| offerContext.metadata | オブジェクト | オプション。自由形式のカスタム JSON ペイロード値。 |
| offerContext です。nowRecordId | 文字列 | 必須です。アクティブなコールレコードのSys_id。 テーブル:インタラクション [interaction] ベースシステムでのみサポートされているオプション。 |
| offerContext です。nowRecordTable | 文字列 | オプション。このプロパティを使用して、転送する作業アイテムとセグメントを設定します。 |
| offerContext です。providerAppInboundId | 文字列 | オプション。受信サードパーティプロバイダーからの一意の ID。 |
| offerContext です。キュー ID | 文字列 | 通常の (非転送) アサインに必要です。アサインキューを表す一意の ID。転送割り当てには transferContent.targetId プロパティを使用します。 |
| offerContext です。requesterId | 文字列 | 必須です。オファー要求者の一意の ID。音声の場合、この値はユーザーの電話番号にすることができます。 |
| offerContext.transferContent | オブジェクト | 転送割り当てに必要な詳細。 |
| offerContext.transferContent. sourceQueueId | 文字列 | アサインキューのsys_id ID または外部 ID。 |
| offerContext.transferContent. targetId | 文字列 | キュー転送の sys_id ID または外部 ID。 |
| offerContext.transferContent. targetType | 文字列 | 転送ターゲットのタイプ。 有効な値:
|
| offerContext.transferContent. transferType | 文字列 | 転送のタイプ。 有効な値:
|
| offerContext.type | 文字列 | コールのタイプ。 有効な値:
|
| searchTargetList | オブジェクトのアレイ | ServiceNowテーブルの転送関連データのコンテキスト詳細。 |
| searchTargetList。externalId | 文字列 | CCaaS システム上に関連付けられたコールの一意の識別子。 |
| searchTargetList。現在のレコード ID | 文字列 | 必須です。searchTargetList が属するレコードのSys_id。 注: 現在、インタラクション [interaction] テーブルのレコードのみがサポートされています。 |
| searchTargetList。nowRecordTable | 文字列 | 必須です。searchTargetList ServiceNow 属するテーブル。 テーブル:有効な値 |
| searchTargetList。participantID | 文字列 | CCaaS システムからの参加者の一意の識別子。 |
| searchTargetList.quickStats | オブジェクトのアレイ | オプション。エージェントエントリにのみ適用されます。エージェントのステータス情報を提供するためにエージェント行にインラインで表示されるステータス記述子のリスト。レンダリング例: |
| searchTargetList.quickStats.label | 文字列 | エージェント行に表示されるステータスラベル。 |
| searchTargetList.quickStats.value | 文字列 | ラベルに追加されるオプションの値。 |
| 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。ターゲット。種類 | 文字列 | ターゲットのタイプ。 有効な値:
|
| searchTargetList.targetTypes | 文字列のアレイ | オプション。指定されたインタラクションに基づいて電話帳コンポーネントに表示するタブを指定します。指定できる値:
デフォルト:3 つのタブすべてが表示されます。 |
| タイプ | 文字列 | 設定するコンテキストデータのタイプ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし | |
| エラー (offerContext) | 回復性に使用される offerContext オブジェクトに関連付けられたエラーメッセージ。これらのメッセージを表示するには、 subscribe() メソッドを使用してイベント openframe_awa_client_offer サブスクライブします。 コンテキスト値は次のように表されます。
|
次のコード例は、アクティブな状態コンテキストを設定する方法を示しています。
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,
"heldAtTime": "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”,
“targetTypes”: [“agent”, “queue”],
"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.setICContext('activeCall', callbackContext);
var callbackContext = {
"activeCall": [
{
"nowRecordTable": "Customer interaction",
"nowRecordId": "12345yhedfh534576u5",
"externalId": "1234567890",
"type": "callback",
"currentParticipant": {
"id": "agent1",
"capabilities": {
"initiateCall": true,
"closeCallback": true,
"transfer": true,
"cancelCallbackTransferEligible": false,
"callbackTransferStatus": ""
}
},
"callbackContext": {
"customerName": "Fred Luddy",
"callbackNumbers": [
"8665551234"
],
"callAttemptedByAgent": true,
"closeInEndTime": "Mon, 05 Dec 2024 09:25:08 GMT",
"dialInEndTime": ""
}
}
]
}次の例は、offerContext プロパティを使用して対障害弾力性のあるコール応答の詳細を設定する方法を示しています。
// Set offerContext
openFrameAPI.setICContext('offerContext', offerContext);
var offerContext = {
"offerContext": [
{
"nowRecordTable": "interaction",
"type": "phone",
"externalId": "1234567890",
"externalSegmentId": "12345yhedfh534576u5",
"queueId": "10111ad087063250df52fe66cebb3520",
"creationTime": "19-12-2025 11:23:45",
"requesterId": "4085018550",
"assignment": {
"offeredOn": "Fri, 19-12-2025 13:07:59",
"timeout": "4000",
"allowedToDecline": true,
"enableAutoAssign": true
},
"displayContent": {
"title": "Phone",
"displayContent1": "Abel Tuter",
"displayContent2": "Priority - 4-Low",
"displayContent3": "category - Product Issue"
}
}
]
};
openFrameAPI - setIcons (アレイアイコン)
閉じるアイコンの横に配置される 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(プレゼンス)
プレゼンスインジケーターを設定して、ワークスペースでエージェントの対応可能性を表示します。
OpenFrame の設定の詳細については、「OpenFrame 設定の作成」を参照してください
| 名前 | タイプ | 説明 |
|---|---|---|
| state | 文字列 | エージェントの在席状況。 デフォルトのステータス:
カスタム状況を指定することもできます。 |
| 色 | 文字列 | ワークスペースのプレゼンスインジケーターの色。 サポートされている色:
|
| タイプ | 説明 |
|---|---|
| なし |
openframeAPI.setPresenceIndicator('Available', 'green');
openFrameAPI - setSize(数値の幅, 数値の高さ)
OpenFrame サイズを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 幅 | 番号 | ゼロより大きい値にしてください。 |
| 高さ | 番号 | ゼロより大きい値にしてください。 |
| タイプ | 説明 |
|---|---|
| なし |
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(オブジェクトアイコン)
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 - toastMessage(文字列メッセージ, 文字列タイプ, 数値期間)
アラートメッセージを表示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| message | 文字列 | アラートに表示するメッセージ。 |
| type | 文字列 | メッセージのタイプ 可能な値:
|
| duration | 番号 | オプション。メッセージが自動却下されるまでの期間。 単位:ミリ秒 デフォルト:メッセージは、手動で閉じられるまで表示されます。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、情報、警告、およびエラーメッセージを表示します。
openFrameAPI.toastMessage("Testing info message", "info", 10000); //display for 10 seconds
openFrameAPI.toastMessage("Testing warning message", "warning"); //display until manually closed
openFrameAPI.toastMessage("Testing error message", "error");
openFrameAPI - setWidth(width)
OpenFrame 幅を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 幅 | 番号 | 幅 (ピクセル) |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.setWidth(100);
openFrameAPI:show()
OpenFrame を TopFrame に表示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.show()
openFrameAPI - subscribe(openFrameAPIEVENT event, function eventCallback)
指定されたイベントに登録します。
| 名前 | タイプ | 説明 |
|---|---|---|
| イベント | openFrameAPIEVENT | 登録するイベント:
|
| イベントコールバック | 関数 | 指定されたイベントが発生したときに呼び出す関数。 |
| タイプ | 説明 |
|---|---|
| results | ほとんどのイベントサブスクリプションには戻り値がありません。値を返すイベントサブスクリプションについては、次の表エントリで説明しています。 |
| 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
}
}
}
次の例は、 interaction_control_action イベントに登録する方法を示しています。
openFrameAPI.subscribe("interaction_control_action", function(action) {
// Can perform the action based on the name
if (action.name == "mute") {
mute();
openFrameAPI.setICContext("activeCall", context); // Update context representing the change
} else if (action.name == "getSearchTarget") {
action.payload.searchType == "queue" ? fetchQueueTransferList(action.payload.searchTerm) : fetchAgentTransferList(action.payload.searchTerm);
openFrameAPI.setICContext("searchTargetList", context); // Call context will have the transfer list
} else if (action.name == "logout") {
logout();
openFrameAPI.showIframe(); // Show iframe api
}
});
openFrameAPI - バージョン ()
OpenFrame API バージョンを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | OpenFrame API バージョン |
var version = openFrameAPI.version();
console.log("API version " + version);