brunch

You can make anything
by writing

C.S.Lewis

by 배울장 Oct 14. 2018

카카오톡 플러스친구 서버리스 API 구축

아마존 서버리스 구조를 활용한 플러스친구

카카오톡 플러스친구를 활용하여 구축해야할 서비스가 하나 생겼다. 그래서 카카오톡 플러스친구를 알아보기로 했다.


카카오톡 플러스친구 관리자센터로 접속해서 API Document를 보니 REST API로 스마트채팅을 할 수 있게 되어있었다. 이번에 사용할 친구다.


서버비용을 최대한 적게 내면서 쉽고 빠르게 구축하기 위해 기존에 갖고있던 웹 호스팅을 이용해서 PHP로 REST API를 구축하고 싶었다. 하지만 유저가 채팅창에 처음 접속했을 때 서버로 가는 url은 끝에 /keyboard로 되어있었다. 물론 코드이그나이터나 라라벨과 같은 PHP로 작성된 것을 사용하면 되지만 너무 옛날에 해서 기억이 잘 나지 않았다. 빠른 개발을 위해 PHP는 접었다.


다른 후보군을 찾아보니 아마존 서버리스였다. 서버리스는 비용이 적게들고 트래픽 관리를 따로 해주지 않아도 되기에 사후 관리가 편했다. 이번엔 아마존 API Gateway와 Lambda 기능을 활용해서 카카오톡 플러스친구 스마트채팅을 구현해보겠다.


먼저 API Gateway에서 새로운 API를 작성하고 keyboard 리소스를 추가한다. 그리고 keyboard 리소스 안에 get method를 추가한다.


여기까지 해놓고 Lambda로 넘어가서 새로운 함수를 만들고 body : JSON.stringify 부분에

       {

          "type" : "buttons",

          "buttons" : ["선택 1", "선택 2", "선택 3"]

        }

카카오톡에서 요구하는 스펙을 맞추기 위해 다음을 넣고 저장을 한다.


그리고 다시 API Gateway로 돌아와서 Get 메소드를 lambda 프록시로 아까 만들었던 람다함수와 연결해준다.


그리고 API 배포를 하고 그 URL을 카피한다. 카카오톡 플러스친구 관리자센터에 스마트채팅 - API형을 선택하고 이름을 정한다음 카피했던 URL을 넣어준다. 그리고 저장을 누른다.


관리자센터에 관리를 보면 채팅 URL이 있는데 접속을 하면 다음과 같은 화면이 나를 반긴다. 채팅창에는 버튼들이 나열되어있다. 하나 터치해보면 다음처럼 입력된다.


처음 구축해본 플러스친구 API


안녕하세요. 무엇을 도와드릴까요? 라는 말도 수정할수 있을 것이고 많은 경우의 수를 따져보면 원하는 기능을 만들 수 있을 것이다!


오늘은 간단하게 살펴보았는데 사실 이게 전부이다. 많은 경우의 수를 따져 이게 입력되었을 때 출력을 뭐로할지 정한다면 딥러닝이 아닌이상 노가다를 하면 된다.

작가의 이전글 첫 철인3종 도전기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari