6/18/2018

카카오 플친, 자동응답 API를 이용해 챗봇 개발하기!

VAHA 관련해서 좀 고민하다 보니, 재미있는게 생각나서 간단하게 개발해볼까 합니다.
카카오톡 플러스 친구와 자동응답 API를 이용해서 챗봇을 구성하는데, 정리도 할겸 글 남겨둡니다.

플러스 친구 생성

플러스친구 관리자 센터(https://center-pf.kakao.com) 접속 후 플러스 친구를 생성합니다. 이름, 검색용 닉네임? 이름? 정도만 기입하면 바로 생성이 가능합니다.


API(스마트 채팅)

플친을 구성하면 사용자에게 메시지를 전송하거나 쿠폰, 채팅 관련 등 여러가지 기능을 수행할 수 있습니다. 그 중에서 자동응답을 사용하기 위해선 스마트채팅 기능을 이용해야 합니다.

스마트 채팅에는.. FAQ형과 API 형이 있는데, FAQ는 말 그대로 미리 정해진 문자만 전달해주는 기능이기 때문에 빠르게 FAQ 같은 서비스를 구성할 순 있지만 동적인 컨텐츠 제공은 어렵습니다. API 형으로 구성해준 후 내용을 전달해주도록 합시다.

스마트 채팅 > API 형 접근 후 구성을 시작합니다. 서버의 API 경로만 넣어주시면 됩니다.


이제 서버에서 기본적으로 구성해야할 2가지만 정리하겠습니다.

1. Keyboard API
keyboard API는 초기에 봇과 채팅을 열었을 때  버튼으로 메시지를 전달해줄 수 있게 제공해줍니다. 이를 통해 사용할 API의 리스트를 구성할 수 있고 사용자는 별도로 명령을 외울 필요 없이 바로 사용할 수 있게 됩니다.

Request
curl -XGET 'https://:your_server_url/keyboard'

Response
{
    "type" : "buttons",
    "buttons" : ["Test1_Button", "퇴근하기", "종료"]
}


2. Message API
Message API는 사용자로 부터 명령(대화)을 받았을 때 처리하고, 그에 대한 결과를 다시 제공해주는 API 요청입니다.

Request
curl -XPOST 'https://:your_server_url/message' -d '{
  "user_key": "0987656789",
  "type": "text",
  "content": "Test1_Button"
}'

Response
{
    "message":{
        "text" : "Test1_Button"
    }
}

이런 형태로 구성됩니다. 적용 과정 중 하나 주의사항이 있다면 기본적으로 확장자가 없는 웹 환경에서 동작하기 때문에 라우팅 관련 모듈로 확장자를 매핑시켜주거나 Apache Rewrite 같은 모듈로 별도 매핑이 필요합니다.

전 php의 경우이며, .htaccess 파일 추가해서 매핑시켜줬습니다.

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

우선 확장자 없이 php 코드를 호출하기 위해 .htaccess를 설정해줍니다.

이정도만 해주면 요청에 따라 처리(이 부분은 직접 구현하셔욥)하고 결과를 전달해주는 환경으로 만들 수 있습니다. 추가적인 API 사용은 공식 git 참고해주시면 좋을 것 같네요.
https://github.com/plusfriend/auto_reply


<야호 잘된다!>



HAHWUL

Security engineer, Gopher and H4cker!

Share: | Coffee Me:

0 개의 댓글:

Post a Comment