openFrameAPI - クライアント

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:81分
  • openFrameAPI は、OpenFrame とやり取りするメソッドを提供します。OpenFrame は、コミュニケーションパートナーが自社のシステムを ServiceNow Platform に統合するために使用できる遍在型フレームです。

    コア要件の 1 つは、パートナー サブシステムとシームレスに接続できるさまざまなドメインのコードを接続して提供する機能です。このクロスドメイン接続は、クロスドメインの問題なく接続とコールバックを通信システムに登録し続けるために必要です。

    OpenFrame には 2 つの重要な部分があります。1 つは ServiceNow アプリケーション (TopFrame と呼ばれる) と、この API はパートナーアプリケーションから供給されます。この API には、TopFrame と通信し、 OpenFrame のビジュアル機能を制御するために必要なメソッドがあります。
    注:
    OpenFrame ライブラリへの参照を最新に保つには、https://[servicenow instance]/scripts/openframe/latest/openFrameAPI.min.js のリソース URI を使用します。

    openFrameAPI - getAWAAgentPresence(文字列成功、文字列失敗)

    ログインしているエージェントの現在の在席状況を返します。

    表 : 1. パラメーター
    名前 タイプ 説明
    成功 文字列 メソッドが成功した場合、呼び出すコールバック関数の名前。
    失敗 文字列 メソッドが失敗した場合、呼び出すコールバック関数の名前。
    表 : 2. 返される内容
    タイプ 説明
    プレゼンス openFrame インフラストラクチャによって成功コールバック関数に渡される結果。

    データタイプ: オブジェクト

    "presence": {  
      "available": Boolean, 
      "channels": [Array],
      "name": "String", 
      "sys_id": "String"
    }
    presence.available 関連付けられたエージェントが利用可能かどうかを示すフラグ。
    有効な値:
    • true:エージェントが利用可能です。
    • false:エージェントは利用できません。

    データタイプ:ブーリアン

    presence.channels エージェントとの通信の利用可能なチャネルのリスト。

    データタイプ:オブジェクトのアレイ

    "channels": [
      { 
        "available": Boolean,
        "name": "String",
        "restrict_update": Boolean,
        "service_channel_type": "String",
        "sys_id": "String"
      }
    ]
    presence.channels.available チャネルが利用可能かどうかを示すフラグ。
    有効な値:
    • true:チャネルが利用可能です。
    • false:チャネルは利用できません。

    データタイプ ブーリアン

    presence.channels.name チャットや電話などのチャネルの名前。

    データタイプ:文字列

    presence.channels.restrict_update ユーザーがチャネルの更新を制限できるかどうかを示すフラグ。
    有効な値:
    • true:ユーザーはチャネルの更新を制限できます。
    • false:ユーザーはチャネルの更新を制限できません。

    データタイプ ブーリアン

    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 を非表示にします。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    なし
    openFrameAPI.hide()

    openFrameAPI - init(オブジェクト構成, 関数 successCallback, 関数 failureCallback)

    OpenFrame を初期化します。これは、最初に呼び出すメソッドである必要があります。

    このメソッドは、TopFrame への通信を初期化し、 config パラメーターで渡されたビジュアル要素を初期化します。

    表 : 5. パラメーター
    名前 タイプ 説明
    構成 オブジェクト 初期化プロセス中に使用する名前と値のペア。
    可能なキー:
    • 高さ
    • subTitle
    • title
    • タイトルアイコン
    すべてのキーはオプションです。これらのキーと値のペアを設定しない場合は、空のオブジェクトを渡します。
    successCallback 関数 init メソッドが成功した場合に使用するコールバック関数の名前。システムに保存されている OpenFrame 構成 は、コールバック関数にパラメーターとして渡されます。
    失敗コールバック 関数 init メソッドが失敗した場合に使用するコールバック関数の名前。
    表 : 6. 返される内容
    タイプ 説明
    なし
    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 に表示されるかどうかを確認します。

    表 : 7. パラメーター
    名前 タイプ 説明
    コールバック 関数 コールバック関数は、true または false の値を持つパラメーターを受け取ります。OpenFrame が表示されている場合は true、表示されていない場合は false。
    表 : 8. 返される内容
    タイプ 説明
    なし
    function callback(isVisible) {
    console.log(isVisible)
    }
    openFrameAPI.isVisible(callback)

    openFrameAPI - openCustomURL (文字列の詳細)

    UI16 インターフェイスでカスタム URL を開きます。

    表 : 9. パラメーター
    名前 タイプ 説明
    URL 文字列 カスタム URL のテキスト。

    最大サイズ:2083 文字

    表 : 10. 返される内容
    タイプ 説明
    なし
    openFrameAPI.openCustomURL('10_cool_things.do');
    

    openFrameAPI - openServiceNowForm (オブジェクトの詳細)

    フォームの URL を開きます。

    エージェントが着信コールを受信すると、OpenFrame ウィンドウにアカウント、連絡先、コンシューマーなどの情報が表示されます。OpenFrame ウィンドウ内のリンクをクリックすると、対応するレコードが表示されます。
    • プラットフォームインターフェイスでは、この API は TopFrame でフォーム URL を開きます。
    • エージェントワークスペース、この API はインタラクションタブ管理をサポートしています。エージェントワークスペースでは、インタラクションレコードが親タブで開き、指定されたエンティティレコードがインタラクションタブの下の子タブで開きます。
    表 : 11. パラメーター
    名前 タイプ 説明
    details オブジェクト 開くフォームの URL を識別するキーと値のペア。
    "details": {
      "entity": "String";
      "interaction_sys_id": "String";
      "query": "String"
    }
    details.entity 文字列 テーブルまたはエンティティの名前。
    details.interaction_sys_id 文字列 オプション。エージェントワークスペースで親タブとして開くインタラクションレコードのSys_id。
    注:
    プラットフォームインターフェイスでは、 interaction_sys_id は無視されます。
    details.query 文字列 開くレコードを識別するクエリ ( query:'sys_id=<record_sys_id>' など)。
    表 : 12. 返される内容
    タイプ 説明
    なし

    次の例は、プラットフォームでの基本的な使用法を示しています。

    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 インターフェイスで呼び出された場合はエンティティを開きます。

    表 : 13. パラメーター
    名前 タイプ 説明
    openServiceNowFormwithChildTab オブジェクト ワークスペースで呼び出された場合は API が子タブを含む ServiceNow フォームを開くか、UI16 インターフェイスで呼び出された場合はエンティティを開くかを定義します。
    openFrameAPI.openServiceNowFormwithChildTab({
      entity: "String",
      sys_id: String", 	
      parent_entity: "String",	
      parent_entity_sys_id: "String"
    })
    openServiceNowFormwithChildTab.entity 文字列 開くレコードを含むテーブルの名前。
    openServiceNowFormwithChildTab.sys_id 文字列 開くレコードの sys_id。
    openServiceNowFormwithChildTab.parent_entity 文字列 親タブとして開くテーブルの名前。
    openServiceNowFormwithChildTab.parent_entity_sys_id 文字列 開く親レコードのSys_id。
    表 : 14. 返される内容
    タイプ 説明
    なし

    次の例では、構成されたワークスペースで親エンティティを親タブとして開くか、UI16 で呼び出された場合はエンティティのみを開きます。

    openFrameAPI.openServiceNowFormwithChildTab({
      entity: "customer_account", 
      sys_id: "447832786f0331003b3c498f5d3ee452", 	
      parent_entity: "interaction", 
      parent_entity_sys_id: "3be092313b711300758ce9b534efc4dd"
    });

    openFrameAPI - openServiceNowList(オブジェクトの詳細)

    UI16 インターフェイスでリスト URL を開きます。

    表 : 15. パラメーター
    名前 タイプ 説明
    details オブジェクト リスト URL を開くときに使用するコンテンツを説明するキーと値のペア。

    有効な値:

    表 : 16. 返される内容
    タイプ 説明
    なし
    openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});

    openFrameAPI - setFrameMode(mode)

    OpenFrame モードを設定します。

    この API で渡されるモード:
    • ヘッダーに適切なアイコン (折りたたみまたは展開) を設定します
    • CTI に関連するイベントを発生させます。
      • openFrameAPI.EVENTS.COLLAPSE
      • openFrameAPI.EVENTS.EXPAND
    表 : 17. パラメーター
    名前 タイプ 説明
    モード 文字列 OpenFrame モードを設定します。列挙されたオプション:
    1. openFrameAPI.FRAME_MODE。折りたたみ
    2. openFrameAPI.FRAME_MODE。展開
    表 : 18. 返される内容
    タイプ 説明
    なし
    openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
    

    openFrameAPI:setHeight(height)

    OpenFrame の高さを設定します。

    表 : 19. パラメーター
    名前 タイプ 説明
    高さ 番号 高さ (ピクセル)
    表 : 20. 返される内容
    タイプ 説明
    なし
    openFrameAPI.setHeight(100);

    openFrameAPI - setICContext(String Type, Object <context>)

    クライアントのインタラクションコントロールに関連するコンテキストデータを設定します。このコンテキストデータを使用して、OpenFrame に表示するクライアント UI を決定します。

    インタラクティブコントロールの詳細については、「 Interaction Controls Component (ICC) for voice calls」を参照してください。

    インタラクションレコードの詳細については、「 CSM voice interaction record page」を参照してください。

    表 : 21. パラメーター
    名前 タイプ 説明
    <コンテキスト> オブジェクト 設定するコンテキストデータ。各コンテキストデータタイプは、一意の入力データのセットです。
    有効な Context データオブジェクト:
    • activeCall
    • idleState
    • offerContext
    • searchTargetList
    activeCall オブジェクトのアレイ アクティブなコールに関するコンテキストの詳細。各オブジェクトは進行中のアクティブなコールを表します。
    "activeCall": [
      { 
        "callbackContext": {Object},
        "currentParticipant": {Object},
        "customPayload: {Object},
        "direction": "String",
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participants": [Array],
        "type": "String"
      }
    ]
    activeCall.callbackContext オブジェクト activeCall.typeプロパティがコールバックの場合にのみ使用されます。進行中のコールバックコンポーネントのコールバックコンテキスト情報。
    "callbackContext": {
      "callAttemptedByAgent": Boolean,
      "callbackNumbers": [Array],
      "closeInEndTime": "String",
      "customerName": "String",
      "dialInEndTime": "String"
    }
    activeCall。callbackContext です。エージェントによる呼び出しの試行 ブーリアン コールバックがカスタマーサービスエージェントによって試行されたかどうかを示すフラグ。
    有効な値:
    • true:コールバックはカスタマーサービスエージェントによって試行されました。true の場合、 closeInEndTimeを設定します。
    • false:コールバックはカスタマーサービスエージェントによって試行されませんでした。false の場合は、 dialInEndTime を設定します。

    デフォルト値:False

    activeCall。callbackContext です。コールバック番号 アレイ 文字列として指定された電話番号のリスト。
    activeCall。callbackContext です。終了時を閉じる 文字列 callAttemptedByAgentが true の場合にのみ設定します。UTC 形式のコールバックの終了時間。
    activeCall。callbackContext です。顧客名 文字列 顧客の名前。
    activeCall。callbackContext です。dialInEndTime 文字列 callAttemptedByAgentが false で、コールバックのタイプが自動ダイヤルの場合にのみ設定されます。UTC 形式のコールバックのダイヤルイン終了時間。
    activeCall.currentParticipant オブジェクト 必須です。現在の参加者のコール機能とコールステータスに関する詳細。
    "currentParticipant": {
      "actor": "String",
      "callStartTime": "String",
      "capabilities": {Object},
      "connectedTime": "String",
      "custom-capability-state-1": Boolean,
      "flagged": Boolean,
      "held": Boolean,
      "id": "String",
      "muted": Boolean,
      "name": "String",
      "paused": Boolean,
      "recording": "String",
      "state": "String",
      "wrapUP": {Object}
    }
    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 オブジェクト 現在の (エージェント) 参加者が通話中に実行できる機能の詳細。関連付けられたアイコンは、有効になっている機能のアクティブなコールコンポーネントに表示されます。

    機能アイコンを含むアクティブコールコンポーネントのスクリーンショット
    "capabilities": {
      "callbackTransferStatus": "String",
      "cancelCallbackTransferEligible": Boolean,
      "closeCallback": Boolean,
      "dtmf": Boolean,
      "endCall": Boolean,
      "flag": Boolean,
      "hold": Boolean,
      "initiateCall": Boolean,
      "leaveAndTransfer": Boolean,
      "mergeCall": Boolean,
      "mute": Boolean,
      "resumeRecording": Boolean,
      "pauseRecording": Boolean,
      "startRecording": Boolean,
      "stopRecording": Boolean,
      "transfer": Boolean
    }
    activeCall.currentParticipant.capabilities.callbackTransferStatus 文字列 CCaaS (Contact Center as a Service) コールバック転送ステータス。

    可能な値:

    • 失敗
    • 空の文字列 (デフォルト)
    activeCall.currentParticipant.capabilities.cancelCallbackTransferEligible ブーリアン コールバック転送キャンセルオプションが有効かどうかを示すフラグ。
    有効な値:
    • true:コールバック転送をキャンセルするオプションが有効になっています。
    • false:コールバック転送をキャンセルするオプションが無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities.closeCallback ブーリアン コールバックをクローズボタンが有効かどうかを示すフラグ。
    有効な値:
    • true:コールバックをクローズボタンが有効です。
    • false:コールバックを閉じるボタンは無効です。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。DTMF ブーリアン エージェントに現在のコールに対するデュアルトーンマルチ周波数 (DTMF) 機能があるかどうかを示すフラグ。
    有効な値:
    • true:参加者は DTMF 機能を持っています。
    • false:参加者に DTMF 機能がありません。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。エンドコール ブーリアン 関連付けられた参加者がコールを終了できるかどうかを示すフラグ。
    有効な値:
    • true:参加者はコールを終了できます。UI でコールの終了ボタンが有効になります。
    • false:参加者はコールを終了できません。UI のコール終了ボタンは無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。旗 ブーリアン 参加者が音声品質の問題などの品質の問題について通話にフラグを付けることができるかどうかを示すフラグ。
    有効な値:
    • true:参加者は問題コールにフラグを設定できます。
    • false:参加者は問題のあるコールにフラグを設定できません。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。持つ ブーリアン 参加者がコールを保留にできるかどうかを示すフラグ。
    有効な値:
    • true:参加者はコールを保留にできます。UI で保留ボタンが有効になります。
    • false:参加者はコールを保留にできません。UI では保留ボタンが無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities です。initiateCall ブーリアン 関連付けられた参加者が通話を開始できるかどうかを示すフラグ。
    有効な値:
    • true:参加者は通話を開始できます。UI でコールの開始ボタンが有効になります。
    • false:参加者は通話を開始できません。UI では [通話の開始] ボタンが無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。leaveAndTransfer ブーリアン 参加者がコールを別のエージェントに転送してから、コールをドロップできるかどうかを示すフラグ。相談対象ユーザーがコールの所有者でない場合の相談転送などのアクションに対して、この機能を有効にします。
    有効な値:
    • true:参加者はコールの転送とドロップオフを行うことができます。
    • false:参加者はコールの転送とドロップオフができません。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。MergeCall ブーリアン 参加者がコールを結合できるかどうかを示すフラグ。参加者のコールレッグを結合できる場合は、この機能を使用します。
    有効な値:
    • true:参加者はコールを結合できます。UI で結合ボタンが有効になります。
    • false:参加者はコールを結合できません。UI の結合ボタンは無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。唖 ブーリアン 参加者がコールをミュートできるかどうかを示すフラグ。
    有効な値:
    • true:参加者はコールをミュートできます。UI でミュートボタンが有効になります。
    • false:参加者はコールをミュートできません。ミュートボタンは UI で無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。記録の一時停止 ブーリアン 参加者が通話の記録を一時停止できるかどうかを示すフラグ。
    有効な値:
    • true:参加者は通話の記録を一時停止できます。UI で記録の一時停止ボタンが有効になります。
    • false:参加者は通話の記録を一時停止できません。UI では [記録を一時停止] ボタンが無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。resumeRecording ブーリアン 参加者がコールの記録を再開できるかどうかを示すフラグ。
    有効な値:
    • true:参加者は通話の録音を再開できます。UI で記録の一時停止ボタンが有効になります。
    • false:参加者はコールの録音を再開できません。UI では [記録を一時停止] ボタンが無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。記録の開始 ブーリアン 参加者が通話の録音を開始できるかどうかを示すフラグ。
    有効な値:
    • true:参加者は通話の録音を開始できます。UI で記録ボタンが有効になります。
    • false:参加者は通話の録音を開始できません。UI の記録ボタンは無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。記録を停止 ブーリアン 参加者が通話の録音を停止できるかどうかを示すフラグ。
    有効な値:
    • true:参加者はコールの録音を停止できます。UI で [記録を停止] ボタンが有効になっています。
    • false:参加者は通話の録音を停止できません。UI の [記録を停止] ボタンは無効になっています。

    デフォルト値:false

    activeCall.currentParticipant.capabilities。移転 ブーリアン 参加者がコールを転送できるかどうかを示すフラグ。
    有効な値:
    • true:参加者はコールを転送できます。UI で転送ボタンが有効になります。
    • false:参加者はコールを転送できません。UI の転送ボタンは無効になっています。

    デフォルト値: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 ブール コールに現在参加者がいるかどうかを示すフラグ。
    有効な値:
    • true:現在の参加者。
    • false:現在カンファレンスに参加している参加者がいません。

    デフォルト値:false

    activeCall.currentParticipant.flagged ブーリアン 通話に音声品質の問題などの問題についてフラグが付けられているかどうかを示すフラグ。
    有効な値:
    • true:コールに問題のフラグが付けられています。
    • false:コールに問題のフラグが付けられていません。

    デフォルト値:false

    activeCall.currentParticipant.held ブーリアン 参加者の保留状態を示すフラグ。
    有効な値:
    • true:参加者は保留中です。
    • false:参加者は保留中ではありません。

    デフォルト値:false

    activeCall.currentParticipant.id 文字列 必須です。エージェントのsys_idなど、関連付けられた参加者レコードのSys_id。

    テーブル: ユーザー [sys_user]

    activeCall.currentParticipant.muted ブーリアン 参加者のミュート状態を示すフラグ。
    有効な値:
    • true:参加者はミュートされています。
    • false:参加者はミュートされていません。

    デフォルト値:false

    activeCall.currentParticipant.name 文字列 参加者の名前。
    activeCall.currentParticipant.paused ブーリアン 参加者の一時停止状態を示すフラグ。
    有効な値:
    • true:参加者は一時停止されています。
    • false:参加者は一時停止されていません。

    デフォルト値:false

    activeCall.currentParticipant.recording 文字列 通話の現在の記録ステータス。
    有効な値:
    • 進行中
    • なし
    activeCall.currentParticipant.wrapUP オブジェクト 将来の使用。
    activeCall.customPayload オブジェクト OpenFrame イベントの一部として OpenFrame に渡すカスタムペイロード。これは自由形式のオブジェクトであり、ボタンやテキストの追加など、アクティブなコールコンポーネントをカスタマイズするために必要なデータを含めることができます。
    activeCall.direction 文字列 関連付けられた参加者のコールの方向。
    有効な値:
    • 受信
    • 送信
    activeCall.externalId 必須です。関連付けられた外部システム上の現在アクティブなコールを識別する一意の値。
    activeCall。現在のレコード ID 文字列 必須です。アクティブなコールレコードのSys_id。

    テーブル:インタラクション [interaction] ベースシステムでのみサポートされているオプション。

    activeCall。nowRecordTable 文字列 必須です。アクティブなコールが属するテーブル。

    テーブル:インタラクション [interaction] ベースシステムでのみサポートされているオプション。

    activeCall。参加者 オブジェクトのアレイ 必須です。コールの追加参加者のリスト。参加者は、エージェント、顧客、エージェントでも顧客でもない外部ユーザー、またはキューにすることができます。
    "participants": [
      {
        "actor": "String",
        "ani": "String",
        "address": "String",
        "capabilities": {Object},
        "callStartTime" "String",
        "connectedTime": "String",
        "customPayload": {Object},
        "dnis": "String",
        "held": Boolean,
        "heldAtTime": "String",
        "id": "String",
        "muted": Boolean,
        "name": "String",
        "requestACW": Boolean,
        "requireWrapup": Boolean,
        "state": "String"
      }
    ]
    activeCall。参加者。俳優 文字列 関連付けられた参加者のアクターのタイプ。
    例:
    • エージェント
    • カスタマー
    • 外部
    • キュー
    activeCall。参加者。住所 文字列 参加者の電話番号。
    activeCall。参加者。アニ 自動番号識別。電話の受信者に表示する電話番号。
    activeCall。参加者。資格 オブジェクト 関連付けられたコールに対して参加者が持つ機能のタイプに関する詳細。
    "capabilities": {
      "endCall": Boolean,
      "hold": Boolean,
      "mute": Boolean
    }
    activeCall。参加者。資格。エンドコール ブーリアン 関連付けられた参加者がコールを終了できるかどうかを示すフラグ。
    有効な値:
    • true:参加者はコールを終了できます。UI でコールの終了ボタンが有効になります。
    • false:参加者はコールを終了できません。UI のコール終了ボタンは無効になっています。

    デフォルト値:false

    activeCall。参加者。資格。持つ ブーリアン 参加者がコールを保留にできるかどうかを示すフラグ。
    有効な値:
    • true:参加者はコールを保留にできます。UI で保留ボタンが有効になります。
    • false:参加者はコールを保留にできません。UI では保留ボタンが無効になっています。

    デフォルト値:false

    activeCall。参加者。資格。唖 ブーリアン 参加者がコールをミュートできるかどうかを示すフラグ。
    有効な値:
    • true:参加者はコールをミュートできます。UI でミュートボタンが有効になります。
    • false:参加者はコールをミュートできません。ミュートボタンは UI で無効になっています。

    デフォルト値: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。参加者。開催 ブーリアン 参加者の保留状態を示すフラグ。
    有効な値:
    • true:参加者は保留中です。
    • false:参加者は保留中ではありません。

    デフォルト値:false

    activeCall。参加者。heldAtTime 文字列 参加者のコールへの接続が保留になった日時。

    タイムベース:UTC

    形式: RSS - 「<曜日>、dd mmm yyyy hh:MM:ss GMT」。例:「Wed, 17 Dec 2024 05:23:41 GMT」

    activeCall。参加者。身分証明書 文字列 必須です。サービスとしてのコンタクトセンター (CCaaS) システムからの参加者の一意の ID。
    activeCall。参加者。ミュート ブーリアン 参加者のミュート状態を示すフラグ。
    有効な値:
    • true:参加者はミュートされています。
    • false:参加者はミュートされていません。

    デフォルト値:false

    activeCall。参加者。名前 文字列 参加者の名前。
    activeCall。参加者。リクエストACW ブール エージェントユースケース専用: activeCall.currentParticipant.actor が「agent」の場合にのみ有効です。

    参加者が顧客をフォローアップするかどうかを示すフラグ。

    有効な値:
    • true:フォローアップが必要です。
    • false:フォローアップは必要ありません。

    デフォルト値:false

    activeCall。参加者。requireWrapup ブール エージェントユースケース専用: activeCall.currentParticipant.actor が「agent」の場合にのみ有効です。

    呼び出しの完了後に 最終作業 コンポーネントを表示するかどうかを示すフラグ。


    最終作業コンポーネントのスクリーンショット
    有効な値:
    • true:コール完了時に 最終作業 コンポーネントを表示します。
    • false:コール完了時に 最終作業 コンポーネントを表示しません。

    デフォルト値:false

    activeCall。参加者。状態 文字列 参加者のコールレッグのステータス。アクティブなコールコンポーネントの電話番号の下に表示されます。
    ステータスを表示するアクティブなコールウィンドウ
    これは、次のような任意の意味のあるテキストにすることができます。
    • アラート
    • 接続
    • 呼び出し中
    activeCall.type 文字列 コールのタイプ。
    有効な値:
    • 呼び出し
    • コールバック
      注:
      設定する場合は、 activeCall.callbackContext オブジェクトの詳細を含める必要があります。
    • ボイスメール
    idleState オブジェクト エージェントのアイドル状態コンテキストについて説明します。このコンテキストデータは、エージェントがコールを待機しているときにダイヤルパッドに表示される情報と、エージェントがこのダイヤルパッドを介して持つ機能を決定します。
    idleState {
     "capability": {Object},
     "currentInboundId": "String",
     "dialpadInfoMessage": {Object},
     "enableState": {Object}
    }
    idleState.capability オブジェクト 現在のユーザーのアイドル状態機能の説明。
    "capability": {
      "globalContactSearch": Boolean,
      "logOut": Boolean,
      "outBoundCall": Boolean
    }
    idleState.capability.globalContactSerarch ブーリアン アイドル状態のときにグローバル連絡先リストを表示するかどうかを示すフラグ。
    有効な値:
    • true:グローバル連絡先リストを表示します。
    • false:グローバル連絡先リストを表示しません。

    デフォルト値:false

    idleState.capability.logOut ブーリアン ユーザーがアイドル状態のときにログアウトできるかどうかを示すフラグ。
    有効な値:
    • true:コールがアイドル状態のときにユーザーはログアウトできます。ログアウトボタンがダイヤルパッドに表示されます。
    • false:コールがアイドル状態のときは、ユーザーはログアウトできません。

    デフォルト値:false

    idleState.capability.outBoundCall ブーリアン ユーザーがアイドル状態のときに発信コールを実行できるかどうかを示すフラグ。
    有効な値:
    • true:コールがアイドル状態のときに、ユーザーは発信コールを発信できます。
    • false:コールがアイドル状態のときは、ユーザーは発信コールを発信できません。

    デフォルト値:false

    idleState です。currentInboundId 文字列 発信コールインタラクションの作成に使用されるプロバイダーアプリケーションの受信識別子。

    テーブル:プロバイダーチャネル ID [sys_cs_provider_application] テーブルの id フィールドにあります。

    デフォルト:ベースシステムプロバイダーアプリケーション

    idleState です。dialpadInfoメッセージ オブジェクト 現在選択されているキューなど、ユーザーのダイヤルパッドに表示する情報メッセージの詳細。
    "dialpadInfoMessage": {
       "label": "String",
       "value": "String"
     }

    次の例では、 label[選択されたキュー: ] で、 value[顧客の問い合わせ] です。[選択したキュー:顧客の問い合わせ (Selected queue: Customer Inquiries)]label または value パラメーターのいずれかを使用することもできます。


    情報メッセージ付きのダイヤルパッドのスクリーンショット
    idleState です。dialpadInfoMessage です。ラベル 文字列 ダイヤルパッドに表示する自由形式のラベル。
    idleState です。dialpadInfoMessage です。値 文字列 ダイヤルパッドのラベルの後に表示する自由形式のメッセージテキスト。
    idleState です。enableState オブジェクト ダイヤルパッドのボタンの有効化状態に関する詳細。
    "enableState": {
       "logOut": Boolean,
       "outBoundCall": Boolean
     }
    idleState です。enableState です。ログアウト ブーリアン アイドル状態のときに UI のログアウトボタンを有効にするかどうかを示すフラグ。
    有効な値:
    • true:アイドル状態のときにログアウトボタンを表示します。
    • false:アイドル状態の間はログアウトボタンを表示しません。

    デフォルト値:false

    idleState です。enableState です。outBoundCall ブーリアン アイドル状態のときに UI の発信コールボタンを有効にするかどうかを示すフラグ。
    有効な値:
    • true:アイドル状態のときに発信コールボタンを表示します。
    • false:アイドル状態の間は発信コールボタンを表示しません。

    デフォルト値:false

    offerContext オブジェクト 現在の参加者の対障害弾力性のオファーコンテキストに関する詳細。
    {
      "assignment": {Object},
      "creationTime": "String",
      "description": "String",
      "displayContent": {Object},
      "externalId": "String",
      "externalSegmentId": "String",
      "isResilient": Boolean,
      "metadata": {Object},
      "nowRecordId": "String",
      "nowRecordTable": "String",
      "providerAppInboundId": "String",
      "queueId": "String",
      "requesterId": "String",
      "transferContent": {Object},
      "type": "String"
    }
    offerContext.assignment オブジェクト エージェントのアサインに関する詳細。
    "assignment": {
      "allowedToDecline": Boolean,
      "enableAutoAssign": Boolean,
      "offeredOn": "String",
      "timeout": "String"
    }
    offerContext.assignment. allowedToDecline ブーリアン 必須です。エージェントがアサインを拒否できるかどうかを示すフラグ。
    有効な値:
    • true:エージェントはアサインを拒否できます。
    • false:エージェントはアサインを拒否できません。

    デフォルト値:false

    offerContext.assignment. enableAutoAssign ブーリアン 必須です。エージェントがアサインを自動的に受け取るかどうかを示すフラグ。
    有効な値:
    • true:エージェントは自動的にアサインを受け取ることができます。
    • false:エージェントは自動的にアサインを受け取ることができません。

    デフォルト値: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:オファーコンテキストは回復力があります。
    • false:オファーコンテキストは回復力がありません。

    デフォルト:true

    offerContext.metadata オブジェクト オプション。自由形式のカスタム JSON ペイロード値。
    offerContext です。nowRecordId 文字列 必須です。アクティブなコールレコードのSys_id。

    テーブル:インタラクション [interaction] ベースシステムでのみサポートされているオプション。

    offerContext です。nowRecordTable 文字列 オプション。このプロパティを使用して、転送する作業アイテムとセグメントを設定します。
    offerContext です。providerAppInboundId 文字列 オプション。受信サードパーティプロバイダーからの一意の ID。
    offerContext です。キュー ID 文字列 通常の (非転送) アサインに必要です。アサインキューを表す一意の ID。転送割り当てには transferContent.targetId プロパティを使用します。
    offerContext です。requesterId 文字列 必須です。オファー要求者の一意の ID。音声の場合、この値はユーザーの電話番号にすることができます。
    offerContext.transferContent オブジェクト 転送割り当てに必要な詳細。
    "transferContent": {
      "sourceQueueId": "String",
      "targetId": "String",
      "targetType": "String",
      "transferType": "String"
    }
    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": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participantID": "String",
        "quickStats": [Array],
        "targets": [Array],
        "targetTypes": [Array]
      }
    ]
    searchTargetList。externalId 文字列 CCaaS システム上に関連付けられたコールの一意の識別子。
    searchTargetList。現在のレコード ID 文字列 必須です。searchTargetList が属するレコードのSys_id。
    注:
    現在、インタラクション [interaction] テーブルのレコードのみがサポートされています。
    searchTargetList。nowRecordTable 文字列 必須です。searchTargetList ServiceNow 属するテーブル。

    テーブル:有効な値「interaction」のみ

    searchTargetList。participantID 文字列 CCaaS システムからの参加者の一意の識別子。
    searchTargetList.quickStats オブジェクトのアレイ オプション。エージェントエントリにのみ適用されます。エージェントのステータス情報を提供するためにエージェント行にインラインで表示されるステータス記述子のリスト。
    "quickStats": [
      {
        "label": "String",
        "value": "String"
      }
    ]

    レンダリング例: 利用可能 |オンコール 1

    searchTargetList.quickStats.label 文字列 エージェント行に表示されるステータスラベル。
    searchTargetList.quickStats.value 文字列 ラベルに追加されるオプションの値。
    searchTargetList。ターゲット オブジェクトのアレイ コールの転送先となるエージェント、外部ユーザー、キューの詳細。
    "targets": [
      {
        "payload": {Object},
        "transferSubtypes": [Array],
        "type": "String"
      }
    ]
    searchTargetList。ターゲット。ペイロード オブジェクト 転送コールコントロールに表示する情報の詳細。

    コールを転送できるエージェントのリストを含む転送 コール コントロールの例を次に示します。スクリーンショットには、 list.payload の各パラメーターが制御する UI の要素が表示されます。


    パラメーターの関連付けを示す [コールを転送] ウィンドウのスクリーンショット
    "payload": {
      "list": [Array]
    }

    この例は、エージェントのペイロードを示しています ("searchTargetList.targets.type": "agent")。

    "payload": {
      "list": [
        {
          "name": "Alice Anderson",
          "id": "agent1Id",
          "hasStats": true,
          "presence": "available",
          "moreInfo": [
            {
              "label": "Skill",
              "value": "CRM certified"
            }
          ]
        }
      ]
    }

    キューペイロードの例を次に示します ("searchTargetList.targets.type": "queue")。

    "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"
            }
          ]
        }
      ]
    }
    searchTargetList。ターゲット。ペイロード。リスト オブジェクトのアレイ ターゲットのタイプごとのペイロードに関する詳細。
    "list": [
      {
        "hasStats": Boolean,
        "id": "String",
        "moreInfo": [Array],
        "name": "String",
        "presence": "String"
      }
    ]
    searchTargetList。ターゲット。ペイロード。リスト。hasStats ブーリアン 関連付けられたターゲットにキューの待機時間などの追加の統計情報があるかどうかを示すフラグ。
    有効な値:
    • true:ターゲットに追加の統計情報があります。エージェント名またはキューの横に情報アイコンが表示されます。
    • false:ターゲットに追加の統計情報がありません。

    デフォルト値:false

    searchTargetList。ターゲット。ペイロード。リスト。身分証明書 文字列 CCaaS システム内のエージェントまたはキューの一意の識別子。
    searchTargetList。ターゲット。ペイロード。リスト。詳細情報 オブジェクトのアレイ searchTargetList.targets.payload.list.hasStats「true」に設定されている場合は必須です。エージェントまたはキューが持つスキルのリスト。ユーザーがエンティティ名の最後にある情報アイコンを選択すると、この情報がポップアップウィンドウに表示されます。
    "moreInfo": [
      {
        "label": "String",
        "value": "String"
      }
    ]
    searchTargetList。ターゲット。ペイロード。リスト。moreInfo です。ラベル 文字列 スキル言語など、ポップアップウィンドウに表示する情報のフリーフォームラベル。
    searchTargetList。ターゲット。ペイロード。リスト。moreInfo です。価値 文字列 ラベルの後のポップアップウィンドウに表示するテキスト ( CRM 認定 、ドイツ など)。
    searchTargetList。ターゲット。ペイロード。リスト。名前 文字列 エージェント、外部ユーザー、またはキューの名前。CCaaS システムにあります。
    searchTargetList。ターゲット。ペイロード。リスト。出席 文字列 関連付けられたエージェントの在席状況。このパラメーターは、「agent」 searchTargetList.targets.type に対してのみ有効です。
    有効な値:
    • 利用可能
    • アウェー
    • busy
    • オフライン
    searchTargetList。ターゲット。transferSubtype オブジェクトのアレイ 指定された searchTargetList.targets.typeでサポートされている転送のタイプに関する詳細。

    この情報は、ユーザーが UI のターゲット名の横にある省略記号をクリックすると表示されます。


    転送タイプを示す転送コールコンポーネント

    たとえば、現在のターゲットタイプ (キューなど) でコンサルトタイプのみがサポートされている場合、この配列には転送のコンサルトタイプを示す 1 つのオブジェクトが含まれます。

    "transferSubtypes": [
      {
        "id": "String",
        "label": "String"
      }
    ]
    searchTargetList。ターゲット。transferSubtypeです。身分証明書 文字列 転送サブタイプの識別子。
    有効な値:
    • blind:エージェントは、エージェントと最初に話すことなく、顧客コールを別のエージェントまたはキューに直接転送します。
    • 相談:エージェントは相談したいエージェントに連絡し、顧客をコンサルティングエージェントとの通話に結合します。

    これは searchTargetList.targets.transferSubtypes.label の値に対応している必要があります。

    searchTargetList。ターゲット。transferSubtypeです。ラベル 文字列 転送サブタイプのラベル。ラベルを渡さない場合、転送サブタイプの UI には何も表示されません。
    有効な値:
    • 視覚障害者
    • 問い合わせる

    これは searchTargetList.targets.transferSubtypes.id の値に対応している必要があります。

    searchTargetList。ターゲット。種類 文字列 ターゲットのタイプ。
    有効な値:
    • エージェント
    • 外部
    • キュー
    searchTargetList.targetTypes 文字列のアレイ オプション。指定されたインタラクションに基づいて電話帳コンポーネントに表示するタブを指定します。
    targetTypes: ["String", "String", "String"]
    指定できる値:
    • エージェント
    • キュー
    • 外部

    デフォルト:3 つのタブすべてが表示されます。

    タイプ 文字列 設定するコンテキストデータのタイプ。
    有効な値:
    • activeCall:進行中のアクティブコールコンポーネントのコンテキストを設定します。このコンテキスト型を渡す場合は、 activeCall[]Context パラメーターも渡す必要があります。
    • idleState:現在のユーザーのアイドル状態機能を設定します。このタイプを設定すると、OpenFrame にアイドル状態の UI (ダイヤルパッド) が表示されます。このコンテキストタイプを渡す場合は、Context パラメーターとして <idleState>{} JSON も渡す必要があります。
    • offerContext:現在の参加者の対障害弾力性のオファーコンテキストを設定します。このコンテキストタイプを渡す場合は、Contextパラメーターとして offerContext{} JSON も渡す必要があります。
    • searchTargetList:電話帳コンテキストを設定します。このタイプを設定すると、アクティブなコールコンポーネントで コール転送 が有効になります。このコンテキストタイプを渡すときは、 searchTargetList[] JSON も Context パラメーターとして渡す必要があります。
    表 : 22. 返される内容
    タイプ 説明
    なし
    エラー (offerContext) 回復性に使用される offerContext オブジェクトに関連付けられたエラーメッセージ。これらのメッセージを表示するには、 subscribe() メソッドを使用してイベント openframe_awa_client_offer サブスクライブします。
    コンテキスト値は次のように表されます。
    1. 成功
    2. error
    3. 部分的成功
    AWA_EXTUSER_ROLE_CHECK_FAILED
    メッセージ:ユーザーにawa_external_userロールがありません。
    このイベントは、必要なロール「awa_external_user」または「admin」がエージェントに存在しないことを示します。
    AWA_AGENT_NOT_AVAILABLE
    メッセージ:エージェントは作業を受信できません。
    このイベントは、選択したエージェントが対応不可であることを示します。
    AWA_OFFER_ASSIGNMENT_PAYLOAD_MISSING
    メッセージ:offerContext でアサインペイロードが空または未定義です。
    このイベントは、 offerContext オブジェクトでペイロードが空または未定義であることを示します。
    AWA_OFFER_QUEUEID_MISSING
    メッセージ:転送ソースキュー ID が offerContext にありません。
    このイベントは、必要な転送キュー ID (transferContent.targetId) が offerContext オブジェクトにないことを示します。
    AWA_ASSIGNMENT_OFFEREDON_FUTURE
    メッセージ:OfferedOn 時刻は未来です。
    このイベントは、 assignment.offeredOn プロパティの値が将来の日付であり、無効であることを示します。日付は存在するかそれより前である必要があります。
    AWA_ASSIGNMENT_OFFEREDON_INVALID_FORMAT
    メッセージ:OfferedOn 日付形式が無効です。「Www, dd Mmm yyyy HH:mm:ss GMT」UTC 形式で送信してください。
    このイベントは、 offerContext.assignment.offeredOn プロパティに指定された値が適切な日付形式でないことを示します。
    AWA_OFFER_EXTERNALID_MISSING
    メッセージ:offerContext に ExternalId がありません。
    このイベントは、必要な externalId プロパティがオファーに指定されていないことを示します。この値は、関連付けられた外部システム上の現在アクティブなコールを識別します。

    次のコード例は、アクティブな状態コンテキストを設定する方法を示しています。

    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 ヘッダーのアイコンを定義します。

    表 : 23. パラメーター
    名前 タイプ 説明
    アイコン オブジェクトのアレイ アイコン構成のリスト。各アイコン構成は、キー値 imageURLimageTitle、およびその他の必要なコンテキストを持つオブジェクトです。

    最大サイズ:アイコンの最大サイズは 16x16 ピクセルです。大きな画像は自動的にこの最大に調整されます。

    表 : 24. 返される内容
    タイプ 説明
    なし
    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 設定の作成」を参照してください

    表 : 25. パラメーター
    名前 タイプ 説明
    state 文字列 エージェントの在席状況。

    デフォルトのステータス:

    • 利用可能
    • アウェー
    • オフライン

    カスタム状況を指定することもできます。

    文字列 ワークスペースのプレゼンスインジケーターの色。

    サポートされている色:

    • オレンジ色
    • グレイ
    表 : 26. 返される内容
    タイプ 説明
    なし
    openframeAPI.setPresenceIndicator('Available', 'green');

    openFrameAPI - setSize(数値の幅, 数値の高さ)

    OpenFrame サイズを設定します。

    表 : 27. パラメーター
    名前 タイプ 説明
    番号 ゼロより大きい値にしてください。
    高さ 番号 ゼロより大きい値にしてください。
    表 : 28. 返される内容
    タイプ 説明
    なし
    openFrameAPI.setSize(300, 370);

    openFrameAPI - setSubtitle(文字列 subTitle)

    OpenFrame サブタイトルを設定します。

    表 : 29. パラメーター
    名前 タイプ 説明
    subTitle 文字列 256 文字以下の文字列。
    表 : 30. 返される内容
    タイプ 説明
    なし
    openFrameAPI.setSubtitle('+18888888888');

    openFrameAPI - setTitle(文字列 title)

    OpenFrame タイトルを設定します。

    表 : 31. パラメーター
    名前 タイプ 説明
    title 文字列 256 文字以下の文字列。
    表 : 32. 返される内容
    タイプ 説明
    なし
    openFrameAPI.setTitle('Incoming Call');

    openFrameAPI - setTitleIcon(オブジェクトアイコン)

    OpenFrame のタイトルアイコンを設定します。

    表 : 33. パラメーター
    名前 タイプ 説明
    icon オブジェクト キーと値のペアのオブジェクト。キーには、 imageURLimageTitle、およびその他の必要なコンテキストが含まれます。

    最大サイズ:アイコンの最大サイズは 16x16 ピクセルです。大きな画像は自動的にこの最大に調整されます。

    表 : 34. 返される内容
    タイプ 説明
    なし
    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(文字列メッセージ, 文字列タイプ, 数値期間)

    アラートメッセージを表示します。

    表 : 35. パラメーター
    名前 タイプ 説明
    message 文字列 アラートに表示するメッセージ。
    type 文字列 メッセージのタイプ
    可能な値:
    • info
    • 警告
    • error
    duration 番号 オプション。メッセージが自動却下されるまでの期間。

    単位:ミリ秒

    デフォルト:メッセージは、手動で閉じられるまで表示されます。

    表 : 36. 返される内容
    タイプ 説明
    なし

    この例では、情報、警告、およびエラーメッセージを表示します。

    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 幅を設定します。

    表 : 37. パラメーター
    名前 タイプ 説明
    番号 幅 (ピクセル)
    表 : 38. 返される内容
    タイプ 説明
    なし
    openFrameAPI.setWidth(100);

    openFrameAPI:show()

    OpenFrame を TopFrame に表示します。

    表 : 39. パラメーター
    名前 タイプ 説明
    なし
    表 : 40. 返される内容
    タイプ 説明
    なし
    openFrameAPI.show()

    openFrameAPI - subscribe(openFrameAPIEVENT event, function eventCallback)

    指定されたイベントに登録します。

    表 : 41. パラメーター
    名前 タイプ 説明
    イベント openFrameAPIEVENT 登録するイベント:
    • interaction_control_action:OpenFrame からインタラクションのライフサイクルイベントまたは呼び出しコントロールの更新を受信し、それに応じて UI を更新します。コールコントロールの更新の例には、コールの開始、ミュート、保留、終了、転送要求などがあります。
    • openframe_agent_off_interaction:チャット中のエージェントのプレゼンスがオフまたは対応可能であることを示します。
    • openframe_awa_agent_presence: 高度な作業アサイン (AWA) では、エージェントの在席状況に変更があった場合にこのイベントが発生します。コンピューター電話統合 (CTI) 開発者は、このイベントに登録して、在席状況の変更を受信できます。
    • openframe_awa_client_offer:対障害弾力性関連のオファーでオファーまたは転送が行われた場合に発生します。
    • openframe_awa_workitem_accepted:作業アイテムがエージェントによって受け入れられたときに発生します。
    • openframe_awa_workitem_offered:作業アイテムがエージェントに提供されたときに発生します。
    • openframe_awa_workitem_rejected:作業アイテムがエージェントによって却下されたときに発生します。
    • openframe_before_destroy:TopFrame がアンロードされる前に発生します。
    • openframe_collapse:OpenFrame ヘッダーで折りたたみアイコンが選択されている場合に発生します。
    • openframe_communication:アプリケーション固有でカスタマイズが可能です。
    • openframe_communication_failure:TopFrame への通信が失敗した場合に発生します。
    • openframe_expand:OpenFrame ヘッダーで展開アイコンが選択されている場合に発生します。
    • openframe_heart_beat:ユーザーセッションが延長されたとき、またはログアウトされたときに発生します。
    • openframe_header_icon_clicked:廃止。代わりに openframe_icon_clicked または openframe_title_icon_clicked を使用してください。
    • openframe_hidden:OpenFrame が非表示になっているときに発生します。
    • openframe_icon_clicked:OpenFrame フッターで閉じるアイコン以外のアイコンが選択されている場合に発生します。コールバックは、アイコンオブジェクトをパラメーターとして受け取ります。
    • openframe_shown:OpenFrame が表示されているときに発生します。
    • openframe_title_icon_clicked:OpenFrame でタイトルアイコンが選択されたときに発生します。コールバックは、パラメーターとして titleIcon オブジェクトを受け取ります。
    • openframe_wrap_up_submitted: 最終作業モードレスダイアログで最終作業期間が終了すると発生します。イベントは、最終作業が外部の場合にのみトリガーされます。
    イベントコールバック 関数 指定されたイベントが発生したときに呼び出す関数。
    表 : 42. 返される内容
    タイプ 説明
    results ほとんどのイベントサブスクリプションには戻り値がありません。値を返すイベントサブスクリプションについては、次の表エントリで説明しています。
    openframe_awa_agent_presence AWAでは、openframe_awa_agent_presenceイベントはプレゼンスオブジェクトを返します。
    "presence":{
      "available": Boolean,
      "channels":[
        {
          "available": Boolean,
          "name": "String",
          "restrict_update": Boolean,
          "sys_id": "String"
        }
      ],
      "name": "String",
      "sys_id": "String"
    }
    presence: エージェントの現在の在席状況とチャネルに関する情報。
    • presence.available: エージェントが利用可能かどうかを示すフラグ。
    • presence.channels: エージェントとの通信に利用可能なチャネルを説明するオブジェクトのリスト。
      • presence.channels.available: チャネルが利用可能かどうかを示すフラグ。
      • presence.channels.name: チャットや電話などのチャネル名。
      • presence.channels.restrict_update: ユーザーが更新を制限できるかどうかを示すフラグ。
      • presence.channels.sys_id: チャネルsys_id。
    • presence.name: エージェントの在席状況の名前。
    • presence.sys_id: 在席状況sys_id。
    openframe_awa_workitem_acceptedとopenframe_awa_workitem_offered AWAでは、openframe_awa_workitem_acceptedイベントとopenframe_awa_workitem_offeredイベントは workItem オブジェクトを返します。
    "workItem": {
      "document": {
        "sys_id": "String",
        "table": "String"
      },
      "isAutoAccepted": Boolean,
      "isQueueTransferred": Boolean,
      "previousWorkItem": "String",
      "serviceChannel": {
        "name": "String",
        "sys_id": "String"
      },
      "size": Number,
      "sys_id": "String"
    }

    workItem:イベントに関連付けられている作業アイテムに関する情報。

    • workItem.document:作業アイテムタスクに関連付けられたドキュメントのリスト。
      • workItem.document.sys_id:作業アイテムタスクにアサインされたドキュメントのSys_id。
      • workItem.document.table:タスクにアサインされたドキュメントテーブルの名前。
    • workItem.isAutoAccepted:作業アイテムがシステムによって自動的に承認されたかどうかを示すフラグ。作業アイテムが自動承認された場合は true に設定します。
    • workItem.isQueueTransferred:作業アイテムがキュー転送されているかどうかを示すフラグ。作業アイテムがキュー転送された場合は true に設定し、そうでない場合は false に設定します。
    • workItem.previousWorkItem:同じドキュメント ID の以前の作業アイテムのSys_id。非転送作業アイテムの場合、この値は空です。
    • workItem.serviceChannel:作業アイテムタスクに関連付けられたサービスチャネルのリスト。
      • workItem.serviceChannel.name:チャットや電話などのサービスチャネルの名前。
      • workItem.serviceChannel.sys_id:サービスチャネルのSys_id。
    • workItem.size:この作業アイテムがエージェントにアサインされているときに使用されるエージェントのキャパシティ。
    • workItem.sys_id:承認または提供された作業アイテムのSys_id。
    openframe_awa_workitem_rejected AWAでは、openframe_awa_workitem_rejectedイベントは workItem オブジェクトを返します。
    "workItem": {
      "document": {
        "sys_id": "String",
        "table": "String"
      },
      "isQueueTransferred": Boolean,
      "previousWorkItem": "String",
      "rejection": {
        "reason": "String",
        "sys_id": "String"
      },
      "serviceChannel": {
        "name": "String",
        "sys_id": "String"
      },
      "size": Number,
      "sys_id": "String"
    }

    workItem:イベントに関連付けられている作業アイテムに関する情報。

    • workItem.document:作業アイテムタスクに関連付けられたドキュメントのリスト。
      • workItem.document.sys_id:作業アイテムタスクにアサインされたドキュメントのSys_id。
      • workItem.document.table:タスクにアサインされたドキュメントテーブルの名前。
    • workItem.isQueueTransferred:作業アイテムがキュー転送されているかどうかを示すフラグ。作業アイテムがキュー転送された場合は true に設定し、そうでない場合は false に設定します。
    • workItem.previousWorkItem:同じドキュメント ID の以前の作業アイテムのSys_id。非転送作業アイテムの場合、この値は空です。
    • workItem.rejection:作業アイテムの却下理由のリスト。
      • workItem.rejection.reason:作業アイテムを却下する理由の名前。
      • workItem.rejection.sys_id:却下理由のSys_id。

        テーブル:却下理由 [awa_reject_reason]

    • workItem.serviceChannel:作業アイテムタスクに関連付けられたサービスチャネルのリスト。
      • workItem.serviceChannel.name:チャットや電話などのサービスチャネルの名前。
      • workItem.serviceChannel.sys_id:サービスチャネルのSys_id。
    • workItem.size:この作業アイテムがエージェントにアサインされているときに使用されるエージェントのキャパシティ。
    • workItem.sys_id:承認または提供された作業アイテムのSys_id。
    openframe_heart_beat openframe_heart_beat イベントは次のオブジェクトを返します。
    {
      "lastUiActivity": "String",
      "sessionLoggedIn": Boolean
    }
    • lastUiActivity:オプション。ユーザーセッションを延長した最後の UI アクティビティのタイムスタンプ。
    • sessionLoggedIn ユーザーがログインしているかどうかを示すフラグ。
      • true:ユーザーはログインしています。
      • false:ユーザーはログインしていません。
    openframe_wrap_up_submitted openframe_wrap_up_submitted イベントは次のオブジェクトを返します。
    { 
      "wrapUp": {
        "external": Boolean,
        "externalSegmentId": "String", 
        "recordId": "String",
        "recordTable": "String",
        "wrapUpCode": "String",
        "wrapUpNotes": "String",
        "wrapUpSegmentId": "String"
      }
    }
    • external:最終作業が ServiceNow インスタンスによって内部的に処理されるか、他のコールシステムによって ServiceNow インスタンスの外部で管理されるかを示すフラグ。
      • true:最終作業は外部コールシステムによって処理されます。
      • false:最終作業は ServiceNow インスタンスによって処理されます。
    • externalSegmentId:外部最終作業をトリガーした外部データオブジェクトの一意の識別子。
    • recordId:最終作業中のインタラクションレコードのSys_id。
    • recordTable:レコードを含むテーブルの名前。常に「インタラクション」として設定します。
    • wrapUpCode:インタラクションがどのように解決されたかを示す、最終作業中にユーザーが選択したコード。
    • wrapUpNotes:インタラクションの解決方法を説明する、最終作業中にユーザーによって入力された自由形式のテキスト。
    • wrapUpSegmentId:インタラクションに関連付けられたインタラクションの最終作業セグメントレコードのSys_id。最終作業セグメント [interaction_wrap_up_segment] テーブルにあります。最終作業データが含まれています。

    次のコード例は、 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 バージョンを返します。

    表 : 43. パラメーター
    名前 タイプ 説明
    なし
    表 : 44. 返される内容
    タイプ 説明
    文字列 OpenFrame API バージョン
    var version = openFrameAPI.version();
    
    console.log("API version " + version);