JSON 형식

트리거는 다음과 같은 속성을 가진 JSON 개체로 표현됩니다.

이름  유형 읽기 전용  설명
name 문자열 아니요 트리거의 이름
사용 정수 아니요 트리거 사용 설정 여부
description 문자열 아니요 트리거의 설명
정의 개체 아니요 트리거의 정의. 자세한 내용은 아래의 트리거 정의를 참조하세요.

트리거 정의

참고: 정의는 트리거 업데이트에서 편집할 수 없습니다. 

각 트리거에 대한 자세한 설명은 트리거 조건 및 작업 참고자료를 참조하세요.

트리거는 JSON을 사용하여 정의되며 각 트리거는 다음 3개의 키를 가진 JSON 개체입니다.

트리거 정의 키 설명
이벤트 (JSON 문자열) 이 트리거가 활성화되는 이벤트 유형입니다. 이벤트 목록은 트리거 이벤트를 참조하세요.
조건 (JSON 목록) 트리거가 작업을 수행하기 위해 충족되어야 하는 조건입니다. 자세한 내용은 조건 유형을 참조하세요.
작업 (JSON 목록) 조건이 충족될 때 수행될 작업의 목록입니다. 자세한 내용은 트리거 작업을 참조하세요.

트리거 이벤트

다음과 같은 이벤트를 사용할 수 있습니다.

트리거 이벤트 설명
page_enter 이 이벤트는 방문자가 채팅 위젯을 로드했을 때 유발됩니다.
chat_requested 이 이벤트는 방문자가 채팅을 요청할 때 유발됩니다.
chat_message 이 이벤트는 방문자가 채팅 메시지를 보낼 때 유발됩니다.

조건 이벤트

다음과 같은 조건을 사용할 수 있습니다.

조건 유형 설명
또는 어느 조건이든 충족되는지 확인
및 모든 조건이 충족되는지 확인

조건 변수 연산자

조건 변수에 다음과 같은 연산자를 사용할 수 있습니다. 변수에 따라 연산자를 사용하지 못할 수도 있습니다.

연산자 설명
eq 다음과 같음
neq 다음과 다름
lt 다음보다 작음
gt 다음보다 큼
lte 다음과 같거나 작음
gte 다음과 같거나 큼
icontains 다음을 포함
nicontains 다음을 포함하지 않음
contains 다음을 포함(대소문자 구분)
ncontains 다음을 포함하지 않음(대소문자 구분)
regex 정규 표현식 일치(대소문자 구분)
iregex 정규 표현식

조건 변수

다음과 같은 변수를 사용할 수 있습니다.

시간 및 날짜 변수 

유형 설명
@hour_of_day 시간(UTC 시간대), 0 ~ 23
@day_of_week 요일. 0 = 월요일, 6 = 일요일
@visitor_time_on_page 방문자가 현재 페이지에 머문 시간(초)
@visitor_time_on_site 방문자가 사이트에 머문 시간(초)
stillOnSite 다음 조건 확인 전 지연 시간(초)
stillOnPage 다음 조건 확인 전 지연 시간(초)

방문자 위치

유형 설명
@visitor_ip 방문자의 IP 주소(xxx.xxx.xxx.xxx)
@visitor_hostname 방문자 IP 주소의 호스트 이름
@visitor_city 방문자의 출신 도시
@visitor_region 방문자의 출신 지역
@visitor_country_code 2자로 된 방문자의 국가 코드
@visitor_country_name 방문자의 출신 국가

이전 방문 정보

유형 설명
@visitor_previous_visits 방문자가 이전에 방문한 횟수. 새 방문 = 0
@visitor_previous_chats 방문자가 상담원과 채팅한 횟수. 새 채팅 = 0

페이지 정보

유형 설명
@visitor_page_url 방문자가 현재 있는 페이지의 URL
@visitor_page_title 방문자가 현재 있는 페이지의 제목
@visitor_page_count 방문자가 본 페이지 수. 첫 페이지 = 1
@referrer 방문자가 있었던 이전 페이지의 URL

방문자 정보

유형 설명
@visitor_name 방문자 이름
@visitor_email 방문자 이메일
@visitor_referrer 방문자의 참조 페이지 URL(사이트에 들어왔을 때)
@visitor_search_engine 참조 페이지 검색 엔진(해당되는 경우)
@visitor_search_terms 참조 페이지 검색어(해당되는 경우)
@visitor_tags 태그의 이름(’태그 설정’ 작업으로 설정)
@visitor_triggered 방문자가 트리거된 경우 ‘true’(’트리거됨으로 설정’ 작업으로 설정)
@visitor_department_id  방문자의 부서(’방문자 부서 설정’ 작업이나 JavaScript API로 설정)

방문자 소프트웨어/컴퓨터

유형 설명
@visitor_user_agent 방문자의 브라우저 사용자-에이전트 문자열
@visitor_browser 방문자 브라우저
@visitor_platform 방문자의 운영 체제/플랫폼

온라인 상태

유형 설명
@account_status 계정 상태(온라인/자리 비움/오프라인)
@visitor_status 방문자 상태(온라인/유휴/오프라인)

채팅 관련 정보

유형 설명
@visitor_requesting_chat 방문자가 채팅을 요청하는 경우 ‘true’
@visitor_served 방문자가 현재 상담원의 응답을 받고 있는 경우 ‘true’
@department 방문자가 채팅 요청 양식에서 선택하는 부서(이름)
@visitor_served 방문자가 현재 상담원의 응답을 받고 있는 경우 ‘true’
@sender 메시지를 보낸 사람의 이름
@sender_type ‘상담원’ 또는 ‘방문자’
@message 메시지를 보냄

 

트리거 작업

작업 매개변수 설명
sendMessageToVisitor 상담원의 이름과 메시지(문자열) 방문자에게 메시지를 보냅니다.
setTriggered true/false(부울) 방문자의 “트리거됨” 플래그를 설정합니다.
wait 지속 시간(초 단위) (숫자) 지정된 시간(초) 동안 기다린 후 방문자가 아직 온라인 상태이면 목록의 다음 작업을 수행합니다.
addTag 태그 이름(문자열) 방문자에게 태그를 추가하며, 이는 대시보드 방문자 목록에 표시됩니다.
removeTag 태그 이름(문자열) 방문자의 세션에서 태그를 제거합니다.
banVisitor 이유(문자열) 이유 설명과 함께 방문자를 차단합니다.
banIp 이유(문자열) 이유 설명과 함께 방문자의 IP 주소를 차단합니다.
setName 방문자 이름(문자열) 방문자의 이름을 설정합니다.
setDepartment 부서 ID(숫자) 방문자의 현재 부서를 설정합니다.
setNote 메모(문자열)  방문자에 대한 메모를 설정하며, 이는 대시보드에 표시되며 영구적입니다.
appendNote  메모(문자열)  방문자의 현재 메모 맨 아래에 메모를 첨부합니다.

모든 트리거 가져오기

GET /api/v2/triggers

계정의 모든 트리거를 나열합니다.
허용 대상

Owner
Administrator

cURL 사용

curl https://www.zopim.com/api/v2/triggers \
-v -u {email_address}:{password}

예제 응답

HTTP/1.1 200 OK
Content-Type: application/json

[
{
”name” : "Good Trigger",
"enabled" : 1,
"description" : “Visitor entered page”},{”name”
},
{
"name" : “Better Trigger”,”enabled”
"enabled" : 1,
"description" : “Visitor requested chat”
}
]

트리거 가져오기

GET /api/v2/triggers/{trigger_name}

계정 소유자/관리자가 이름으로 트리거를 검색할 수 있습니다.
허용 대상

Owner
Administrator

cURL 사용

curl https://www.zopim.com/api/v2/triggers/{trigger_name} \
-v -u {email_address}:{password}

예제 응답

HTTP/1.1 200 OK
Content-Type: application/json

{
"name" : "Good Trigger",
"enabled" : 1,
"description" : "Visitor requested chat",
}

트리거 만들기

POST /api/v2/triggers

계정 소유자/관리자가 계정에 트리거를 추가할 수 있습니다.
허용 대상

Owner
Administrator

cURL 사용

curl https://www.zopim.com/api/v2/triggers \
-d '{
"name" : "Good Trigger",
"enabled" : 1,
"description" : "Visitor requested chat"
}' \
-v -u {email_address}:{password} \
-X POST -H "Content-Type: application/json"

예제 응답

HTTP/1.1 201 Created
Content-Type: application/json

{
"name" : "Good Trigger",
"enabled" : 1,
"description" : "Visitor requested chat",
}

특정 페이지/디렉토리를 대상으로 한 메시지

특정 URL 또는 디렉토리에 자동화된 메시지를 보냅니다.

curl https://www.zopim.com/api/v2/triggers \
-d '{
"name" : "Stripe Shoe",
"enabled" : 1,
"description" : "Send discount code for Stripe Shoe",
"definition" : {
"event" : "page_enter",
"condition" : [
"and",
[
"icontains",
"@visitor_page_url",
"stripshoe"
],
[
"stillOnPage",
20
]
],
"actions" : [
[
"sendMessageToVisitor",
"Timmy",
"We have a discount code for you! Use DISCOUNT10 on your next checkout"
]
]
}
}' \
-v -u {email_address}:{password} \
-X POST -H "Content-Type: application/json"

자세한 트리거 구성은 계정의 트리거 페이지를 참조하세요.
트리거 업데이트

PUT /api/v2/triggers/{trigger_name}

계정 소유자/관리자가 트리거의 데이터를 업데이트할 수 있습니다.
허용 대상

Owner
Administrator

cURL 사용

curl https://www.zopim.com/api/v2/triggers/{trigger_name} \
-d '{
"name" : "Best Trigger",
"description" : "Visitor requested new chat"
}' \
-v -u {email_address}:{password} \
-X PUT -H "Content-Type: application/json"

예제 응답

HTTP/1.1 200 OK
Content-Type: application/json

{
"name" : "Best Trigger",
"enabled" : 1,
"description" : "Visitor requested new chat",
}

트리거 삭제

DELETE /api/v2/triggers/{trigger_name}

계정 소유자/관리자가 트리거를 삭제할 수 있습니다.
허용 대상

Owner
Administrator

cURL 사용

curl https://www.zopim.com/api/v2/triggers/{trigger_name} \
-v -u {email_address}:{password} -X DELETE

예제 응답

HTTP/1.1 204 OK
Content-Type: application/json

Zendesk 제공