openFrameAPI - 클라이언트

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기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(문자열 성공, 문자열 실패)

    로그인한 에이전트의 현재 상태를 반환합니다.

    표 1. 매개변수
    이름 유형 설명
    성공 문자열 메서드가 성공하면 호출할 콜백 함수의 이름입니다.
    실패 문자열 메서드가 실패하면 호출할 콜백 함수의 이름입니다.
    표 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] 테이블에 있습니다.

    데이터 유형: 문자열

    다음 코드 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()

    TopFrame에서 OpenFrame을 숨깁니다.

    표 3. 매개변수
    이름 유형 설명
    없음
    표 4. 반환
    유형 설명
    void
    openFrameAPI.hide()

    openFrameAPI - init(config 객체, successCallback 함수, failureCallback 함수)

    OpenFrame을 초기화합니다. 이 메서드는 호출하는 첫 번째 메서드여야 합니다.

    이 메서드는 TopFrame에 대한 통신을 초기화하고 매개 변수에 전달된 모든 시각적 요소를 초기화합니다 config .

    표 5. 매개변수
    이름 유형 설명
    구성 객체 초기화 프로세스 중에 사용할 이름-값 쌍입니다.
    가능한 키:
    • height
    • subTitle
    • 직위
    • titleIcon 님
    • width
    모든 키는 옵션입니다. 이러한 키-값 쌍을 설정하지 않으려면 빈 객체를 전달합니다.
    successCallback 함수 init 메서드가 성공할 경우 사용할 콜백 함수의 이름입니다. 시스템에 저장된 OpenFrame 구성 은 콜백 함수에 매개변수로 전달됩니다.
    failureCallback 함수 init 메서드가 실패할 경우 사용할 콜백 함수의 이름입니다.
    표 6. 반환
    유형 설명
    void
    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 함수)

    TopFrame에 OpenFrame이 표시되는지 확인합니다.

    표 7. 매개변수
    이름 유형 설명
    callback 함수 callback 함수는 true 또는 false 값을 가진 매개변수를 받습니다. OpenFrame이 표시되면 true이고 표시되지 않으면 false입니다.
    표 8. 반환
    유형 설명
    void
    function callback(isVisible) {
    console.log(isVisible)
    }
    openFrameAPI.isVisible(callback)

    openFrameAPI - openCustomURL(details 문자열)

    UI16 인터페이스에서 사용자 지정 URL을 엽니다.

    표 9. 매개변수
    이름 유형 설명
    URL 문자열 사용자 지정 URL의 텍스트입니다.

    최대 크기: 2083자

    표 10. 반환
    유형 설명
    void
    openFrameAPI.openCustomURL('10_cool_things.do');
    

    openFrameAPI - openServiceNowForm(details 객체)

    양식 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. 반환
    유형 설명
    void

    다음 예제는 플랫폼에서의 기본 사용법을 보여줍니다.

    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()

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

    표 13. 매개변수
    이름 유형 설명
    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입니다.
    표 14. 반환
    유형 설명
    없음

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

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

    openFrameAPI - openServiceNowList(details 객체)

    UI16 인터페이스에서 목록 URL을 엽니다.

    표 15. 매개변수
    이름 유형 설명
    details 객체 목록 URL을 열 때 사용할 컨텐츠를 설명하는 키 값 쌍입니다.

    유효한 값은 다음과 같습니다.

    표 16. 반환
    유형 설명
    void
    openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});

    openFrameAPI - setFrameMode(mode)

    OpenFrame 모드를 설정합니다.

    이 API에 전달된 모드:
    • 헤더에 적절한 아이콘을 설정합니다(축소 또는 확장).
    • CTI의 관련 이벤트를 발생시킵니다.
      • openFrameAPI.EVENTS.COLLAPSE
      • openFrameAPI.EVENTS.EXPAND
    표 17. 매개변수
    이름 유형 설명
    Mode 문자열 OpenFrame 모드를 설정합니다. 열거 옵션:
    1. openFrameAPI.FRAME_MODE.COLLAPSE
    2. openFrameAPI.FRAME_MODE.EXPAND
    표 18. 반환
    유형 설명
    void
    openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
    

    openFrameAPI - setHeight(height)

    OpenFrame 높이를 설정합니다.

    표 19. 매개변수
    이름 유형 설명
    높이 번호 높이(픽셀)
    표 20. 반환
    유형 설명
    void
    openFrameAPI.setHeight(100);

    openFrameAPI - setIcons(icons 배열)

    닫기 아이콘 옆에 배치되는 OpenFrame 헤더의 아이콘을 정의합니다.

    표 21. 매개변수
    이름 유형 설명
    icons 객체 배열 각 아이콘 구성이 키 값 imageURL, imageTitle및 기타 필요한 컨텍스트가 있는 객체인 아이콘 구성 목록입니다.

    최대 크기: 아이콘은 최대 16x16픽셀일 수 있습니다. 더 큰 이미지는 자동으로 이 최대값으로 조정됩니다.

    표 22. 반환
    유형 설명
    void
    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)

    작업 영역에서 에이전트 가용성을 표시하도록 현재 상태 표시기를 설정합니다.

    OpenFrame 구성에 대한 자세한 내용은 OpenFrame 구성 생성을 참조하십시오

    표 23. 매개변수
    이름 유형 설명
    state 문자열 에이전트의 현재 상태입니다.

    기본 상태:

    • 연락 가능
    • 자리 비움
    • 오프라인

    사용자 지정 상태를 지정할 수도 있습니다.

    color 문자열 작업 영역의 현재 상태 표시기 색입니다.

    지원되는 색:

    • 빨간색
    • 주황색
    • 회색
    • 녹색
    표 24. 반환
    유형 설명
    void
    openframeAPI.setPresenceIndicator('Available', 'green');

    openFrameAPI - setSize(width 숫자, height 숫자)

    OpenFrame 크기를 설정합니다.

    표 25. 매개변수
    이름 유형 설명
    width 번호 0보다 커야 합니다.
    height 번호 0보다 커야 합니다.
    표 26. 반환
    유형 설명
    void
    openFrameAPI.setSize(300, 370);

    openFrameAPI - setSubtitle(subTitle 문자열)

    OpenFrame 부제목을 설정합니다.

    표 27. 매개변수
    이름 유형 설명
    subTitle 문자열 256자 이하의 문자열입니다.
    표 28. 반환
    유형 설명
    void
    openFrameAPI.setSubtitle('+18888888888');

    openFrameAPI - setTitle(title 문자열)

    OpenFrame 제목을 설정합니다.

    표 29. 매개변수
    이름 유형 설명
    제목 문자열 256자 이하의 문자열입니다.
    표 30. 반환
    유형 설명
    void
    openFrameAPI.setTitle('Incoming Call');

    openFrameAPI - setTitleIcon(icon 객체)

    OpenFrame의 제목 아이콘을 설정합니다.

    표 31. 매개변수
    이름 유형 설명
    icon 객체 키 값 쌍의 객체입니다. 키에는 , imageTitle및 기타 필요한 컨텍스트가 포함됩니다imageURL.

    최대 크기: 아이콘은 최대 16x16픽셀일 수 있습니다. 더 큰 이미지는 자동으로 이 최대값으로 조정됩니다.

    표 32. 반환
    유형 설명
    void
    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 너비를 설정합니다.

    표 33. 매개변수
    이름 유형 설명
    너비 번호 너비(픽셀)
    표 34. 반환
    유형 설명
    void
    openFrameAPI.setWidth(100);

    openFrameAPI - show()

    TopFrame에서 OpenFrame을 표시합니다.

    표 35. 매개변수
    이름 유형 설명
    없음
    표 36. 반환
    유형 설명
    void
    openFrameAPI.show()

    openFrameAPI - subscribe(openFrameAPIEVENT 이벤트, eventCallback 함수)

    지정된 이벤트를 구독합니다.

    표 37. 매개변수
    이름 유형 설명
    이벤트 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 함수 지정된 이벤트가 발생할 때 호출할 함수입니다.
    표 38. 반환
    유형 설명
    결과 대부분의 이벤트 구독에는 반환 값이 없습니다. 값을 반환하는 이벤트 구독은 다음 테이블 항목에 설명되어 있습니다.
    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] 테이블에 있습니다.
    • presence.name: 에이전트의 현재 상태 이름입니다.
    • presence.sys_id: 현재 상태가 sys_id. 현재 상태 [awa_presence_state] 테이블에 있습니다.
    openframe_awa_workitem_accepted 및 openframe_awa_workitem_offered 에서 AWAopenframe_awa_workitem_offered 이벤트는 openframe_awa_workitem_acceptedworkItem 객체를 반환합니다.
    "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: 작업에 할당된 문서 테이블의 이름입니다.
    • workItem.isQueueTransferred: 작업 항목이 큐로 전송되는지 여부를 나타냅니다. 작업 항목이 큐로 전송되면 true로 설정되고, 전송되지 않으면 false로 설정됩니다. 큐 전송에 대한 자세한 내용은 다음 문서를 참조하십시오 Transfer a chat to another queue.
    • 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_rejectedworkItem 객체를 반환합니다.
    "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로 설정됩니다. 큐 전송에 대한 자세한 내용은 다음 문서를 참조하십시오 Transfer a chat to another queue.
    • 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_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()

    OpenFrame API 버전을 반환합니다.

    표 39. 매개변수
    이름 유형 설명
    없음
    표 40. 반환
    유형 설명
    문자열 OpenFrame API 버전
    var version = openFrameAPI.version();
    
    console.log("API version " + version);