- 홈
- /
- 문서
Webex Contact Center for salesforce Service Cloud Voice는 Cisco의 강력한 CCaaS(Contact Center as a Service)를 Salesforce의 CRM과 통합하여 기업이 Salesforce 인터페이스 내에서 옴니채널 고객 상호 작용(음성, 디지털)을 관리할 수 있도록 하고, 가상 상담원, 전사 및 지능형 라우팅을 위한 Webex AI를 사용하여 상담원을 통합 데이터를 통해 슈퍼 에이전트 로 전환하여 더 나은 고객 경험을 제공합니다.
개요
Salesforce Service Cloud Voice에 대한 Webex Contact Center
Webex Contact Center for Service Cloud Voice는 Salesforce Service Cloud Voice 옴니채널 에이전트 콘솔에 Webex Contact Center의 기능을 제공하는 즉시 사용 가능한 통합 솔루션입니다.
설치를 계속하기 전에 다음 절을 참조하십시오.
Salesforce Service Cloud Voice의 필수 구성 요소 및 제한 사항에 대해 알아보고 Salesforce 조직이 Service Cloud Voice 패키지에 대해 Webex Contact Center을 활성화하고 설치할 준비가 되었는지 확인합니다.
필수 구성 요소 및 제한 사항
필수 구성 요소(하위 항목)
사용자 인터페이스: Service Cloud Voice는 Salesforce Lightning Experience에서만 사용할 수 있습니다.
Service Cloud Voice는 이러한 버전에서 사용할 수 있습니다.
- 엔터프라이즈
- 무제한
- 개발자
라이센스
-
고객은 Webex Contact Center용 Flex 3 표준 또는 프리미엄 라이선스와 함께 로그인한 에이전트당 새로운 A-SF-VOICE 추가 기능 라이선스를 구매해야 합니다. 자세한 내용은 Flex 3 주문 안내서를 참조하십시오.
- 파트너 텔레포니를 위한 Salesforce Voice
Voice에서 TURN하기 전에 조직에서 필수 구성 요소 서비스를 설정해야 합니다.
- 회사 정보 > 권한 집합 라이센스로 이동합니다.
- Service Cloud Voice User(파트너 전화 통신) 를확인합니다.
이제 모든 Developer Edition에는 테스트에 사용할 수 있는 5개의 파트너 전화 통신 라이선스가 함께 제공됩니다.
- Service Cloud Voice User(파트너 전화 통신) 를확인합니다.
- 또는 Salesforce 설정으로 이동하여 왼쪽 사이드바에서 "음성" 을 검색하여 이를 확인할 수 있습니다.
- " Partner Telephony Contact Centers" 가 표시되면 SCV 라이센스가 있는 것입니다.
- "Partner Telephony Contact Centers" 옵션이 표시되지 않으면 아래 단계에 따라 "Enable Service Cloud Voice" 를 선택합니다.
- Salesforce 설정으로 이동하여 "파트너 전화 통신 설정"을 검색하고 선택한 다음 단추를 "Service Cloud 음성 활성화"로 전환합니다.
- 옴니채널을 활성화하여 상담원이 전화를 걸고 받을 수 있도록 합니다.
- Salesforce 설정으로 이동하여 "파트너 전화 통신 설정"을 검색하고 선택한 다음 단추를 "Service Cloud 음성 활성화"로 전환합니다.
옴니채널 활성화
조직에서 옴니채널이 이미 활성화되어 있는 경우 이 단계를 건너뜁니다.
- Setup(설정)에서 Quick Find(빠른 찾기) 상자에 Omni-Channel Settings(옴니채널 설정 )를 입력한 다음 Omni-Channel Settings(옴니채널 설정 )를 선택합니다.


- 옴니채널 사용을 선택합니다.
- 저장을 클릭합니다.
제한 사항
- 음성은 Lightning Experience에서만 사용할 수 있습니다.
- Voice는 Service Cloud 및 Sales Cloud에서 추가 기능 라이선스로 지원됩니다.
- Voice는 Salesforce Mobile 또는 iPad Safari에서 지원되지 않습니다.
- 음성은 Google Chrome, Microsoft Edge(Chromium) 및 Mozilla Firefox 웹 브라우저에서만 지원됩니다. Single Sign-On(SSO)을 허용하려면 쿠키를 활성화해야 합니다.
- 표준 탐색은 지원되지 않습니다.
- 전화 통신은 엄격한 규제를 받으므로 해당 지역에서 Voice를 사용할 수 있는지 Salesforce 담당자에게 문의하세요.
요구 사항
유휴 코드
유휴 코드 찾기
| 1 |
관리 포털에 로그인합니다. |
| 2 |
Contact Center > DESKTOP EXPERIENCE >유휴/요약 코드로 이동합니다. |
| 3 |
유휴 코드가 표시되는지 확인합니다. 그렇지 않으면 필터 드롭다운 단추를 클릭하고 페이지 맨 위에 있는 유휴 코드를 선택합니다 . |
| 4 |
유휴 코드를 클릭하여 세부 정보 보기를 엽니다. 거기에서 유휴 코드 ID을 찾을 수 있습니다. |
통합
설치
설치를 진행하기 전에 필수 구성 요소 및 제한 사항 섹션을 참조 하여 Salesforce Service Cloud의 필수 구성 요소 및 제한 사항에 대해 알아보세요.
Service Cloud Voice에 대한 Webex Contact Center 설치 및 구성
Service Cloud Voice for Partner Telephony 라이센스를 획득 하면 Partner Telephony 설정 페이지가 설정 메뉴에 나타납니다.
자세한 내용은 Salesforce 공식 참조( 직접 링크)에서 확인할 수 있습니다.
| 1 |
Setup(설정)에서 Quick Find(빠른 찾기
|
| 2 |
파트너 전화 통신을 사용하여 Voice에서 TURN 활성화. [설정 ] 메뉴에 [Partner Telephony Contact Centers] 페이지가 나타납니다.
Salesforce 샌드박스에 패키지를 배포하려는 경우 설치 링크의 login.salesforce.com |
패키지 설치
패키지를 설치하려면To install the package:
| 1 |
패키지의 제공된 링크를 열어 설치를 시작합니다. |
| 2 |
패키지를 설치해야 하는 Salesforce 조직에 로그인합니다. |
| 3 |
설치 마법사에서 보안 옵션 "관리자 전용 설치" (1)를 선택하고 설치 (2)를 클릭합니다 . Webex Contact Center for Service Cloud Voice 패키지와 함께 제공되는 개체 및 구성 요소에 대한 특정 권한을 얻는 사용자를 결정합니다. 또한 이러한 권한을 부여합니다. Service Cloud Voice용 Webex Contact Center 패키지와 함께 제공되는 권한 집합은 이 프로세스를 지원합니다. 패키지 설치 마법사 – 시작 화면이 나타납니다. |
| 4 |
컨택 센터를 만들 수 있도록 한 명 이상의 사용자에게 다음 권한 집합을 부여합니다.
|
| 5 |
Setup(설정) | 사용자 | 사용자. |
| 6 |
검색 및 사용자를 선택합니다. |
| 7 |
"권한 집합 할당"까지 아래로 스크롤합니다. |
| 8 |
Edit Assignments(할당 편집)를 클릭합니다. |
| 9 |
고객 지원센터 관리자: 고객지원 센터 관리자(파트너 텔레포니) 권한 집합을 할당합니다.
|
| 10 |
컨택 센터 상담원의 경우: 컨택 센터 상담원(파트너 전화 통신) 권한 집합 및 Webex Contact Center SCV 상담원 권한 집합을 할당합니다 .
[모든 사용자에 대해 설치] 옵션을 선택하면 사용자 지정 사용자 프로파일을 사용하는 모든 사용자에게 패키지 구성 요소 및 개체에 대한 모든 권한(읽기, 만들기, 편집 및 삭제)이 부여되므로 선택하지 않는 것이 좋습니다. |
| 11 |
사용자가 Connects for Service Cloud Voice를 사용할 수 있는 패키지 라이선스를 할당합니다.
|
| 12 |
또는 [설정] | 사용자 | 사용자.. |
| 13 |
사용자를 검색하여 선택합니다. |
| 14 |
관리되는 패키지 까지 아래로 스크롤합니다. |
| 15 |
Assign Licenses(라이센스 할당)를 클릭합니다 . |
| 16 |
목록에서 Service Cloud Voice 패키지에 대해 Webex Contact Center를 선택합니다 . |
| 17 |
추가를 클릭합니다. |
| 18 |
프레즌스 상태를 만들어 서로 다른 상태에 할당되는 서비스 채널을 정의합니다. 상담원은 받을 수 있는 작업의 종류에 따라 다른 상태로 옴니채널에 로그인할 수 있습니다. |
| 19 |
Setup(설정)에서 Quick Find(빠른 찾기) 상자에 Presence Statuses
|
| 20 |
새로 만들기를 클릭합니다. "온라인" 상태와 "통화 중" 상태를 하나 이상 만듭니다.
|
상담원에게 현재 상태 할당
| 1 |
Setup(설정)에서 Quick Find(빠른 찾기) 상자에 Permission Sets(권한 집합)를 입력한 다음 Permission Sets(권한 집합)를 선택합니다. |
| 2 |
파트너 전화 통신 권한 집합을 열려면클릭합니다. |
| 3 |
서비스 프레즌스 상태 액세스를 클릭합니다. |
| 4 |
편집을 클릭합니다. |
| 5 |
[사용 가능한 서비스 프레즌스 ] 목록에서 이전에 만든 프레즌스 상태를 선택하고 [추가 ]를 클릭하여 이러한 상태를 권한 집합과 연결합니다. 이 권한 집합에 할당된 상담사는 자신이 사용할 수 있는 프레즌스 상태로 옴니채널에 로그인할 수 있습니다. |
| 6 |
저장을 클릭합니다. |
| 7 |
같은 페이지에서 Manage Assignments (할당 관리)를 클릭합니다 . 그런 다음 오른쪽 상단 모서리에 있는 할당 추가를 클릭 하고, 원하는 사용자를 선택하고, 다음을 클릭 하고, 할당된 사용자에 대한 만료 옵션(선택 사항)을 선택한 다음, 할당 을 클릭합니다 . Service Cloud Voice는 외부 도메인을 사용하여 음성 통화 레코드와 함께 작동합니다. 다음 URL은 설치 프로그램의 "원격 사이트 설정"에 추가해야합니다 ( 공식 문서를 열려면 여기를 클릭하십시오).
예: 인스턴스 URL을 찾는 방법. |
| 8 |
로그인 후 브라우저의 주소 표시줄에서 URL을 확인합니다. 인스턴스 URL은 ".my.salesforce.com" 또는 ".salesforce.com" 또는 ." lightning.force.com" 앞의 부분입니다. 예를 들어 URL이 https://orgfarm-54a38e30ad-dev-ed.develop.my.salesforce-setup.com/인 경우 "orgfarm-54a38e30ad-dev-ed.develop"는 인스턴스 URL입니다. 예: 원본 조직 URL: https://cisco.lightning.force.com 예: 추가할 URL:
|
| 9 |
에이전트가 Service Cloud Voice를 사용하려면 Lightning Service Console 앱에서 옴니채널 유틸리티 항목이 필요합니다.
Salesforce의 공식 참조는 Salesforce 도움말 포털 ( 직접 링크 )에서 파트너 전화 통신 으로 Service Cloud Voice에 대한 에이전트 경험 구성 페이지를 여는 Let's Do This버튼을 클릭하여 찾을 수 있습니다. |
| 10 |
Setup(설정)에서 Quick Find(빠른 찾기) 상자에 Partner Telephony Setup(파트너 텔레포니 설정 )을 입력한 다음 Partner Telephony Setup(파트너 텔레포니 설정 )을 선택합니다. |
| 11 |
섹션 5 추가 음성 설정까지 아래로 스크롤합니다. |
| 12 |
Lightning Experience에서 소프트폰으로 작업하는 동안 헤더가 비활성화 된 Visualforce 페이지에 대해 클릭재킹 방지를 활성화하려면 Salesforce 인스턴스 URL 외에도 소프트폰 및 사용자 정의 도구 모음이 로드되는 도메인을 신뢰할 수 있는 도메인으로 추가해야 합니다. 이러한 설정과 신뢰할 수 있는 도메인 목록은 Setup | 보안 | 세션 설정. 올바른 Visualforce 도메인을 검색하려면 설정 | 커스텀 코드 | Visualforce 페이지를 클릭하고 CiscoScvMainWxCC 예: MyDomainName--cisco_wxcc_scv.vf.force.com Salesforce 인스턴스 도메인을 가져오려면 브라우저 URL 표시줄에 표시된 URL을 복사하여 IFrame 유형으로 Visualforce 페이지를 선택하여 인라인 프레임용 신뢰할 수 있는 도메인 목록 목록에 추가합니다 . 예: MyDomainName.lightning.force.com
조직에 내 도메인이 배포되지 않은 경우 URL 형식이 달라집니다. 내 도메인이 배포되어 있고 조직에서 향상된 도메인이 사용 설정되지 않은 경우 URL 형식이 다릅니다. 향상된 도메인이 활성화되지 않은 경우 Visualforce, Experience Builder, Site.com studio 및 콘텐츠 파일 내 도메인에서 URL 안정화 설정도 이 형식에 영향을 줍니다. 자세한 내용은 Salesforce 도움말의 내 도메인 URL 형식을 참조하십시오 . Lightning Experience에 대한 클릭재킹 보호 및 신뢰할 수 있는 도메인 설정
|
| 13 |
통화 중에 녹음 제어 기능을 표시하려면 상담원은 할당하려면 현재 상태 단계에서 만든 권한 집합에 추가합니다.
|
구성
컨택 센터
컨택 센터 정의 파일은 Salesforce에서 특정 CTI 시스템에 대한 컨택 센터를 정의하는 데 사용되는 필드 및 값 집합을 지정합니다. Salesforce는 컨택 센터 정의 파일을 사용하여 여러 CTI 시스템 공급업체와의 통합을 지원합니다.
고객지원센터 가져오기
| 1 |
Setup(설정) 에서 Quick Find(빠른 찾기 ) 상자에 Partner Telephony Contact Centers (파트너 텔레포니 컨택 센터)를 입력한 다음 Partner Telephony Contact Centers(파트너 텔레포니 컨택 센터)를 선택합니다. 기존(있는 경우) 컨택 센터 목록이 표시됩니다.
|
| 2 |
페이지의 오른쪽에 있는 Create Contact Center(컨택 센터 만들기)를 클릭합니다 . |
| 3 |
Webex Contact Center 을 전화 통신 공급자로 선택합니다 . 그런 후에 다음을 클릭합니다.
파일 브라우저가 열립니다.
|
| 4 |
연결 센터 정의가 |
| 5 |
열기를 클릭합니다. 파일을 가져옵니다.
|
| 6 |
사용자의 컨택 센터가 컨택 센터 목록 보기에 표시되는지 확인합니다.
|
Contact Center 구성
| 1 |
Setup(설정) 에서 Quick Find(빠른 찾기 ) 상자에 Partner Telephony Contact Centers (파트너 텔레포니 컨택 센터)를 입력한 다음 Partner Telephony Contact Centers(파트너 텔레포니 컨택 센터)를 선택합니다. | ||||||||||||||||||||||||||||||
| 2 |
이전에 가져온 고객지원센터를 클릭합니다. | ||||||||||||||||||||||||||||||
| 3 |
편집을 클릭합니다.
| ||||||||||||||||||||||||||||||
| 4 |
Contact Center(컨택 센터) 페이지 하단의 Contact Center Users(컨택 센터 사용자 ) 섹션에서 Add(추가 ) 버튼을 클릭합니다 . | ||||||||||||||||||||||||||||||
| 5 |
열려 있는 컨택 센터에 액세스할 수 있는 사용자 옆의 +를 클릭합니다. 컨택 센터 상담원(파트너 전화 통신) |
사용자 지정
Webex Contact Center 통합을 위한 외부 클라이언트 앱
Webex Contact Center Salesforce 커넥터에 대한 외부 클라이언트 앱 구성
Service Cloud Voice를 최대한 활용하려면 콜이 IVR에 있는 동안 음성 통화 레코드를 만들고 Salesforce 옴니채널 플로우를 실행하도록 컨택 센터 통화 흐름을 조정할 수 있습니다.
인증서 만들기
조직의 보안 정책에 따라 디지털 인증서를 이미 만들었는지 확인합니다.
디지털 인증서를 생성하려면 Salesforce 설명서(https://developer.salesforce.com/docs/atlas.en-us.voice_pt_developer_guide.meta/voice_pt_developer_guide/voice_pt_generate_certificate.htm )를 참조하십시오.
예제
openssl genrsa -des3 -passout pass:<password> -out server.pass.key 2048 openssl RSA -passin pass:<password> -in server.pass.key -out server.key rm server.pass.key openssl req -new -key server.key -out server.CSR 국가 이름(2자 코드) [AU]:CH 주 또는 도 이름(전체 이름) [Some-State]: 지역 이름(예: 도시) []: 조직 이름(예: 회사) [Internet Widgits Pty Ltd]: 조직 구성 단위 이름(예: 섹션) []: 일반 이름(예: 서버 FQDN 또는 귀하의 이름) []: 이메일 주소 []: my-api-user@my-example-org.com 인증서 요청과 함께 보낼 다음 '추가' 속성을 입력하십시오. 챌린지 암호 []:<password> 선택적 회사 이름 []: openssl x509 -req -sha256 -days 365 -in server.CSR -signkey server.key -out server.crt
server.crt => Salesforce 외부 클라이언트 앱에 대한 인증서
server.key => Webex Control Hub의 Salesforce 커넥터에 대한 개인 키
SCV 통합 사용자에 대한 권한 집합
다음 권한 집합은 Contact Center IVR 흐름 및 Salesforce for SCV용 Webex Contact Center와의 통합을 위해 Connects for SCV에서 사용하는 Apex 클래스에 대한 액세스 권한을 부여합니다.
다음은 구성 예이며 Contact Center/IVR 통합이 작동하는 데 필요한 최소 권한에 대해 설명합니다.
- Setup(설정)에서 Users( 사용자) | 권한 집합.
- 새로 만들기 버튼을 클릭합니다.
- 레이블을 입력합니다(예: IVR SCV Apex 클래스에 대한 액세스
- API 이름이 자동으로 채워집니다.
- 라이센스: 없음
- 저장 버튼을 클릭합니다.
- 새 권한 집합이 열립니다.
- Apex 클래스 액세스 로이동합니다.
- 편집 버튼을 클릭하고 다음 Apex 클래스를 추가합니다.
- cisco_wxcc_scv. 서비스 라우팅
- System Permissions(시스템 권한 )로이동합니다.
- 편집 단추를 클릭하고 다음 권한을 활성화합니다.
- Apex REST 서비스
- API 활성화됨
최소 액세스 - API 전용 통합 프로필
이 프로필은 SCV용 Salesforce의 Webex Contact Center와 통합하여 음성 통화 레코드를 만들고 IVR 흐름에서 Omni-Flow를 실행하는 데 사용됩니다.
다음은 구성 예이며 Contact Center/IVR 통합이 작동하는 데 필요한 최소 권한에 대해 설명합니다.
이것은 최소 액세스 - API 전용 통합 프로필의 복제본입니다.
- Setup(설정)에서 Users( 사용자) | 프로필.
- 프로파일 목록에서 프로파일 최소 액세스 - API 전용 통합을 검색합니다.
- 프로필 이름을 클릭하여 최소 액세스 - API 전용 통합 프로필을 엽니다 .
- Minimum Access - API Only Integrations(최소 액세스 - # 전용 통합) 프로필에서 Clone( 복제) 버튼을 클릭합니다.
- 새 프로파일 이름(예: SCV 통합)을 입력합니다.
- 저장 버튼을 클릭합니다.
- 새 프로파일이 열립니다.
- 최소 액세스 – API 전용 통합 프로필에 프로필 자체에서 제거된 모든 권한이 있는지 확인합니다.
- System Permissions(시스템 권한 )로이동합니다.
- 다음 권한이 활성화되어 있는지 확인합니다.
- API 활성화됨
- API 사용자만
SCV 통합 사용자
다음은 구성 예이며 Contact Center/IVR 통합이 작동하는 데 필요한 최소 권한에 대해 설명합니다. SCV 통합 사용자에게는 Salesforce Service Cloud Voice 라이선스 또는 Salesforce for SCV용 Webex Contact Center 라이선스가 필요하지 않습니다.
- Setup(설정)에서 Users( 사용자) | 사용자.
- 새 사용자 단추를 클릭합니다.
- 이름, 성 및 기타 모든 필수 필드를 입력합니다.
- 사용자 라이선스: Salesforce 통합
- 프로필: 이전 단계에서 만든 프로필("SCV 통합 프로필", 최소 액세스 클론 - API 통합 프로필만 포함)을 선택합니다.
- 저장 버튼을 클릭합니다.
- 새 사용자 레코드를 엽니다.
- 이전에 만든 권한 집합 ( "SCV Apex 클래스에 대한 IVR 액세스")을 할당합니다.
- 권한 집합 라이선스 Salesforce API 통합을 할당합니다.
Salesforce 외부 클라이언트 앱 만들기
새 외부 클라이언트 앱 만들기
Salesforce 데이터를 타사 응용 프로그램과 연결하는 두 가지 옵션이 있습니다. 연결된 앱과 외부 클라이언트 앱은 모두 데이터를 통합하기 위한 프레임워크입니다. 외부 클라이언트 앱은 차세대 연결된 앱입니다.
Cisco Webex Contact Center에서 사용하는 Salesforce 외부 클라이언트 앱을 구성하려면 다음을 수행합니다.
- Setup(설정)에서 Apps(앱)| 외부 클라이언트 앱 | 외부 클라이언트 응용 프로그램 관리자.
- 새 외부 클라이언트 앱을 클릭합니다.
- 외부 클라이언트 앱 - 기본 정보
- 외부 클라이언트 앱 이름: WxCC - SCV
- API 이름: WxCC_SCV
- 문의 이메일: 이메일 > <
- 배포 상태: 로컬 선택

외부 클라이언트 앱—API(OAuth 설정 활성화)
- 선택: OAuth 사용
- 앱 설정
- 콜백 URL: http://localhost:1717/OauthRedirect(샘플 콜백 URL)
- OAuth 범위
- OAuth 범위를 선택합니다.
- API를 통해 사용자 데이터 관리(API)
- 언제든지 요청 수행(refresh_token, offline_access)

흐름 지원
- 선택: JWT 베어러 흐름 사용
- Upload Files(파일 업로드)를
클릭하고 디지털 인증서가 포함된 server.crt파일을 업로드합니다.

보안
웹 서버 흐름 에 대한 비밀 필요 옵션의 선택을 취소합니다.

- 만들기 버튼을 클릭합니다.
- Tab 정책으로 변경한 다음 편집 단추를 클릭합니다 .
- 정책 - OAuth 정책
- 플러그인 정책
- 허용된 사용자: 관리자 승인 사용자는 사전 권한이 부여됨을 선택합니다.
- 변경 사항 확인
- 앱 권한 부여
- 새로 고침 토큰 정책: 새로 고침 토큰 즉시 만료를 선택합니다.
- IP 완화: IP 제한 적용을 선택합니다.

- 플러그인 정책
- 정책 - 앱 정책
- 시작 페이지—없음
- 권한 집합 선택 - 이전에 만든 권한 집합을 할당합니다("SCV Apex 클래스에 대한 IVR 액세스").

- 저장을 클릭합니다.
- Tab 설정으로 변경합니다.
-
섹션 OAuth 설정에서 소비자 키 및 비밀 단추를 클릭합니다 . 이메일을 기다렸다가 신원을 확인하십시오. 새 브라우저 Tab은 소비자 세부 정보가 포함된 화면을 엽니다.

- 복사 를 클릭하고 소비자 키를 저장합니다. 소비자 키는 나중에 Webex Contact Center Control Hub에서 Salesforce 커넥터를 만드는 데 사용됩니다.

-
Webex Contact Center 음성 통화 레코드를 만들기 위한 구성 및 스크립트
Salesforce Service Cloud Voice의 전체 값을 얻으려면 콜이 컨택 센터에 도착하는 즉시 Webex Contact Center의 통화 흐름을 수정하여 Service Cloud Voice에서 음성 통화 레코드를 생성해야 합니다.
선택적 Omni-Flow는 Salesforce에서 라우팅 의사 결정 및 자동화를 위해 실행할 수 있습니다.
사용된 API에 대한 자세한 내용은 Service Cloud Voice API 래퍼 를 참조하세요.
필수 구성 요소
Service Cloud Voice API 래퍼를 사용하려면 IVR 통합을 위한 Salesforce 외부 클라이언트 앱을 구성해야 합니다.
Webex Control Hub에서 Salesforce 커넥터 구성
https://help.webex.com/en-us/article/7fuy63/SetUp-Integration-Connectors-for-Webex-Contact-Center#id_133211의 문서에 설명된 대로 Webex Contact Center에 대한 Salesforce 통합 커넥터를 설정합니다.
| 1 |
고객 조직( https://admin.webex.com )에 로그인하고 서비스 > 컨택 센터 > 테넌트 설정 > 통합>커넥터로 이동합니다. |
| 2 |
Salesforce 카드에서 설정 또는 커넥터 추가를 클릭합니다.
중요: 비밀을 주기적으로 교체하여 보안 유지 개인 키와 인증서를 정기적으로 교체하여 통합을 안전하게 유지해야 합니다. Webex 허브 의 Contact Center 커넥터에서 개인 키를 업데이트하고 Salesforce 의 외부 클라이언트 앱에서 인증서를업데이트합니다. 문제 해결 팁 완료를 클릭했는데 커넥터가 저장되지 않은 후:
|
Webex Contact Center 주요 흐름
| 흐름 변수 | 설명 |
|---|---|
| 음성 통화 레코드 ID에 대한 흐름 변수 | 통화를 식별하기 위한 고유한 ID입니다. 음성 통화 레코드를 만드는 데 필요합니다. 형식: wxcc_<상호 작용 ID> 예: wxcc_fc4ec7d8-4c91-49aa-b764-081fbba344a8
|
| 통화 시작 시간에 대한 지역 변수 |
음성 통화 레코드를 만들고 음성 통화를 업데이트할 때 사용합니다.
|
| 큐 이름/#에 대한 지역 변수ID |
Execute Omni Flow 에서반환되며 통화 라우팅에 사용됩니다. 이 변수는 Omni Flow 실행을 사용할 때만 필요합니다
|
| 상담원 이름/#에 대한 지역 변수ID |
Execute Omni Flow 에서반환되며 통화 라우팅에 사용됩니다. 이 변수는 Omni Flow 실행을 사용할 때만 필요합니다
|
Main Flow 개요

- 공급업체 통화 키 생성
- 통화 시작 시간 설정
- HTTP 요청: 음성 통화 레코드 생성
- 음성 통화 레코드 생성을 위한 HTTP 응답 평가
- 음성 통화 만들기 레코드에 대한 오류 처리
- HTTP 요청: Omni Flow 실행
- Omni Flow 실행을 위한 HTTP 응답 평가
- Omni Flow 실행에 대한 오류 처리
- 통화 라우팅 계속
| 흐름 | 설명 |
|---|---|
| 공급업체 통화 키 생성 |
Service Cloud Voice에서 처리되는 모든 통화는 Salesforce에서 음성 통화 레코드를 생성하며 공급업체 통화 키라는 고유한 ID 필요합니다. Webex Contact Center에서 생성된 음성 통화 레코드의 경우 공급업체 통화 키를 WxCC 흐름에서 정의한 다음 흐름 변수를 사용하여 통화와 함께 상담원에게 전달해야 합니다. vendorCallKey 값은 다음 규칙을 따라야 합니다.
|
| 통화 시작 시간 설정 |
통화 시작 시간의 UTC 타임스탬프입니다. 이 타임스탬프는 음성 통화 레코드를 만들고 발신자가 상담원에게 라우팅되기 전에 전화를 끊을 경우 음성 통화 레코드를 업데이트하는 데 사용됩니다.
|
| HTTP 요청: 음성 통화 레코드 생성 |
이 단계는 모든 통화에 필요합니다. 음성 통화 레코드가 만들어지면 음성 통화 레코드 ID를 공급업체 통화 키와 함께 변수에 넣어 상담원에게 전달해야 합니다. Service Cloud Voice의 Contact Center 구성에서 사용된 변수를 구성합니다. |
| HTTP 요청 설정 |
|
HTTP 요청: 음성 통화 레코드 생성
이 단계는 모든 통화에 필요합니다. 음성 통화 레코드가 만들어지면 음성 통화 레코드 ID을 공급업체 통화 키와 함께 변수에 넣어 상담원에게 전달해야 합니다. Service Cloud Voice의 Contact Center 구성에서 사용된 변수를 구성합니다.
HTTP 요청 설정
- 활동 레이블: CreateVoiceCall
- 인증된 엔드포인트 사용: 사용
- 커넥터: 이전 단계에서 만든 Salesforce 커넥터
- 요청 경로:
/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall - 방법: POST
- 요청 콘텐츠 유형: 애플리케이션/JSON
요청 본문
음성 통화 레코드를 만들 때 음성 통화 레코드의 사용자 정의 필드를 통화 데이터로 업데이트할 수도 있습니다. 다음은 요청 본문의 두 가지 예로, 하나는 모든 필수 필드가 있지만 사용자 지정 필드를 업데이트하지 않고 다른 하나는 사용자 지정 필드를 포함합니다.
음성 통화 레코드의 사용자 정의 필드를 업데이트하지 않고:
{ "callCenterDevName": "<컨택센터 API 이름>", "certDevName": "<인증서 개발자 이름>", "vendorCallKey": "{{SCV_VendorCallKey}}", "받는 사람": "{{NewPhoneContact.DNIS}}", "보낸 사람": "{{NewPhoneContact.ANI}}", "initiationMethod": "인바운드", "startTime": "{{SCV_CallStartTime}}", "참가자": [ { "participantKey": "{{NewPhoneContact.ANI}}", "유형" : "END_USER" } ] }
음성 통화 레코드의 사용자 정의 필드를 업데이트하는 예:
{ "callCenterDevName": "<컨택 센터 API 이름>", "certDevName": "<인증서 개발 이름>", "vendorCallKey": "{{SCV_VendorCallKey}}", "받는 사람": "{{NewPhoneContact.DNIS}}", "보낸 사람": "{{NewPhoneContact.ANI}}", "initiationMethod": "인바운드", "startTime": "{{SCV_CallStartTime}}", "참가자": [ { "participantKey": "{{NewPhoneContact.ANI}}", "type" : "END_USER" } ], "callAttributes": "{\"custfield1__c\": \"<value1>\",\"custfield2__c\": \"<value2>\",\" custfield3__c\": \"<값3>\"}" }
매개 변수
| 속성 이름 | 값 |
|---|---|
| callCenterDevName | Contact Center 개발자 이름 |
| certDevName | API 인증서의 이름(고객지원센터에서 구성한 대로) |
| 공급업체 통화 키 | 고유 호출 ID: {{SCV_VendorCallKey}}
|
| 에게 | CalledNumber/DNIS: {{NewPhoneContact.DNIS}}
|
| ~에서 | 발신자 번호/ANI: {{NewPhoneContact.ANI}}
|
| 시작 시간 | UTC 타임스탬프 {{SCV_CallStartTime}}( 스크립트에서 호출을 수락한 직후에 설정) |
| callAttributes(통화 속성) |
음성 통화 레코드의 추가 표준 및 사용자 정의 필드를 나타냅니다. 여기서 각 키-값 쌍은 표준 또는 사용자 정의 필드 및 해당 값에 해당합니다. 예:
|
구문 분석 설정
- 콘텐츠 형태: JSON
- 출력 변수: SCV_VoiceCallRecordId
- 경로 표현식:
$.data.voiceCallId
음성 통화 레코드 ID, 에이전트에게 전달됩니다.
음성 통화 레코드 생성을 위한 HTTP 응답 평가
음성 통화 만들기 http 요청의 HTTP 상태를 확인합니다.
- 레이블: statusCodeCreateVoiceCall
- 변수: CreateVoiceCall.httpStatusCode
상태 코드 == 200 => 성공한 경우 => 요청 실패, 오류 처리
음성 통화 만들기 레코드에 대한 오류 처리
데모 / 디버그의 경우 http 상태 코드에 따라 메시지를 재생합니다.
음성 통화 생성에 성공한 경우 Omni Flow 실행을 계속합니다. 그렇지 않으면, 통화 라우팅을 계속합니다.
HTTP 요청: Omni Flow 실행(선택적 단계)
Omni-Flow 실행을 사용하면 다음과 같은 작업을 수행할 수 있습니다.
- 자동화된 작업(예: 레코드 검색 또는 만들기)을 실행하고 레코드를 음성 통화 레코드와 연결
- 레코드 검색 및 화면 팝 수행
- Salesforce 및 Cisco 대기열 동기화
- Service Cloud Voice에서 라우팅을 결정하도록 합니다.
이 요청은 항상 통화를 라우팅해야 하는 "대기열" 또는 "상담원"을 반환합니다.
이 요청을 실행한 후 상담원이 응답하기 전에 발신자가 전화를 끊으면 라우팅 지우기를 전송해야 합니다. Webex Contact Center 이벤트 흐름을 참조하세요.
HTTP 요청 설정
- 활동 레이블: ExecuteOmniFlow
- 인증된 엔드포인트 사용: 사용
- 커넥터: 이전 단계에서 만든 Salesforce 커넥터
- 요청 경로:
/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow - 방법: POST
- 요청 콘텐츠 유형: 애플리케이션/JSON
요청 본문
필수 필드 외에도 추가 데이터를 입력 변수로 Omni-Flow에 전달할 수 있습니다. 다음은 요청 본문의 두 가지 예입니다. 첫 번째는 추가 흐름 매개 변수가 없고 필수 필드만 있고 두 번째는 두 개의 입력 변수가 있습니다.
Omni-Flow 매개변수의 예:
{ "callCenterDevName": "<컨택센터 API 이름>", "certDevName": "<인증서 개발 이름>", "voiceCallId": "{{SCV_VoiceCallRecordId}}", "dialedNumber": "{{NewPhoneContact.DNIS}}", "flowDevName": "<흐름 API 이름>", "fallbackQueue": "<대체 대기열 이름>" }
음성 통화 레코드의 사용자 정의 필드를 업데이트하는 예:
{ "callCenterDevName": "<고객지원센터 API 이름>", "certDevName": "<인증서 개발 이름>", "voiceCallId": "{{SCV_VoiceCallRecordId}}", "dialedNumber": "{{NewPhoneContact.DNIS}}", "flowDevName": "<흐름 API 이름>", "fallbackQueue": "<폴백 대기열 이름>", "flowInputParameters": { "param1": "값1", "param2": "값2" } }
매개 변수
| 속성 이름 | 값 |
|---|---|
| callCenterDevName | Contact Center 개발자 이름 |
| certDevName | API 인증서의 이름(연결 센터에 구성된 대로) |
| 음성 통화 ID | 이전 단계에서 생성된 음성 통화 레코드의 ID: {{SCV_VoiceCallRecordId}}
|
| 전화 건 번호 | CalledNumber/DNIS: {{NewPhoneContact.DNIS}}
|
| flowDevName | 실행할 Omni-Flow의 개발자 이름 |
| 폴백큐(fallbackQueue) | 대기열 ID 또는 대기열 API 대체 Salesforce 대기열의 이름 |
| flowInputParameters |
Omni-Channel 흐름에 대한 추가 입력(키-값 쌍)Additional inputs to the Omni-Channel flow (key-value pair). 예:
|
구문 분석 설정
대기열
- 콘텐츠 형태: JSON
- 출력 변수: SCV_OmniFlowQueue
- 경로 표현식:
$.data.queue
Execute Omni-Flow에서 반환된 "Queue"를 라우팅에 사용할 수 있습니다.
상담사- 콘텐츠 형태: JSON
- 출력 변수: SCV_OmniFlowAgent
- 경로 표현식:
$.data.agent
Execute Omni-Flow에서 반환된 "Agent"를 라우팅에 사용할 수 있습니다.
Omni Flow 실행을 위한 HTTP 응답 평가
Omni Flow http 실행 요청의 HTTP 상태를 확인합니다.
- 레이블: statusCodeExecuteOmniFlow
- 변수: ExecuteOmniFlow.httpStatusCode
상태 코드 == 200 => 성공한 경우 그렇지 않으면 => 요청이 실패하면 오류 처리가 발생합니다.
Omni Flow 실행에 대한 오류 처리
데모 / 디버그의 경우 http 상태 코드에 따라 메시지를 재생합니다.
Omni Flow 실행에 성공하면 변수 SCV_OmniFlowQueue 및 SCV_OmniFlowAgent가 설정되지 않습니다. 통화 흐름의 라우팅 결정입니다.
통화 라우팅 계속
통화 흐름을 계속 진행하면서 통화를 상담원에게 라우팅합니다. 선택 사항으로, SCV_OmniFlowQueue 및 SCV_OmniFlowAgent 사용하여 대기열과 상담원을 선택합니다.
Webex Contact Center 이벤트 흐름
상담원이 응답하기 전에 발신자가 전화를 끊으면 Service Cloud Voice를 업데이트하고 통화를 종료해야 합니다.
- Omni-Flow 실행이 사용된 경우 Clear Routing을 전송하여 PSR(Pending Service Routing)을 삭제합니다.
- 음성 통화 업데이트 전송 - 음성 통화 레코드의 시작 및 종료 시간을 업데이트하고 상태를 신규에서 완료됨으로 변경합니다.

- PhoneContactEnded - 이 이벤트는 라이브 통화 연결이 끊어지고 모든 참가자가 제거될 때 트리거됩니다.
- HTTP 요청: 라우팅 지우기
- HTTP 요청: 음성 통화 업데이트
HTTP 요청: 라우팅 지우기
- 표찰: ClearRouting
- 인증된 엔드포인트 사용: 사용
- 커넥터: 이전 단계에서 만든 Salesforce 커넥터
- 요청 경로:
/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting - 방법: POST
요청 콘텐츠 유형: 애플리케이션/JSON
요청 본문
{ "callCenterDevName": "<컨택센터 API 이름>", "certDevName": "<인증서 개발 이름>", "voiceCallId": "{{SCV_VoiceCallRecordId}}" }
매개 변수
| 속성 이름 | 값 |
|---|---|
| callCenterDevName | Contact Center 개발자 이름 |
| certDevName | API 인증서의 이름(고객지원센터에서 구성한 대로) |
| 음성 통화 ID | 이전 단계에서 만든 음성 통화 레코드의 ID: SCV_VoiceCallRecordId |
구문 분석 설정
없음
HTTP 요청: 음성 통화 업데이트
- 표찰: UpdateVoiceCall
- 인증된 엔드포인트 사용: 사용
- 커넥터: 이전 단계에서 만든 Salesforce 커넥터
- 요청 경로:
/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall - 방법: POST
- 요청 콘텐츠 유형: 애플리케이션/JSON
요청 본문
{ "callCenterDevName": "<컨택 센터 API 이름>", "certDevName": "<인증서 개발자 이름>", "voiceCallId": "{{SCV_VoiceCallRecordId}}", "startTime": "{{SCV_CallStartTime}}", "endTime": "{{now() | replace({'[UTC]': ''})}}", "disconnectReason": { "value": "대기열에서 취소됨", "isError": true } }
매개 변수
| 속성 이름 | 값 |
|---|---|
| callCenterDevName | Contact Center 개발자 이름 |
| certDevName | API 인증서의 이름(연결 센터에 구성된 대로) |
| 음성 통화 ID | 이전 단계에서 만든 음성 통화 레코드의 ID: SCV_VoiceCallRecordId |
| 시작 시간 | 통화 시작 의 UTC 타임스탬프{{SCV_CallStartTime}} (음성 통화 레코드를 만드는 데 사용됨) |
| 종료 시간 | 현재 UTC 타임스탬프 '{{now() |
| 연결 끊김 이유 | 통화 연결을 끊은 이유입니다. isError 속성이 제대로 표시되려면 true 로 설정해야 합니다. |
구문 분석 설정
없음
참조
언어 번역
(선택 사항) Translation Workbench 활성화
이 설정은 번역 언어 설정을 사용하는 경우에만 적용됩니다.
| 1 |
→ Translation Workbench 설정 → 번역 언어 설정으로 이동합니다. |
| 2 |
사용을 클릭하여 번역 언어를 선택합니다.
|
(선택 사항) 플랫폼 전용 언어 사용
이 설정은 EN-US 이외의 언어에만 적용됩니다.
| 1 |
→ 회사 설정 → 언어 설정으로 이동합니다. |
| 2 |
필요한 언어를 선택합니다. |
| 3 |
다음 확인란을 선택합니다.
|
| 4 |
변경 내용을 저장합니다.
|
언어 활성화 및 사용자(작업) 선택
| 1 |
→ Translation Workbench 설정 → 번역 언어 설정으로 이동합니다. |
| 2 |
언어를 선택하고 번역할 사용자를 선택합니다. |
| 3 |
변경 내용을 저장합니다.
|
다국어 설정
사용자 지정 레이블 번역
| 1 |
Set up → Custom Labels( 맞춤 라벨 설정)로 이동합니다. |
| 2 |
열려는 사용자 지정 레이블의 이름을 선택합니다.
|
| 3 |
관련 번역 목록에서 새로 만들기를 |
| 4 |
번역할 언어를 선택합니다.
|
| 5 |
Translation Text(번역 텍스트) 필드에 번역된 값을 입력합니다. 이 텍스트는 사용자의 기본 언어가 번역 언어일 때 레이블의 [값] 필드에 지정된 값을 덮어씁니다. |
| 6 |
변경 내용을 저장합니다. |
사용자 기능에 필요한 Salesforce 권한
Webex Contact Center SCV 상담원 권한 집합에는 Webex Contact Center 가젯 및 상담원용으로 개발된 통합을 사용하는 데 필요한 모든 권한이 포함되어 있습니다.
Apex 클래스 액세스(섹션)
- cisco_wxcc_scv. CiscoScvWxcc
- cisco_wxcc_scv. 서비스 응답 처리기
- cisco_wxcc_scv. 서비스 라우팅
- cisco_wxcc_scv. TelephonyIntegrationHandler
사용자 정의 메타데이터 유형 액세스(섹션)
- cisco_wxcc_scv. WxCC 연결
Visualforce 페이지 액세스(섹션)
- cisco_wxcc_scv. CiscoScvLoginWxCC
- cisco_wxcc_scv. CiscoScvMainWxCC
- cisco_wxcc_scv. CiscoScvOAuth리디렉션
- cisco_wxcc_scv. CiscoScvSw로더
Service Cloud Voice API 래퍼
필수 구성 요소
Service Cloud Voice API 래퍼를 사용하려면 IVR 통합을 위한 Salesforce 외부 클라이언트 앱을 구성해야 합니다.
Service Cloud Voice API 래퍼 사용
Salesforce용 SCV(Service Cloud Voice)는 텔레포니 통합 REST API를 사용하여 음성 통화를 생성 및 업데이트하고, 옴니채널 흐름을 실행하고, 음성 통화와 연결된 PendingServiceRouting 레코드를 삭제합니다. 이 서비스에는 JWT 권한 부여 및 현재 Cisco IP Interactive Voice Response(IVR)에서 지원되지 않는 PATCH HTTP 메서드의 사용이 필요합니다.
IVR 시스템뿐만 아니라 SCV에 대한 텔레포니 통합 REST API의 사용을 간소화하기 위해 기존 Salesforce API를 래핑하고 Service Cloud Voice용 Webex Contact Center 패키지가 설치된 Salesforce 조직에서 직접 액세스할 수 있는 새로운 API 세트를 사용할 수 있습니다.
Service Cloud Voice API 래퍼 는 JWT 토큰을 인증할 필요가 없고, Salesforce API에 필요한 데이터에 대한 추가 검사를 구현하며, 응답 개체를 개선합니다.
Access_Token 검색
POST 요청을 https://<your-domain-name>.my.salesforce.com/services/oauth2/token 실행합니다 .
본문에 다음 매개 변수를 보냅니다.
{ "grant_type": "client_credentials", "client_id": "<연결된 앱의 소비자 키>", "client_secret": "<연결된 앱의 소비자 암호>" } 요청이 성공하면 다음 JSON 응답이 반환됩니다. { "access_token": "<your-access-token>", "instance_url": "<your-org-base-url>", "ID": "https://login.salesforce.com/id/<id>/<id>", "token_type": "bearer", "issued_at": "<timestamp>", "signature": "<unique-signature-code>" }
요청 실행
인스턴스 URL에 my.salesforce.com이 포함되어야 합니다.
올바른 인스턴스 URL의 예: https://abc-123.my.salesforce.com
다른 도메인을 인스턴스 URL(예: https://abc-123.lightning.force.com )로 사용하면 401 권한 없음 상태가 되고 INVALID_SESSION_ID errorCode가 반환됩니다.
음성 통화 만들기(섹션)
VoiceCall 레코드의 참가자(즉, 발신자와 수신자)를 포함하는 VoiceCall 레코드를 만듭니다. 음성 통화 레코드를 생성하면 Salesforce에서 대화가 생성됩니다. 이 API은 실시간 컨텍스트에서만 사용합니다. 즉, 통화가 시작될 때만 이 API를 호출해야 합니다. 이 API는 요청 페이로드에 parentVoiceCallId 매개 변수를 포함시켜 호전환 및 전화회의 통화에 대한 음성 통화 레코드를 만드는 데에도 사용할 수 있습니다.
엔드포인트 URI
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
HTTP 메서드
POST
헤더
권한 부여: 무기명 <access_token>
콘텐츠 유형: application/json
매개 변수
{ "callCenterDevName": "contactCenterDevName123", "certDevName": "certDevName123", "vendorCallKey": "5324881f-1e84-4367-8930-f69a74b30ca6", "to": "8002345678", "from": "4081456688", "initiationMethod": "인바운드", "startTime": "2019-07-02T17:32:28Z", "참가자": [ { "participantKey": "4081456688", "type" : "END_USER" } ], "callAttributes": "{\"devscv24__AAA_Test__c\":\"필드 값\",\"Other_Field__c\":\"기타 값\"}", "parentVoiceCallId": "fsdfzuhsdfsa-43556fgef3-56g44gv4ew", "callOrigin": "미리보기", "대기열": "대기열123" }
응답(성공)
{ "데이터": { "voiceCallId": "00X000012345abc" }, "오류": null, "성공": true }
응답(오류 있음)
{ "data": null, "errors": ["오류 메시지 1", "오류 메시지 2"], "성공": false }
음성 통화 업데이트
통화가 종료된 후 음성 통화를 업데이트합니다. 이 API을 사용하여 음성 통화 생성 단계에서 사용할 수 없는 통화 관련 매개 변수를 업데이트합니다. 음성 통화 업데이트 API는 비동기 작업입니다. API 통화의 상태를 쿼리할 수 없습니다.
이 엔드포인트는 통화가 종료된 후에도 VoiceCall을 만드는 데 사용될 수 있습니다. 이 동작은 취소되거나 부재 중 통화에 대한 레코드를 Salesforce에 기록하려는 시나리오 또는 VoiceCall이 아직 생성되지 않은 다른 시나리오에서 유용합니다.
엔드포인트 URI
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall
HTTP 메서드
POST
헤더
권한 부여: 무기명 <access_token>
콘텐츠 유형: application/json
매개 변수
{ "callCenterDevName": "contactCenterDevName123", "certDevName": "certDevName123", "voiceCallId": "00X000012345abc", "startTime": "2020-08-26T21:21:14Z", "endTime": "2019-08-26T21:21:34Z", "isActiveCall": true, "fromNumber": "1234", "callOrigin": "미리보기", "enqueueTime": "2019-08-26T21:21:34Z", "수락 시간": "2019-08-26T21:21:24Z", "numberOfHolds": 20, "대기열": "queue123", "agent": "agent123", "agentInteractionDuration": 12, "longestHoldDuration" : 10, "totalHoldDuration": 21, "recordingLocation": "Bern", "totalRecordingDuration": 55, "callAttributes": "{\"devscv24__AAA_Test__c\":\"필드 값\",\"Other_Field__c\":\"기타 값\"}", "disconnectReason": { "값": "TELECOM_PROBLEM", "isError": true } }
이 요청에서 수락한 매개 변수에 대한 자세한 설명은 Salesforce 공식 설명서의 "매개 변수" 섹션에서 찾을 수 있습니다.
응답(성공)
{ "데이터": { "상태": "보류 중" }, "오류": null, "성공": true }
음성 통화 업데이트 API은 비동기 작업입니다. API 통화의 상태를 쿼리할 수 없습니다.
응답(오류 있음)
{ "data": null, "errors": ["오류 메시지 1", "오류 메시지 2"], "성공": false }
Omni-flow 실행
옴니채널 흐름을 실행하여 통화를 라우팅합니다. ID 통화(Salesforce VoiceCallId 또는 전화 통신 공급업체 ContactId)를 매개 변수로 흐름에 전달하고 상담원 또는 대기열 라우팅 지침을 연결 흐름에 반환합니다. 기본적으로 Service Cloud Voice는 전화 건 번호와 일치하는 전화 채널에 대해 지정된 옴니채널 흐름(또는 폴백 대기열)을 사용합니다. 전화 건 번호가 기존 전화 채널과 일치하지 않는 경우 선택적으로 새 전화 건 번호, 옴니 채널 흐름 및 폴백 대기열을 이 API 통화에 대한 입력 매개 변수로 설정할 수 있습니다.
Service Cloud Voice는 다음과 같은 우선 순위 순서를 사용하여 통화를 라우팅합니다.
- 전화 건 번호와 일치하는 전화기 채널에 대해 옴니채널 흐름 및 폴백 대기열 설정을 사용합니다. 흐름이 우선합니다. 흐름이 실패하면 폴백 큐가 사용됩니다.
- Omniflow API 실행 호출에 지정된 flowDevName 및 fallbackQueue 매개 변수를 사용합니다.
엔드포인트 URI
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow
HTTP 메서드
POST
헤더
권한 부여: 무기명 <access_token>
콘텐츠 유형: application/json
매개 변수
{ "callCenterDevName": "contactCenterDevName123", "certDevName": "certDevName123", "voiceCallId": "00X000012345abc", "dialedNumber": "+18445791189", "flowDevName": "Route_VoiceCall", "fallbackQueue": "00G111222333444", "flowInputParameters": { "Input1": "하나", "입력2": "둘" } }
- voiceCallId 매개 변수는 Salesforce voiceCallId 또는 전화 통신 공급업체의 연락처 ID입니다.
- 이 요청에서 수락한 매개 변수에 대한 자세한 설명은 Salesforce 공식 설명서의 "매개 변수" 섹션에서 찾을 수 있습니다.
응답(성공)
{ "data": { "queue": "queue info", "agent": "agent info" }, "errors": null, "success": true }
AGENT_INFO 및 QUEUE_INFO는 CallCenterRoutingMap의 ExternalId 필드에 해당합니다
응답(오류 있음)
{ "data": null, "errors": ["오류 메시지 1", "오류 메시지 2"], "성공": false }
명확한 라우팅
음성 통화에 대한 PSR(PendingServiceRouting) 레코드를 삭제합니다. 이 API는 대부분의 시나리오에서 호출할 필요가 없습니다. 통화가 더 이상 라우팅되지 않으면 PSR 레코드가 자동으로 삭제됩니다. 그러나 파트너 텔레포니 시스템을 사용할 때 부재중 또는 취소된 통화와 같이 PSR 레코드를 지우려면 이 API을 명시적으로 호출해야 하는 몇 가지 시나리오가 있습니다.
엔드포인트 URI
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting
HTTP 메서드
POST
헤더
권한 부여: 무기명 <access_token>
콘텐츠 유형: application/json
매개 변수
{ "callCenterDevName": "contactCenterDevName123", "certDevName": "certDevName123", "voiceCallId": "00X000012345abc" }
- voiceCallId 매개 변수는 Salesforce voiceCallId 또는 전화 통신 공급업체의 연락처 ID입니다.
- 이 요청에서 수락한 매개 변수에 대한 자세한 설명은 Salesforce 공식 설명서의 "매개 변수" 섹션에서 찾을 수 있습니다.
응답(성공)
{ "데이터": { "상태": "성공" }, "오류": null, "성공": true }
응답(오류 있음)
{ "data": null, "errors": ["오류 메시지 1", "오류 메시지 2"], "성공": false }
전화 번호 변환
Service Cloud Voice와 Webex Contact Center 간의 다양한 상호 작용은 전화 번호 변환에 따라 달라집니다. 국제적 차이와 고객별 애플리케이션으로 인해 전화 번호를 형식 A에서 형식 B로 전송하려면 사용자 지정 가능한 도구가 필요합니다.
Service Cloud Voice용 Webex Contact Center 솔루션은 숫자, 해시태그(#), 별표(*), 쉼표(,) 및 선행 더하기 기호(+)를 제외한 모든 문자를 자동으로 제거합니다. 또한 첫 번째 항목인 (0)도 제거합니다. 이것은 전화번호 번역이 적용되기 전에 수행됩니다 .
이 가이드에서는 전화 번호 변환을 구성하는 방법에 대해 설명합니다.
필드
전화 번호 변환은 이름-값 필드에 저장됩니다. 이를 통해 기능당 규칙 수를 무제한으로 구성할 수 있습니다.
구성은 JSON 문자열로 저장됩니다.
백슬래시는 이스케이프해야 합니다. 예를 들어, \d+는 \\d+가 됩니다.
{"숫자를 제외한 모든 문자 제거":"[1,17]->[^\\d]+","내부 번호로":"[7,17]->(\\d{7})(\\d{4})->$2"}
이름 필드는 기술적으로 사용되지 않습니다. 이 규칙의 목적을 빠르게 식별하기 위해 사람이 읽을 수 있는 문자열을 추가하는 것입니다. 좋은 이름은 예를 들면 다음과 같습니다 : 모든 선행 0 제거, 선행 더하기 추가 등.
변환 규칙 만들기
규칙은 정규식으로 제공됩니다. 더 정확하게 말하면 : 정규식의 JavaScript 구현.
시작하는 좋은 방법은 MDN 웹 문서에서 RegExp 문서를 읽는 것입니다.
그럼에도 불구하고 복잡한 정규식을 만드는 것은 종종 번거롭습니다. 따라서 가능한 한 쉽게 구성할 수 있도록 추가 구문을 추가했습니다.
아래 그림은 전화 번호 변환 규칙의 일반 구문을 보여줍니다.
조건자
술어는 일치시킬 숫자의 길이를 정의하는 간격을 지정하는 데 사용됩니다.
위의 술어는 길이가 7자에서 11자 사이인 모든 숫자(가장자리 + 공백 포함)가 일치하도록 지정합니다.
술어는 항상 숫자의 원래 길이와 일치합니다. 이렇게 하면 내부/외부 번호에 대한 규칙이 충돌할 위험을 줄여 구성을 단순화하는 데 도움이 됩니다.
패턴
패턴은 일치시킬 번호의 형식을 지정합니다.
위의 패턴은 숫자가 숫자로만 구성되어야 함을 명시하고 선택합니다.
선택기
선택기는 숫자의 최종 형식을 정의합니다. 원래 존재하지 않았던 문자/숫자를 추가해야 하는 경우 여기에서 추가합니다.
선택기는 번호를 작성하는 마지막 단계입니다. 패턴 출력에 따라 선택기는 새 숫자를 작성합니다.
예제 1
다음 예는 컨택 센터에서 받은 번호를 0319175200 형식으로 스위스 E164 형식 +41 31 917 52 00으로 호전환하는 방법을 보여줍니다.
이 예에서는 두 개의 변환 규칙(1. 및 2)을 사용합니다.
이 예제의 첫 번째 규칙은 실제로 숫자를 변경하지 않습니다. 길이가 1자에서 17자 사이인 숫자의 경우 숫자를 제외한 다른 모든 항목은 제거됩니다. 숫자가 아닌 것이 없으므로 아무 것도 변경되지 않습니다.
두 번째 규칙은 원래는 정확히 10자 길이의 숫자에 적용됩니다. 0319175200이 일치하므로 규칙이 적용됩니다. 이 패턴은 번호가 한 자리 그룹(\d{1})으로 시작하고 두 자리 그룹(\d{2}), 세 자리 그룹(\d{3}) 등으로 시작해야 함을 지정합니다.
그런 다음 선택기는 패턴 그룹에 액세스하여 새 숫자 문자열을 정의합니다. 즉, $2는 첫 번째(\d{2})를 참조하므로 31을 포함합니다.
예제 2
다음 예는 컨택 센터에서 받은 번호를 +14693150217 형식으로 US E164 형식 +1 469 315 0217으로 호전환하는 방법을 보여줍니다.
이 예에서는 두 개의 변환 규칙(1. 및 2)을 사용합니다.
- 이 숫자는 정확히 12자이므로 "미국 숫자에 공백 추가" 규칙이 적용됩니다.
- (\+1)은 숫자가 +1로 시작해야 함을 나타냅니다. 숫자가 12자이지만 +1로 시작하지 않으면 규칙이 취소되고 아무 것도 변경되지 않습니다.
- (\d{3})는 +1 뒤에 3자리 숫자가 와야 함을 나타냅니다.
- (\d{3})는 마지막 3자리 뒤에 다른 3자리가 와야 함을 나타냅니다.
- (\d{4})는 마지막 3자리 뒤에 4자리가 와야 함을 나타냅니다.
이 중 하나라도 일치하지 않으면 번호가 변경되지 않습니다.
따라서 모든 규칙은 "+14693150217"에 적용됩니다. 따라서 숫자는 "$1 #"로 변경됩니다$2 $3 $4":
- $1는 그룹(\+1)을 나타내며 Service Cloud Voice로 보낼 번호는 +1과 같습니다.
- $2은 두 개 중 첫 번째(\d{3})를 나타내며 Service Cloud Voice로 보낼 번호는 +1 469와 같습니다.
- $3은 두 개 중 두 번째(\d{3})를 나타내며 Service Cloud Voice로 보낼 번호는 +1 469 315과 같습니다.
- $4은 마지막 그룹(\d{4})을 나타내며 Service Cloud Voice로 보낼 번호는 +1 469 315 0217과 같습니다.
규칙 "$1 $2 $3 $4"의 대체 부분에 있는 공백은 직접 사용됩니다. 따라서 "$1-$2-$3-$4"를 사용하면 숫자는 +1-469-315-0217으로 변환됩니다.
또한 그룹을 제거할 수도 있습니다: [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->$2 $3 $4은 469 315 0217로 번역됩니다. [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})-> $3 $4는 315 0217로 번역됩니다.
[12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->($2) $3-$4와 같은 미국 국제 번호를 현지 번호로 변환할 수도 있습니다.
그러면 수신 번호 "+14693150217"가 (469) 315-0217로 변환됩니다.
예제 3
다음 예에서는 컨택 센터에서 받은 번호를 +491515555531 형식의 독일어 E164 형식 +49 151 5555 531으로 호전환하는 방법을 보여줍니다.
이 예에서는 두 개의 변환 규칙(1. 및 2)을 사용합니다.
- 이 숫자의 길이는 정확히 13자이므로 "독일 숫자에 공백 추가" 규칙이 적용됩니다.
- (\+49)는 숫자가 +49로 시작해야 함을 나타냅니다. 숫자가 13자이지만 +49로 시작하지 않으면 규칙이 취소되고 아무 것도 변경되지 않습니다.
- (\d{3})는 +49 뒤에 3자리 숫자가 와야 함을 나타냅니다.
- (\d{4})는 마지막 3자리 뒤에 4자리가 와야 함을 나타냅니다.
- (\d{3})는 마지막 4자리 뒤에 3자리가 와야 함을 나타냅니다.
이 중 하나라도 일치하지 않으면 번호가 변경되지 않습니다.
따라서 모든 규칙은 "+491515555531"에 적용됩니다. 따라서 숫자는 "$1 $2 $3 $4": 의해 변경됩니다.
- $1는 그룹(\+49)을 나타내며 Service Cloud Voice로 보낼 번호는 +49와 같습니다.
- $2은 두 개 중 첫 번째(\d{3})를 나타내며 Service Cloud Voice로 보낼 번호는 +49 151과 같습니다.
- $3은 두 개 중 두 번째(\d{4})를 나타내며 Service Cloud Voice로 보낼 번호는 +49 151 5555과 같습니다.
- $4는 마지막 그룹(\d{3})을 나타내며 Service Cloud Voice로 보낼 번호는 +49 151 5555 531과 같습니다.
규칙 1에도 동일하게 적용됩니다. 교체 부품 $1 $2 $3 $4을 사용하여 번호에서 사용할 항목을 선택할 수 있습니다.
더 많은 번역 정규식 예제
| 설명 | 번역 정규식 |
|---|---|
| 숫자를 제외한 모든 문자 제거 | [1,17]->[^\d]+ |
| 숫자 & +를 제외한 모든 문자 제거 | [1,17]->[^+\d]+ |
| 설명 | 번역 정규식 |
|---|---|
| +1 제거 | [12,12]->(.{ 1})(\d{1})(\d{10})->$3 |
| +1 제거 | [10,12]->(^\+1+)(\d+)->$2 |
| +49 제거 | [10,15]->(^\+49+)(\d+)->$2 |
| +49 제거 | [10,15]->(.{ 1})(\d{2})(\d{9})->$3 |
| +41 제거 | [10,13]->(^\+41+)(\d+)->$2 |
| +41 제거 | [10,13]->(.{ 1})(\d{2})(\d{9})->$3 |
| +XX 제거 | [10,14]->(^\++)(\d{2})(\d+)->$3 |
| 설명 | 번역 정규식 |
|---|---|
| +를 제거하고 0으로 바꿉니다. US E164 | [10,12]->(.{ 1})(\d{1})(\d{10})-> 001 $3 |
| +1을 제거하고 0으로 바꿉니다. US E164 | [10,12]->(^\+1+)(\d+)-> 001$2 |
| +를 제거하고 0으로 바꿉니다. DE E164 | [12,15]->(.{ 1})(\d{2})(\d{10})-> 0049 $3 |
| +49를 제거하고 0으로 바꿉니다. DE E164 | [10,12]->(^\+49+)(\d+)-> 0049$2 |
| +를 제거하고 0 CH E164로 바꿉니다. | [10,13]->(.{ 1})(\d{2})(\d{9})-> 0041 $3 |
| +41을 제거하고 0 CH E164로 바꿉니다. | [10,12]->(^\+41+)(\d+)-> 0041$2 |
| 설명 | 번역 정규식 |
|---|---|
| 공백이 있는 미국 번호 | [12,17]->(\d{1})(\d{3})(\d{3})(\d{4})->+1 $2 $3 $4 |
| 공백이 있는 미국 번호 | [12,17]->(\+1)(\d{3})(\d{3})(\d{4})->$1 $2 $3 $4 |
| 공백이 있는 DE 번호 | [12,17]->(\d{2})(\d{3})(\d{4})(\d{3})->+49 $2 $3 $4 |
| 공백이 있는 DE 번호 | [12,17]->(\+49)(\d{3})(\d{4})(\d{3})->$1 $2 $3 $4 |
| 공백이 있는 CH 번호 | [12,17]->(\d{2})(\d{2})(\d{3})(\d{2})(\d{2})->+41 $2 $3 $4 |
| 공백이 있는 CH 번호 | [12,17]->(\+41)(\d{2})(\d{3})(\d{2})(\d{2})->$1 $2 $3 $4 |
음성 통화 페이지 구성
음성 통화 녹음 페이지를 구성합니다
음성 통화 녹음 페이지는 기본적으로 3열 레이아웃과 다음 구성 요소로 사전 구성됩니다.
- 작업 & 권장 사항
- 통화 노트
- 통화 세부 정보
- 녹음
구성 요소는 비즈니스 요구 사항에 따라 자유롭게 제거하거나 페이지에 추가할 수 있습니다. 다른 페이지 레이아웃도 사용할 수 있지만 통화 녹음 재생기 및 대화 본문과 같은 일부 구성 요소는 템플릿의 중간 및 대형 영역에만 사용할 수 있습니다.
후속 작업 이유 구성 요소 표시
후속 작업 이유 구성 요소는 통화 중 및 후속 작업 중에 표시되어야 합니다.
Cisco 요약 이유 구성 요소를 [음성 통화 레코드] 페이지에 추가합니다.
- Lightning 구성 요소 목록의 사용자 정의 영역에서 Cisco 후속 작업 이유 Lightning 웹 구성 요소를 음성 통화 레코드 페이지로 끌어옵니다 .
- 저장을 클릭합니다.
- 활성화 를 클릭합니다.
- Assign as Org Default(조직 기본값으로 할당)를 클릭합니다.
- 저장을 클릭합니다.
- 저장을 다시 클릭한 다음 뒤로 화살표 를 클릭하여 페이지로 돌아갑니다.
Cisco 요약 이유 구성 요소는 통화 및 요약 중에 자동으로 표시됩니다.
페이지에 Cisco 후속 작업 이유 구성 요소가 추가됩니다. Cisco Contact Center에 후속 작업이 구성되지 않은 경우에도 모든 통화에 대해 # 후속 작업 이유 구성 요소가 표시됩니다.
통화 녹음 재생기 표시
통화 녹음 플레이어는 해당 음성 통화에 대한 녹음 링크가 저장된 경우 표시됩니다.
다음 단계에 따라 [음성 통화 녹음] 페이지에 [통화 녹음 재생기] 구성 요소를 추가합니다.
- 통화 녹음 플레이어 Lightning 웹 구성 요소를 음성 통화 녹음 페이지로 끌어다 놓습니다
- 저장을 클릭합니다 .
- 활성화를 클릭합니다 .
- Assign as Org Default(조직 기본값으로 할당)를 클릭합니다 .
- 저장을 클릭합니다 .
- 저장을 다시 클릭한 다음 뒤로 화살표를 클릭하여 페이지로 돌아갑니다.
Webex 관리자
흐름 구성
화면 팝업
"화면 팝업" 노드는 Webex Contact Center 흐름에서 사용할 수 있습니다. Service Cloud Voice 내부 또는 별도의 창에서 화면 팝업을 트리거하는 데 사용할 수 있습니다.
이 함수에 대한 자세한 내용은 흐름 디자이너 설명서에서 확인할 수 있습니다 .
별도의 창에 화면 표시
별도의 창에서 스크린 팝을 열려면 "스크린 팝" 노드에 절대 URL을 제공해야 합니다. queryParameters는 URL에 검색 매개 변수로 추가됩니다.
지원되는 모드는 다음과 같습니다.
- 새 브라우저 Tab - 항상 새 브라우저 Tab를 엽니다.
- 기존 브라우저 Tab - 첫 번째 기존 브라우저 Tab 화면 팝업에서 새 브라우저 Tab가 열립니다. 해당 Tab은 후속 기존 브라우저 Tab 화면 팝업을 위한 전용 Tab가 되며 URL은 해당 특정 브라우저 Tab 내에서 새로 고쳐집니다.
- Inside Desktop - 새 브라우저 Tab 과같은 방식으로 처리됩니다.
현재 열려 있는 페이지는 리디렉션을 방지할 수 있습니다. 이 경우 기존 브라우저 Tab 화면 팝업이 새 브라우저 Tab에서 열립니다.





