본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트
  • 문서
  • 튜토리얼
  • 나에게 사용자 정의 메시지 발송

사이드 메뉴

검색

이 문서는 메시지 템플릿 도구로 사용자 정의 템플릿을 만들고, REST API 테스트 도구로 나에게 메시지를 보내는 과정을 단계별로 설명합니다.

구분내용
학습 목표헤더, 이미지, 제목, 버튼, 사용자 이름을 포함한 피드 메시지를 카카오톡 나와의 채팅방으로 발송 (결과 미리보기→)
선행 작업카카오디벨로퍼스 계정으로 로그인하기

카카오톡 메시지는 기본 템플릿 또는 사용자 정의 템플릿으로 구성할 수 있습니다. 두 가지 방식의 차이는 구성 방식 비교를 참고합니다.

이 튜토리얼에서는 메시지 템플릿 도구를 사용하는 방식인 사용자 정의 템플릿 방식을 사용합니다.

사용할 수 있는 메시지 템플릿 종류는 템플릿 종류를 참고합니다.

이 튜토리얼에서는 피드 A형 템플릿을 구성합니다.

카카오톡 메시지 API로 메시지를 보내려면 앱에서 카카오 로그인과 메시지 발송에 필요한 설정을 먼저 완료해야 합니다.

나에게 메시지 발송 조건
  • 카카오 로그인 연동
  • [카카오톡 메시지 전송] 동의항목 설정
  • 메시지 수신자가 talk_message 동의항목에 동의 필수

카카오 API를 사용하려면 카카오디벨로퍼스 앱이 필요합니다. 카카오디벨로퍼스 앱 만들기를 참고해 사용할 앱을 만듭니다.

  1. 앱 관리 페이지에서 사용할 앱을 선택합니다.
  2. [카카오 로그인] > [일반]에서 카카오 로그인 사용 설정을 합니다.
  3. [앱] > [플랫폼 키] > [REST API 키]에서 카카오 로그인 리다이렉트 URI를 등록합니다.

동의항목 설정 화면

  1. 앱 관리 페이지의 [카카오 로그인] > [동의항목]을 선택합니다.
  2. [접근권한] > [카카오톡 메시지 전송] 항목에서 [설정]을 선택합니다.
  3. 동의 단계를 [선택 동의]나 [이용 중 동의] 중 하나를 선택하고 [동의 목적]을 입력합니다.
  4. [저장]을 선택합니다.

메시지에 포함할 웹 링크는 앱에 등록된 도메인만 사용할 수 있습니다. 등록하지 않은 도메인을 메시지 링크로 사용하면 메시지 발송에 실패할 수 있습니다.

  1. 앱 관리 페이지에서 [앱] > [제품 링크 관리]로 이동합니다.
  2. [웹 도메인] 항목에서 [웹 도메인 등록]을 선택합니다.
  3. [웹 도메인 등록] 창에서 메시지에서 열 웹사이트 도메인을 등록합니다.
    • 처음 등록되는 웹 도메인이 [기본 웹 도메인]이 됩니다.

기본 웹 도메인으로 지정된 값은 바로 수정할 수 없습니다. 다른 도메인을 추가한 뒤 기본 웹 도메인을 바꾸고, 기존 도메인을 수정하거나 삭제합니다.

  1. [도메인 수정]을 선택합니다.
  2. [+]을 눌러 다른 웹 도메인을 등록합니다.
  3. [기본 도메인 선택]을 눌러 새로 추가한 도메인을 기본 웹 도메인으로 지정합니다.
  4. 다시 [도메인 수정]을 선택해 기존 도메인을 수정하거나 삭제합니다.

이 단계에서는 메시지 템플릿 도구에서 새 템플릿을 만들고, 템플릿 ID를 확인합니다.

  1. [도구] > [메시지 템플릿]에서 메시지를 보낼 디벨로퍼스 앱을 선택합니다.
  2. [A] [메시지 템플릿 추가] 버튼을 선택합니다.
  3. 템플릿 타입에서 [피드형(A)]을 선택한 후 [확인]을 누릅니다.
  4. [C] 템플릿 제목에 템플릿을 식별할 수 있는 이름이나 설명을 입력합니다.(선택)
  5. [D] [저장] 버튼을 선택해 메시지 템플릿을 저장합니다.
  6. [E] 템플릿 ID를 확인합니다. 이 값은 나에게 메시지 발송 시 필요합니다.

메시지 템플릿 생성 화면

피드 메시지의 이미지, 헤더, 제목, 본문, 버튼을 설정합니다.

  1. 공통 설정의 [사용 목적]에서 [카카오톡 메시지 API]를 선택합니다.
  2. 헤더 항목을 [ON]으로 설정한 후, 제목을 입력합니다.
    • [헤더명]: ${NAME}님을 위한 추천
    • 참고: 피드 A형에서 헤더와 프로필은 동시에 사용할 수 없으므로, 이 튜토리얼은 헤더만 사용합니다.
  3. 이미지에서 메시지에 표시할 이미지를 업로드합니다.
  4. 메시지 제목 / 본문 항목에서 아래와 같이 입력합니다.
    • [메시지 제목]: 오늘의 추천 콘텐츠
    • [본문]: 카카오디벨로퍼스 메시지 템플릿 테스트입니다.
  5. 버튼에서 버튼 이름을 원하는 이름으로 변경해 봅니다.
  6. [저장]을 선택합니다.
사용자 인자

템플릿에 ${NAME}을 입력하면 NAME사용자 인자로 등록됩니다. 메시지 발송 시 template_argsNAME 값을 전달하면 사용자별로 다른 문구를 표시할 수 있습니다.

메시지의 이미지, 제목, 버튼 등 클릭 가능한 영역에 연결할 링크를 설정합니다. 웹 도메인을 등록하지 않으면 링크를 설정할 수 없습니다.

앞서 웹 도메인을 등록했다면 [공통 링크] 항목에서 [모바일 웹]과 [PC 웹]이 [ON]으로 기본 설정됩니다. [개별링크 설정]을 쓰지 않은 클릭 영역은 이 공통 링크로 연결됩니다.

버튼, 이미지, 메시지 제목/본문, 헤더처럼 클릭 가능한 구성 요소마다 다른 링크를 적용할 수 있습니다.

구성 요소에 공통 링크가 아닌 링크를 적용하려면 해당 구성 요소의 [링크 설정]에서 개별링크 설정을 선택합니다. 자세한 항목은 컴포넌트 링크 관리를 참고합니다.

사용자 환경(모바일/PC 웹, Android, iOS)에 따라 다른 링크를 적용하려면 메시지 템플릿 도구의 컴포넌트 링크 관리 항목에서 [개별링크를 설정]합니다.

이 튜토리얼에서는 버튼 컴포넌트에 모바일 웹과 PC 웹에 다르게 적용되는 개별링크를 설정하겠습니다.

  1. [버튼] > [링크 설정] 항목에서 [수정]을 선택합니다.
  2. [링크 설정] 창에서 [개별링크 설정]을 선택합니다.
  3. [모바일 웹], [PC 웹]을 [ON]으로 변경합니다.
  4. [웹 도메인]에서 [기본 웹 도메인]으로 선택합니다.
    • [A] 기본 웹 도메인: [앱] > [제품 링크 관리] > [웹 도메인]에서 지정한 기본 웹 도메인
    • [B] 웹 도메인 값: [앱] > [제품 링크 관리] > [웹 도메인]에 등록한 도메인
    • [C] 사용자 인자: 등록된 도메인을 사용자 인자로 전달하지 않는 경우, 기본 웹 도메인 값으로 대체됨
  5. 모바일과 PC에 다르게 적용될 경로를 입력합니다.
    • [모바일 앱] > [Path]: /m/today 입력
    • [PC 웹] > [Path]: /today 입력
  6. [링크 미리보기]에서 전체 링크를 확인합니다.
  7. [수정]을 선택합니다.
  8. 메시지 템플릿 도구 상단에서 [저장]을 선택해 변경 사항을 저장해야 합니다.

링크 설정 > 개별링크 설정 화면

REST API 테스트 도구로 나에게 사용자 정의 템플릿으로 메시지 발송 API를 호출해 저장한 템플릿이 정상적으로 발송되는지 확인합니다.

  1. [인증 앱]에서 템플릿을 만든 앱을 선택합니다.
  2. [액세스 토큰]의 [토큰 발급]을 선택합니다.
  3. 사용자 정보 조회 범위에서 talk_message를 선택한 후 [확인]을 선택합니다.
    • 이 항목이 비활성화되어 있다면 1-3. 동의항목 설정하기에서 안내한 대로 talk_message 동의항목을 설정해야 합니다.
  4. 카카오계정으로 로그인하고 동의 화면이 나타나면 [카카오톡 메시지 전송] 항목을 선택해 동의합니다.
  5. 메시지 템플릿 생성하기에서 확인한 템플릿 ID를 template_id에 입력합니다.
    • 예: 5595
  6. 메시지 구성 요소 설정하기에서 설정한 사용자 인자 값을 template_args에 JSON 형식으로 입력합니다.
    • 예: {"NAME":"춘식이"}
  7. [전송]을 선택하면 입력한 값으로 API를 호출합니다.
  8. 정상적으로 발송되었는지 확인합니다.

테스트가 끝나면 서비스 코드에서 아래 순서로 메시지를 발송합니다.

  1. 카카오 로그인으로 talk_message 동의항목에 동의한 사용자의 액세스 토큰을 발급받습니다.
  2. 메시지 템플릿 도구에서 만든 템플릿 ID를 코드에 적용합니다.
  3. 사용자별로 바뀌는 값이 있다면 template_args에 사용자 인자 값을 전달합니다.
  4. 나에게 사용자 정의 템플릿으로 메시지 발송 API를 호출합니다.
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-d "template_id=5595" \
-d 'template_args={"NAME":"춘식이"}'

친구에게 메시지를 보내려면 서비스 사용자간 카카오톡 메시지 발송을 참고합니다.

문제확인할 내용
액세스 토큰 발급 시 카카오톡 메시지 전송 동의항목을 선택할 수 없음앱의 동의항목 설정 여부 확인
메시지 발송 API에서 템플릿을 찾을 수 없음template_id, 앱 선택, 템플릿 저장 여부 확인
메시지에 ${NAME}이 그대로 표시됨template_argsNAME 값 전달 여부 확인
링크 클릭 시 페이지가 열리지 않음웹 도메인 등록, 링크 Path 확인
메시지에서 앱이 실행되지 않음네이티브 앱 키, 커스텀 URL 스킴, 공통 설정의 네이티브 앱 스킴 확인
Android와 iOS에서 같은 화면이 열림앱 스킴 파라미터를 OS별로 다르게 넣었는지 확인

자세한 오류 원인은 카카오톡 메시지 에러 코드메시지 템플릿 FAQ를 참고합니다.

도움이 되었나요?

    튜토리얼 > 나에게 사용자 정의 메시지 발송 - 카카오디벨로퍼스 | 문서