Technique

카카오톡 플러스친구를 이용한 email 간편 전송 서비스 만들기(feat, DJANGO, groomide) 3

JAY-GO 2018. 9. 9. 09:42
반응형

 이번 포스팅에서는 앞에서 생성한 카카오 플러스 친구와 goormide를 이용해 실행중인 django 테스트 서버를 연동시켜 보겠습니다.


1. 카카오 플러스친구 API 요구사항 확인

 카카오 플러스 친구를 외부 서버의 서비스와 연동하여 사용하기 위해서는 스마트채팅의 API형 서비스를 활용해야 합니다.


  API형 서비스를 설정하면 카카오플러스친구 스마트채팅과 연결 가능한 앱(외부서버의 서비스)와의 연결 설정을 할 수 있습니다. API Document에 API의 상세 설명이 나와 있습니다.


API Document 중 핵심적인 문구들을 추리자면

 - http(s) restful api를 통하여 카카오 API 서버 -> 파트너 서버를 호출합니다.

 - 카카오톡 이용자를 구분하기 위해서는 카카오로부터 API를 통해 user_key를 response로 받아야 합니다.

 - API TEST : 필수 API인 Home Keyboard API가 정상적인 응답을 받지 못하는 경우 서비스 시작이 불가합니다.


 API 정의 문서에 중요하지 않은게 없겠지만 위 사항들에 대한 이해가 선행되어야 합니다. 각각의 항목은 실제로 플로스친구 API의 규칙을 따르는 서비스를 django에 구성하면서 설명할 것입니다.


2. 플러스친구 API와 django 서버로 구성한 서비스 연결하기

 플러스친구는 이용자가 최초 채팅방을 생성하면 동작하는 'Home Keyboard API'를 이용하여 외부 서비스가 준비가 되었는지 테스트 합니다. 이를 통과하지 못하면 외부 서비스(앱) 등록이 되지 않습니다. 

 여기서 테스트라 함은 플러스친구 API가 rest 방식으로 외부 서비스를 호출하여 플러스친구 API Home Keyboard API 스팩에 맞는 응답을 하였는지 여부를 확인하는 것입니다.


 ㅇ Home Keyboard API 대응 앱 구현

 http(s)://:your_server_url/keyboard 의 주소로 들어오는 API 스팩에 적합한 앱을 구현 합니다. 앞의 포스팅에서 준비한 goormide를 이용해서 django 앱을 아래와 같이생성하고 수정 해봅시다.

# python3 manage.py startapp sendemail # 터미널에서 sendemail 앱 생성

<sendemail/views.py> - api에 동작할 view 정의

from django.shortcuts import render
from django.http import JsonResponse

# Create your views here.


def keyboard(request):
return JsonResponse(
{
"type": "text"
}
)

<myserver/urls.py> - api가 접근하는 url을 view와 연결

from django.contrib import admin
from django.urls import path
from sendemail import views

urlpatterns = [
path('admin/', admin.site.urls),
path('keyboard', views.keyboard),
]

<myserver/settings.py> - 모든 url 접근 허용

ALLOWED_HOSTS = ['*']


 runserver 명령을 이용하여 테스트 서버를 구현 하고 goormide 에서 제공하는 url의 /keyboard/ 주소로 접속 해봅시다.

view.py에 정의한 대로 JSON 형식으로 반환 되었습니다.

이는 플러스친구 Home Keyboard API에서 제시한 스팩에 맞추어 반환한 것입니다. 


 ㅇ 플러스친구와 django 서비스 연결

이제 플러스친구의 API TEST 요구조건을 충족 하였음으로 플러스친구와 방금 작성한 서비스를 연결 해보겠습니다.

 API 테스트를 통과한 모습을 볼 수 있습니다. 이제 하단의 전화번호를 인증하고 API형 저장하기를 누른 후 시작하기를 누르면 플러스친구가 우리가 작성한 서비스와 연결 됩니다.


 카카오톡에서 플러스친구를 선택하여 채팅을 시작하면 기존에 사용 불가했던 채팅창이 활성화 되고 대화가 가능하게 되었습니다. 하지만, 초기화 이외에 입력되는 메시지에 대한 API 대응은 하지 않았기 때문에 대화를 걸면 에러가 표시됩니다.


 이번 포스팅에서는 플러스친구와 테스트서버에 직접 구성한 django 서비스를 연결 해 보았습니다. 다음 포스팅에서는 플러스친구를 통해 연결된 서비스와 정상적인 통신이 가능하도록 django 서비스를 구성해 보도록 하겠습니다.






반응형