---
sourceDocument: Xanadu API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# openFrameAPI - 클라이언트

# openFrameAPI - 클라이언트 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 26분

openFrameAPI는 OpenFrame과 상호 작용하는 메서드를 제공합니다. OpenFrame은 통신 파트너가 시스템을 ServiceNow 플랫폼에 통합하는 데 사용할 수 있는 편재 프레임입니다.

핵심 요구사항 중 하나는 파트너 하위 시스템과 원활하게 연결할 수 있는 여러 도메인의 코드를 연결하고 제공하는 기능입니다. 이 교차 도메인 연결은 교차 도메인 문제 없이 연결 및 콜백을 통신 시스템에 등록하는 데 필요합니다.  
OpenFrame에는 ServiceNow 애플리케이션에 있는 부분(TopFrame이라고 함)과 파트너 애플리케이션에서 제공되는 이 API라는 두 가지 중요한 부분이 있습니다. 이 API는 TopFrame과 통신하고 OpenFrame의 시각적 기능을 제어하는 데 필요한 방법을 제공합니다.  
주:  
최신 OpenFrame 라이브러리 참조가 필요한 경우 다음 자원 URI를 사용합니다. https://\[servicenow instance\]/scripts/openframe/latest/openFrameAPI.min.js.

## openFrameAPI - getAWAAgentPresence(문자열 성공, 문자열 실패) {#ariaid-title2}

로그인한 에이전트의 현재 상태를 반환합니다.
{#openFrameAPI-getAWAPresense_S_S__table_z1t_mgn_sbc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 성공 | 문자열 | 메서드가 성공하면 호출할 콜백 함수의 이름입니다. |
| 실패 | 문자열 | 메서드가 실패하면 호출할 콜백 함수의 이름입니다. |
[표 1. 매개변수]

{#openFrameAPI-getAWAPresense_S_S__table_z1t_mgn_sbc} {#openFrameAPI-getAWAPresense_S_S__table_abt_mgn_sbc__entry__2}

| 유형 | 설명 |
|-|-|
| presence | 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\] 테이블에 있습니다. 데이터 유형: 문자열 |
[표 2. 반환]

{#openFrameAPI-getAWAPresense_S_S__table_abt_mgn_sbc}  
다음 코드 exapmle은 이 메서드를 호출하는 방법을 보여 줍니다.

    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() {#ariaid-title3}

TopFrame에서 OpenFrame을 숨깁니다.
{#r_openFrameAPI-hide__table_yzb_mxx_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 3. 매개변수]

{#r_openFrameAPI-hide__table_yzb_mxx_kt} {#r_openFrameAPI-hide__table_zzb_mxx_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 4. 반환]

{#r_openFrameAPI-hide__table_zzb_mxx_kt}  

    openFrameAPI.hide()

## openFrameAPI - init(config 객체, successCallback 함수, failureCallback 함수) {#ariaid-title4}

OpenFrame을 초기화합니다. 이 메서드는 호출하는 첫 번째 메서드여야 합니다.
이 메서드는 TopFrame에 대한 통신을 초기화하고 매개 변수에 전달된 모든 시각적 요소를 초기화합니다 config .
{#r_openFrameAPI-init_Object_Object_Object__table_vz3_jyw_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 구성 | 객체 | 초기화 프로세스 중에 사용할 이름-값 쌍입니다. 가능한 키: * height * subTitle * 직위 * titleIcon 님 * width 모든 키는 옵션입니다. 이러한 키-값 쌍을 설정하지 않으려면 빈 객체를 전달합니다. |
| successCallback | 함수 | init 메서드가 성공할 경우 사용할 콜백 함수의 이름입니다. 시스템에 저장된 [OpenFrame 구성](https://www.servicenow.com/docs/access?context=t_CreateAnOpenFrameConfiguration&version=xanadu&pubname=xanadu-customer-service-management&ft:locale=en-US) 은 콜백 함수에 매개변수로 전달됩니다. |
| failureCallback | 함수 | init 메서드가 실패할 경우 사용할 콜백 함수의 이름입니다. |
[표 5. 매개변수]

{#r_openFrameAPI-init_Object_Object_Object__table_vz3_jyw_kt} {#r_openFrameAPI-init_Object_Object_Object__table_wz3_jyw_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 6. 반환]

{#r_openFrameAPI-init_Object_Object_Object__table_wz3_jyw_kt}  

    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 함수) {#ariaid-title5}

TopFrame에 OpenFrame이 표시되는지 확인합니다.
{#r_openFrameAPI-isVisible_Object_Object__table_zdj_ygy_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| callback | 함수 | callback 함수는 true 또는 false 값을 가진 매개변수를 받습니다. OpenFrame이 표시되면 true이고 표시되지 않으면 false입니다. |
[표 7. 매개변수]

{#r_openFrameAPI-isVisible_Object_Object__table_zdj_ygy_kt} {#r_openFrameAPI-isVisible_Object_Object__table_a2j_ygy_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 8. 반환]

{#r_openFrameAPI-isVisible_Object_Object__table_a2j_ygy_kt}  

    function callback(isVisible) {
    console.log(isVisible)
    }
    openFrameAPI.isVisible(callback)

## openFrameAPI - openCustomURL(details 문자열) {#ariaid-title6}

UI16 인터페이스에서 사용자 지정 URL을 엽니다.
{#r_openFrameAPI-openCustomURL__table_ob3_ryd_lt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| URL | 문자열 | 사용자 지정 URL의 텍스트입니다. 최대 크기: 2083자 |
[표 9. 매개변수]

{#r_openFrameAPI-openCustomURL__table_ob3_ryd_lt} {#r_openFrameAPI-openCustomURL__table_pb3_ryd_lt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 10. 반환]

{#r_openFrameAPI-openCustomURL__table_pb3_ryd_lt}  

    openFrameAPI.openCustomURL('10_cool_things.do');

## openFrameAPI - openServiceNowForm(details 객체) {#ariaid-title7}

양식 URL을 엽니다.
에이전트가 걸려오는 전화를 받으면 OpenFrame 창에 계정, 연락처 또는 소비자와 같은 정보가 표시됩니다. OpenFrame 창에서 링크를 클릭하면 해당 기록이 표시됩니다.

* 플랫폼 인터페이스에서 이 API는 TopFrame에 양식 URL을 엽니다.
* 에이전트 작업 공간에서는 이 API가 상호작용 탭 관리를 지원합니다. 에이전트 작업 공간에서는 상호작용 기록이 상위 탭에 열리고 지정된 엔터티 기록이 상호작용 탭 아래의 하위 탭에 열립니다.
{#r_openFrameAPI-openServiceNowForm_Object__ul_mwy_4nc_lhb} {#r_openFrameAPI-openServiceNowForm_Object__table_ulq_vwd_lt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 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>'`). |
[표 11. 매개변수]

{#r_openFrameAPI-openServiceNowForm_Object__table_ulq_vwd_lt} {#r_openFrameAPI-openServiceNowForm_Object__table_vlq_vwd_lt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 12. 반환]

{#r_openFrameAPI-openServiceNowForm_Object__table_vlq_vwd_lt}  
다음 예제는 플랫폼에서의 기본 사용법을 보여줍니다.

    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 - openServiceNowFormwithChildTabIf() {#ariaid-title8}

작업 공간에서 호출되는 ServiceNow 경우 하위 탭이 있는 양식을 열거나 UI16 인터페이스에서 호출되는 경우 엔터티를 엽니다.
{#openFrameAPI-openSNFormwithChildTab__table_j13_hwv_hyb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| openServiceNow FormwithChildTab | 객체 | API가 작업 공간에서 호출되는 경우 하위 탭이 있는 양식을 열 ServiceNow 거나 UI16 인터페이스에서 호출되는 경우 엔터티를 여는지 정의합니다. openFrameAPI.openServiceNowFormwithChildTablf({ 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입니다. |
[표 13. 매개변수]

{#openFrameAPI-openSNFormwithChildTab__table_j13_hwv_hyb} {#openFrameAPI-openSNFormwithChildTab__table_k13_hwv_hyb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 14. 반환]

{#openFrameAPI-openSNFormwithChildTab__table_k13_hwv_hyb}  
다음 예제에서는 구성된 작업 공간에서 상위 엔터티를 상위 탭으로 열거나, UI16에서 호출된 경우 엔터티만 엽니다.

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

## openFrameAPI - openServiceNowList(details 객체) {#ariaid-title9}

UI16 인터페이스에서 목록 URL을 엽니다.
{#r_openFrameAPI-openServiceNowList_Object__table_fpq_5xd_lt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| details | 객체 | 목록 URL을 열 때 사용할 컨텐츠를 설명하는 키 값 쌍입니다. 유효한 값은 다음과 같습니다. * entity: 테이블 이름 * query: [인코딩된 쿼리 문자열](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US) {#r_openFrameAPI-openServiceNowList_Object__ul_ndm_fxd_lt} |
[표 15. 매개변수]

{#r_openFrameAPI-openServiceNowList_Object__table_fpq_5xd_lt} {#r_openFrameAPI-openServiceNowList_Object__table_gpq_5xd_lt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 16. 반환]

{#r_openFrameAPI-openServiceNowList_Object__table_gpq_5xd_lt}  

    openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});

## openFrameAPI - setFrameMode(mode) {#ariaid-title10}

OpenFrame 모드를 설정합니다.
이 API에 전달된 모드:

* 헤더에 적절한 아이콘을 설정합니다(축소 또는 확장).
* CTI의 관련 이벤트를 발생시킵니다.
  * openFrameAPI.EVENTS.COLLAPSE
  * openFrameAPI.EVENTS.EXPAND
  {#r_openFrameAPI-setFrameMode__ul_sjp_rgw_5fb}
{#r_openFrameAPI-setFrameMode__ul_vnq_4gw_5fb}
{#r_openFrameAPI-setFrameMode__table_yzb_mxx_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| Mode | 문자열 | OpenFrame 모드를 설정합니다. 열거 옵션: 1. openFrameAPI.FRAME_MODE.COLLAPSE 2. openFrameAPI.FRAME_MODE.EXPAND {#r_openFrameAPI-setFrameMode__ol_yjp_3gw_5fb} |
[표 17. 매개변수]

{#r_openFrameAPI-setFrameMode__table_yzb_mxx_kt} {#r_openFrameAPI-setFrameMode__table_zzb_mxx_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 18. 반환]

{#r_openFrameAPI-setFrameMode__table_zzb_mxx_kt}  

    openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);

## openFrameAPI - setHeight(height) {#ariaid-title11}

OpenFrame 높이를 설정합니다.
{#r_openFrameAPI-setHeight__table_yzb_mxx_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 높이 | 번호 | 높이(픽셀) |
[표 19. 매개변수]

{#r_openFrameAPI-setHeight__table_yzb_mxx_kt} {#r_openFrameAPI-setHeight__table_zzb_mxx_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 20. 반환]

{#r_openFrameAPI-setHeight__table_zzb_mxx_kt}  

    openFrameAPI.setHeight(100);

## openFrameAPI - setIcons(icons 배열) {#ariaid-title12}

닫기 아이콘 옆에 배치되는 OpenFrame 헤더의 아이콘을 정의합니다.
{#r_openFrameAPI-setIcons_Array__table_dg3_lny_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| icons | 객체 배열 | 각 아이콘 구성이 키 값 imageURL, imageTitle및 기타 필요한 컨텍스트가 있는 객체인 아이콘 구성 목록입니다. 최대 크기: 아이콘은 최대 16x16픽셀일 수 있습니다. 더 큰 이미지는 자동으로 이 최대값으로 조정됩니다. |
[표 21. 매개변수]

{#r_openFrameAPI-setIcons_Array__table_dg3_lny_kt} {#r_openFrameAPI-setIcons_Array__table_eg3_lny_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 22. 반환]

{#r_openFrameAPI-setIcons_Array__table_eg3_lny_kt}  

    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) {#ariaid-title13}

작업 영역에서 에이전트 가용성을 표시하도록 현재 상태 표시기를 설정합니다.
OpenFrame 구성에 대한 자세한 내용은 [OpenFrame 구성 생성을](https://www.servicenow.com/docs/access?context=t_CreateAnOpenFrameConfiguration&version=xanadu&pubname=xanadu-customer-service-management&ft:locale=en-US) 참조하십시오
{#openFrameAPI-setPresenceIndicator__table_o4l_p1c_jhb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| state | 문자열 | 에이전트의 현재 상태입니다. 기본 상태: * 연락 가능 * 자리 비움 * 오프라인 {#openFrameAPI-setPresenceIndicator__ul_bws_ldg_d3b} 사용자 지정 상태를 지정할 수도 있습니다. |
| color | 문자열 | 작업 영역의 현재 상태 표시기 색입니다. 지원되는 색: * 빨간색 * 주황색 * 회색 * 녹색 {#openFrameAPI-setPresenceIndicator__ul_xwr_xbg_d3b} |
[표 23. 매개변수]

{#openFrameAPI-setPresenceIndicator__table_o4l_p1c_jhb} {#openFrameAPI-setPresenceIndicator__table_p4l_p1c_jhb__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 24. 반환]

{#openFrameAPI-setPresenceIndicator__table_p4l_p1c_jhb}  

    openframeAPI.setPresenceIndicator('Available', 'green');

## openFrameAPI - setSize(width 숫자, height 숫자) {#ariaid-title14}

OpenFrame 크기를 설정합니다.
{#r_openFrameAPI-setSize_Number_Number__table_vvk_5jy_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| width | 번호 | 0보다 커야 합니다. |
| height | 번호 | 0보다 커야 합니다. |
[표 25. 매개변수]

{#r_openFrameAPI-setSize_Number_Number__table_vvk_5jy_kt} {#r_openFrameAPI-setSize_Number_Number__table_wvk_5jy_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 26. 반환]

{#r_openFrameAPI-setSize_Number_Number__table_wvk_5jy_kt}  

    openFrameAPI.setSize(300, 370);

## openFrameAPI - setSubtitle(subTitle 문자열) {#ariaid-title15}

OpenFrame 부제목을 설정합니다.
{#r_openFrameAPI-setSubtitle_String__table_ztd_hjy_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| subTitle | 문자열 | 256자 이하의 문자열입니다. |
[표 27. 매개변수]

{#r_openFrameAPI-setSubtitle_String__table_ztd_hjy_kt} {#r_openFrameAPI-setSubtitle_String__table_a5d_hjy_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 28. 반환]

{#r_openFrameAPI-setSubtitle_String__table_a5d_hjy_kt}  

    openFrameAPI.setSubtitle('+18888888888');

## openFrameAPI - setTitle(title 문자열) {#ariaid-title16}

OpenFrame 제목을 설정합니다.
{#r_openFrameAPI-setTitle_String__table_jbl_w3y_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 제목 | 문자열 | 256자 이하의 문자열입니다. |
[표 29. 매개변수]

{#r_openFrameAPI-setTitle_String__table_jbl_w3y_kt} {#r_openFrameAPI-setTitle_String__table_kbl_w3y_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 30. 반환]

{#r_openFrameAPI-setTitle_String__table_kbl_w3y_kt}  

    openFrameAPI.setTitle('Incoming Call');

## openFrameAPI - setTitleIcon(icon 객체) {#ariaid-title17}

OpenFrame의 제목 아이콘을 설정합니다.
{#r_openFrameAPI-setTitleIcon_Object__table_w42_kky_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| icon | 객체 | 키 값 쌍의 객체입니다. 키에는 , imageTitle및 기타 필요한 컨텍스트가 포함됩니다imageURL. 최대 크기: 아이콘은 최대 16x16픽셀일 수 있습니다. 더 큰 이미지는 자동으로 이 최대값으로 조정됩니다. |
[표 31. 매개변수]

{#r_openFrameAPI-setTitleIcon_Object__table_w42_kky_kt} {#r_openFrameAPI-setTitleIcon_Object__table_x42_kky_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 32. 반환]

{#r_openFrameAPI-setTitleIcon_Object__table_x42_kky_kt}  

    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) {#ariaid-title18}

OpenFrame 너비를 설정합니다.
{#r_openFrameAPI-setWidth__table_yzb_mxx_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 너비 | 번호 | 너비(픽셀) |
[표 33. 매개변수]

{#r_openFrameAPI-setWidth__table_yzb_mxx_kt} {#r_openFrameAPI-setWidth__table_zzb_mxx_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 34. 반환]

{#r_openFrameAPI-setWidth__table_zzb_mxx_kt}  

    openFrameAPI.setWidth(100);

## openFrameAPI - show() {#ariaid-title19}

TopFrame에서 OpenFrame을 표시합니다.
{#r_openFrameAPI-show__table_ah2_vwx_kt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 35. 매개변수]

{#r_openFrameAPI-show__table_ah2_vwx_kt} {#r_openFrameAPI-show__table_bh2_vwx_kt__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 36. 반환]

{#r_openFrameAPI-show__table_bh2_vwx_kt}  

    openFrameAPI.show()

## openFrameAPI - subscribe(openFrameAPIEVENT 이벤트, eventCallback 함수) {#ariaid-title20}

지정된 이벤트를 구독합니다.
{#r_openFrameAPI-subscribe_Event_Object__table_znv_gvd_lt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이벤트 | openFrameAPIEVENT | 구독할 이벤트: * openframe_agent_off_interaction: 채팅 중인 에이전트의 현재 상태를 꺼짐 또는 사용 가능으로 나타냅니다. * openframe_awa_agent_presence: (AWA)에서 고급 작업 할당 이 이벤트는 에이전트 현재 상태가 변경될 때 발생합니다. CTI(컴퓨터 전화 통합 시스템) 개발자는 이 이벤트를 구독하여 현재 상태 변경 내용을 받을 수 있습니다. * 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_header_icon_clicked: 사용되지 않습니다. 대신 openframe_icon_clicked 또는 openframe_title_icon_clicked를 사용하십시오. * openframe_hidden: OpenFrame이 숨겨지면 발생합니다. * openframe_icon_clicked: OpenFrame 바닥글에서 닫기 아이콘 이외의 아이콘을 선택하면 발생합니다. callback이 icon 객체를 매개변수로 받습니다. * openframe_shown: OpenFrame이 표시되면 발생합니다. * openframe_title_icon_clicked: OpenFrame에서 제목 아이콘을 선택할 때 발생합니다. callback이 titleIcon 객체를 매개변수로 받습니다. |
| eventCallback | 함수 | 지정된 이벤트가 발생할 때 호출할 함수입니다. |
[표 37. 매개변수]

{#r_openFrameAPI-subscribe_Event_Object__table_znv_gvd_lt} {#r_openFrameAPI-subscribe_Event_Object__table_a4v_gvd_lt__entry__2}

| 유형 | 설명 |
|-|-|
| 결과 | 대부분의 이벤트 구독에는 반환 값이 없습니다. 값을 반환하는 이벤트 구독은 다음 테이블 항목에 설명되어 있습니다. |
| 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. 서비스 채널 \[awa_service_channel\] 테이블에 있습니다. {#r_openFrameAPI-subscribe_Event_Object__ul_xf1_pcp_zbc} * presence.name: 에이전트의 현재 상태 이름입니다. * presence.sys_id: 현재 상태가 sys_id. 현재 상태 \[awa_presence_state\] 테이블에 있습니다. {#r_openFrameAPI-subscribe_Event_Object__ul_wf1_pcp_zbc} |
| openframe_awa_workitem_accepted 및 openframe_awa_workitem_offered | 에서 AWA및 openframe_awa_workitem_offered 이벤트는 openframe_awa_workitem_accepted`workItem` 객체를 반환합니다. "workItem": { "document": { "sys_id": "String", "table": "String" }, "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: 작업에 할당된 문서 테이블의 이름입니다. {#r_openFrameAPI-subscribe_Event_Object__ul_svh_jww_zbc} * workItem.isQueueTransferred: 작업 항목이 큐로 전송되는지 여부를 나타냅니다. 작업 항목이 큐로 전송되면 true로 설정되고, 전송되지 않으면 false로 설정됩니다. 큐 전송에 대한 자세한 내용은 다음 문서를 참조하십시오 [Transfer a chat to another queue](https://www.servicenow.com/docs/access?context=transfer-chat-queue&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US). * workItem.previousWorkItem: 동일한 문서 ID에 대한 이전 작업 항목의 Sys_id입니다. 비전송 작업 항목의 경우 이 값은 비어 있습니다. * workItem.serviceChannel: 작업 항목 작업과 연결된 서비스 채널 목록입니다. * workItem.serviceChannel.name: 채팅 또는 전화와 같은 서비스 채널의 이름입니다. * workItem.serviceChannel.sys_id: 서비스 채널의 Sys_id입니다. {#r_openFrameAPI-subscribe_Event_Object__ul_tvh_jww_zbc} * workItem.size: 이 작업 항목이 에이전트에 할당된 경우 사용되는 에이전트의 용량입니다. * workItem.sys_id: 수락되거나 제공된 작업 항목의 Sys_id입니다. {#r_openFrameAPI-subscribe_Event_Object__ul_rvh_jww_zbc} |
| 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: 작업에 할당된 문서 테이블의 이름입니다. {#r_openFrameAPI-subscribe_Event_Object__ul_f3z_jww_zbc} * workItem.isQueueTransferred: 작업 항목이 큐로 전송되는지 여부를 나타냅니다. 작업 항목이 큐로 전송되면 true로 설정되고, 전송되지 않으면 false로 설정됩니다. 큐 전송에 대한 자세한 내용은 다음 문서를 참조하십시오 [Transfer a chat to another queue](https://www.servicenow.com/docs/access?context=transfer-chat-queue&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US). * workItem.previousWorkItem: 동일한 문서 ID에 대한 이전 작업 항목의 Sys_id입니다. 비전송 작업 항목의 경우 이 값은 비어 있습니다. * workItem.rejection: 작업 항목을 거부한 이유 목록입니다. * workItem.rejection.reason: 작업 항목을 거부한 이유의 이름입니다. * workItem.rejection.sys_id: 거부 사유의 Sys_id입니다. 거부 사유 \[awa_reject_reason\] 테이블에 있습니다. {#r_openFrameAPI-subscribe_Event_Object__ul_g3z_jww_zbc} * workItem.serviceChannel: 작업 항목 작업과 연결된 서비스 채널 목록입니다. * workItem.serviceChannel.name: 채팅 또는 전화와 같은 서비스 채널의 이름입니다. * workItem.serviceChannel.sys_id: 서비스 채널의 Sys_id입니다. {#r_openFrameAPI-subscribe_Event_Object__ul_h3z_jww_zbc} * workItem.size: 이 작업 항목이 에이전트에 할당된 경우 사용되는 에이전트의 용량입니다. * workItem.sys_id: 수락되거나 제공된 작업 항목의 Sys_id입니다. {#r_openFrameAPI-subscribe_Event_Object__ul_e3z_jww_zbc} |
[표 38. 반환]

{#r_openFrameAPI-subscribe_Event_Object__table_a4v_gvd_lt}  
다음 코드 예제에서는 `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
        }
      }
    }

다음 코드 예제에서는 `openframe_awa_workitem_rejected` 이벤트에 대해 이 메서드를 호출하는 방법을 보여 줍니다.

    function handleIconClick(context) {
    console.log("Icon was clicked", context);
    }
    openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_rejected, handleIconClick);

출력:

    // Sample workItem object output
    // openframe_awa_workitem_rejected event only
    {
      "payload": {
        "workItem": {
          "sys_id": "2c3bdc4824250610f8775e73b116f8de",
          "size": "1",
          "serviceChannel": {
            "name": "Chat",
            "sysID": "27f675e3739713004a905ee515f6a7c3"
          },
          "document": {
            "sys_id": "cf0a180824250610f8775e73b116f80c",
            "table": "interaction"
          },
          "rejection": {
            "reason": "Busy",
            "sys_id": "4e93fa29b38023002e7b6e5f26a8dc20"
          },
          "previousWorkItem": "831b9c4824250610f8775e73b116f841",
          "isQueueTransferred": true
        }
      }
    }

## openFrameAPI - version() {#ariaid-title21}

OpenFrame API 버전을 반환합니다.
{#r_openFrameAPI-version__table_ob3_ryd_lt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 39. 매개변수]

{#r_openFrameAPI-version__table_ob3_ryd_lt} {#r_openFrameAPI-version__table_pb3_ryd_lt__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | OpenFrame API 버전 |
[표 40. 반환]

{#r_openFrameAPI-version__table_pb3_ryd_lt}  

    var version = openFrameAPI.version();

    console.log("API version " + version);


