brunch

You can make anything
by writing

C.S.Lewis

by Zeno의 Zendesk 이야기 Aug 18. 2024

[Zendesk 고도화] API 활용하기  #5

#5 Talend API Tester로 젠데스크 티켓 만들기 1

지난 시간까지 API를 통해 젠데스크와 통신하기 위한 준비를 해보았다면 이번 시간에는 Talend API Tester를 활용하여 우리가 준비했던 사항들을 모아서 실제로 티켓을 생성하는 작업을 진행해보려고 합니다. 


한 가지 가정을 해볼까요?


신규 상담사가 10명이 새롭게 채용되었습니다.

상담사들이 더미 티켓을 열고 실제 상담과 동일한 조건으로 상담 실습을 진행하도록 교육 프로그램을 구성 중인데요. 이를 위해서는 미리 100개의 티켓이 생성되어 있어야 합니다.


이 경우 일반적인 방법을 통해 100개의 티켓을 만든다면 얼마나 시간이 걸릴까요?


신규 티켓을 생성하고 > 고객 문의에 맞게 티켓 필드를 채우고 > 제목을 입력하고 > 문의 내용을 입력하고 > 티켓을 등록 상태로 저장해야 합니다.


티켓 하나에 1분씩만 가정하더라도, 두 시간가량을 작업해야 하는데요.



일반적으로 젠데스크 내에서 티켓을 생성하는 방법에 대해 먼저 이야기해볼까요?


사내에 이미 시스템이 구축되어 있다면, 고객이 전화를 하거나 채팅을 요청할 때 자동으로 티켓이 생성되는 곳들도 있을 것이고, 경우에 따라서는 직접 생성을 해야 하는 경우들도 있는데요. 


직접 티켓을 생성한다면 아래와 같이 + 버튼을 클릭하고 [티켓] 항목을 클릭하여 티켓을 생성합니다.


[티켓] 항목을 클릭하고 나면, 아래와 같이 신규 티켓이 생성되고 내용을 입력할 수 있도록 화면이 표시되는데요. 

우리가 일반적으로 젠데스크에서 티켓을 만든다면 이러한 방법으로 티켓을 만들고 필드 값과 제목, 내부 메모 등을 입력하게 됩니다.



이번에는 API를 통해 티켓을 생성하는 방법에 대해 이야기해볼게요.


지난 시간에 Talend API Tester에 저장한 Ticket_create 시나리오를 이용해서 작업을 진행해 보겠습니다.

Talend API Tester에서 티켓을 생성하려면 위 4가지 설정이 필요한데요.


#1은 메서드라고 부르는 영역입니다.

복잡하고 길게 설명하려면 얼마든지 가능한 녀석이지만, 간단하게 이야기하자면 API로 무엇을 할 것인지 서버에 전달하는 명령이라고 생각하시면 좋을 것 같은데요. 

예를 들어 커뮤니티 게시판에 제목 옆에 말머리를 달아주면 어떤 내용이 담겨 있겠구나 알 수 있는 것처럼 메서드를 통해 어떤 작업을 요청할지 큰 범위에서 알려주는 항목입니다.


젠데스크 기준으로 설명드리자면, 

티켓, 매크로, 트리거 등등과 같이 무엇인가를 생성해야 한다면 POST

티켓, 매크로, 트리거 등등과 같이 무엇인가를 수정해야 한다면 PUT

티켓, 매크로, 트리거 등등과 같이 무엇인가를 삭제해야 한다면 DELETE

티켓, 매크로, 트리거 등등과 같이 무엇인가 정보를 가져오기만 한다면 GET

으로 설정해 주시면 되는데요.


우리는 이번 시간에 티켓을 생성할 것이기 때문에 POST로 설정해 주시면 됩니다.


#2는 리소스라고 부르는 영역입니다.

젠데스크 내에는 여러 회사의 정보가 들어 있을 건데, 내가 지금 보내는 작업이 젠데스크에 포함된 여러 회사 중 어느 회사에 항목에 대한 작업인지를 서버에 알려주는 명령입니다.

어렵게 생각하실 필요는 없습니다.


현재 회사에서 사용하고 있는 젠데스크 주소에서 앞부분만 가져오면 됩니다.

https://{{회사도메인}}.zendesk.com/api/v2/tickets


저의 경우라면 아래와 같이 입력하면 될 것 같습니다.

https://zeno_tech.zendesk.com/api/v2/tickets


#3은 헤더라고 부르는 영역입니다.

요청에 대한 기본 정보를 담고 있는 영역입니다.

헤더를 통해 어떤 형식(JSON, XML, CSV 등)으로 데이터나 결과를 주고받고 싶은지와

해당 회사의 정보에 접근이 가능한 사용자인지에 대한 정보를 포함시켜 서버에 전달해 줍니다.


헤더는 아래와 같이 입력해 주시면 됩니다.

Content-Type : application/json

Authorization : Basic {{3화에서 Base64로 변환 처리한 계정과 비밀번호}}

Accept:application/json


#4는 바디 영역입니다.

티켓 생성과 동시에 필드에 저장할 값, 제목, 티켓 상태 등을 입력하면 됩니다.

API 통신은 데이터를 JSON 형태로 주고받는데요.

JSON에 대한 정보는 인터넷에 너무 많기 때문에 일단은 설명하지 않겠습니다.


아래와 같이 입력을 하면 바디 영역은 완성입니다.


위와 같이 4가지 영역을 모두 입력했다면 Send 버튼을 눌러 API를 발송해 봅시다.


Send 버턴을 누르게 되면 화면 하단의 Response 영역에 두 가지 색 중 하나로 표시가 될 텐데요.



#1과 같이 녹색으로 표시되었다면, 젠데스크로 정상적으로 전송이 된 것입니다.

#2와 같이 빨간색으로 표시되었다면, 위에 입력한 4가지 항목 중 오류가 발생했다는 것을 의미합니다.



API가 정상적으로 발송되었다면, Response 영역에서 생성된 티켓 정보를 확인할 수 있는데요.


위 화면에서 #1 항목을 보면 ID 가 13이라고 표시되어 있습니다.

즉 젠데스크 티켓 ID가 13으로 이 티켓이 생성되었다는 의미인데요.


젠데스크에서 13번 티켓을 검색해 볼까요?

기존에 없던 티켓 ID 13 이 새롭게 생성된 것을 확인할 수 있습니다.


우리가 보낸 API의 BODY 영역과 비교해 보면 조금 이해가 쉬울 것 같은데요.


BODY 영역에 Subject 부분은 티켓의 제목이 되었고 Comment Body 부분은 내부메모로 삽입되었다는 것을 알 수 있습니다.



처음으로 다시 돌아가서 티켓을 100개를 만들어야 한다고 가정해 봅시다.


이제 티켓을 100개를 빠르게 만들기 위해서 우리가 해야 할 일은 무엇일까요?


#1의 Send 버튼을 100번 누르는 것입니다.

Send 버튼을 누를 때마다 새로운 티켓이 하나씩 생성될 것입니다.


API를 통해 어떤 작업을 했는지는 하단의 HISTORY 영역을 통해서 확인할 수 있는데요.

#2와 같이 5x로 표시되어 있다면 Send을 5번 눌렀다, 즉 동일한 티켓이 5개 생성되었다는 의미입니다.

 



어떠셨나요?

API를 이용해서 외부에서 간단하게 만들어 보았는데요.

아직 API를 사용하는 것이 낯설고 어렵게 느껴지실 수도 있습니다.

API는 알고 나면 단순하고 쉬운데, 처음에 규칙을 이해하기 위해 수반되어야 하는 지식들이 많기 때문에 조금 어려움을 느끼실 수 있는데요.


이번 시간에는 부족한 설명으로 제목과 내부 메모만을 포함하여 티켓을 만들었기 때문에 조금 어렵게 느껴지셨을 수도 있습니다. 

다음 시간에는 API 발송을 위해 우리가 입력한 항목들을 조금 더 자세하게 살펴보고 티켓에 더 많은 사항들을 추가하는 방법에 대해 알아보도록 하겠습니다.


감사합니다.

작가의 이전글 [Zendesk 고도화] API 활용하기  #4
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari