Zendesk Support Ticket 데이터를 Redshift에 로드

이번 가이드에서는 Xplenty의 Rest API 컴포넌트를 사용하고 Zendesk의 Support API에 액세스하고 티켓 데이터를 Incremental로 로드하는 절차에 대해 설명합니다.

Zendesk 측에서 설정

관리 메뉴에서 'API'를 선택합니다.

패스워드 액세스를 유효로 설정합니다.

Xplenty 측 설정

Step1: Rest API Component 설정

Rest API 컴포넌트에서 Basic 인증을 선택하고 사용자 이름과 암호를 입력합니다.

이번에는 Support API의 Incremental Export를 사용하므로 기술 문서 의 규칙에 따라 URL을 입력합니다.

URL : https://sub_domain_name.zendesk.com/api/v2/incremental/tickets.json?start_time=1601768082&include=metric_sets

start_time : UnixTime의 숫자 지정

Response에서 JSON Path 입력

데이터 미리보기에서 결과를 올바르게 가 져 올수 있는지 확인한 후 필요한 열을 선택하고 저장 버튼을 클릭합니다.

Step2: Select 컴퍼넌트로 중첩되어 있는 JSON 부분의 값을 취득하는 식을 세트

Step3: 로드처의 DB 혹은 DWH를 설정(Redshift에 로드)

Redshift에 대한 커넥션을 설정하고 테이블 이름 입력 및 차분갱신으로 오퍼레이션(Merge with existing data using delete and insert)을 선택합니다.

이번에 작성한 데이터 플로우는 이런 느낌이 됩니다.

Step4: 자동으로 차분 갱신을 위한 변수 설정

첫 설정에서는, URL의 파라미터「start_time」에 고정값을 넣었지만, 이후에 자동적으로 이전 취득분으로부터의 차분을 취득할 수 있도록 변수를 이용한 리퀘스트 URL을 생성할 수 있도록 설정합니다.

1. 차분갱신을 위해 마지막 실행 시간을 얻는 변수를 설정합니다.

  • 변수 이름 : start_date
  • :ToUnixTime(CASE WHEN $_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP == '' THEN ToDate('2000-01-01T00:00:00.000Z' ) ELSE ToDate($_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP) END)

식에서 사용하고 있는 시스템 변수 「$_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP」에는, 자동적으로 전회 작업 실행 일시가 세트 된다.

2. URL의 start_time 값에 변수를 설정합니다. (굵게 부분은 변수)

URL : https://sub_domain_name.zendesk.com/api/v2/incremental/tickets.json?start_time=$start_date&include=metric_sets

이제 손쉽게 차분을 업데이트하는 Dataflow 패키지의 완성입니다.

자사에서 SaaS 서비스를 클라우드에 연결하고 얻고 싶다면 Xplenty의 무료체험판을 신청해 보세요.