변수
변수는 다양한 유형으로 제공되며, 각각의 용도에 맞게 선택하여 사용할 수 있습니다. 아래는 주요 변수 종류와 사용 방법입니다.

커스텀 변수
커스텀 변수란 나중에 사용하기 위해 변수값을 저장할 수 있는 곳입니다. 예를 들어 고객의 정보를 다양한 변수에 저장하면 그 정보를 이용해 개인화된 고객 경험을 제공하거나, 앱 작성 시 각 노드에 중요한 정보를 전달할 수 있습니다.
사용자 변수 – 여기에 있는 변수들은 각각의 고객들에게 종속됩니다. 변수값은 고객 정보에 저장됩니다.
대화 변수 – 여기에 있는 변수들의 변수값은 대화가 종료될때까지만 저장되고 다음 대화에서는 리셋됩니다.
변수 추가하기
Alli 에는 기본적으로 제공하는 변수들이 있지만, 보다 잘 사용하기 위해서는 새 변수를 적절히 추가해야 합니다. 변수를 추가하는 데는 세가지 방법이 있습니다.
Option 1: 변수 설정에서 추가하기
변수 설정에서 ‘+추가’ 버튼을 누르면 변수 추가 메뉴가 나타납니다.

변수의 이름을 입력합니다. 변수 이름은 영문으로만 작성 가능하며 ‘_, -, .’ 등의 부호를 포함할 수 있습니다. 첫 글자는 반드시 알파벳이나 ‘_’ 로 시작해야 합니다.

변수의 종류를 선택합니다. 대부분의 변수 종류는 이름 그대로 이해하실 수 있으며, 이외에는 아래를 참고하세요.
Boolean 변수
설명: Boolean 유형 변수는
true또는false값을 가집니다. 이 값은 참과 거짓을 구분할 수 있는 변수에 사용됩니다.예시: "회원 가입 여부", "서비스 활성화 여부" 등.
파일 변수
설명: 파일 변수는 고객이나 시스템이 파일을 업로드할 수 있도록 해 줍니다. 파일을 선택하고 업로드할 수 있는 기능을 제공합니다.
예시: "이력서 파일", "이미지 파일" 등.
JSON 변수 / JSON 목록 / 문자열 목록
설명: 고급 사용자를 위한 옵션으로, 외부 JSON 주소를 필요로 합니다. 이 변수들은 복잡한 데이터 구조를 처리할 때 유용합니다.
예시: "사용자 정보 목록", "상품 목록" 등.
문자열 변수
설명: 사용자가 입력하는 텍스트 데이터입니다. 이 변수는 주로 텍스트를 저장하고 처리하는 데 사용됩니다.
예시: "사용자 이름", "이메일 주소" 등.

Validation 은 문자열 변수를 선택했을 때만 나타납니다. 변수에 대한 간략한 설명을 입력하고 추가를 누르면 변수가 생성됩니다.
Option 2: 앱 편집 시에 추가하기
앱 편집 중, 노드에 변수를 선택하는 드랍다운이 있다면 ‘새 변수 생성’ 항목을 찾을 수 있습니다.

해당 항목을 클릭하면 Option 1 의 변수 추가 메뉴와 동일한 메뉴가 나타나며, 바로 변수를 추가할 수 있습니다.
Option 3: 앱 편집기 메뉴에서 추가하기
앱 편집 화면에서 화면 우측 상단의 ‘@변수’ 메뉴를 눌러 변수 목록을 열고 ‘+추가’ 버튼을 누르면 변수를 추가할 수 있습니다.

마찬가지로 Option 1 의 변수 추가 메뉴와 동일한 메뉴가 나타납니다.편집 중, 노드에 변수를 선택하는 드랍다운이 있다면 ‘새 변수 생성’ 항목을 찾을 수 있습니다.
추가 팁
특정 노드에서는 상황에 따라 특정한 종류의 변수만 선택할 수 있는 경우가 있습니다. 생성한 변수가 리스트에서 보이지 않는다면 변수 종류를 다시한번 확인해 보세요.
앱에서 사용중인 변수는 앱의 작성중 / 공개 여부와 관계없이 수정이나 삭제가 불가능합니다. 어떤 앱에서 어떤 변수가 사용중인지 알고 싶으시다면 위 변수 생성 Option 3 에서 확인한 ‘@변수’ 메뉴를 누르고 ‘본 대화형 앱에서 사용되는 변수만 표시’ 를 체크하면 됩니다.

시스템 변수
시스템 영역의 변수는 수정하거나 삭제할 수 없지만 적절히 사용된다면 고객 경험을 보다 풍부하게 만들어 줄 수 있습니다. 해당 변수들의 변수값은 자동으로 주어지며, 일부 변수는 특정한 조건에서만 값이 주어집니다.
공통
@BROWSER (문자열): 사용자가 사용하는 브라우저 정보입니다.
@CHANNEL_NAME (문자열): 사용자가 마지막으로 Alli를 이용한 플랫폼 정보입니다. Web, iOS, Android 또는 연동된 서드파티 메신저 앱(Slack, Teams 등)의 정보가 포함됩니다.
@CITY (문자열): 사용자가 Alli에 접속한 도시 정보입니다.
@COUNTRY (문자열): 사용자가 Alli에 접속한 국가 정보입니다.
@CURRENT_TIME (숫자): 프로젝트의 현재 시간입니다.
@STATE (문자열): 사용자가 Alli에 접속한 상태 정보입니다.
@IP (문자열): 사용자의 IP 주소입니다.
@LAST_VISIT (날짜): 사용자가 마지막으로 Alli에 접속한 날짜입니다.
@LOCALE (문자열): 사용자의 언어 설정입니다.
@OS (문자열): 사용자가 사용하는 운영 체제입니다.
@REFERRER (문자열): 현재 페이지로 연결된 이전 페이지 정보입니다.
@SYS_USER_INPUT (문자열): 사용자의 마지막 입력 내용입니다. 버튼 선택 옵션 또는 텍스트 입력입니다.
@SELECTED_OPTION_OBJECT (JSON): 사용자가 동적 응답 옵션을 선택한 경우 선택된 JSON 데이터가 저장됩니다. 동적 응답 옵션에 대한 자세한 사항은 사용자 가이드를 참조하세요.
연동 노드 관련
@EXTERNAL_FAIL_MESSAGE (문자열): 연동된 노드가 지정된 URL에서 데이터를 가져오지 못했을 경우, 실패 메시지를 기록합니다.
@EXTERNAL_HTTP_STATUS (숫자): 연동된 노드가 지정된 URL에서 데이터를 가져오지 못했을 경우, 해당 URL의 HTTP 상태 코드를 기록합니다.
UTM 태그 관련
@UTM_CAMPAIGN (문자열): 사용자가 UTM 정보가 포함된 URL에 접근했을 때, UTM 캠페인 정보를 기록합니다.
@UTM_MEDIUM (문자열): 사용자가 UTM 정보가 포함된 URL에 접근했을 때, UTM 미디엄 정보를 기록합니다.
@UTM_SOURCE (문자열): 사용자가 UTM 정보가 포함된 URL에 접근했을 때, UTM 소스 정보를 기록합니다.
보류중인 변수들
아래 변수들은 추후의, 혹은 특별한 경우의 사용을 위해 미리 생성된 변수들입니다.
@EXTERNAL_EVENT_DATA (JSON)
@SLACK_BUTTON (문자열)
@SLACK_EVENT_DATA (JSON)
@SLACK_MESSAGE (문자열)
@SLACK_USER_ID (문자열)
Last updated