Studio에서 스크립팅

스크립트는 컨택 센터 관리에 중요한 부분입니다. 이를 통해 상호작용의 시작부터 끝까지 라우팅을 사용자 정의할 수 있습니다. 컨택 센터에는 각각 라우팅의 다른 측면을 다루는 다양한 스크립트가 있을 수 있습니다. 일부 스크립트는 필수이며 다른 스크립트는 옵션입니다. 필요한 스크립트의 정확한 수와 종류는 사용하는 애플리케이션 및 기능 그리고 처리하는 상호작용 종류에 따라 달라집니다.

스크립트는 매우 간단한 것부터 매우 복잡한 것까지 다양합니다. 단순한 스크립트에는 그렇게 많은 스크립팅 또는 코딩 지식이 필요하지 않습니다. 복잡한 스크립트에는 사용자 정의 스크립트 코드가 필요할 수 있습니다. 다음 이미지는 스크립트 예시를 보여줍니다.

모든 권장되는 지침을 따르는지 확인하기 위해 스크립팅 모범 사례를 참조하십시오.

Classics사는 국제적인 서점으로 자체 컨택 센터에서 CXone을(를) 설정하는 중입니다. Classics사 컨택 센터 관리자인 Christopher Robin은 Classics Studio 스크립터인 Eeyore Thistleflower와 협업하여 만들어야 하는 스크립트를 계획합니다.

Classics 컨택 센터는 인바운드 전화 통화와 이메일을 수신하고 자체 웹사이트에서 채팅 메시지를 수신합니다. Classics 컨택 센터는 아웃바운드 통화를 걸고 이메일을 보냅니다. 또한 Christopher는 회사가 다가오는 할인과 프로모션을 고객에게 알리기 위해 SMS 메시지를 보내기 시작할 계획임을 알고 있습니다. 이를 기반으로 Eeyore는 인바운드 전화, 이메일, 채팅 그리고 아웃바운드 이메일 및 SMS를 위한 스크립트가 필요하다고 결정합니다.

스크립트 미디어 유형

StudioCXone과 같은 미디어 유형을 지원합니다. 미디어 유형은 컨택과 상담원이 통신하는 데 사용하는 채널닫힘 컨택이 상담원이나 봇과 상호 작용하는 방법입니다. 채널은 음성, 이메일, 채팅, 소셜 미디어 등이 될 수 있습니다.의 종류입니다. 스크립트를 만들 때 미디어 유형을 선택해야 합니다. 미디어 유형은 스크립트가 처리하는 라우팅 유형과 일치해야 합니다. Studio의 스크립트 미디어 유형:

일반 스크립트 유형의 아이콘 - 내부에 < and > 기호가 있는 직사각형. 이메일 스크립트 유형의 아이콘 - 다이아몬드 모양에 큰 @ 기호. 채팅 스크립트 유형의 아이콘 - 다이아몬드 모양 안에 말줄임표(...)가 있는 채팅 풍선. 전화 스크립트 유형의 아이콘 - 소리가 울리는 것을 나타내는 곡선이 있는 구식 전화 수화기. 음성 사서함 스크립트 유형의 아이콘 - 카세트 테이프처럼 보이는 기호 - 가로선에 두 개의 동그라미. 작업 항목 스크립트 유형의 아이콘(한 쪽 모서리가 접혀 있고 글머리 기호 목록이 있는 종이). SMS 스크립트 유형의 아이콘 - 스마트폰에서 채팅 풍선이 나오는 모양. 디지털 스크립트 유형의 아이콘 - 옆에 스마트폰이 있는 컴퓨터 모니터.
일반 이메일 채팅 전화 음성 사서함 작업 항목 SMS 디지털

대부분의 작업은 모든 스크립트 유형과 작동하지만 일부 작업은 특정 스크립트 유형과만 작동합니다. 예를 들어 ASR닫힘 컨택은 말하기, 전화 키 누르기 또는 두 가지를 결합하여 녹음된 음성 프롬프트에 응답할 수 있습니다 작업은 전화 스크립트와만 작동합니다. 특정 스크립트 유형과 호환이 가능하지 않은 작업은 해당 스크립트의 도구 탭에 나타나지 않습니다.

프레임워크 탭 에는 Studio에서 사용할 수 있는 모든 작업이 포함되어 있습니다.. 작업 중인 스크립트 유형과 호환되지 않는 작업은 숨기지 않습니다. 호환되지 않는 동작을 추가하려고 하면 Studio에 오류 메시지가 표시됩니다.

스크립트 구성 요소

스크립트에는 다음 구성 요소가 포함됩니다.

  • 작업Studio에서 스크립트는 작업이라 부르는 연결된 블록으로 구성되어 있습니다. 각 작업은 스크립트에서 특정 목적을 수행합니다. 이러한 목적으로는 선택지 메뉴 만들기, 오디오 파일 재생하기 또는 대화 가능한 다음 상담원 요청하기가 있습니다.

    대부분의 작업에는 스크립트에서 작업의 특정 동작을 정의하기 위해 구성해야 하는 속성 집합이 있습니다. 속성에는 스킬닫힘 상담원 스킬, 능력 및 지식에 기반한 상호작용의 전달을 자동화하는 데 사용됩니다. 선택하기, 변수 설정하기, 재생할 오디오 파일 선택하기와 같은 항목이 포함됩니다.

  • 커넥터—스크립트의 흐름은 작업이 어떻게 연결되었는지연결되었는지에 따라 정의됩니다. Studio의 작업 영역에서 스크립트 흐름을 확인할 수 있습니다. 작업 간 연결은 선과 화살표로 표시됩니다.
  • 분기—작업에 가능한 결과가 둘 이상인 상황을 처리하기 위해 스크립트에 분기를 만들 수 있습니다. 분기를 사용하여 IVR닫힘 발신자가 음성 명령, 키 입력 또는 둘 다를 통해 상호작용하여 정보를 얻거나 인바운드 음성 통화를 라우팅 또는 둘 다를 할 수 있는 자동화된 전화 메뉴입니다. 메뉴와 같이 컨택에 선택권을 부여할 수도 있습니다. 여러 분기가 단일 작업에서 비롯될 수 있습니다. 동일한 작업에서 둘 이상의 분기 끝을 가질 수도 있습니다.
  • 프롬프트프롬프트는 많은 스크립트의 일반적인 구성 요소입니다. 컨택에게 선택을 제공하거나 정보를 제공하기 위해 스크립트가 재생할 수 있는 메시지입니다. 예를 들어 IVR 메뉴는 프롬프트를 사용하여 컨택에게 상호작용을 계속하기 위한 옵션을 전달합니다. 이는 “할인을 위해서는 1번을 누르고 지원을 위해서는 2번을 누르십시오.”와 같은 메시지일 수 있습니다. 또한 컨택에게 조직의 운영 시간 및 컨택의 현재 계좌 잔액과 같은 정보를 전달하기 위해 프롬프트를 사용할 수 있습니다.

    프롬프트는 미리 녹음된 오디오 파일이거나 텍스트 음성 변환(TTS닫힘 사용자가 텍스트로 녹음된 프롬프트를 입력할 수 있으며 컴퓨터가 생성한 음성을 사용하여 내용을 말할 수 있습니다.) 서비스에서 읽는 텍스트일 수 있습니다.

  • 사용자 정의 코드Studio 스크립트에서 사용자 정의 스크립팅을 사용해야 하는 경우가 있습니다. 사용자 정의 코드를 사용하면 스크립트가 수행할 수 있는 범위를 확장할 수 있습니다. 가상 상담원닫힘 실제 상담원 대신 고객 상호작용을 처리하는 소프트웨어 애플리케이션입니다.과 같은 특정 제품을 사용하는 데 필요합니다. Studio 스크립트 관리의 특정 측면을 단순화할 수 있으므로 필요하지 않더라도 사용하면 도움이 될 수 있습니다.

    사용자 정의 코드는 NICE CXone에서 자체 개발한 스크립팅 언어인 Snippet으로 작성해야 합니다. Snippet 사용에 대한 참조 자료는 Studio 온라인 도움말에서 볼 수 있습니다.

Studio 작업을 위한 온라인 도움말을 사용할 수 있습니다. 사용 가능한 작업 도움말 페이지 목록을 스크롤하거나 검색창을 사용하여 작업 이름을 검색할 수 있습니다. 또한 스크립트 캔버스에서 작업을 선택하거나 키보드에서 F1 키를 눌러 Studio에서 바로 액세스할 수 있습니다.

스크립트 템플릿 및 예시

Studio에서는 Personal Connection의 통화 억제와 같은 CXone의 일부 기능 및 애플리케이션을 위한 스크립트 템플릿을 제공합니다. 스크립트 템플릿은 새 스크립트 만들기 창의 사용 가능한 템플릿 섹션에 있습니다.

온라인 도움말에는 스크립트의 기반으로 사용할 수 있는 다른 스크립트가 포함되어 있습니다. 일부 제품 또는 CXone 기능에는 작동하는 스크립트가 필요합니다. 이러한 제품을 위한 온라인 도움말은 이러한 스크립트에 대한 정보를 제공합니다. 또한 다양한 Studio 작업닫힘 고객 데이터 모음, 메시지 또는 음악 재생 또는 상담원에게 컨택 라우팅과 같은 Studio 스크립트 내에서 프로세스를 수행합니다.을 위한 온라인 도움말 페이지는 스크립트 예시를 제공합니다. 이러한 예시는 특정 작업을 스크립트에서 사용하는 방법을 보여줍니다. 예시 스크립트는 완전하지 않으며 컨택 센터에서 사용할 수 있도록 추가 수정이 필요할 수 있습니다.

스크립트 버전 관리

명명 규칙을 개발하여 스크립트의 버전 관리를 관리할 수 있습니다. 일반적인 명명 규칙은 스크립트 파일 이름의 끝에 DEV 또는 PROD를 포함시키는 것입니다. 이렇게 단어를 추가하면 스크립트가 개발 또는 프로덕션 상태에 있는 것으로 확인하는 데 도움을 줍니다. 조직의 요구 사항에 맞는다면 날짜 또는 버전 번호와 같은 다른 정보를 포함시킬 수 있습니다.

개발에서 프로덕션으로 이동할 때와 같이 스크립트 이름을 변경해야 하면 다른 이름으로 저장을 사용하여 스크립트의 사본을 만들고 새 이름을 지정해야 합니다. Studio에서는 스크립트가 저장된 후 이름 변경을 허용하지 않습니다. 스크립트가 프로덕션으로 이동된 후 스크립트 폴더를 깔끔하게 유지하려면 이전 프로덕션 및 개발 버전을 비활성화할 수 있습니다. 이를 다시 사용해야 한다면 재활성화할 수 있습니다.

Studio에서 스크립트에는 두 가지 기록 버전 유형이 있습니다. 개발 및 프로덕션으로 스크립트를 이동하거나 뺄 때 수집되는 개별 파일이 있습니다. Studio에서는 또한 각 스크립트 파일의 이전 버전을 일정한 수로 유지합니다. 스크립트 파일을 저장할 때마다 Studio에서는 해당 파일의 기록에 새 버전을 추가합니다. 필요할 경우 스크립트 파일의 이전 버전으로 되돌릴 수 있습니다. Studio에서 보관하는 버전의 수는 구성 가능합니다.

스크립트를 저장할 때마다 또 다른 버전이 추가되기 때문에 스크립트 작업 세션 동안 해당 스크립트의 모든 저장된 버전을 완벽히 대체할 수 있습니다. 시작하기 전에 스크립트의 사본을 만드는 것이 좋을 수 있습니다. 특히나 중요한 변경 사항을 적용할 때 그렇습니다. 이렇게 하면 필요할 경우 참조하거나 완벽히 되돌릴 수 있습니다. 버전과 보관하는 이유를 알 수 있도록 사본의 이름을 지정합니다.

프로덕션 스크립트를 편집하지 마십시오. 저장된 변경 사항이 즉시 적용됩니다. 변경 사항으로 인해 스크립트에 문제가 생기면 컨택 센터의 운용 기능에 영향을 미칠 수 있습니다. 변경해야 할 경우 Save As을(를) 사용해 스크립트 복사본을 만들고 이름을 지정해 개발하는 스크립트임을 나타내십시오. 테스트를 모두 끝내고 준비가 되었을 때에만 프로덕션에 투입하십시오.

스크립트 시작 및 종료

스크립트는 두 가지 방법 중 하나로 시작됩니다. 다음과 같을 수 있습니다.

  • 컨택 포인트에서 시작됨. 이는 상호작용이 시작된 시점부터 컨택의 초기 라우팅을 처리하는 스크립트용입니다. 이러한 종류의 스크립트의 경우 컨택 포인트에 할당하여 프로덕션에 투입할 수 있습니다.
  • Runsub 또는 Runscript 작업을 사용하는 다른 스크립트에 의해 생성됨.

스크립트는 종료 작업으로 끝납니다. 이러한 작업에는 여러 가지가 있습니다. 사용하는 작업이 중요하며 스크립트 미디어 유형에 따라 다릅니다.

  • End: 스크립트를 종료합니다.
  • End a Contact: 활성 상태의 컨택을 종료합니다. 
  • EndText: Regagent 작업이 포함되지 않은 SMS 작업 흐름을 종료합니다(디지털 채널 전용).
  • EndWi: 원인 코드를 포함한 작업 항목을 종료합니다.
  • Exit: 채팅 세션을 종료하고 채팅 컨택과의 연결을 끊습니다.
  • Discard: 이메일 스크립트를 종료합니다.
  • Hangup: 통화가 연결된 후 인바운드 또는 아웃바운드 전화 스크립트를 종료합니다. 전화가 연결되기 전에 End을(를) 사용할 수 있습니다.

스크립트를 종료하기 위해 Stop 작업을 사용하지 마십시오. 이 작업은 스크립트를 종료하지 않으며 컨택을 유지합니다. 이 작업은 CXone 서버에 부정적인 영향을 줍니다.

End 작업을 사용하는 경우 다음 정보가 적용됩니다.

  • 지원되지 않는 미디어 유형의 스크립트에서 End를 사용하면 모든 프로세스 또는 컨택이 제대로 종료되지 않을 수 있습니다. 백그라운드 프로세스 종료는 작업 종료의 핵심 기능입니다. 이러한 이유로 스크립트의 미디어 유형에 가장 적합한 작업을 사용하는 것이 중요합니다.
  • 하위 스크립트에서 End를 사용하면 하위 스크립트와 원래 스크립트가 모두 종료됩니다. 하위 스크립트를 종료하고 원래 스크립트를 계속하려면 Return 작업을 사용합니다.
  • 활성 스크립트의 논리 흐름을 종료하고 OnRelease 이벤트 작업을 호출하려면 End를 사용해야 합니다. 이러한 이유로 OnRelease 이벤트 논리 뒤에 사용하면 안 됩니다.

스니펫으로 사용자 정의 코딩

단순한 스크립트에는 사용자 정의 코딩이 필요하지 않습니다. CXone에서 필수 라우팅 기능을 관리하기 위해서는 사용 가능한 작업을 사용하는 것으로 충분합니다.

사용자 정의 코딩은 보다 복잡한 라우팅 또는 CXone의 특정 제품 또는 기능에 필요합니다. Snippet 작업을 통해 스크립트의 다른 Studio 작업이 제공하는 기능을 강화하거나 확장하기 위해 필요한 스크립트의 모든 위치에 코드를 삽입할 수 있습니다. 일부 경우 Studio 작업 또는 전체 CXone 애플리케이션에 적절하게 작동하는 코드 스니펫이 필요합니다.

StudioSnippet이라 부르는 사내 코딩 언어를 지원합니다. 이 언어는 서버 측에서 실행되고 C# 및 Visual Basic .NET과 마찬가지로 MSIL(Microsoft Intermediate Language)로 컴파일됩니다. Snippet 에 대한 전체 참조 가이드를 사용할 수 있습니다.

스크립트의 메모 및 주석

Studio에서는 스크립트에 메모를 추가할 다양한 방법을 제공합니다. 여러분과 스크립트에서 작업할 여러분의 후임이 스크립트를 추후에 이해할 수 있도록 도움을 줄 수 있는 중요한 단계입니다.

Studio에는 스크립트에 포함할 수 있는 두 가지 작업인 NoteAnnotation이 있습니다. 이러한 작업은 모두 스크립트의 작동 방식에 영향을 주지 않습니다. 정보 제공만을 위한 것입니다. 두 작업의 차이점은 다음과 같습니다.

  • Note 작업은 스크립트 캔버스의 모든 장소에 배치할 수 있으며 다른 작업과 연결될 필요가 없습니다. 이 작업으로 만든 메모를 추가하거나 보려면 이를 두 번 클릭해야 합니다.

  • Annotation 작업은 회색 직사각형으로 캔버스에 바로 메모를 표시합니다. 또한 메모가 언급하는 스크립트 부분을 바로 가리키고 싶다면 Annotation 작업을 또 다른 작업에 연결할 수 있습니다.

스크립트에 메모를 추가하기 위한 또 다른 사용 가능한 옵션은 스크립트에서 작업의 캡션을 변경하는 것입니다. 각 작업의 속성에는 캔버스에 표시되는 작업 이름을 변경할 수 있도록 하는 캡션 필드 가 있습니다. 이를 사용하여 스크립트에서 작업의 목적을 상기시키기 위해 단어나 짧은 구문으로 각 작업에 이름을 지정할 수 있습니다. 예를 들어 포함된 코드가 하는 일을 나타내기 위해 Snippet 작업의 이름을 변경할 수 있습니다. 예를 들어 재생하는 오디오 파일 또는 프롬프트의 이름으로 IVR닫힘 발신자가 음성 명령, 키 입력 또는 둘 다를 통해 상호작용하여 정보를 얻거나 인바운드 음성 통화를 라우팅 또는 둘 다를 할 수 있는 자동화된 전화 메뉴입니다. 메뉴의 각 Play 작업의 이름을 지정할 수 있습니다.

Studio에서의 스크립팅에 대한 주요 정보

  • 스크립트 오류 탭은 스크립트와 관련한 경고 및 오류를 모두 표시합니다. 이 정보를 사용하여 스크립트를 통해 문제 해결 이슈에 도움을 줄 수 있습니다.
  • Studio에는 프로그래밍 방식으로 스크립트를 열고 저장하기 위해 사용할 수 있는 몇몇 스크립트 API가 있습니다. 여기에는 고급 스크립팅 기술이 필요합니다.
  • XML 파일로 스크립트를 가져오고 내보낼 수 있습니다.
  • Studio에서는 스크립트가 저장된 후 이름 변경을 허용하지 않습니다. 스크립트 이름을 변경해야 한다면 새 이름으로 사본을 만들기 위해 다른 이름으로 저장을 사용할 수 있습니다. 그런 다음 이전 스크립트를 비활성화하거나 방해가 되지 않도록 별도의 폴더로 이동시킵니다.

  • 스크립트의 이전 버전은 다음과 같은 두 장소에서 확인할 수 있습니다.
    • Studio의 찾아보기 탭에서 스크립트를 마우스 오른쪽 버튼으로 클릭하고(보기> 브라우저) 기록 옵션에 마우스 커서를 올립니다.
    • CXone에서 ACD > 스크립트를 클릭합니다. 이 페이지에서 이전 버전으로 스크립트를 되돌릴 수도 있습니다.
  • CXoneACD스크립트 일정 옵션을 사용하여 실행을 위해 스크립트를 예약할 수 있습니다.
  • CXoneACD > 스크립트 페이지에서 스크립트가 변수로 사용하는 임시 사용자 정의 매개변수를 통해 스크립트를 생성할 수 있습니다.
  • 스크립트가 너무 크거나 복잡해지는 것을 막기 위해 이를 여러 개의 더 작은 스크립트로 나누고 Runsub 또는 Runscript 작업을 사용하여 이를 연결할 수 있습니다.