본문 바로가기
Back-end

Python으로 카카오톡 플러스친구 만들기 -3-

by 노아론 2017. 12. 19.

Python으로 카카오톡 플러스친구 만들기

-목차- 
Python으로 카카오톡 플러스친구 만들기 -1- 
Python으로 카카오톡 플러스친구 만들기 -2- 
Python으로 카카오톡 플러스친구 만들기 -3- 
Python으로 카카오톡 플러스친구 만들기 -4-

Python으로 카카오톡 플러스친구 만들기 -5-


본 튜토리얼은 카카오 Plusfriend Open API종료로 신규 생성이 불가합니다!
조만간 연재되는 카카오i 플러스친구 Skill 튜토리얼을 참고해주세요
-2018/12/19-

저번 내용

Django 환경 세팅
urls.py 연결
views.py keyboard함수 다뤄보기

이번에 할 내용

플러스친구 관리자센터에 연결해 keyboard함수 동작 확인해보기!
message함수를 써보자!


플러스친구 관리자센터에 연결해보자

이번에는 플러스친구 관리자센터에 들어가서 연결을 해보겠습니다.
로그인->플러스친구 개설->해당 플러스친구에서 스마트채팅->스마트채팅형과 API형 중 API형 설정하기 선택

아래 사진과 같이 앱등록을 하라는 화면이 나타납니다.
본인의 서버IP(개인PC의 경우 포트포워딩으로 외부에서 연결가능하게 해주세요)
Django서버포트(기본: 8000)를 앱URL에 입력합니다.

예) http://123.456.789.123:8000

API확인

API테스트를 누르면 keyboard OK와 함께 keyboard 정보가 나타납니다.
만일 Failed가 나올 경우 정상적으로 연결되지 않은 것이니 다시한번 확인바랍니다.

정상적으로 모두 등록하면 API형 시작하기를 하고, 관리페이지의 공개설정에서 토글스위치를 모두 ON시킵니다.

자신의 플러스친구를 카카오톡을 통해 들어가면 아래와 같이 뜸을 볼 수 있습니다.
keyboard함수_성공확인


이제, message함수를 구현해보자

메시지 수신 및 자동응답 API 이용 자세히 보기

keyboard는 사용자에게 주어지는 인터페이스이며,
message는 사용자가 버튼을 누른대로 처리하는 기능(텍스트, 사진)을 말합니다

API가이드를 보면 message의 전송방법은 이렇습니다

{
            'message': {
                    'text': '전송할 텍스트내용'
            },
            'keyboard': {
                'type': 'buttons',
                'buttons': ['학식', '내일의 학식', '시간별 학식', '이미지 학식', '도서관', '캠퍼스 변경']
            }
        }

만일 사진이나 링크버튼을 넣고 싶다면,

{
  "message": {
    "text": "귀하의 차량이 성공적으로 등록되었습니다. 축하합니다!",
    "photo": {
      "url": "https://photo.src",
      "width": 640,
      "height": 480
    },
    "message_button": {
      "label": "주유 쿠폰받기",
      "url": "https://coupon/url"
    }
  },
  "keyboard": {
    "type": "buttons",
    "buttons": ["처음으로", "다시 등록하기", "취소하기"]
  }
}

이렇게 추가할 수 있습니다.


그럼 app/views.py파일을 열어 message함수를 구현해보겠습니다.

@csrf_exempt
def message(request):

    return JsonResponse(
        {
            'message': {
                    'text': 'Input the sentence that you want.'
            },
            'keyboard': {
                'type': 'buttons',
                'buttons': ['학식', '내일의 학식', '시간별 학식', '이미지 학식', '도서관', '캠퍼스 변경']
            }
        }
    )

반환시키는 Json내용을 보면 버튼을 누를 때 Input the sentence that you want 가 뜨고
keyboard인터페이스로는 '학식', '내일의 학식', '시간별 학식', '이미지 학식', '도서관', '캠퍼스 변경'가 나타남을 알아낼 수 있습니다.


플러스친구에서 직접 버튼을 눌러 확인해보겠습니다.

message함수_성공확인


다음 튜토리얼에서는 버튼내용을 다르게 인식시키는 방법에 대해 다뤄보겠습니다.


댓글