사이드 메뉴
시작하기
로그인
커뮤니케이션
광고
캠페인
이 문서는 광고 생성: 캠페인 API 사용 방법을 안내합니다.
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://apis.moment.kakao.com/openapi/v4/campaigns | 비즈니스 토큰 |
캠페인 목록을 반환합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| config | String | ON, OFF, DEL(삭제) 중 하나 | X |
| 이름 | 타입 | 설명 |
|---|---|---|
| content | Campaign[] | 캠페인 정보 목록 |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | Long | 캠페인 번호 |
| name | String | 캠페인명 |
| config | String | 캠페인 상태 ON, OFF, DEL(삭제) 중 하나 |
| userConfig | String | 캠페인 상태 ON, OFF, DEL(삭제) 중 하나 참고: config와 동일한 값으로, config로 개선하기 이전에 사용하던 필드입니다. 현재 해당 필드는 사용이 불가하며, 히스토리 관리를 위한 조회용으로만 참고 가능합니다. |
| systemConfig | String | 캠페인 시스템 상태 ON, ADMIN_STOP(관리자정지), EXTERNAL_SERVICE_STOP(연결 서비스 제한) 중 하나 |
요청
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns?config=ON" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}"
응답
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"content": [{"id": 1111,"name": "캠페인 1","config": "ON","userConfig": "ON","systemConfig": "ADMIN_STOP"},{"id": 1112,"name": "캠페인 2","config": "OFF","userConfig": "OFF","systemConfig": " ON"}]}
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://apis.moment.kakao.com/openapi/v4/campaigns/${ID} | 비즈니스 토큰 |
지정한 한 캠페인의 상세 정보를 반환합니다.
캠페인 상세 정보 중 캠페인의 게재와 관련된 상태(statusDescription)는 캠페인 상태(config), 일 예산 초과 여부(isDailyBudgetAmountOver)의 조합으로 만들어집니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 캠페인 번호 | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | Long | 캠페인 번호 |
| name | String | 캠페인 이름 |
| campaignTypeGoal | CampaignTypeGoal | 캠페인 유형 X 목표 |
| objective | Objective | 광고 목표 설정 |
| dailyBudgetAmount | Long | 일 예산 입력하지 않은 경우 예산 "한도 없음"과 같은 의미 |
| config | String | 캠페인 상태 ON, OFF, DEL(삭제) 중 하나 |
| statusDescription | String | 캠페인의 게재와 관련된 현재 상태 |
| trackId | String | 전환추적 설정 번호 |
| adAccountId | Long | 광고계정 번호 |
| status | String | 상태 Status 참고 |
| systemConfig | String | 캠페인 시스템 상태ON, ADMIN_STOP(관리자정지), EXTERNAL_SERVICE_STOP(연결 서비스 제한) 중 하나 |
| isDailyBudgetAmountOver | Boolean | 일 예산 초과 여부 |
요청
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}"
응답: 성공
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"id": 1234,"name": "캠페인1","campaignTypeGoal": {"campaignType": "DISPLAY","goal": "VISITING"},"objective": null,"dailyBudgetAmount": null,"config": "ON","statusDescription": "운영중","trackId": "5360727718927577526","adAccountId": 10000,"status": ["LIVE"],"systemConfig": "ON","isDailyBudgetAmountOver": false}
응답: 실패
{"code": -813,"msg": "KakaoMomentException","extras": {"detailCode": 31001,"detailMsg": "캠페인이 존재하지 않습니다."}}
| 메서드 | URL | 인증 방식 |
|---|---|---|
POST | https://apis.moment.kakao.com/openapi/v4/campaigns | 비즈니스 토큰 |
새로운 캠페인을 생성합니다.
전환 목표를 가진 캠페인을 생성할 경우, 카카오톡 채널 프로필 목록 조회 및 픽셀&SDK 조회 요청 후 캠페인을 생성할 수 있습니다.
카카오 클릭 ID는 충분한 테스트 후 설정해야 합니다. 사용자가 미리 점검하지 않아 랜딩에 오류가 발생한 경우, 보상 대상에 해당하지 않습니다.
카카오톡채널 X 도달 캠페인의 경우 메시지를 발송하고자 하는 카카오톡 채널 프로필을 입력해야 합니다.
캠페인 이름은 생성 시 지정하지 않을 경우 카카오모먼트의 기본 명명 규칙에 따라 {유형}_{목표}_yyyyMMddHHmm 형식으로 설정됩니다.
캠페인 일예산은 필수값이 아니며 카카오톡채널, 개인화 메시지 유형 캠페인의 경우 일예산 지정이 불가능합니다. 캠페인 전략에 대한 조건은 아래를 참고합니다.
| 유형 X 목표 | 광고 목표 설정 | 전환 추적 설정 | 카카오 클릭 ID 설정 |
|---|---|---|---|
| 디스플레이 X 방문 | - | 픽셀 & SDK(옵션) | 옵션 |
| 디스플레이 X 전환 | 픽셀&SDK | 픽셀 & SDK 광고 목표 설정과 동일한 대상으로 자동 설정 캠페인 생성시 ID 직접 입력 불가 캠페인 수정시 자동설정된 ID 입력 필수 | 옵션 |
| 디스플레이 X 전환 | 카카오톡 채널 | 전환 추적 설정 불가 | - |
| 동영상 X 조회 | - | 픽셀 & SDK(옵션) | 옵션 |
| 카카오 비즈보드 X 방문 | - | 픽셀 & SDK(옵션) | 옵션 |
| 카카오 비즈보드 X 전환 | 픽셀&SDK | 픽셀 & SDK 광고 목표 설정과 동일한 대상으로 자동 설정 캠페인 생성시 ID 직접 입력 불가 캠페인 수정시 자동설정된 ID 입력 필수 | 옵션 |
| 카카오 비즈보드 X 전환 | 카카오톡 채널 | 전환 추적 설정 불가 | - |
| 카카오톡 채널 X 도달 | 카카오톡 채널 | 픽셀 & SDK(옵션) | - |
| 개인화 메시지 X 도달 | 카카오톡 채널 | 픽셀 & SDK(옵션) | - |
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| name | String | 캠페인 이름 최대 50자 요청 시 포함되지 않으면 자동 생성 | X |
| campaignTypeGoal | CampaignTypeGoal | 캠페인 유형 X 목표 | O |
| objective | Objective | 광고 목표 설정 유형 X 목표, 전환추적 설정 조건 참조 | O* |
| dailyBudgetAmount | Long | 일 예산 입력하지 않은 경우 예산 "한도 없음"과 같은 의미 | X |
| trackId | String | 전환추적 설정 번호 캠페인 목표가 방문인 경우 픽셀&SDK 조회 결과의 id 를 전환추적 설정 번호로 입력할 수 있습니다. | X |
| kclid | Boolean | 카카오 클릭 ID 설정 유형 X 목표별 카카오 클릭 ID 설정 조건 참조 | X |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | Long | 캠페인 번호 |
| name | String | 캠페인 이름 |
| campaignTypeGoal | CampaignTypeGoal | 캠페인 유형 X 목표 |
| objective | Objective | 광고 목표 설정 |
| dailyBudgetAmount | Long | 일 예산 입력하지 않은 경우 예산 "한도 없음"과 같은 의미 |
| config | String | 캠페인 상태 ON, OFF, DEL(삭제) 중 하나 |
| statusDescription | String | 캠페인의 게재와 관련된 현재 상태 |
| trackId | String | 전환추적설정 번호 |
| adAccountId | Long | 광고계정 번호 |
| status | String | 상태 Status 참고 |
| systemConfig | String | 캠페인 시스템 상태 ON, ADMIN_STOP(관리자정지), EXTERNAL_SERVICE_STOP(연결 서비스 제한) 중 하나 |
| isDailyBudgetAmountOver | Boolean | 일 예산 초과 여부 |
| kclid | Boolean | 카카오 클릭 ID 설정 여부 |
요청
curl -X POST "https://apis.moment.kakao.com/openapi/v4/campaigns" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"name": "첫번째_캠페인","campaignTypeGoal" : {"campaignType" : "DISPLAY","goal" : "CONVERSION"},"objective" : {"type" : "TALK_CHANNEL","value" : "abcd1234"},"dailyBudgetAmount" : 200000}'
응답: 성공
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"id": 1234,"name": "캠페인1","campaignTypeGoal": {"campaignType": "DISPLAY","goal": "VISITING"},"objective": null,"dailyBudgetAmount": null,"config": "ON","statusDescription": "운영중","trackId": "5360727718927577526","adAccountId": 10000,"status": ["LIVE"],"systemConfig": "ON","isDailyBudgetAmountOver": false}
응답: 실패
{"code": -813,"msg": "KakaoMomentException","extras": {"status": 400,"message": "존재하지 않는 광고계정입니다."}}
| 메서드 | URL | 인증 방식 |
|---|---|---|
PUT | https://apis.moment.kakao.com/openapi/v4/campaigns | 비즈니스 토큰 |
캠페인 정보를 수정합니다.
- 전환 목표를 가진 캠페인은 카카오톡 채널 프로필 목록 및 픽셀 & SDK 목록 조회 후 수정 가능
- 카카오톡 채널, 개인화 메시지 유형 X 도달 캠페인은 이름과 전환 추적 ID만 수정 가능하며 다른 필드의 변경 사항은 반영되지 않음
카카오 클릭 ID는 충분한 테스트 후 설정해야 합니다. 사용자가 미리 점검하지 않아 랜딩에 오류가 발생한 경우, 보상 대상에 해당하지 않습니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| id | Long | 캠페인 번호 | O |
| name | String | 캠페인 이름 입력하지 않은 경우 이전 이름 유지 | X |
| dailyBudgetAmount | Long | 일 예산 | X |
| trackId | String | 전환추적 설정 번호 캠페인 목표가 방문인 경우 픽셀 & SDK 목록 조회 결과의 ID를 전환추적 설정 번호로 입력 방문외 목표의 경우 수정하려는 기존 캠페인에 설정된 ID 를 입력
| X |
| kclid | Boolean | 카카오 클릭 ID 설정 유형 X 목표별 카카오 클릭 ID 설정 조건 참조 | X |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | Long | 캠페인 번호 |
| name | String | 캠페인 이름 |
| campaignTypeGoal | CampaignTypeGoal | 캠페인 유형 X 목표 |
| objective | Objective | 광고 목표 설정 |
| dailyBudgetAmount | Long | 일 예산 입력하지 않은 경우 예산 "한도 없음"과 같은 의미 |
| config | String | 캠페인 상태 ON, OFF, DEL(삭제) 중 하나 |
| statusDescription | String | 캠페인의 게재와 관련된 현재 상태 |
| trackId | String | 전환추적설정 번호 |
| adAccountId | Long | 광고계정 번호 |
| status | String | 상태 Status 참고 |
| systemConfig | String | 캠페인 시스템 상태 ON, ADMIN_STOP(관리자정지), EXTERNAL_SERVICE_STOP(연결 서비스 제한) 중 하나 |
| kclid | Boolean | 카카오 클릭 ID 설정 여부 |
| isDailyBudgetAmountOver | Boolean | 일 예산 초과 여부 |
요청
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/campaigns" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"id": 5678,"name" : "첫번째_캠페인_수정","dailyBudgetAmount":100000,"trackId":null}'
응답
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"id": 1234,"name": "캠페인1","campaignTypeGoal": {"campaignType": "DISPLAY","goal": "VISITING"},"objective": null,"dailyBudgetAmount": null,"config": "ON","statusDescription": "운영중","trackId": "5360727718927577526","adAccountId": 10000,"status": ["LIVE"],"systemConfig": "ON","isDailyBudgetAmountOver": false}
| 메서드 | URL | 인증 방식 |
|---|---|---|
PUT | https://apis.moment.kakao.com/openapi/v4/campaigns/onOff | 비즈니스 토큰 |
지정한 캠페인의 상태를 변경합니다.
- 캠페인 상태가 ON 또는 OFF인 경우에만 변경 가능
- 카카오톡 채널 X 도달 캠페인은 하위 광고그룹이 모두 OFF 또는 계약 해지 상태인 경우에만 변경 가능
- 카카오톡 채널 X 도달 캠페인의 상태 변경 요청 시 발송 중이거나 발송 예정인 메시지가 일시 중지됨
이 API는 사용자 계정, 광고계정마다 5초에 한 번씩 요청 가능하도록 제한되어 있습니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| id | Long | 캠페인 번호 | O |
| config | String | ON, OFF 중 하나 | O |
요청
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/campaigns/onOff" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"id": 5678,"config" : "ON"}'
응답: 성공
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
응답: 실패
{"code": -813,"msg": "KakaoMomentException","extras": {"detailCode": 31001,"detailMsg": "캠페인이 존재하지 않습니다."}}
| 메서드 | URL | 인증 방식 |
|---|---|---|
PUT | https://apis.moment.kakao.com/openapi/v4/campaigns/dailyBudgetAmount | 비즈니스 토큰 |
캠페인 일 예산을 수정합니다.
- 도달 목표의 캠페인(카카오 비즈보드, 카카오톡 채널, 다음쇼핑 유형)에서는 동작하지 않음
- 캠페인 일 예산은 최소 5만 원에서 최대 10억(1,000,000,000) 원까지, 10원 단위로 설정 가능
기존 일 예산보다 작은 값으로 수정할 때 하위 광고그룹의 일 예산 또는 입찰금액이 조건을 위반하면 다음과 같이 일괄 변경됩니다.
- 광고그룹 일 예산이 변경되는 캠페인 일 예산을 초과하는 경우: 변경되는 캠페인 일 예산으로 수정
- 광고그룹 입찰금액이 변경되는 광고그룹 일 예산의 50%를 초과하는 경우: 변경되는 광고그룹 일 예산의 50%로 수정
이 API는 사용자 계정, 광고계정마다 5초에 한 번씩 요청 가능하도록 제한되어 있습니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| id | Long | 캠페인 번호 | O |
| dailyBudgetAmount | Long | 캠페인 일예산 미설정 가능, 미설정 시 캠페인 기준의 통합 지출 한도 없이 광고그룹별 일 예산 기준으로 예산 소진 설정 시 최소 50,000원에서 최대 1,000,000,000원까지 10원 단위로 설정 가능 | X |
요청: 캠페인 일예산 설정
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/campaigns/dailyBudgetAmount" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"id": 5678,"dailyBudgetAmount": 5000000}'
요청: 캠페인 일예산 미설정
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/campaigns/dailyBudgetAmount" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"dailyBudgetAmount" : null}'
응답: 성공
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
응답: 실패
{"code": -813,"msg": "KakaoMomentException","extras": {"detailCode": 31011,"detailMsg": "캠페인 일예산은 최소 50,000보다 크거나 같아야 합니다."}}
| 메서드 | URL | 인증 방식 |
|---|---|---|
DELETE | https://apis.moment.kakao.com/openapi/v4/campaigns/${ID} | 비즈니스 토큰 |
캠페인을 삭제합니다.
- 삭제는 데이터 삭제를 의미하는 것이 아닌, 캠페인 하위에 대한 운영을 포기한다는 의미입니다.
- 카카오 비즈보드 X 도달, 다음쇼핑 유형 캠페인은 삭제가 불가능합니다.
- 캠페인 삭제 시 아래의 제약사항이 있습니다.
- 수정, 실시 중지 등의 캠페인 관련 모든 기능 사용 불가
- 캠페인에 속한 모든 광고가 운영 & 노출 중지
- 하위 모든 광고그룹과 소재 삭제
- 단, 과거 운영 시점의 통계 내용 조회 가능
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 캠페인 번호 | O |
요청
curl -v -X DELETE "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json"
응답: 성공
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
응답: 실패
// HTTP/1.1 400 Bad request// Content-Type: application/json;charset=UTF-8{"code": -813,"msg": "KakaoMomentException","extras": {"detailCode": 75006,"detailMsg": "카카오톡 채널_도달 캠페인은 삭제할 수 없습니다.","path": "/v2/moment/campaigns","timestamp": "2018-10-01T10:16:14.294+0000"}}
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/latestSystemConfigHistory | 비즈니스 토큰 |
지정한 한 캠페인의 시스템 정지 사유를 반환합니다.
시스템 정지 사유가 여러 건 있는 경우 가장 최근의 시스템 정지 사유를 반환합니다. 캠페인의 systemConfig가 ADMIN_STOP 또는 EXTERNAL_SERVICE_STOP인 경우에만 응답이 있습니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 캠페인 번호 | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | Long | 관리자 정지 번호 |
| systemConfig | String | 시스템 상태 |
| reason | String | 시스템 정지 사유 |
| detailReason | String | 시스템 정지 사유 상세, 있는 경우에만 응답에 포함 |
| createdDate | String | 시스템 정지 사유 생성일시yyyy-MM-dd'T'HH:mm:ss 형식 |
| lastModifiedDate | String | 시스템 정지 사유 마지막 수정일시yyyy-MM-dd'T'HH:mm:ss 형식 |
요청
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/latestSystemConfigHistory" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}"
응답: 성공
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"id": 1234,"systemConfig": "EXTERNAL_SERVICE_STOP","reason": "채널 파트너센터에서 규제됨","detailReason": "메시지 집행 가이드, 운영정책 위반으로 yyyy년 mm월 dd일까지 메시지 발송이 불가","createdDate": "2021-01-01T00:00:00","lastModifiedDate": "2021-01-01T00:00:00"}
응답: 실패
{"code": -813,"msg": "KakaoMomentException","extras": {"detailCode": 31001,"detailMsg": "캠페인이 존재하지 않습니다."}}
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/systemConfigHistories | 비즈니스 토큰 |
지정한 캠페인의 최근 2년 동안의 시스템 정지 사유를 반환합니다.
캠페인의 systemConfig가 ADMIN_STOP 또는 EXTERNAL_SERVICE_STOP인 경우에만 응답이 있습니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 캠페인 번호 | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| - | SystemStopReason[] | 시스템 정지 사유 목록 |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | Long | 시스템 정지 번호 |
| systemConfig | String | 시스템 상태 |
| reason | String | 시스템 정지 사유 |
| detailReason | String | 시스템 정지 사유 상세, 있는 경우에만 응답에 포함 |
| createdDate | String | 시스템 정지 사유 생성일시yyyy-MM-dd'T'HH:mm:ss 형식 |
| lastModifiedDate | String | 시스템 정지 사유 마지막 수정일시yyyy-MM-dd'T'HH:mm:ss 형식 |
요청
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/systemConfigHistories" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}"
응답: 성공
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8[{"id": 1235,"systemConfig": "ADMIN_STOP","reason": "해당 캠페인유형은 지원 종료되었습니다.","createdDate": "2021-01-01T00:00:00","lastModifiedDate": "2021-01-01T00:00:00"},{"id": 1234,"systemConfig": "EXTERNAL_SERVICE_STOP","reason": "채널 파트너센터에서 규제됨","detailReason": "메시지 집행 가이드, 운영정책 위반으로 yyyy년 mm월 dd일까지 메시지 발송이 불가","createdDate": "2021-01-01T00:00:00","lastModifiedDate": "2021-01-01T00:00:00"}]
응답: 실패
{"code": -813,"msg": "KakaoMomentException","extras": {"detailCode": 31001,"detailMsg": "캠페인이 존재하지 않습니다."}}