사이드 메뉴
시작하기
로그인
커뮤니케이션
광고
나에게 사용자 정의 메시지 발송
이 문서는 메시지 템플릿 도구로 사용자 정의 템플릿을 만들고, REST API 테스트 도구로 나에게 메시지를 보내는 과정을 단계별로 설명합니다.
| 구분 | 내용 |
|---|---|
| 학습 목표 | 헤더, 이미지, 제목, 버튼, 사용자 이름을 포함한 피드 메시지를 카카오톡 나와의 채팅방으로 발송 (결과 미리보기→) |
| 선행 작업 | 카카오디벨로퍼스 계정으로 로그인하기 |
카카오톡 메시지는 기본 템플릿 또는 사용자 정의 템플릿으로 구성할 수 있습니다. 두 가지 방식의 차이는 구성 방식 비교를 참고합니다.
이 튜토리얼에서는 메시지 템플릿 도구를 사용하는 방식인 사용자 정의 템플릿 방식을 사용합니다.
메시지 종류
사용할 수 있는 메시지 템플릿 종류는 템플릿 종류를 참고합니다.
이 튜토리얼에서는 피드 A형 템플릿을 구성합니다.
카카오톡 메시지 API로 메시지를 보내려면 앱에서 카카오 로그인과 메시지 발송에 필요한 설정을 먼저 완료해야 합니다.
- 카카오 로그인 연동
- [카카오톡 메시지 전송] 동의항목 설정
- 메시지 수신자가
talk_message동의항목에 동의 필수
카카오 API를 사용하려면 카카오디벨로퍼스 앱이 필요합니다. 카카오디벨로퍼스 앱 만들기를 참고해 사용할 앱을 만듭니다.
- 앱 관리 페이지에서 사용할 앱을 선택합니다.
- [카카오 로그인] > [일반]에서 카카오 로그인 사용 설정을 합니다.
- [앱] > [플랫폼 키] > [REST API 키]에서 카카오 로그인 리다이렉트 URI를 등록합니다.

- 앱 관리 페이지의 [카카오 로그인] > [동의항목]을 선택합니다.
- [접근권한] > [카카오톡 메시지 전송] 항목에서 [설정]을 선택합니다.
- 동의 단계를 [선택 동의]나 [이용 중 동의] 중 하나를 선택하고 [동의 목적]을 입력합니다.
- [저장]을 선택합니다.
메시지에 포함할 웹 링크는 앱에 등록된 도메인만 사용할 수 있습니다. 등록하지 않은 도메인을 메시지 링크로 사용하면 메시지 발송에 실패할 수 있습니다.
- 앱 관리 페이지에서 [앱] > [제품 링크 관리]로 이동합니다.
- [웹 도메인] 항목에서 [웹 도메인 등록]을 선택합니다.
- [웹 도메인 등록] 창에서 메시지에서 열 웹사이트 도메인을 등록합니다.
- 처음 등록되는 웹 도메인이 [기본 웹 도메인]이 됩니다.
기본 웹 도메인 변경
기본 웹 도메인으로 지정된 값은 바로 수정할 수 없습니다. 다른 도메인을 추가한 뒤 기본 웹 도메인을 바꾸고, 기존 도메인을 수정하거나 삭제합니다.
- [도메인 수정]을 선택합니다.
- [+]을 눌러 다른 웹 도메인을 등록합니다.
- [기본 도메인 선택]을 눌러 새로 추가한 도메인을 기본 웹 도메인으로 지정합니다.
- 다시 [도메인 수정]을 선택해 기존 도메인을 수정하거나 삭제합니다.
이 단계에서는 메시지 템플릿 도구에서 새 템플릿을 만들고, 템플릿 ID를 확인합니다.
- [도구] > [메시지 템플릿]에서 메시지를 보낼 디벨로퍼스 앱을 선택합니다.
- [A] [메시지 템플릿 추가] 버튼을 선택합니다.
- 템플릿 타입에서 [피드형(A)]을 선택한 후 [확인]을 누릅니다.
- [C] 템플릿 제목에 템플릿을 식별할 수 있는 이름이나 설명을 입력합니다.(선택)
- [D] [저장] 버튼을 선택해 메시지 템플릿을 저장합니다.
- [E] 템플릿 ID를 확인합니다. 이 값은 나에게 메시지 발송 시 필요합니다.

피드 메시지의 이미지, 헤더, 제목, 본문, 버튼을 설정합니다.
- 공통 설정의 [사용 목적]에서 [카카오톡 메시지 API]를 선택합니다.
- 헤더 항목을 [ON]으로 설정한 후, 제목을 입력합니다.
- [헤더명]:
${NAME}님을 위한 추천 - 참고: 피드 A형에서 헤더와 프로필은 동시에 사용할 수 없으므로, 이 튜토리얼은 헤더만 사용합니다.
- [헤더명]:
- 이미지에서 메시지에 표시할 이미지를 업로드합니다.
- 메시지 제목 / 본문 항목에서 아래와 같이 입력합니다.
- [메시지 제목]:
오늘의 추천 콘텐츠 - [본문]:
카카오디벨로퍼스 메시지 템플릿 테스트입니다.
- [메시지 제목]:
- 버튼에서 버튼 이름을 원하는 이름으로 변경해 봅니다.
- [저장]을 선택합니다.
템플릿에 ${NAME}을 입력하면 NAME이 사용자 인자로 등록됩니다. 메시지 발송 시 template_args에 NAME 값을 전달하면 사용자별로 다른 문구를 표시할 수 있습니다.
메시지의 이미지, 제목, 버튼 등 클릭 가능한 영역에 연결할 링크를 설정합니다. 웹 도메인을 등록하지 않으면 링크를 설정할 수 없습니다.
앞서 웹 도메인을 등록했다면 [공통 링크] 항목에서 [모바일 웹]과 [PC 웹]이 [ON]으로 기본 설정됩니다. [개별링크 설정]을 쓰지 않은 클릭 영역은 이 공통 링크로 연결됩니다.
버튼, 이미지, 메시지 제목/본문, 헤더처럼 클릭 가능한 구성 요소마다 다른 링크를 적용할 수 있습니다.
구성 요소에 공통 링크가 아닌 링크를 적용하려면 해당 구성 요소의 [링크 설정]에서 개별링크 설정을 선택합니다. 자세한 항목은 컴포넌트 링크 관리를 참고합니다.
사용자 환경(모바일/PC 웹, Android, iOS)에 따라 다른 링크를 적용하려면 메시지 템플릿 도구의 컴포넌트 링크 관리 항목에서 [개별링크를 설정]합니다.
이 튜토리얼에서는 버튼 컴포넌트에 모바일 웹과 PC 웹에 다르게 적용되는 개별링크를 설정하겠습니다.
- [버튼] > [링크 설정] 항목에서 [수정]을 선택합니다.
- [링크 설정] 창에서 [개별링크 설정]을 선택합니다.
- [모바일 웹], [PC 웹]을 [ON]으로 변경합니다.
- [웹 도메인]에서 [기본 웹 도메인]으로 선택합니다.
- 모바일과 PC에 다르게 적용될 경로를 입력합니다.
- [모바일 앱] > [Path]:
/m/today입력 - [PC 웹] > [Path]:
/today입력
- [모바일 앱] > [Path]:
- [링크 미리보기]에서 전체 링크를 확인합니다.
- [수정]을 선택합니다.
- 메시지 템플릿 도구 상단에서 [저장]을 선택해 변경 사항을 저장해야 합니다.

REST API 테스트 도구로 나에게 사용자 정의 템플릿으로 메시지 발송 API를 호출해 저장한 템플릿이 정상적으로 발송되는지 확인합니다.
- [인증 앱]에서 템플릿을 만든 앱을 선택합니다.
- [액세스 토큰]의 [토큰 발급]을 선택합니다.
- 사용자 정보 조회 범위에서
talk_message를 선택한 후 [확인]을 선택합니다.- 이 항목이 비활성화되어 있다면 1-3. 동의항목 설정하기에서 안내한 대로
talk_message동의항목을 설정해야 합니다.
- 이 항목이 비활성화되어 있다면 1-3. 동의항목 설정하기에서 안내한 대로
- 카카오계정으로 로그인하고 동의 화면이 나타나면 [카카오톡 메시지 전송] 항목을 선택해 동의합니다.
- 메시지 템플릿 생성하기에서 확인한 템플릿 ID를
template_id에 입력합니다.- 예:
5595
- 예:
- 메시지 구성 요소 설정하기에서 설정한 사용자 인자 값을
template_args에 JSON 형식으로 입력합니다.- 예:
{"NAME":"춘식이"}
- 예:
- [전송]을 선택하면 입력한 값으로 API를 호출합니다.
- 정상적으로 발송되었는지 확인합니다.
- 응답 본문의
result_code가0인지 확인(참고: 나에게 사용자 정의 템플릿으로 메시지 발송 API 응답 예시) - 카카오톡의 나와의 채팅방에서 구성한 메시지가 발송되었는지 확인
- 메시지 헤더에 사용자 인자값이 제대로 표시되었는지 확인
- 응답 본문의

테스트가 끝나면 서비스 코드에서 아래 순서로 메시지를 발송합니다.
- 카카오 로그인으로
talk_message동의항목에 동의한 사용자의 액세스 토큰을 발급받습니다. - 메시지 템플릿 도구에서 만든 템플릿 ID를 코드에 적용합니다.
- 사용자별로 바뀌는 값이 있다면
template_args에 사용자 인자 값을 전달합니다. - 나에게 사용자 정의 템플릿으로 메시지 발송 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_args에 NAME 값 전달 여부 확인 |
| 링크 클릭 시 페이지가 열리지 않음 | 웹 도메인 등록, 링크 Path 확인 |
| 메시지에서 앱이 실행되지 않음 | 네이티브 앱 키, 커스텀 URL 스킴, 공통 설정의 네이티브 앱 스킴 확인 |
| Android와 iOS에서 같은 화면이 열림 | 앱 스킴 파라미터를 OS별로 다르게 넣었는지 확인 |
자세한 오류 원인은 카카오톡 메시지 에러 코드와 메시지 템플릿 FAQ를 참고합니다.