openFrameAPI - クライアント
OpenFrame は、コミュニケーションパートナーがシステムを ServiceNow プラットフォームに統合するために使用できる、非常に一般的なフレームです。
コア要件の 1 つが、パートナーサブシステムとシームレスに接続できるさまざまなドメインから取得したコードをつないで提供する機能です。このクロスドメイン接続は、クロスドメインの問題を発生させることなく接続とコールバックを通信システムに登録するために必要です。
openFrameAPI - hide()
TopFrame で OpenFrame を非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
openFrameAPI.hide()
openFrameAPI - init(オブジェクト config, 関数 successCallback, 関数 failureCallback)
OpenFrame の初期化は、最初に呼び出されるメソッドである必要があります。
このメソッドは、TopFrame への通信を初期化し、設定パラメーターで渡された視覚的要素を初期化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| config | オブジェクト | キーと値のペアのオブジェクト。可能なキーは、height、width、title、subTitle、および titleIcon です。すべてのキーはオプションです。 |
| 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)
TopFrame でカスタム 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 - openServiceNowFormwithChildTabIf()
ワークスペースで呼び出された場合は子タブを含むフォームを開き ServiceNow 、UI16 インターフェイスで呼び出された場合はエンティティを開きます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 開く ServiceNowFormwithChildTab | オブジェクト | ワークスペースで呼び出された場合、API が子タブを含むフォームを開くか、UI16 インターフェイスで呼び出された場合にエンティティを開く ServiceNow かを定義します。 |
| openServiceNowFormwithChildTab.entity | 文字列 | テーブルの名前です。 |
| openServiceNowFormwithChildTab.sys_id | 文字列 | 開くレコードの sys_id。 |
| openServiceNowFormwithChildTab.parent_entity | 文字列 | 親タブとして開くテーブルの名前。 |
| openServiceNowFormwithChildTab.parent_entity_sys_id | 文字列 | 開く親レコードのSys_id。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例では、構成されたワークスペースで親タブとして親エンティティを開くか、UI16 で呼び出された場合はエンティティのみを開きます。
openFrameAPI.openServiceNowFormwithChildTablf({
entity: “customer_account”,
sys_id: “447832786f0331003b3c498f5d3ee452”,
parent_entity: “interaction”,
parent_entity_sys_id: “3be092313b711300758ce9b534efc4dd”
});
openFrameAPI - openServiceNowList(オブジェクト details)
TopFrame でリストの URL を開きます。
| 名前 | タイプ | 説明 |
|---|---|---|
| details | オブジェクト | キーと値のペアのオブジェクト。可能なキーは以下のとおりです。
|
| タイプ | 説明 |
|---|---|
| なし |
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 - setIcons(アレイ icons)
OpenFrame ヘッダーでは、閉じるアイコンの横に配置するアイコンを含めることができます。
| 名前 | タイプ | 説明 |
|---|---|---|
| icons | アレイ | アイコン構成のリスト。それぞれのアイコン構成が、キー値 imageURL、imageTitle、およびその他の必要なコンテキストを持つオブジェクトになります。 |
| タイプ | 説明 |
|---|---|
| なし |
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、その他必要なコンテキストなどがあります。 |
| タイプ | 説明 |
|---|---|
| なし |
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 | 関数 | 指定されたイベントが発生したときに呼び出される関数。 |
| タイプ | 説明 |
|---|---|
| 特に記載がない限りはなし。 | ほとんどのイベントサブスクリプションには戻り値はありませんが、次の例外があります。 AWA では、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":"<SysID>",
"available":true,
"channels":[
{
"name":"Chat",
"available":true,
"sys_id":"<SysID>",
"restrict_update":false
},
{
"name":"Phone",
"available":true,
"sys_id":"<SysID>",
"restrict_update":false
}
]
}
}
}
openFrameAPI - version()
OpenFrame API のバージョンを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | OpenFrame API のバージョン |
var version = openFrameAPI.version();
console.log("API version " + version);