사용자 정의 코드 스니펫

이 도움말 페이지의 정보는 CXone StudioDesktop Studio에 모두 적용됩니다.

일부 스크립트에는 Studio 작업이 단독으로 제공할 수 있는 것보다 더 높은 복잡성이 필요합니다. Studio을(를) 사용하면 스크립트에 사용자 정의 코드를 추가할 수 있습니다. 이를 통해 조직의 요구사항을 충족하기 위해 스크립트를 사용자 정의할 수 있습니다.

사용자 정의 코딩에는 약간의 스크립팅과 프로그래밍 지식이 필요합니다. Studio은(는) Snippet(이)라는 이름의 사용자 정의 프로그래밍 언어를 사용합니다. NICE CXone에서는 Studio에서 사용할 용도로 이 언어를 개발했습니다. 이 언어를 사용하는 방법을 배울 수 있도록 완전한 기술 참조 가이드를 온라인 도움말에서 사용할 수 있습니다.

스니펫에 대한 주요 정보

  • 코드 스니펫은 조직과 스크립트의 효율성 향상에 도움이 될 수 있습니다. 실행되는 프로세스를 더욱 자유롭게 제어할 수 있는 것은 물론 실행 시점과 방법도 더욱 자유롭게 제어할 수 있습니다. 직접 변수와 개체를 생성할 수 있으며 IF, FOR, FOREACH 등의 문을 사용하여 프로그래밍 논리를 추가할 수 있습니다.
  • 일부 제품과 기능에는 스니펫이 필요하지만, 필요하지 않을 때도 스크립트에서 이를 사용할 수 있습니다.
  • 제품이나 기능에 코드 스니펫이 필요한 경우, 포함해야 하는 스니펫에 관한 세부 정보를 제공합니다. 스크립트에서 코드 스니펫을 사용하는 방법을 보여주기 위한 스크립트의 예시가 제공됩니다. 제품 또는 기능에 추가 스크립팅을 구현해야 할 수 있습니다.
  • Snippet 스크립팅 언어는 .NET 프레임워크에 구축됩니다. 이 언어는 서버 측에서 실행되고 C# 및 Visual Basic .NET과 마찬가지로 MSIL(Microsoft Intermediate Language)로 컴파일됩니다.

스니펫 작업

스크립트에 사용자 정의 코드를 추가하려면 Snippet 작업이 필요합니다. 이 작업을 두 번 클릭하여 사용자 정의 코드를 추가할 수 있는 편집기 창을 열 수 있습니다. 또한 편집기 창에서 코드를 디버그할 수도 있습니다. 스크립트에는 두 개 이상의 Snippet 작업이 필요할 수 있습니다. 여러 작업을 사용하는 경우 목적을 인식하는 데 도움이 되는 문구로 각 작업의 Caption 추가 필드를 업데이트합니다.

Snippet 작업의 배치는 중요합니다. Snippet이(가) 값을 변수에 할당하면 값이 필요한 작업 전에 배치해야 합니다. 반면 Snippet에 전달되는 값에 따라 작동하는 의사결정 코드가 포함되어 있는 경우에는 값을 제공하는 작업 이후에 Snippet을(를) 배치해야 합니다.

작업과 스니펫의 비교

스니펫에서 할 수 있는 작업의 일부는 Studio 작업을 사용해서도 수행할 수 있습니다. 예를 들어 IFFOR 문을 위한 작업이 있습니다. 또한 사용가 정의 변수를 생성하고 이를 값에 할당하는 데 사용할 수 있는 ASSIGN 작업도 있습니다. 이러한 작업을 용납 가능한 방식으로 사용하여 이러한 기능을 스크립트에 추가합니다. 하지만, 스니펫을 사용하면 더욱 효율적입니다.

스니펫에 코드를 배치하면 스크립트가 더욱 깔끔해지고, 잘 정리되며, 탐색하기 쉬워집니다. 덕분에 스크립터 작업을 더욱 쉽게 효율적으로 수행할 수 있습니다. 스니펫에서 항상 변수를 선언하는 습관을 들이면 나중에 특정한 선언을 찾아야 할 때 더 좁은 범위에서 검색할 수 있습니다.

스크립트에 사용자 정의 코드 추가

Snippet 작업을 통해 스크립트에 사용자 정의 코드를 추가할 수 있습니다. 이 작업은 도구 탭에 있는 기본 팔레트의 고급 섹션에 있습니다.

  1. Studio에서 스크립트를 엽니다.
  2. 코드가 필요한 모든 곳의 스크립트에 Snippet 작업을 배치하고 이를 다른 작업에 연결합니다.
  3. 작업을 두 번 클릭하여 편집기 창을 엽니다. 여기에서 코드를 추가하면 됩니다.
  4. 코드 추가에 사용할 탭을 클릭합니다. 각 탭에서 각기 다른 코드 추가 메서드를 제공합니다. 탭은 다음과 같습니다.

  5. 원하면 코드를 디버그합니다.

  6. 언제든지 Apply을(를) 클릭하면 편집기 창을 닫지 않고 변경 사항을 저장할 수 있습니다.
  7. 코드 편집이 끝나면 OK을(를) 클릭합니다.

텍스트 보기를 사용한 코드 작성

스니펫의 텍스트 보기 탭에서는 수동으로 Snippet 코드를 작성할 수 있습니다. 이 언어를 사용하는 방법을 배울 수 있도록 완전한 참조 가이드를 온라인 도움말에서 사용할 수 있습니다.

  1. Studio에서 스크립트를 엽니다.
  2. 스크립트에 Snippet 작업을 추가하고 두 번 클릭하여 스니펫 창을 엽니다.
  3. 트리 뷰 탭의 왼쪽에 코드를 입력합니다. 코드를 입력하거나 이 도움말 사이트 또는 다른 스크립트 등의 다른 출처에서 코드를 복사하여 붙여 넣을 수 있습니다.
  4. 언제든지 Tree View 탭을 클릭하여 사전 정의된 키워드에서 코드를 추가합니다. 위 및 아래 화살표 버튼을 사용하여 키워드와 관련된 코드를 스크립트의 다른 위치로 옮길 수 있습니다.
  5. Check Syntax 아이콘 작은 녹색 원 3개와 오른쪽을 가리키는 화살표 모양이 있는 구문 확인 아이콘입니다. 을 클릭하여 현재 코드의 구문이 올바른지 확인합니다. 텍스트 보기 탭 하단의 툴바에 있는 상태 필드에는 Okay 상태가 표시됩니다. 오류가 있는 경우에는 오류 관련 팝업 메시지가 표시되며, 툴바의 상태 필드에는 메시지가 표시됩니다. 예를 들어 메시지는 Error at line 4(으)로 읽힐 수 있습니다.
  6. Comment 아이콘 열기 꺾쇠괄호와 닫기 꺾쇠괄호 사이에 파란색 정방향 슬래시 기호가 있는 모양의 메모 아이콘입니다. 을 클릭하여 커서가 현재 위치한 줄을 메모로 변환합니다.
  7. Uncomment 아이콘 큰 빨간색 정방향 슬래시가 열기 꺾쇠괄호와 닫기 꺾쇠괄호 사이에 파란색 정방향 슬래시 기호가 있는 아이콘 위를 가로질러 그려져 있는 모양의 메모 삭제 아이콘입니다. 을 클릭하여 커서가 현재 위치한 줄에서 메모 문자를 제거합니다.
  8. 언제든지 Apply을(를) 클릭하면 편집기 창을 닫지 않고 변경 사항을 저장할 수 있습니다.
  9. 코드 편집이 끝나면 OK을(를) 클릭합니다.

트리 뷰를 사용한 코드 작성

스니펫 속성 창의 트리 뷰 탭에서는 사용자 정의 코드 생성 프로세스를 안내합니다. 사전 정의된 키워드 세트에서 선택할 수 있습니다.

  1. Studio에서 스크립트를 엽니다.
  2. 스크립트에 Snippet 작업을 추가하고 두 번 클릭하여 스니펫 창을 엽니다.
  3. 트리 뷰 탭 하단에 있는 더하기 아이콘 아래 방향 화살표가 옆에 있는 더하기 기호입니다. 을 클릭합니다.
  4. 코드에 추가하려는 키워드를 선택합니다.
  5. 창의 왼쪽 목록에 표시되는 키워드를 클릭하여 속성을 봅니다.
  6. 창의 오른쪽 목록에 표시되는 키워드의 속성을 구성합니다. 다음을 수행할 수 있습니다.

    • 각 속성을 선택하면 오른쪽 창 아래 공간에 속성의 정의가 표시됩니다.
    • 이 페이지의 스니펫 키워드 섹션에서 각 명령 구성에 관한 세부 정보를 확인하십시오.
  7. 필요에 따라 더 많은 키워드를 추가합니다.
  8. 언제든지 Text View 탭을 클릭하면 기존 코드 작성 형식으로 작성된 코드를 볼 수 있습니다.
  9. 언제든지 Apply을(를) 클릭하면 편집기 창을 닫지 않고 변경 사항을 저장할 수 있습니다.
  10. 코드 편집이 끝나면 OK을(를) 클릭합니다.

스니펫 코드 디버깅

Snippet 작션에는 코드를 검토하는 데 사용할 수 있는 자체 디버거가 있습니다. 텍스트 보기 탭에서만 코드를 디버그할 수 있습니다.

트리 뷰 탭에서 코드를 작성한 경우에는 텍스트 보기 탭으로 전환하면 디버거를 사용할 수 있습니다. 디버거에서 문제를 찾으면 특정한 줄 번호를 사용하여 코드의 어떤 부분에 문제가 있는지를 확인하십시오. 그다음 트리 뷰로 돌아가면 문제를 정정할 수 있습니다.;

줄별로 코드 단계별 진행중단점 사용 등 더 많은 디버깅 옵션을 사용할 수 있습니다. 또한 스니펫 코드에서 TRACE 을 사용하면 디버깅 중에 텍스트를 출력할 수 있습니다. 이 출력은 스크립트에서 문제를 해결할 때 유용합니다.

  1. Studio에서 Snippet 작업이 포함된 스크립트를 엽니다.
  2. Snippet 작업을 두 번 클릭합니다.
  3. Add Snippet code on the Text View tab, if it doesn't already contain some.
  4. On the right side of the Snippet editor window, click the Debugger tab.
  5. Click the down-arrow button on the right side of the Debug icon An icon of a window with a green right-facing triangle. On the right side of the icon is a down-facing black triangle that opens a drop-down menu. and select StartAn icon of a green play button triangle..
  6. If there are any syntax errors in the code, the Snippet editor window expands. All errors in the code appear in a pane at the bottom of the window. If there are no errors, skip to the next step.

    1. Correct the errors.
    2. When the errors have been corrected, click the Close or Clear Trace Output icons An X. to close the error pane.
    3. Start the debugger again.
  7. View the contents of the Variables as Text tab. The tab shows the variables and their values when all of the code has been executed if you didn't set a breakpoint.
  8. You can select one or more lines in the snippet code and click the Comment out selected lines icon An icon with open and closed angle brackets next to each other with a blue forward slash between them.. This is helpful if you want to remove some code to see how the outcome of the debugging changes.
  9. You can select one or more lines of commented-out code and click the Uncomment the selected lines icon An icon with open and closed angle brackets next to each other with a forward slash between them. A large red forward slash crosses the other characters. to add those lines back into the snippet.

트리 뷰의 키워드 스니펫

키워드, 즉 명령은 Snippet 언어에서 의 구문에 해당합니다. 스크립트에서 특정한 용도를 위해 예약된 사전 정의 언어입니다. 컴파일러는 키워드를 인식하고 이와 관련된 동작을 수행합니다. 예를 들어, 컴파일러에서 ASSIGN 키워드를 인식하면 키워드 다음에 기재된 이름과 값을 사용하여 새 변수를 생성합니다. 예: ASSIGN varName = 1

키워드는 예약된 용어이므로 이러한 단어는 스크립트 내에서 개체 또는 변수의 식별자로 사용할 수 없습니다.

또한 많은 키워드에는 동일한 이름의 Studio 작업닫힘 고객 데이터 모음, 메시지 또는 음악 재생 또는 상담원에게 컨택 라우팅과 같은 Studio 스크립트 내에서 프로세스를 수행합니다.이 있습니다. 예를 들면 IF 키워드와 IF 작업이 있습니다. 두 가지 모두 스크립트에서 동일한 동작을 수행합니다. 사용자 정의 코드로 Snippet 작업을 사용하여 스크립트의 작업을 줄일 수 있습니다.

다음 섹션에서는 트리 뷰 탭에서 사용 가능한 키워드 옵션을 다룹니다. 이러한 옵션에는 스니펫에서 사용할 수 있는 대부분의 키워드가 포함됩니다. 지원되는 모든 키워드의 전체 목록은 참조 섹션에서 확인할 수 있습니다.

할당

설명: ASSIGN 문은 지정하는 이름과 값이 포함된 변수를 생성합니다.

Studio 작업: Assign (CXone Studio의 도움말 페이지: Assign)

명명 가이드라인: 변수의 이름을 지정할 때는 다음 가이드라인을 따르십시오.

  • 영숫자 문자(a-z, A-Z, 0-9)를 사용합니다.

  • 이름의 첫 문자는 글자여야 합니다.
  • 밑줄 문자(_)와 달러 기호($)를 이름의 아무 곳에나 사용합니다.
  • 변수 이름의 마지막 문자가 달러 기호라면 값은 텍스트로 취급됩니다.
  • 사전 정의된 변수의 이름 또는 예약된 단어는 사용하지 마십시오.

자세히 알아보기: 변수에 관한 자세한 정보는 변수 도움말 페이지에서 확인할 수 있습니다. ASSIGN 키워드에 관한 자세한 정보는 선언문 페이지에서 확인할 수 있습니다.

트리 보기 속성

트리 보기 탭에서 ASSIGN은(는) newvar=""(으)로 표시됩니다. 구성할 수 있는 속성은 다음과 같습니다.

예시

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.

ASSIGN varName = value1
varName2 = value2

//Including the ASSIGN keyword is optional. 
//It's best practice to use this keyword every time you create a variable.
//When you use advanced search, you can quickly locate where a variable 
//is created if it includes this keyword. 

휴식

설명: 즉시 루프를 종료합니다.

구문: BREAK

세부 사항: BREAK 문이 도달하면 현재 루프가 즉시 종료됩니다. 스크립트는 완료될 때까지 아래 스니펫 코드를 계속 실행합니다.

BREAK은(는) 선택 사항입니다. 포함되지 않은 경우에는 정의된 중지 조건이 충족될 때까지 루프가 계속됩니다.

Call Function

이전에 정의한 함수를 호출합니다.

트리 보기 속성

트리 보기 탭에서 호출 함수는 newcall()(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Arguments: 함수로 전달해야 하는 인수를 입력합니다. 인수는 함수의 괄호 사이에 표시됩니다. 예를 들면 functionA (var1, var2)입니다.
  • Comment: 변수에 관한 메모를 추가합니다.
  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.
  • Name: 호출하려는 함수의 이름을 입력합니다.

케이스

설명: 실행하기 위한 가능한 문 세트 중 하나를 정의합니다. SWITCH 또는 SELECT과(와) 함께 사용합니다.

구문: 다릅니다. SWITCH 또는 SELECT을(를) 참조하십시오.

Studio 작업: (CXone Studio의 도움말 페이지: Case)

세부 사항:  CASE은(는) SWITCH 또는 SELECT 문의 조건부 코드 블록에 사용해야 합니다. 한 개 이상의 CASE 문을 추가하여 실행할 스크립트의 가능한 블록을 정의합니다. 하나 이상의 CASE이(가) 필요합니다.

관련: DEFAULT 문을 포함하여 지정된 CASE 문 중 아무것도 적용되지 않는 경우 사용되는 케이스를 정의합니다.

메모

컴파일러가 처리하지 못하도록 스크립트에서 텍스트를 숨깁니다.

메모를 사용하여 스크립트를 문서화합니다. 나중에 이해하기 쉽도록 스크립트 각 부분의 설명과 묘사를 제공할 수 있습니다.

트리 보기 속성

트리 보기 탭에서 Comment 은(는) //(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Comment: 메모를 추가합니다.
  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.

트리 보기에서 사용 가능한 각 키워드에는 Comment 속성이 있습니다. 이에 따라 키워드의 특정한 인스턴스에 관한 메모를 추가할 수 있습니다. 트리 보기 탭에서 Comment 옵션을 사용하여 스니펫에 관한 일반적인 메모를 추가합니다.

Declare Function

설명: 사용자 정의 함수를 만듭니다.

세부 사항: 마지막에 열림 괄호 및 닫힘 괄호 세트를 포함한 <name>을(를) 함수에 부여함으로써 함수를 선언합니다. 예: FUNCTION functionName(). 괄호 사이에 선택적으로 [parameters]을(를) 추가합니다. 매개 변수를 사용하면 인수라고 하는 데이터를 함수 내외로 전달할 수 있습니다.

명명 가이드라인: 함수의 이름을 지정할 때는 다음 가이드라인을 따르십시오.

  • 영숫자 문자(a-z, A-Z, 0-9)를 사용합니다.

  • 이름의 첫 문자는 글자여야 합니다.
  • 밑줄 문자(_)와 달러 기호($)를 이름의 아무 곳에나 사용합니다.
  • 예약된 단어나 내장된 함수 이름은 사용하지 마십시오.

자세히 알아보기: 함수에 관한 자세한 정보는 함수 도움말 페이지에서 확인할 수 있습니다.

트리 보기 속성

트리 보기 탭에서 FUNCTION은(는) FUNCTION newfunc()(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Arguments: 함수로 전달하려는 인수를 입력합니다. 인수는 함수의 괄호 사이에 표시됩니다. 예를 들면 newfunc(var1, var2)입니다.
  • Comment: 변수에 관한 메모를 추가합니다.
  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.
  • Name: 함수의 이름을 입력합니다.

FUNCTION을(를) 완료하려면 SWITCH 0을(를) 마우스 오른쪽 버튼으로 클릭하고 스크립트가 평가하기를 원하는 각 조건에 대한 CASE 키워드를 추가합니다. DEFAULT 조건을 추가하여 정의된 CASE 옵션 중 아무것도 적용되지 않을 경우 스크립트가 하는 작업을 정의합니다. 각 CASEDEFAULT 키워드를 구성합니다.

예시

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.

FUNCTION TimerRound(Timer)
{
  IF Timer = "-1"
  {
    ASSIGN Timer = Timer
  }
  ELSE
  {
    ASSIGN PeriodLocation = Timer.indexof('.')
	IF PeriodLocation = 0
	{
	  ASSIGN Timer = Timer
	}
	ELSE
	{
	    ASSIGN DataLength = Timer.length
	    IF DataLength - PeriodLocation <= 2
	        {
	          ASSIGN Timer = Timer
            }   
	    ELSE
	     {
            ASSIGN DigitCheck = Timer.substr(PeriodLocation + 3, PeriodLocation + 3)
            IF DigitCheck >=5 && DigitCheck <= 9
               {
                  ASSIGN Timer = Timer + .01
               }
            ELSE
              {
                 ASSIGN Timer = Timer
              }
		
            ASSIGN Timer = Timer.substr(1, PeriodLocation + 2)
         }
      }
   }
  
   TRACE "{Timer}"
   RETURN Timer
}

IF TEST = 1
   {
      ASSIGN DC1 = "1.931876668494874"
   }   

   ASSIGN DC1 = TimerRound(DC1)

기본값

설명: 지정된 CASE 중 아무 것도 적용되지 않는 경우 사용되는 CASE 블록을 정의합니다. SWITCHSELECT과(와) 함께 사용합니다.

구문: 달라집니다. SWITCH 또는 SELECT를 참조하십시오.

세부 사항: DEFAULT은(는) SWITCH 또는 SELECT 블록과 함께 사용해야 하며, 최소 1개 이상의 CASE 구문을 사용해야 합니다. DEFAULT은(는) 단독으로 사용할 수 없습니다. DEFAULT은(는) 항상 선택 사항입니다. 이는 CASE 문 목록의 마지막 절이어야 합니다.

대상

설명: 특정한 횟수만큼 문 하나 또는 일련의 문을 반복합니다.

트리 보기 속성

트리 보기 탭에서 FOR 은(는) FOR i = 1 to 10(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Comment: FOR  루프에 관한 의견을 추가합니다.
  • EndValue: 종료 인덱스 값을 입력합니다. 기본값은 10입니다.

  • Iterator: 현재 루프 인덱스를 보유한 변수 이름을 입력합니다.

  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.
  • StartValue: 시작 인덱스 값을 입력합니다. 기본값은 1입니다.

FOR을(를) 완료하려면 FOR i = 1 to 10을(를) 오른쪽 마우스 버튼으로 클릭한 다음 스크립트가 수행하기를 원하는 키워드 및 행동을 추가합니다.

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.

IF TEST = 1
{
  ASSIGN Names = "Wes|Nate|Dan|Clay"
  ASSIGN EyeColors = "Blue|Blue|Brown|Brown"
  ASSIGN Signs = "Aquarius|Aries|Pisces|Leo"
  ASSIGN Foods = "Spagetti|Pizza|Sushi|Deep Fried Twinkies"
}

DYNAMIC Persons

ASSIGN PeopleCount = Names.size

FOR i = 1 TO PeopleCount
{
  ASSIGN Persons[i].Name = "{Names[i]}"
  ASSIGN Persons[i].Eyecolor = "{EyeColors[i]}"
  ASSIGN Persons[i].Sign = "{Signs[i]}"
  ASSIGN Persons[i].Food = "{Foods[i]}"
}
FOR i=1 TO 9
{
	a = "{a}{i}"
}
//Result: a="123456789"


FOR i=9 TO 1
{
	b = "{b}{i}"
}
//Result: b="987654321"

ForEach

설명: 지정된 문자 배열에서 각 요소에 대한 루프를 한 번 반복합니다.

트리 보기 속성

트리 보기 탭에서 FOREACH 은(는) FOREACH i in array(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • ArrayName: 스크립트가 정의된 행동을 적용할 대상 배열을 포함한 배열의 이름입니다.
  • Comment: FOREACH  루프에 관한 의견을 추가합니다.
  • Iterator: 현재 배열 요소를 보유할 변수 이름을 입력합니다.

  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.

FOREACH을(를) 완료하려면 FOREACH i in array을(를) 오른쪽 마우스 버튼으로 클릭하고 키워드와 행동을 추가하여 지정된 배열의 각 배열에 대해 스크립트가 수행하기를 원하는 행동을 정의합니다.

예시

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.



IF TEST = 1 
{
	ASSIGN Names="Odin|Freya|Thor|Loki"
}
ASSIGN SubCounter=1
FOREACH Name IN Names
{
	IF Name = "Odin" |  Name = "Freya"
	{
		ASSIGN NewNames[SubCounter]= "{Name}"

		ASSIGN SubCounter=SubCounter + 1

	}
}

If

설명: 표현식을 평가하고 평가의 결과에 따라 브랜치를 얻습니다.

Studio 작업: If (CXone Studio의 도움말 페이지: If)

트리 보기 속성

트리 보기 탭에서 IF은(는) >True(이)가 있고 그 밑에 False이(가) 있는 >IF 0(으)로 표시됩니다. >IF은(는) 평가할 표현식을 정의합니다. >True은(는) 표현식이 참으로 평가될 경우 일어나는 일을 정의합니다. >False은(는) 표현식이 거짓으로 평가될 경우 일어나는 일을 정의합니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Comment: If 문에 관한 메모를 추가합니다.
  • Expression: 스크립트가 평가하기를 원하는 조건을 입력합니다.
  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.

IF 문을 완료하려면 TrueFalse을(를) 마우스 오른쪽 버튼으로 클릭한 다음 키워드 또는 Expression이(가) 평가되는 방법에 따라 스크립트가 수행하기를 원하는 행동을 선택합니다. TrueFalse 모두에 대한 옵션을 평가할 필요는 없습니다. 두 개 이상의 키워드 또는 행동을 추가할 수 있습니다. 필요에 따라 선택한 키워드 또는 행동을 구성합니다.

예시

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.

IF TEST = 1
   {
      ASSIGN contactID = "123456780"
      ASSIGN customerName = "XYZ International"
      ASSIGN CBWindowStart = #"{date} 8:00 AM"
      ASSIGN CBWindowEnd = #"{date} 4:30 PM"
   }

//String Comparison

IF customerName = "ABC Corporation"
   {
      ASSIGN contractLevel = "Gold"
   }
   ELSE
      {
         ASSIGN contractLevel = "Silver"
      }

//Numeric Comparision

IF contactID % 10 = 0
   {
      ASSIGN logCall = 1
   }
   ELSE
      {
         ASSIGN logCall = 0
      }

//DateTime Comparison

ASSIGN myTime = #"{time}"

IF myTime >= CBWindowStart && myTime  <= CBWindowEnd
   {
      ASSIGN offerCallback = "True"
   }
   ELSE
      {
         ASSIGN offerCallback = "False"
      }

반복

설명: 지정된 명령을 지정된 횟수만큼 수행합니다.

트리 보기 속성

트리 보기 탭에서 REPEAT은(는) REPEAT 0(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Comment: 반복에 관한 메모를 추가합니다.
  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.
  • Repeat: 숫자 값으로 평가되는 표현식을 입력하여 특정한 행동이 반복되기를 원하는 횟수를 정의합니다.

REPEAT을(를) 완료하려면 REPEAT 0을(를) 마우스 오른쪽 버튼으로 클릭한 다음 스크립트가 반복하려는 행동을 선택합니다. 두 개 이상을 추가할 수 있습니다. 각각의 선택된 행동을 구성합니다.

예시

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.


REPEAT 10
{
	phone = "{phone}{random(10)}"
}	

반환

설명: 함수를 종료하며, 선택적으로 함수에서 스크립트로 변수를 전달합니다. FUNCTION 과 사용하십시오.

구문: RETURN 또는 RETURN <var>

Studio 작업: Return (CXone Studio의 도움말 페이지: Return)

설명: 함수 선언의 코드에 사용해야 합니다. RETURN 키워드 뒤에 변수 이름 <var>을(를) 추가하여 스크립트로 정보를 다시 전달합니다.

선택

설명: 참으로 평가할 첫 번째 표현식에 기반하여 명령 세트를 수행합니다.

트리 보기 속성

트리 보기 탭에서 SELECT 은(는) SELECT 0(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Comment: SELECT에 관한 메모를 추가합니다.
  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.

SELECT을(를) 완료하려면 SELECT 0을(를) 마우스 오른쪽 버튼으로 클릭하고 스크립트가 평가하기를 원하는 각 표현식에 대한 CASE 키워드를 추가합니다. DEFAULT  조건을 추가하여 정의된 CASE 옵션 중 아무것도 적용되지 않을 경우 스크립트가 하는 작업을 정의합니다. 각 CASE DEFAULT 키워드를 구성합니다.

예시

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.

SELECT
{
	CASE name="Odin" { agentid = 123 }
	CASE name="Frigg" { agentid = 345 }
	CASE name.length = 0
	 {
	   ASSIGN agentid = -1
	   ASSIGN error = "Invalid name"
	 }
	DEFAULT { ASSIGN agentid = 999 }
} 

전환

설명: 지정된 변수를 평가하고 일치하는 CASE에 의해 정의된 작업을 수행합니다.

세부 정보:  SWITCH은(는) 변수의 값을 각 CASE의 리터럴 값과 비교합니다. 일치하는 CASE 을(를) 찾으면 SWITCH은(는) 일치하는 CASE과(와) 관련된 중괄호 { ... } 로 묶인 코드를 실행하고 브랜치합니다.

SWITCH은(는) 변수만을 평가할 수 있습니다. 표현식은 평가할 수 없습니다. 표현식을 사용하면 스크립트가 작동하지 않습니다.

최소한 1개 이상의 CASE이(가) 필요합니다. 모든 CASE 문에는 동일한 리터럴이 있어야 합니다. 첫 CASE은(는) 나머지 CASE 문의 유형을 결정합니다. CASE 문 중 첫 CASE에서 다른 유형이 있는 경우에는 컴파일러 오류가 발생합니다. 다음은 유효한 리터럴 형식의 모든 예입니다.

  • CASE "john"
  • CASE 512
  • CASE #"5/15/2050"
  • CASE #"6/1/2050 7:00am"
  • CASE #"7am"

예:

IF TEST = 1
{
  ASSIGN MyDate = "07/03/2023" //This date falls on a Monday
}
ASSIGN MyDow = MyDate.asdatedow
SWITCH MyDow
{
  CASE 0   { ASSIGN NewToday = "Sunday"  }
  CASE 1   { ASSIGN NewToday = "Monday"  }
  CASE 2   { ASSIGN NewToday = "Tuesday" }
  CASE 3   { ASSIGN NewToday = "Wednesday" }
  CASE 4   { ASSIGN NewToday = "Thursday" }
  CASE 5   { ASSIGN NewToday = "Friday"  }
  CASE 6   { ASSIGN NewToday = "Saturday"   }
}

사용 사례: SWITCH을(를) 사용하면 지정된 변수에 포함된 사항에 따라 특정한 결과가 출력됩니다. 예를 들면, 스크립트가 지역 번호가 포함된 변수를 평가하게 할 수 있습니다. 각 지역 코드에 대한 CASE을(를) 정의하고 지역 코드가 할당된 상태와 일치하는 state 변수에 스크립트가 값을 추가하게 할 수 있습니다. 예:

SWITCH areaCode
{
	CASE 603 { state =  "New Hampshire" }
	CASE 614 { state =  "Ohio" }
	CASE 628 { state =  "California" }
	CASE 646 { state =  "New York" }
	CASE 667 { state =  "Maryland" }
}

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.

트리 보기 속성

트리 보기 탭에서 SWITCH 은(는) SWITCH 0(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Comment: SWITCH에 관한 메모를 추가합니다.
  • Expression:

  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.

SWITCH을(를) 완료하려면 SWITCH 0을(를) 마우스 오른쪽 버튼으로 클릭하고 스크립트가 평가하기를 원하는 각 조건에 대한 CASE 키워드를 추가합니다. DEFAULT  조건을 추가하여 정의된 CASE 옵션 중 아무것도 적용되지 않을 경우 스크립트가 하는 작업을 정의합니다. 각 CASE DEFAULT 키워드를 구성합니다.

추적

설명: 텍스트 보기 탭에서 디버거를 사용할 때 Snippet editor 창의 결과 패널로 텍스트를 출력합니다.

구문: TRACE "<value>"

세부 사항: 디버거를 사용할 때 Snippet editor 창의 결과 패널에 표시되기를 원하는 TRACE 키워드를 "<value>"과(와) 함께 추가합니다. <value>은(는) 변수 이름일 수 있습니다. TRACE은(는) 코드를 사용하여 문제를 해결하거나 스크립트에서 발생하는 상황을 보는 데 도움이 되는 유용한 도구입니다.

이 키워드는 Snippet 작업에서만 사용합니다. 스니펫에 TRACE 키워드를 남겨둬도 됩니다. 런타임 시 Snippet editor 창의 디버거 도구 외부에서는 무시됩니다.

트리 보기 속성

트리 보기 탭에서 TRACE 에 대해 다음과 같은 속성을 구성해야 합니다.

  • AllowEscapes: true(으)로 설정되면 백슬래시 문자(\)로 시작하는 이스케이프 시퀀스를 포함할 수 있습니다. 기본값은 false입니다.
  • Comment: 추적에 관한 메모를 추가합니다.
  • Expression: 결과 창으로 출력하기를 원하는 텍스트입니다. 중괄호 { } 로 묶어서 변수를 포함할 수 있습니다. 예를 들면 {agentId}입니다.
  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.
예시

트리 보기에서 이 예시를 보려면 텍스트 보기 탭으로 이를 복사 및 붙여넣기한 다음 트리 보기 탭을 클릭합니다.

TRACE "this is trace text"
//The text you specify with TRACE appears 
//In the results window when you use the 
//Debugger on the Text View tab. 

설명: 스니펫 내에서 사용할 SOAP 웹 서비스 프록시 DLL을 포함할 수 있습니다. DLL은 NICE CXoneWISDL에 의해 컴파일되어야 합니다.

구문: USES "<proxy>.dll"

Studio 작업Uses (CXone Studio의 도움말 페이지: Uses)

세부 사항:  USES 문을 사용하려면 프록시 DLL은 테넌트닫힘 고급 조직 그룹화는 CXone 환경을 위해 기술 지원, 청구 및 글로벌 설정을 관리하는 데 사용됩니다.의 파일 서버의 루트 폴더에 위치해야 합니다. CXoneACD 파일 찾아보기 페이지에 있는 테넌트 안의 파일을 볼 수 있습니다.

자세히 알아보기: SNIPPET 작업에서 API 호출 도움말 페이지에서 Studio 스크립트로 웹 서비스 프록시를 사용하는 방법에 관해 자세히 알아볼 수 있습니다.

트리 보기 속성

트리 보기 탭에서 사용자는 USES ""(으)로 표시됩니다.

구성할 수 있는 속성은 다음과 같습니다.

  • Comment: 이 키워드에 관한 메모를 추가합니다.
  • FileName: 스니펫 내에서 사용하려는 프록시 DLL 파일의 이름을 추가합니다.
  • Line Number: 명령이 존재하는 편집기의 줄 번호입니다.

각 키워드에는 Comment 속성이 있습니다. 이에 따라 해당 키워드에 관한 메모를 추가할 수 있습니다. Comment 옵션을 사용하여 특정한 속성에 연결되지 않은 메모를 추가합니다.