기술 참조 가이드

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

이 섹션에서는 Studio의 스크립팅에 대한 자세한 기술 참조 정보를 제공합니다. 이 정보는 일반적으로 작업을 사용한 스크립팅과 사용자 지정 코드 Snippet에 적용됩니다. 정보가 스크립팅의 한 가지 메서드 또는 다른 한 가지 메서드에만 적용되는 경우도 있습니다.

이 페이지의 정보는 Studio를 사용하여 스크립팅할 때 알아야 할 기본적인 스크립팅 개념을 요약하여 설명합니다. 더 자세한 정보는 이 섹션의 다른 페이지에서 확인할 수 있습니다.

스크립트 및 Snippet 구조

Studio 스크립트는 단일 파일에 저장하거나, 주요 스크립트 하나와 하나 이상의 하위 스크립트로 구성하여 여러 개별 파일에 저장할 수 있습니다. 각 스크립트는 다음과 같아야 합니다.

  • Begin 작업으로 시작합니다. 하위 스크립트 역시 Begin 작업으로 시작해야 합니다.
  • End종료하는 작업으로 종료합니다. 하위 스크립트는 스크립트의 흐름을 주요 스크립트로 반환하는 작업인 Return으로 종료합니다.
  • 정의된 미디어 유형이 있습니다.

스크립트 내에서 구조는 스크립트가 제공해야 하는 동작에 필요한 흐름을 따릅니다. 가장 적합한 방법으로 스크립트 내의 워크플로를 정리 및 정렬할 수 있습니다. 예를 들면 흐름이 오른쪽에서 왼쪽으로 이동하거나 왼쪽에서 오른쪽으로 이동하도록 설정할 수 있습니다. 이와 유사하게, 위에서 아래로도 이동할 수 있습니다.

스크립트 구조에 대한 참고 사항:

  • 브랜치 조건을 사용하여 스크립트 내에 브랜치를 생성합니다. 이를 통해 스크립트 중 특정 시점에 발생할 수 있는 다양한 결과, 변형 또는 상황을 다룰 수 있습니다. 오류 처리를 위해, IVRClosed 대화형 음성 응답. 자동 전화 메뉴 연락처는 음성이나 키 입력을 통해 정보를 얻거나, 수신 음성 통화를 연결하거나, 둘 다를 수행하는 데 사용됩니다. 메뉴의 옵션에, 또는 IF 작업에 따른 True/False 경로에 브랜치를 사용할 수 있습니다.
  • 일부 작업에는 여러 브랜치 조건을 사용할 수 있습니다. 매번 모든 작업을 연결할 필요는 없습니다. 하지만, 중요한 점은 항상 Default 브랜치를 연결해야 한다는 것입니다. 이는 다른 어떤 조건도 적용되지 않는 경우 스크립트가 취하는 브랜치입니다. 예상치 못한 상황이 발생했을 때 컨택이 스크립트의 해당 위치에서 멈추는 경우를 방지할 수 있습니다.
  • 이벤트 작업은 이벤트를 트리거하는 작업에 연결되지 않습니다. 동일한 스크립트 파일에서 신규 섹션을 시작합니다. 신규 섹션은 스크립트 파일 내 어디에나 위치할 수 있습니다. 스크립트에 여러 개의 이벤트 작업이 있는 경우에는 나중에 더 쉽게 찾을 수 있도록 작업을 정리해 두는 것이 좋습니다.

문의 논리적 순서 한도를 제외하면 Snippet에는 아무런 구조 관련 요구사항이 없습니다. 단일 ASSIGN 문 또는 일련의 네스팅된 문 또는 블록으로 구성된 복잡한 스크립팅 로직을 포함할 수 있습니다. 사용자 지정 함수를 생성해야 할 때는 Snippet을 사용해야 합니다.

사용자 지정 코드를 포함하는 것 이상으로 Snippet을 활용할 수 있습니다. Snippet을 사용하여 변수 배정을 더 적은 위치로 통합할 수 있습니다. 변수를 추가해야 할 때마다 ASSIGN 작업을 사용하는 대신, 단일 Snippet 작업에 여러 선언문을 배치할 수 있습니다.

스크립트를 더 쉽게 읽을 수 있게 하기 위해 할 수 있는 조치가 몇 가지 있습니다. 이는 나중에 스크립트를 사용하여 작업해야 하는 스크립터에게 도움이 될 수 있습니다. 다음을 수행할 수 있습니다.

  • 각 작업의 Caption 속성을 변경합니다. 이 속성의 개념은 스크립트의 캔버스 작업 영역에 표시됩니다. 각 작업이 하는 역할을 이해하는 데 도움이 되는 단어 하나 또는 짧은 문구를 추가할 수 있습니다. 예를 들어, 작업이 사용하는 스킬, 재생하는 음악, 또는 Snippet 코드가 수행하는 작업을 표시하고 싶은 경우가 있습니다. Studio에서 속성 이름은 캡션 추가입니다.
  • AnnotationNote 작업을 사용하여 스크립트에 추가 문서를 추가합니다. Snippet 작업에서는 메모를 추가할 수 있습니다.
  • Studio에서 스크립팅에 대한 기타 모범 사례를 따릅니다.

구문

모든 프로그램 언어처럼 Snippet에도 따라야 하는 구문이 있습니다. 참조 섹션의 각 도움말 페이지에는 언어의 구성요소 규칙을 처리하는 구문에 관한 섹션이 있습니다. 다음에 대한 구문에 관해 알아볼 수 있습니다.

구문 규칙은 구문 요약으로 설명합니다. 요약은 옵션과 필수 구성요소 간을 구분하기 위해 특정한 규칙을 사용합니다. 이러한 규칙에 대한 자세한 내용은 도움말 페이지를 참조하십시오.

데이터 형식

데이터 유형은 데이터가 표시되는 방식과 데이터로 수행할 수 있는 작업 종류를 설명합니다. 많은 프로그래밍 언어는 다양한 종류의 숫자 및 영숫자 표시 사이를 구분하는 많은 데이터 유형을 지원합니다. Studio은 이러한 구분을 하지 않습니다. Studio에서 값은 다음 유형 중 하나입니다.

  • 문자열: 변수의 값에 영숫자와 마침표, 쉼표 및 밑줄과 같은 특수 문자가 포함되어 있습니다. 문자열 값은 큰따옴표로 묶어야 합니다.
  • 숫자: 변수의 값이 숫자입니다. 숫자 값에는 큰따옴표가 필요 없습니다.
  • 날짜/시간: 변수의 값은 날짜, 시간, 또는 두 가지 모두입니다. 날짜/시간이 Studio에서 날짜/시간 함수와 함께 사용되는 경우, 값은 큰따옴표로 묶고 시작 큰따옴표 앞에는 우물 정자를 기재해야 합니다(예: var = #"11-23-2022").
  • 부울: 변수의 값은 true 또는 1, 또는 false 또는 0입니다. 부울 값을 따옴표로 묶지 마세요.

일부 프로그래밍 언어와는 달리 변수를 생성할 때 특정한 데이터 유형을 선언할 필요가 없습니다. Studio에서 변수는 암시적 유형입니다. 즉, 스크립트가 컴파일될 때 유형이 자동으로 결정됩니다.

데이터 유형은 스크립트에서 필수적인 부분입니다. 데이터 구조, 표현식, 변수에 대한 도움말 페이지에서 Studio 스크립트의 데이터 유형에 대해 자세히 알아볼 수 있습니다. 함수를 사용하는 경우에는 스크립트에서 사용하는 데이터 유형에 대해 알아야 합니다. 또한 사용하는 함수가 예상하는 것과 사용하는 유형에 따라 달라질 수 있는 결과도 알아야 합니다.

데이터 구조: 변수, 배열, 개체

데이터 구조를 사용하면 스크립트에 데이터를 저장할 수 있습니다. 필요할 때 데이터 구조에서 데이터를 검색하거나 다른 데이터로 대체할 수 있습니다. 다른 프로그래밍 언어에는 다양한 데이터 구조 유형이 존재할 수 있으며, 이러한 유형은 매우 복잡할 수 있습니다. Studio에서는 세 가지의 데이터 구조 유형만 있을 수 있습니다.

선언문으로 선언하면 이러한 데이터 구조 중 무엇이든 생성할 수 있습니다.

표현식

표현식은 스크립트 내에서 값을 비교하거나 값의 결과를 비교하는 모든 것입니다. 다음은 모두 표현식의 예입니다.

  • x = 3(5+10)

  • y = 123 North Street
  • x != 5

문자열, 숫자, 부울Closed 참 및 거짓과 같은 두 가지의 가능한 값을 가진 데이터 형식입니다. 등 다양한 표현식이 있습니다. 표현식은 Studio 스크립트에서 다양한 용도로 사용됩니다. 용도는 다음과 같습니다.

연산자

연산자는 숫자로 어떤 수학 또는 대수 연산을 할 것인지를 나타내는 수학적 기호입니다. Studio는 모든 표준 수학 및 일부 대수 연산자를 지원합니다. 또한 부울Closed 참 및 거짓과 같은 두 가지의 가능한 값을 가진 데이터 형식입니다. 연산자를 지원하며, 이는 부울 표현식에 사용됩니다. 이는 True 또는 False로 평가되는 표현식입니다. 일부 문에서 부울을 사용하여 스크립트에 의사결정 메커니즘을 생성할 수 있습니다.

문은 실행될 때 스크립트가 수행하는 작업을 정의합니다. 여기에는 변수를 생성하고, 새 값을 할당하고, 계산을 수행하고, 주어진 조건에 따라 논리적인 선택을 하는 행동이 모두 포함됩니다. 일부 문은 변수에 값을 배정하는 것처럼 작업을 수행하기만 합니다. 기타 문은 스크립트의 흐름에 영향을 줍니다. 문은 논리적 순서로 실행되지만, 이러한 순서는 스크립트가 실행될 때마다 변경될 수 있습니다.

작업으로 스크립팅할 때는 일반적으로 문 측면에서 생각할 필요는 없습니다. Snippet 내에서는 다음과 같은 유형의 문을 사용할 수 있습니다.

  • 선언: 선언 문을 사용하면 새로운 변수, 개체, 함수를 선언 또는 생성합니다.
  • 의사결정: 의사결정 문을 사용하면 스니펫 코드가 지정하는 조건에 따라 수행할 작업을 선택할 수 있습니다. 이를 사용하면 스크립트에서 일어나는 일의 선형적인 흐름을 제어할 수 있습니다.
  • 루핑: 루핑 문을 사용하면 특정한 종료 조건이 충족될 때까지 스니펫이 작업 또는 작업 세트를 반복적으로 수행할 수 있습니다.
  • 기타: 이러한 을 사용하면 함수를 종료하고, 디버깅 중에 Snippet editor 창에서 결과를 표시하고, 스니펫에 웹 서비스 프록시 DLL을 포함할 수 있습니다.

일부 문에는 같은 작업을 수행하는 Studio 작업이 있습니다. 예를 들어 ASSIGNIF 작업은 Snippet에서 사용할 수 있는 ASSIGN 및 IF 문과 동일한 작업을 합니다. 많은 문의 경우, 이를 사용하는 유일한 옵션은 Snippet에서 사용하는 것입니다.

예약된 단어

Studio에는 일부 예약된 단어가 있으며, 예약된 단어는 스크립트의 변수 및 기타 엔터티의 이름으로 사용할 수 없습니다. 예약된 단어에는 다음의 이름이 포함됩니다.

스크립트의 엔터티 이름으로 예약된 단어를 사용하면 오류가 발생합니다. 오류를 해결하려면 엔터티의 이름을 변경해야 합니다.

메모

메모를 사용하면 스크립트 또는 Snippet에 원하는 내용을 문서화할 수 있습니다. 메모를 사용하여 자신 또는 이후 스크립터를 위해 메모를 남기거나 스크립트의 목적을 설명하는 데 사용할 수 있습니다.

Studio 스크립트에서 메모 작업 또는 주석 작업으로 메모를 남길 수 있습니다. 두 작업 모두 스크립트 캔버스에 메모를 추가할 수 있습니다. 주석 작업은 캔버스에 메모를 눈에 띄게 배치합니다. 메모 작업에서 메모를 읽으려면 작업을 두 번 클릭해야 합니다.

Snippet에서는 두 개의 정방향 슬래시( // )를 앞에 추가하여 메모를 추가할 수 있습니다. 메모는 자체 줄에 넣거나 문장의 마지막에 넣을 수 있습니다.

Snippet의 메모를 사용하여 스크립트가 실행될 때 스크립트의 일부로 포함하지 않으려는 코드 줄을 숨길 수도 있습니다. 이는 문제 해결 시 유용합니다.

함수

함수는 재사용하려는 코드를 생성하는 방법입니다. 자신만의 함수를 생성한 다음 함수에 포함된 코드를 사용하려는 경우 스크립트의 다른 곳에서 함수를 호출할 수 있습니다. 또한 Studio에는 스크립트에서 선언하지 않아도 사용할 수 있는 내장 함수가 몇 가지 있습니다.

문자열 처리

Snippet에서는 내장된 함수를 사용하여 문자열로 다음과 같은 많은 작업을 수행할 수 있습니다.

  • 문자열 연결
  • 문자열을 하위 문자열로 분할
  • 문자열 검색
  • 내용의 일부 교체
  • 문자열 비교
  • 대문자를 소문자로, 또는 소문자를 대문자로 변경

경우에 따라 날짜, 시간, 또는 숫자가 포함된 문자열의 형식을 지정해야 할 수도 있습니다. 지정된 형식 지정자를 사용하여 스크립트에서 사용할 형식을 정의할 수 있습니다. 내장 함수 중 일부를 사용하여 다양한 형식으로 문자열을 변환할 수 있습니다.

이스케이프 시퀀스를 사용하지 않으면 문자열에 포함할 수 없는 특정 문자가 있습니다. 문자열은 따옴표 또는 큰따옴표로 묶어야 하므로, 리터럴 따옴표 또는 큰따옴표를 문자열에 포함하면 스크립트는 이를 문자열의 시작 또는 종료로 해석합니다. 이스케이프 시퀀스는 문자가 기본값으로 지정되는 기호가 아니라 리터럴로 의도된다는 점을 스크립트에 알립니다. 이스케이프 시퀀스를 필요로 하는 기타 문자로는 Tab, 백스페이스, 열림 중괄호가 있습니다.