이 문서는 개인화 메시지 관리 API 사용 방법을 안내합니다.
| 메서드 | URL | 인증 방식 |
|---|
POST | https://apis.moment.kakao.com/openapi/v4/messages/creatives/${ID}/sendTestPersonalMessage | |
개인화 메시지 X 도달 캠페인 하위 소재를 테스트 발송합니다.
발송 시에 홍보문구 영역에 [테스트 발송]이 추가되어 발송됩니다.
이 API는 사용자 계정, 광고계정마다 1분에 한 번씩 요청 가능하도록 제한되어 있습니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| phoneNumber | String | 발송 대상 전화번호 | O |
| variables | JSON | 템플릿 사용 변수의 키-값 쌍을 가지는 객체 | O |
| 메서드 | URL | 인증 방식 |
|---|
POST | https://apis.moment.kakao.com/openapi/v4/messages/creatives/${ID}/sendPersonalMessage | |
개인화 메시지 X 도달 캠페인 하위 소재를 한 명의 사용자에게 발송합니다.
- 한 번에 한 명의 사용자에게만 발송 가능
- 단건 발송은 동기로 처리
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| messageSerialNumber | String | 발송 메시지를 구분하는 고유 ID(최대: 39자) 형식: yyyyMMdd-${creativeId}-${uniqueId_for_message}
참고: 단건 발송에서는 messageSerialNumber가 발송 요청 고유 ID(requestId)로 자동 설정됨 | O |
| receiverType | Enum | 발송 유형
APP_USER_ID: 개인화 메시지 소재 템플릿의 profileId에 연결된 앱의 회원번호
PHONE_NUMBER: 전화번호
| O |
| receiverKey | String | 발송 대상 식별자 유저식별자 혹은 전화번호 | O |
| variables | JSON | 템플릿 사용 변수의 키-값 쌍을 가지는 객체 | O |
| 이름 | 타입 | 설명 |
|---|
| requestId | String | 발송 요청 고유 ID 발송 상태 조회 시 사용 |
| messageSerialNumber | String | 발송 요청 시 전달했던 발송 메시지 고유 ID |
| status | Enum | 발송 결과
SUCCEEDED: 발송 성공
FAILED: 발송 실패
|
| sendAt | String | 발송일시
yyyy-MM-dd HH:mm:ss 형식 |
| 메서드 | URL | 인증 방식 |
|---|
POST | https://apis.moment.kakao.com/openapi/v4/messages/creatives/${ID}/sendPersonalMessages | |
개인화 메시지 X 도달 캠페인 하위 소재를 여러 사용자에게 발송합니다.
- 한 번에 최소 2건에서 최대 100건까지 발송 요청 가능
- 유효하지 않은 값이 포함된 경우 즉시 응답
- 유효성 검사를 통과한 다건 발송은 비동기로 처리
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| requestId | String | 발송 요청을 구분하는 고유 ID(최대: 39자), 발송 요청마다 새로 생성해 전달 형식: yyyyMMdd-${creativeId}-${uniqueId_for_request} | O |
| receivers | PersonalMessageSendRequest[] | 발송 메시지 각각에 대한 정보 | O |
PersonalMessageSendRequest
| 이름 | 타입 | 설명 | 필수 |
|---|
| messageSerialNumber | String | 발송 메시지를 구분하는 고유 ID(최대: 39자) 형식: yyyyMMdd-${creativeId}-${uniqueId_for_message}
참고: 단건 발송에서는 messageSerialNumber가 발송 요청 고유 ID(requestId)로 자동 설정됨 | O |
| receiverType | Enum | 발송 유형
APP_USER_ID: 개인화 메시지 소재 템플릿의 profileId에 연결된 앱의 회원번호
PHONE_NUMBER: 전화번호
| O |
| receiverKey | String | 발송 대상 식별자 유저식별자 혹은 전화번호 | O |
| variables | JSON | 템플릿 사용 변수의 키-값 쌍을 가지는 객체 | O |
| 이름 | 타입 | 설명 |
|---|
| requestId | String | 발송 요청 고유 ID 발송 상태 조회 시 사용 |
| 메서드 | URL | 인증 방식 |
|---|
GET | https://apis.moment.kakao.com/openapi/v4/messages/creatives/${ID}/statuses/${REQUEST_ID} | |
개인화 메시지 발송 요청에 대한 결과를 반환합니다.
발송 요청으로부터 7일 이내의 결과만 조회 가능합니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| ID | Integer | 소재 번호 | O |
| REQUEST_ID | String | 요청 고유 ID | O |
| 이름 | 타입 | 설명 |
|---|
| completed | Boolean | 다건 발송 시도 완료 여부 모든 발송 시도를 완료하지 않았을 때는 false이고, results는 빈 배열 반환 |
| results | PersonalMessageResult[] | 다건 발송건 각각의 결과 리스트 |
| 이름 | 타입 | 설명 |
|---|
| messageSerialNumber | String | 발송 메시지를 구분할 수 있는 고유 ID |
| status | Enum | 발송 결과
SUCCEEDED: 발송 성공
FAILED: 발송 실패
|
| statusReason | String | 발송 결과별 상세 원인 |
| sendAt | String | 발송일시, yyyy-MM-dd HH:mm:ss 형식 |
| 메서드 | URL | 인증 방식 |
|---|
POST | https://apis.moment.kakao.com/openapi/v4/messages/personal/images/upload | |
개인화 메시지 X 도달 캠페인 하위 소재에 사용할 홍보 이미지를 업로드합니다.
최소 1건에서 최대 100건을 한번에 요청할 수 있습니다.
카카오는 메시지 정책에 맞는 이미지 정책과 사이즈 여부를 확인 후 저장합니다.
이미지 업로드 주의 사항
- 메시지 내용에 포함할 이미지만 업로드해야 합니다. 이외 목적으로 이미지 업로드 시 광고계정 운영 제재 등 불이익을 받을 수 있습니다.
- 가능한 메시지 발송 시점에 맞춰 이미지를 업로드할 것을 권장합니다.
- 응답 이미지 URL은 영구적으로 사용할 수 없으며, 등록한 이미지는 카카오 시스템 사정에 의해 통보없이 삭제될 수 있습니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| files | Multipart File[] | 업로드할 이미지 파일 파일 형식: JPG, JPEG, PNG 권장 사이즈: 800x400 픽셀(2:1 비율), 800x800 픽셀(1:1 비율), 800x600 픽셀(4:3 비율) 용량: 10MB 이하 | O |
| 이름 | 타입 | 설명 |
|---|
| downloadUrl | String | 이미지 주소 |
| originalFileName | String | 이미지 파일명 |
| 이름 | 타입 | 설명 |
|---|
| reason | String | 사유 |
| description | String | 상세 설명 |