이 문서는 고객데이터 API 사용 방법을 안내합니다.
| 메서드 | URL | 인증 방식 |
|---|
GET | https://apis.moment.kakao.com/openapi/v4/customerData | |
업로드된 고객데이터 목록을 반환합니다.
성과형 광고 및 메시지 광고에서 타겟으로 사용할 수 있습니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 |
|---|
| id | Long | 고객데이터 번호 |
| adAccountId | Long | 광고계정 번호 |
| name | String | 고객데이터 이름 |
| kuidListKey | String | 고객데이터 등록 Key |
| status | Enum: CustomerDataStatus | 상태 |
| ready | Boolean | 준비완료 여부 |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 |
| type | Enum: CustomerDataType | 고객데이터 등록 방식 |
| sourceUrl | String | 등록 URL(일부 마스킹되어 반환) |
| renewable | Boolean | 갱신 여부 |
| renewalExpireDateTime | String | 갱신 유효기간 타겟 생성일시로부터 90일 |
| populationScore | Long | 타겟 모수 |
| populationUpdateDate | String | 타겟 업데이트 일시 타겟 모수가 업데이트된 시간 |
| createdDate | String | 등록일시 고객데이터를 수정한 경우 수정한 고객데이터의 생성일시 |
| originalCreatedDate | String | 최초 고객데이터 등록일시 고객데이터를 수정한 경우 최초 등록한 고객데이터의 생성일시 |
| lastModifiedDate | String | 마지막 수정 완료일시 |
| 메서드 | URL | 인증 방식 |
|---|
GET | https://apis.moment.kakao.com/openapi/v4/customerData/${ID} | |
특정 고객데이터의 상세 정보를 반환합니다.
이 API는 고객데이터마다 5초에 한 번씩 요청이 가능하도록 제한되어 있습니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 |
|---|
| id | Long | 고객데이터 번호 |
| adAccountId | Long | 광고계정 번호 |
| name | String | 고객데이터 이름 |
| kuidListKey | String | 고객데이터 등록 Key |
| status | Enum: CustomerDataStatus | 상태 |
| ready | Boolean | 준비완료 여부 |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 |
| type | Enum: CustomerDataType | 고객데이터 등록 방식 |
| sourceUrl | String | 등록 URL(일부 마스킹되어 반환) |
| renewable | Boolean | 갱신여부 |
| renewalExpireDateTime | String | 갱신 유효기간 |
| populationScore | Long | 타겟 모수 |
| populationUpdateDate | String | 타겟 업데이트 일시 타겟 모수가 업데이트된 시간 |
| createdDate | String | 등록일시 |
| originalCreatedDate | String | 최초 고객데이터 등록일시 고객데이터를 수정한 경우 최초 등록한 고객데이터의 생성일시 |
| lastModifiedDate | String | 마지막 수정 완료일시 |
| 메서드 | URL | 인증 방식 |
|---|
POST | https://apis.moment.kakao.com/openapi/v4/customerData | |
광고그룹 생성 및 수정 시 사용할 고객데이터를 파일 형태로 등록합니다.
Multipart/form-data 방식만 지원
- 하나의 고객데이터는 10개 이하의 CSV 파일로 구성 가능
- 전체 파일 용량은 200MB 이하
- 계정당 최대 50개의 고객데이터 등록 가능
- 파일 등록 후 1시간 이내에 모수 추출
- 파일 내용 형식은 파일 식별자 유형을 참고
이 API는 사용자 계정, 광고계정마다 5초에 한 번씩 요청 가능하도록 제한되어 있습니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
files 또는 adGroupIds 중 하나 필수
| 이름 | 타입 | 설명 | 필수 |
|---|
| name | String | 고객데이터 이름(최대: 120자) 한글, 영문, 특수문자, 공백 허용 | O |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 | O |
| files | Multipart File[] | 고객데이터(최대: 10개, 합계 200MB)
MimeType이 text/csv인 csv 확장자를 가진 파일 | X* |
| adGroupIds | Long[] | 메시지 광고그룹 ID 목록 | X* |
| 이름 | 타입 | 설명 |
|---|
| id | Long | 고객데이터 번호 |
| adAccountId | Long | 광고계정 번호 |
| name | String | 고객데이터 이름 |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 |
| adGroupIds | Long[] | 메시지 광고그룹 ID 목록 |
| status | String | 상태
WAITING(대기중)으로 고정 |
| successCount | Integer | 성공 건수 |
| failedCount | Integer | 실패 건수 |
| duplicationCount | Integer | 중복 건수 |
| createdDate | String | 등록일시 |
| 메서드 | URL | 인증 방식 |
|---|
POST | https://apis.moment.kakao.com/openapi/v4/customerData/url | |
광고그룹에서 사용할 고객데이터를 URL로 등록합니다.
- URL은
http:// 또는 https:// 형식으로 퍼블릭 액세스가 가능하고 식별자 목록을 다운로드할 수 있어야 함
- CSV 파일은 고객데이터 파일로 등록 API와 달리 별도의 용량 제한 없음
- 파일 내용 형식은 파일 식별자 유형 참고
MESSAGE_RETARGET 유형은 URL 등록 불가
- 타겟 등록 후 1시간 이내에 모수 추출
- 갱신 옵션을 포함하면 카카오모먼트가 하루 1회 URL을 호출해 식별자 목록을 갱신하며, 갱신 완료 전까지는 갱신 전 파일로 광고그룹 타겟 작동
- 갱신 유효기간은 최초 타겟 등록 후 90일까지이며, 유효기간 종료 후 타겟 신규 생성 필요
이 API는 사용자 계정, 광고계정마다 5초에 한 번씩 요청 가능하도록 제한되어 있습니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| name | String | 고객데이터 이름(최대: 120자) 한글, 영문, 특수문자, 공백 허용 | O |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 URL 등록은 메시지 발송 대상자 제외 | O |
| sourceUrl | String | 등록 URL | O |
| renewable | Boolean | 갱신여부
true일 경우 일 1회 갱신 수행 | O |
| 이름 | 타입 | 설명 |
|---|
| id | Long | 고객데이터 번호 |
| adAccountId | Long | 광고계정 번호 |
| name | String | 고객데이터 이름 |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 |
| status | String | 상태
WAITING(대기중)으로 고정 |
| createdDate | String | 등록일시 |
| sourceUrl | String | 등록 URL(일부 마스킹되어 반환) |
| renewable | Boolean | 갱신여부 |
| renewalExpireDateTime | String | 갱신 유효기간 타겟 생성일시로부터 90일 |
| 메서드 | URL | 인증 방식 |
|---|
PUT | https://apis.moment.kakao.com/openapi/v4/customerData | |
등록되어 있는 고객데이터 타겟을 수정합니다.
status가 COMPLETE인 타겟만 수정 가능
- 파일 유형으로 등록한 타겟은 파일 유형으로만 수정 가능
- 수정 가능 항목은 파일(
files)
Multipart/form-data 방식만 지원
- 광고그룹에서 메시지 광고로 사용 중일 경우 수정 불가
- 수정 후 1시간 이내에 모수 추출
- 수정 완료 전까지는 수정 전 타겟 모수로 광고그룹 타겟팅이 작동하며, 완료 후 수정된 타겟으로 변경
이 API는 고객데이터마다 5초에 한 번씩 요청이 가능하도록 제한되어 있습니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
files 또는 adGroupIds 중 하나 필수
| 이름 | 타입 | 설명 | 필수 |
|---|
| id | Long | 고객데이터 번호 | O |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 | O |
| files | Multipart File[] | 고객데이터(최대: 10개, 합계 200MB)
MimeType이 text/csv인 csv 확장자를 가진 파일 | X* |
| adGroupIds | Long[] | 메시지 광고그룹 ID 목록 | X* |
| 이름 | 타입 | 설명 |
|---|
| id | Long | 고객데이터 번호 |
| adAccountId | Long | 광고계정 번호 |
| name | String | 고객데이터 이름 |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 |
| adGroupIds | Long[] | 메시지 광고그룹 ID 목록 |
| status | String | 상태
WAITING(대기중)으로 고정 |
| successCount | Integer | 성공 건수 |
| failedCount | Integer | 실패 건수 |
| duplicationCount | Integer | 중복 건수 |
| createdDate | String | 등록일시 |
| 메서드 | URL | 인증 방식 |
|---|
PUT | https://apis.moment.kakao.com/openapi/v4/customerData/url | |
등록된 고객데이터 타겟을 수정합니다.
- URL 유형으로 등록한 타겟은 URL 유형으로만 수정 가능
- 수정 가능 항목은 URL(
sourceUrl), 갱신 옵션(renewable)
- 타겟 수정 후 1시간 이내에 모수 추출
- 수정 완료 전까지는 수정 전 타겟 모수로 광고그룹 타겟팅이 작동하며, 완료 후 수정된 타겟으로 변경
이 API는 고객데이터마다 5초에 한 번씩 요청이 가능하도록 제한되어 있습니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| id | Long | 고객데이터 번호 | O |
| sourceUrl | String | 등록 URL | O |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형
MESSAGE_RETARGET 제외 | O |
| renewable | Boolean | 갱신여부
true일 경우 일 1회 갱신 수행 | O |
| 이름 | 타입 | 설명 |
|---|
| id | Long | 고객데이터 번호 |
| adAccountId | Long | 광고계정 번호 |
| name | String | 고객데이터 이름 |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 |
| status | String | 상태
WAITING(대기중)으로 고정 |
| createdDate | String | 등록일시 |
| sourceUrl | String | 등록 URL(일부 마스킹되어 반환) |
| renewable | Boolean | 갱신여부 |
| renewalExpireDateTime | String | 갱신 유효기간 타겟 생성일시로부터 90일 |
| 메서드 | URL | 인증 방식 |
|---|
PUT | https://apis.moment.kakao.com/openapi/v4/customerData/name | |
고객데이터 이름을 수정합니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| id | Long | 고객데이터 번호 | O |
| name | String | 수정할 고객데이터 이름(최대: 120자) 한글, 영문, 특수문자, 공백 허용 | O |
| 이름 | 타입 | 설명 |
|---|
| id | Long | 고객데이터 번호 |
| adAccountId | Long | 광고계정 번호 |
| name | String | 고객데이터 이름 |
| kuidListKey | String | 고객데이터 등록 Key |
| ready | Boolean | 준비완료 여부 |
| status | Enum: CustomerDataStatus | 상태 |
| fileType | Enum: CustomerDataFileType | 파일 식별자 유형 |
| type | Enum: CustomerDataType | 고객데이터 등록 방식 |
| sourceUrl | String | 등록 URL(일부 마스킹되어 반환) |
| renewable | Boolean | 갱신여부 |
| renewalExpireDateTime | String | 갱신 유효기간 |
| populationScore | Long | 타겟 모수 |
| createdDate | String | 등록일시 |
| lastModifiedDate | String | 마지막 수정 완료일시 |
| originalCreatedDate | String | 최초 고객데이터 등록일시 고객데이터를 수정한 경우 최초 등록한 고객데이터의 생성일시 |
| populationUpdateDate | String | 타겟 업데이트 일시 타겟 모수가 업데이트된 시간 |
| 메서드 | URL | 인증 방식 |
|---|
DELETE | https://apis.moment.kakao.com/openapi/v4/customerData/${ID} | |
등록된 고객데이터를 삭제합니다.
광고그룹에서 사용 중일 경우 삭제가 불가능합니다. 삭제 시 업로드된 원본 파일과 성공 파일도 함께 삭제됩니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 메서드 | URL | 인증 방식 |
|---|
DELETE | https://apis.moment.kakao.com/openapi/v4/customerData | |
복수의 고객데이터를 한 번에 삭제합니다.
광고그룹 및 메시지에서 사용 중일 경우 삭제가 불가능합니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |
| 이름 | 타입 | 설명 | 필수 |
|---|
| customerDataIds | String | 고객데이터 번호 여러 개의 고객데이터 번호를 쉼표(,)로 구분한 하나의 문자열로 전달 | O |
| 이름 | 타입 | 설명 |
|---|
| successCount | Integer | 삭제 성공 건수 |
| failCount | Integer | 삭제 실패 건수 |
| errorMessages | String[] | 실패 사유 목록 |
| 메서드 | URL | 인증 방식 |
|---|
GET | https://apis.moment.kakao.com/openapi/v4/customerData/usages/${ID} | |
지정한 고객데이터를 사용 중인 광고그룹 및 캠페인 목록을 반환합니다.
| 이름 | 설명 | 필수 |
|---|
| Authorization | 인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} | O |
| adAccountId | 광고계정 ID
adAccountId: ${AD_ACCOUNT_ID} | O |