openFrameAPI - 클라이언트
openFrameAPI는 OpenFrame과 상호 작용하는 메서드를 제공합니다. OpenFrame은 통신 파트너가 시스템을 ServiceNow 플랫폼에 통합하는 데 사용할 수 있는 어디에나 존재하는 프레임입니다.
핵심 요구사항 중 하나는 파트너 하위 시스템과 원활하게 연결할 수 있는 여러 도메인의 코드를 연결하고 제공하는 기능입니다. 이 교차 도메인 연결은 교차 도메인 문제 없이 연결 및 콜백을 통신 시스템에 등록하는 데 필요합니다.
openFrameAPI - getAWAAgentPresence(문자열 성공, 문자열 실패)
로그인한 에이전트의 현재 현재 상태를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 성공 | 문자열 | 메서드가 성공하면 호출할 콜백 함수의 이름입니다. |
| 실패 | 문자열 | 메서드가 실패하면 호출할 콜백 함수의 이름입니다. |
| 유형 | 설명 |
|---|---|
| presence | OpenFrame 인프라에 의해 성공 콜백 함수에 전달된 결과입니다. 데이터 유형: 객체 |
| presence.available | 연결된 에이전트를 사용할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| presence.channels | 에이전트와 통신할 수 있는 채널 목록입니다. 데이터 유형: 객체 배열
|
| presence.channels.available | 채널을 사용할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형 부울 |
| presence.channels.name | 채팅 또는 전화와 같은 채널의 이름입니다. 데이터 유형: 문자열 |
| presence.channels.restrict_update | 사용자가 채널에 대한 업데이트를 제한할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형 부울 |
| presence.channels.service_channel_type | 서비스 채널의 유형입니다. 데이터 유형: 문자열 |
| presence.channels.sys_id | 채널 기록의 Sys_id입니다. 데이터 유형: 문자열 표: 서비스 채널 [awa_service_channel] |
| presence.name | 에이전트의 현재 상태 이름입니다. 데이터 유형: 문자열 |
| presence.sys_id | 현재 상태 기록의 Sys_id입니다. 데이터 유형: 문자열 테이블: 현재 상태 [awa_presence_state] |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
function failure(data)
{
console.log("failure: " + JSON.stringify(data));
}
function success(data)
{
console.log("success: " + JSON.stringify(data));
}
openFrameAPI.getAWAAgentPresence(success, failure)
성공 콜백 함수에 대한 응답:
success: {
"presence": {
"name": "Available",
"sys_id": "0b10223c57a313005baaaa65ef94f970",
"available": true,
"channels": [
{
"name": "Chat",
"available": true,
"sys_id": "27f675e3739713004a905ee515f6a7c3",
"restrict_update": false,
"service_channel_type": "chat"
}
]
}
}
openFrameAPI - hide()
TopFrame에서 OpenFrame을 숨깁니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.hide()
openFrameAPI - init(config 객체, successCallback 함수, failureCallback 함수)
OpenFrame을 초기화합니다. 이 메서드는 호출하는 첫 번째 메서드여야 합니다.
이 메서드는 TopFrame에 대한 통신을 초기화하고 매개변수에 전달된 모든 시각적 요소를 초기화합니다 config .
| 이름 | 유형 | 설명 |
|---|---|---|
| 구성 | 객체 | 초기화 프로세스 중에 사용할 이름-값 쌍입니다. 가능한 키: 모든 키는 옵션입니다. 이러한 키-값 쌍을 설정하지 않으려면 빈 객체를 전달합니다.
|
| successCallback | 함수 | init 메서드가 성공할 경우 사용할 콜백 함수의 이름입니다. 시스템에 저장된 OpenFrame 구성은 콜백 함수에 매개변수로 전달됩니다. |
| failureCallback | 함수 | init 메서드가 실패할 경우 사용할 콜백 함수의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 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이 표시되는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| callback | 함수 | callback 함수는 true 또는 false 값을 가진 매개변수를 받습니다. OpenFrame이 표시되면 true이고 표시되지 않으면 false입니다. |
| 유형 | 설명 |
|---|---|
| void |
function callback(isVisible) {
console.log(isVisible)
}
openFrameAPI.isVisible(callback)
openFrameAPI - openCustomURL(details 문자열)
UI16 인터페이스에서 사용자 지정 URL을 엽니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| URL | 문자열 | 사용자 지정 URL의 텍스트입니다. 최대 크기: 2083자 |
| 유형 | 설명 |
|---|---|
| void |
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>'). |
| 유형 | 설명 |
|---|---|
| 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 - openServiceNowFormwithChildTab()
작업 공간에서 호출되면 하위 탭이 있는 양식을 열고 ServiceNow , UI16 인터페이스에서 호출되면 엔터티를 엽니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| openServiceNowFormwithChildTab | 객체 | API가 작업 공간에서 호출되는 경우 하위 탭이 있는 양식을 열지 ServiceNow 또는 UI16 인터페이스에서 호출되는 경우 엔터티를 열지 정의합니다. |
| openServiceNowFormwithChildTab.entity | 문자열 | 열려는 기록이 들어 있는 테이블의 이름입니다. |
| openServiceNowFormwithChildTab.sys_id | 문자열 | 열려는 기록의 Sys_id. |
| openServiceNowFormwithChildTab.parent_entity | 문자열 | 상위 탭으로 열 테이블의 이름입니다. |
| openServiceNowFormwithChildTab.parent_entity_sys_id | 문자열 | 열려는 상위 기록의 Sys_id. |
| 유형 | 설명 |
|---|---|
| 안 함 |
다음 예제에서는 구성된 작업 영역에서 상위 엔터티를 상위 탭으로 열거나 UI16에서 호출된 경우 엔터티만 엽니다.
openFrameAPI.openServiceNowFormwithChildTab({
entity: "customer_account",
sys_id: "447832786f0331003b3c498f5d3ee452",
parent_entity: "interaction",
parent_entity_sys_id: "3be092313b711300758ce9b534efc4dd"
});
openFrameAPI - openServiceNowList(details 객체)
UI16 인터페이스에서 목록 URL을 엽니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| details | 객체 | 목록 URL을 열 때 사용할 콘텐츠를 설명하는 키 값 쌍입니다. 유효한 값은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});
openFrameAPI - setFrameMode(mode)
OpenFrame 모드를 설정합니다.
- 헤더에 적절한 아이콘을 설정합니다(축소 또는 확장).
- CTI의 관련 이벤트를 발생시킵니다.
- openFrameAPI.EVENTS.COLLAPSE
- openFrameAPI.EVENTS.EXPAND
| 이름 | 유형 | 설명 |
|---|---|---|
| Mode | 문자열 | OpenFrame 모드를 설정합니다. 열거 옵션:
|
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
openFrameAPI - setHeight(height)
OpenFrame 높이를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 높이 | 번호 | 높이(픽셀) |
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.setHeight(100);
openFrameAPI - setICContext(String Type, Object <Context>)
클라이언트의 상호작용 통제와 관련된 컨텍스트 데이터를 설정합니다. 이 컨텍스트 데이터를 사용하여 OpenFrame에 표시할 클라이언트 UI를 결정합니다.
대화형 컨트롤에 대한 자세한 내용은 다음을 참조하십시오 Interaction Controls Component.
상호작용 기록에 대한 자세한 내용은 문서를 CSM voice interaction record page참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 유형 | 문자열 | 설정할 컨텍스트 데이터의 유형입니다. 유효한 값은 다음과 같습니다.
|
| <문맥> | 객체 | 설정할 컨텍스트 데이터입니다. 각 컨텍스트 데이터 유형에는 서로 다른 가능한 입력 데이터 세트가 있습니다. 유효한 Context 데이터 객체:
|
| 액티브콜 | 객체 배열 | 활성 통화에 대한 상세 정보입니다. 각 객체는 진행 중인 활성 통화를 나타냅니다. |
| activeCall.currentParticipant | 객체 | 필수 현재 참가자의 통화 기능 및 통화 상태에 대한 상세 정보입니다. |
| activeCall.currentParticipant.actor | 문자열 | 통화 참가자의 유형입니다. 유효한 값은 다음과 같습니다.
주: 나중에 추가될 다른 참가자 유형입니다. |
| activeCall.currentParticipant.callStartTime | 문자열 | 호출이 시작된 날짜 및 시간입니다. 시간 표준: UTC 형식: RSS - "<요일>, dd mmm yyyy hh:MM:ss GMT". 예: "Wed, 17 Dec 2024 05:23:41 GMT" |
| activeCall.currentParticipant.capabilities | 객체 | 현재(에이전트) 참가자가 통화 중에 수행할 수 있는 역량에 대한 상세 정보입니다. 연결된 아이콘은 활성화된 기능에 대한 활성 통화 구성요소에 표시됩니다. |
| activeCall.currentParticipant.capabilities입니다.DTMF | 부울 | 에이전트에 현재 통화에 대한 DTMF(Dual Tone Multi-frequency) 기능이 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.엔드콜 | 부울 | 연결된 참가자가 통화를 종료할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.기 | 부울 | 참가자가 음성 품질 문제 등의 품질 문제에 대해 통화에 플래그를 지정할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.들다 | 부울 | 참가자가 통화를 보류할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.leaveAndTransfer | 부울 | 참가자가 다른 에이전트에게 호출을 전송한 다음 호출을 중단할 수 있는지 여부를 나타내는 플래그입니다. 상담 대상 사용자가 통화의 소유자가 아닌 상담 전송과 같은 작업에 이 기능을 활성화합니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.mergeCall | 부울 | 참가자가 통화를 병합할 수 있는지 여부를 나타내는 플래그입니다. 참가자의 통화 레그가 병합될 수 있는 경우 이 기능을 사용합니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.음소거 | 부울 | 참가자가 호출을 음소거할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.재개녹화 | 부울 | 참가자가 통화 기록을 다시 시작할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.pauseRecording | 부울 | 참가자가 통화 기록을 일시 중지할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.startRecording | 부울 | 참가자가 통화 기록을 시작할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.녹화 중지 | 부울 | 참가자가 통화 기록을 중지할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.capabilities입니다.갈아타다 | 부울 | 참가자가 통화를 전송할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.connectedTime | 문자열 | 호출이 처음 연결된 날짜 및 시간입니다. 시간 기준: UTC 형식: RSS - "<요일>, dd mmm yyyy hh:MM:ss GMT". 예: "Wed, 17 Dec 2024 05:23:41 GMT" |
| activeCall.currentParticipant.custom-capability-state-1 | 부울 | 향후 사용. |
| activeCall.currentParticipant.flagged | 부울 | 음성 품질 문제와 같은 문제에 대해 호출에 플래그가 지정되었는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.held | 부울 | 참가자의 보류 상태를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.id | 문자열 | 필수 에이전트의 sys_id와 같은 연결된 참가자 기록의 Sys_id입니다. 테이블: 사용자 [sys_user] |
| activeCall.currentParticipant.muted | 부울 | 참가자의 음소거 상태를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.name | 문자열 | 참가자의 이름입니다. |
| activeCall.currentParticipant.paused | 부울 | 참가자의 일시 중지된 상태를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall.currentParticipant.recording | 문자열 | 통화의 현재 기록 상태입니다. 유효한 값은 다음과 같습니다.
|
| activeCall.currentParticipant.wrapUP | 객체 | 향후 사용. |
| activeCall.customPayload | 객체 | OpenFrame에 전달할 사용자 지정 페이로드입니다. 자유 형식 객체이며 버튼 또는 텍스트 추가와 같은 활성 통화 구성요소를 사용자 지정하는 데 필요한 모든 데이터를 포함할 수 있습니다. |
| activeCall.direction | 문자열 | 관련 참가자에 대한 호출의 방향입니다. 유효한 값은 다음과 같습니다.
|
| activeCall.externalId | 필수 연결된 외부 시스템에서 현재 활성 통화를 식별하는 고유 값입니다. | |
| activeCall 입니다.nowRecordId | 문자열 | 필수 활성 통화 기록의 Sys_id입니다. 테이블: 상호작용 [interaction] 기본 시스템에 대해서만 지원되는 옵션입니다. |
| activeCall 입니다.nowRecordTable | 문자열 | 필수 활성 호출이 속한 테이블입니다. 테이블: 상호작용 [interaction] 기본 시스템에 대해서만 지원되는 옵션입니다. |
| activeCall 입니다.참가자 | 객체 배열 | 필수 통화의 추가 참가자 목록입니다. 참가자는 에이전트, 고객, 에이전트나 고객이 아닌 외부 사람 또는 큐가 될 수 있습니다. |
| activeCall 입니다.참가자.배우 | 문자열 | 연결된 참가자의 액터 유형입니다. 예:
|
| activeCall 입니다.참가자.애니 | 자동 번호 식별. 전화 수신자에게 표시할 전화번호입니다. | |
| activeCall 입니다.참가자.주소 | 문자열 | 참가자의 전화번호입니다. |
| activeCall 입니다.참가자.기능 | 객체 | 관련 통화에 대해 참가자가 가지고 있는 기능 유형에 대한 상세 정보입니다. |
| activeCall 입니다.참가자.기능.엔드콜 | 부울 | 연결된 참가자가 통화를 종료할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall 입니다.참가자.기능.들다 | 부울 | 참가자가 통화를 보류할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall 입니다.참가자.기능.음소거 | 부울 | 참가자가 호출을 음소거할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall 입니다.참가자.커넥티즌타임 | 문자열 | 필수 참가자가 처음 통화에 연결한 날짜 및 시간입니다. 시간 표준: UTC 형식: RSS - "<요일>, dd mmm yyyy hh:MM:ss GMT". 예: "Wed, 17 Dec 2024 05:23:41 GMT" |
| activeCall 입니다.참가자.사용자 지정 페이로드 | 객체 | OpenFrame에 전달할 사용자 지정 페이로드입니다. 자유 형식 객체이며 버튼 또는 텍스트 추가와 같이 활성 통화 구성요소를 사용자 지정하는 데 필요한 모든 데이터를 포함할 수 있습니다. |
| activeCall 입니다.참가자.DNI | 문자열 | 전화 건 번호 식별 서비스. 참가자가 다이얼한 전화 번호입니다. |
| activeCall 입니다.참가자.개최 | 부울 | 참가자의 보류 상태를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall 입니다.참가자.'heldAtTime' | 문자열 | 통화에 대한 참가자의 연결이 보류된 날짜 및 시간입니다. 시간 기준: UTC 형식: RSS - "<요일>, dd mmm yyyy hh:MM:ss GMT". 예: "Wed, 17 Dec 2024 05:23:41 GMT" |
| activeCall 입니다.참가자.아이디 | 문자열 | 필수 CCaaS(연락처 센터 서비스형) 시스템의 참가자 고유 ID입니다. |
| activeCall 입니다.참가자.음소거 | 부울 | 참가자의 음소거 상태를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall 입니다.참가자.이름 | 문자열 | 참가자의 이름입니다. |
| activeCall 입니다.참가자.요청ACW | 부울 | is " activeCall.currentParticipant.actor agent"인 경우에만 유효합니다. 참가자가 고객과 후속 조치를 취해야 함을 나타내는플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall 입니다.참가자.요구 래핑 | 부울 | is " activeCall.currentParticipant.actor agent"인 경우에만 유효합니다. 호출이 완료된 후 마무리 구성요소를 표시할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| activeCall 입니다.참가자.상태 | 문자열 | 참가자의 호출 레그의 상태입니다. 활성 통화 구성요소의 전화 번호 아래에 표시됩니다. 다음과 같은 의미 있는 텍스트일 수 있습니다.
|
| activeCall.type | 문자열 | 통화 유형입니다. 유효한 값은 다음과 같습니다.
|
| <idleState> | 객체 | 에이전트의 유휴 상태 컨텍스트를 설명합니다. 이 컨텍스트 데이터는 에이전트가 통화를 대기할 때 다이얼 패드에 나타나는 정보와 이 다이얼 패드를 통해 사용할 수 있는 기능을 결정합니다. |
| <idleState>.capability | 객체 | 현재 사용자의 유휴 상태 기능에 대한 설명입니다. |
| <idleState>.capability입니다.globalContactSerarch | 부울 | 유휴 상태일 때 전역 연락처 목록을 표시할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| <idleState>.capability입니다.로그아웃 | 부울 | 사용자가 유휴 상태일 때 로그아웃할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| <idleState>.capability입니다.아웃바운드콜 | 부울 | 사용자가 유휴 상태일 때 아웃바운드 호출을 할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| <idleState>입니다.currentInboundId | 문자열 | 아웃바운드 콜 상호작용을 작성하는 데 사용된 제공자 애플리케이션의 인바운드 식별자입니다. 테이블: 제공자 채널 자격 증명 [sys_cs_provider_application] 테이블의 id 필드에 있습니다. 기본값: 기본 시스템 제공자 애플리케이션 |
| <idleState>입니다.dialpadInfo메시지 | 객체 | 사용자의 다이얼 패드에 표시할 정보 메시지(예: 현재 선택된 큐)에 대한 상세 정보입니다.다음 예시에서 label is Selected 큐: 및 is valueCustomer Inquiries가 있습니다. 선택한 큐: 고객 문의에서 또는 value 매개변수를 사용할 label 수도 있습니다. |
| <idleState>입니다.dialpadInfoMessage를 사용합니다.레이블 | 문자열 | 다이얼 패드에 표시할 자유 형식 레이블입니다. |
| <idleState>입니다.dialpadInfoMessage를 사용합니다.값 | 문자열 | 다이얼 패드의 레이블 뒤에 표시할 자유 형식 메시지 텍스트입니다. |
| <idleState>입니다.enableState | 객체 | 다이얼 패드의 버튼 사용 상태에 대한 상세 정보입니다. |
| <idleState>입니다.enableState입니다.로그아웃 | 부울 | 유휴 상태일 때 UI에서 로그아웃 버튼을 활성화할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| <idleState>입니다.enableState입니다.아웃바운드콜 | 부울 | 유휴 상태일 때 UI에서 아웃바운드 호출 버튼을 사용할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| searchTargetList | 객체 배열 | 테이블의 전송 관련 데이터에 대한 상세 정보입니다 ServiceNow . |
| searchTargetList를 사용합니다.외부 ID | 문자열 | CCaaS 시스템에서 연결된 호출의 고유 식별자입니다. |
| searchTargetList를 사용합니다.nowRecordId | 문자열 | 필수 searchTargetList가 속한 기록의 Sys_id입니다. 주: 상호작용 [interaction] 테이블의 기록만 현재 지원됩니다. |
| searchTargetList를 사용합니다.nowRecordTable | 문자열 | 필수. ServiceNow searchTargetList가 속한 테이블입니다. 테이블: 유효한 값인 |
| searchTargetList를 사용합니다.참가자 ID | 문자열 | CCaaS 시스템의 참가자에 대한 고유 식별자입니다. |
| searchTargetList를 사용합니다.대상 | 객체 배열 | 통화를 전송할 수 있는 에이전트, 외부 사용자 및/또는 큐에 대한 상세 정보입니다. |
| searchTargetList를 사용합니다.대상.페이로드 | 객체 | 통화 전환 제어에 표시할 정보에 대한 상세 정보입니다. 다음은 통화를 전송할 수 있는 에이전트 목록이 포함된 호출 전송 컨트롤의 예입니다. 스크린샷은 컨트롤의 각 매개 변수가 UI의 어떤 요소인지 list.payload 보여줍니다. 이 예는 에이전트 페이로드( 다음은 큐 페이로드( |
| searchTargetList를 사용합니다.대상.페이로드.목록 | 객체 배열 | 각 대상 유형의 페이로드에 대한 상세 정보입니다. |
| searchTargetList를 사용합니다.대상.페이로드.목록.hasStats | 부울 | 연결된 대상에 큐 대기 시간 등의 추가 통계가 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| searchTargetList를 사용합니다.대상.페이로드.목록.아이디 | 문자열 | CCaaS 시스템의 에이전트 또는 큐에 대한 고유 식별자입니다. |
| searchTargetList를 사용합니다.대상.페이로드.목록.더 많은 정보 | 객체 배열 | "예"로 설정된 경우 searchTargetList.targets.payload.list.hasStats 필요합니다. 에이전트 또는 큐가 보유한 기술 목록입니다. 이 정보는 사용자가 엔터티 이름 끝에 있는 정보 아이콘을 선택할 때 팝업 창에 나타납니다. |
| searchTargetList를 사용합니다.대상.페이로드.목록.moreInfo입니다.레이블 | 문자열 | 팝업 창에 표시할 정보(예: 기술 또는 언어)에 대한 자유 형식 레이블입니다. |
| searchTargetList를 사용합니다.대상.페이로드.목록.moreInfo입니다.값 | 문자열 | 레이블 뒤에 팝업 창에 표시할 텍스트입니다(예: CRM 인증됨 또는 독일어). |
| searchTargetList를 사용합니다.대상.페이로드.목록.이름 | 문자열 | 에이전트, 외부 사용자 또는 큐의 이름입니다. CCaaS 시스템에 있습니다. |
| searchTargetList를 사용합니다.대상.페이로드.목록.존재 | 문자열 | 연결된 에이전트의 현재 상태입니다. 이 매개변수는 "에이전트"에만 searchTargetList.targets.type 유효합니다.유효한 값은 다음과 같습니다.
|
| searchTargetList를 사용합니다.대상.transferSubtypes | 객체 배열 | 지정된 searchTargetList.targets.type. 이 정보는 사용자가 UI에서 대상 이름 옆에 있는 타원을 클릭할 때 나타납니다. 예를 들어, 현재 대상 유형(예: 대기열)에 대해 상담 유형만 지원되는 경우 이 배열에는 전송의 상담 유형을 나타내는 하나의 개체가 포함됩니다. |
| searchTargetList를 사용합니다.대상.transferSubtypes를 사용합니다.아이디 | 문자열 | 이전 하위 유형의 식별자입니다. 유효한 값은 다음과 같습니다.
이 값은 의 값과 searchTargetList.targets.transferSubtypes.label일치해야 합니다. |
| searchTargetList를 사용합니다.대상.transferSubtypes를 사용합니다.레이블 | 문자열 | 이전 하위 유형의 레이블입니다. 레이블을 전달하지 않으면 전송 하위 유형에 대한 UI에 아무 것도 표시되지 않습니다. 유효한 값은 다음과 같습니다.
이 값은 의 값과 searchTargetList.targets.transferSubtypes.id일치해야 합니다. |
| searchTargetList를 사용합니다.대상.형 | 문자열 | 대상의 유형입니다. 유효한 값은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| 안 함 |
다음 코드 예제에서는 활성 상태 컨텍스트를 설정하는 방법을 보여 줍니다.
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,
"heldaAtTime": "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",
"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 - setIcons(icons 배열)
닫기 아이콘 옆에 놓인 OpenFrame 헤더의 아이콘을 정의합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 아이콘 | 객체 배열 | 아이콘 구성의 목록으로, 여기서 각 아이콘 구성은 키 값 imageURL, imageTitle및 기타 필요한 컨텍스트가 있는 객체입니다. 최대 크기: 아이콘은 최대 16x16픽셀일 수 있습니다. 더 큰 이미지는 이 최대값으로 자동 조정됩니다. |
| 유형 | 설명 |
|---|---|
| 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 구성 만들기를 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| state | 문자열 | 에이전트의 현재 상태입니다. 기본 상태:
사용자 지정 상태를 지정할 수도 있습니다. |
| color | 문자열 | 작업 영역의 현재 상태 표시기 색입니다. 지원되는 색:
|
| 유형 | 설명 |
|---|---|
| void |
openframeAPI.setPresenceIndicator('Available', 'green');
openFrameAPI - setSize(width 숫자, height 숫자)
OpenFrame 크기를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| width | 번호 | 0보다 커야 합니다. |
| height | 번호 | 0보다 커야 합니다. |
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.setSize(300, 370);
openFrameAPI - setSubtitle(subTitle 문자열)
OpenFrame 부제목을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| subTitle | 문자열 | 256자 이하의 문자열입니다. |
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.setSubtitle('+18888888888');
openFrameAPI - setTitle(title 문자열)
OpenFrame 제목을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 제목 | 문자열 | 256자 이하의 문자열입니다. |
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.setTitle('Incoming Call');
openFrameAPI - setTitleIcon(icon 객체)
OpenFrame의 제목 아이콘을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| icon | 객체 | 키 값 쌍의 객체입니다. 키에는 , imageTitle, 및 필요한 기타 컨텍스트가 포함됩니다imageURL. 최대 크기: 아이콘은 최대 16x16픽셀일 수 있습니다. 더 큰 이미지는 이 최대값으로 자동 조정됩니다. |
| 유형 | 설명 |
|---|---|
| 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 너비를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 너비 | 번호 | 너비(픽셀) |
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.setWidth(100);
openFrameAPI - show()
TopFrame에서 OpenFrame을 표시합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
openFrameAPI.show()
openFrameAPI - subscribe(openFrameAPIEVENT 이벤트, eventCallback 함수)
지정된 이벤트를 구독합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이벤트 | openFrameAPIEVENT | 구독할 이벤트:
|
| eventCallback | 함수 | 지정된 이벤트가 발생할 때 호출할 함수입니다. |
| 유형 | 설명 |
|---|---|
| 결과 | 대부분의 이벤트 구독에는 반환 값이 없습니다. 값을 반환하는 이벤트 구독은 다음 표 항목에 설명되어 있습니다. |
| openframe_awa_agent_presence | 에서 AWAopenframe_awa_agent_presence 이벤트는 현재 상태 객체를 반환합니다.presence: 에이전트의 현재 상태 및 채널에 대한 정보입니다.
|
| openframe_awa_workitem_accepted 및 openframe_awa_workitem_offered | 에서 AWAopenframe_awa_workitem_accepted and openframe_awa_workitem_offered 이벤트는 workItem 객체를 반환합니다.workItem: 이벤트와 연결된 작업 항목에 대한 정보입니다.
|
| openframe_awa_workitem_rejected | 에서 AWAopenframe_awa_workitem_rejected 이벤트는 workItem 객체를 반환합니다.workItem: 이벤트와 연결된 작업 항목에 대한 정보입니다.
|
| openframe_heart_beat | 이 openframe_heart_beat 이벤트는 다음 객체를 반환합니다.
|
| openframe_wrap_up_submitted | 이 openframe_wrap_up_submitted 이벤트는 다음 객체를 반환합니다.
|
다음 코드 예제에서는 openframe_awa_agent_presence 이벤트에 대해 이 메서드를 호출하는 방법을 보여 줍니다.
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_agent_presence, handleIconClick);
출력:
// Sample presence object output
// openframe_awa_agent_presence event only
{
"result":{
"presence":{
"name":"Available",
"sys_id":"27f675e3739713004a905ee515f6a7c3",
"available":true,
"channels":[
{
"name":"Chat",
"available":true,
"sys_id":"36f675e4239713124a905fe515f6a832",
"restrict_update":false
},
{
"name":"Phone",
"available":true,
"sys_id":"9378a530a1820610f809018efd9bc01e",
"restrict_update":false
}
]
}
}
}
다음 코드 예제에서는 openframe_awa_workitem_accepted 이벤트에 대해 이 메서드를 호출하는 방법을 보여 줍니다.
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_accepted, handleIconClick);
출력:
// Sample workItem object output
// openframe_awa_workitem_accepted event only
{
"result": {
"workItem": {
"sys_id": "14c86c40a1650610f87701807d9bc0be",
"size": 1,
"serviceChannel": {
"name": "Chat",
"sys_id": "27f675e3739713004a905ee515f6a7c3"
},
"document": {
"sys_id": "aa582040a1650610f87701807d9bc076",
"table": "interaction"
},
"previousWorkItem": "7c78a440a1650610f87701807d9bc02b",
"isQueueTransferred": true,
"isAutoAccepted": true
}
}
}
다음 코드 예제에서는 openframe_awa_workitem_rejected 이벤트에 대해 이 메서드를 호출하는 방법을 보여 줍니다.
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_rejected, handleIconClick);
출력:
// Sample workItem object output
// openframe_awa_workitem_rejected event only
{
"payload": {
"workItem": {
"sys_id": "2c3bdc4824250610f8775e73b116f8de",
"size": "1",
"serviceChannel": {
"name": "Chat",
"sysID": "27f675e3739713004a905ee515f6a7c3"
},
"document": {
"sys_id": "cf0a180824250610f8775e73b116f80c",
"table": "interaction"
},
"rejection": {
"reason": "Busy",
"sys_id": "4e93fa29b38023002e7b6e5f26a8dc20"
},
"previousWorkItem": "831b9c4824250610f8775e73b116f841",
"isQueueTransferred": true
}
}
}
openFrameAPI - version()
OpenFrame API 버전을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | OpenFrame API 버전 |
var version = openFrameAPI.version();
console.log("API version " + version);