This document describes how to use the campaign APIs.
Method | URL | Authorization |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/campaigns |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to retrieve a list of campaigns.
Send a GET
request with the issued Business token and an ad account ID (adAccountId
) in the request header. If the request is successful, this API returns an array of each campaign's detailed information in JSON format. If failed, refer to Error code to figure out its failure cause.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
config | String |
Campaign's status. One of ON , OFF , or DEL (Deleted). |
O |
Name | Type | Description |
---|---|---|
content | Campaign[] |
List of campaign information. |
Name | Type | Description |
---|---|---|
id | Long |
Campaign's ID. |
name | String |
Campaign's name. |
config | String |
Campaign status. One of ON , OFF , or DEL (Deleted). |
userConfig | String |
Campaign status. One of ON , OFF , or DEL (Deleted).Note: userConfig has the same value as config . This field is deprecated and provided for reference. |
systemConfig | String |
Campaign's system status. One of the followings: - ON : Available to run ads. - ADMIN_STOP : Unavailable to run ads because the administrator is suspended. - EXTERNAL_SERVICE_STOP : Unavailable to run ads because the linked service is restricted. |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns?config=ON" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
{
"content": [
{
"id": 1111,
"name": "Campaign1",
"config": "ON",
"userConfig": "ON",
"systemConfig": "ADMIN_STOP"
},
{
"id": 1112,
"name": "Campaign2",
"config": "OFF",
"userConfig": "ON",
"systemConfig": "ON"
}
]
}
Method | URL | Authorization |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/campaigns/${ID} |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to retrieve the detailed information of the specified campaign.
A campaign's status (statusDescription
) is determined by the combination of the campaign status(config
) and whether the daily budget is exceeded(isDailyBudgetAmountOver
).
Send a GET
request with the issued Business token and an ad account ID (adAccountId
) in the request header. If the request is successful, this API returns the detailed information of the campaign in JSON format. If failed, refer to Error code to figure out its failure cause.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
ID | Long |
Campaign's ID. | O |
Name | Type | Description |
---|---|---|
id | Long |
Campaign's ID. |
name | String |
Campaign's name. |
campaignTypeGoal | CampaignTypeGoal |
Campaign Type X Goal. |
objective | Objective |
Objective of the advertising goal. |
dailyBudgetAmount | Long |
Daily budget. If not specified, no limitation on the budget. |
config | String |
Campaign status. One of ON , OFF , or DEL (Deleted). |
statusDescription | String |
Status of the campaign. |
trackId | String |
Conversion tracking ID. |
adAccountId | Long |
Ad account's ID. |
status | String[] |
Status. Refer to Status . |
systemConfig | String |
Campaign's system status. One of the followings: - ON : Available to run ads. - ADMIN_STOP : Unavailable to run ads because the administrator is suspended. - EXTERNAL_SERVICE_STOP : Unavailable to run ads because the linked service is restricted. |
isDailyBudgetAmountOver | Boolean |
Whether or not the daily budget is exceeded. |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
{
"id": 1234,
"name": "Campaign1",
"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": "캠페인이 존재하지 않습니다."
}
}
Method | URL | Authorization |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/v4/campaigns |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to create a new campaign.
Note that you cannot create the following types of campaign with this API:
If you want to create a campaign with the Conversion(전환) goal, first check the id
value for the objective in the response of the Viewing list of Kakao Talk Channel profiles API and Viewing Pixel & SDK API.
For the 'Kakao Talk Channel X Reach(도달)' campaign, you must set the Conversion goal to the profile of the Kakao Talk Channel you want to send messages from.
The daily budget of campaigns is not mandatory. You cannot set a daily budget for Kakao Talk Channel and personalized message types. For the campaign strategies, see below:
Type X Goal | Ad objective | Conversion tracking settings (전환 추적 설정) |
---|---|---|
Display X Visit(방문) |
- | Pixel & SDK |
Display X Conversion(전환) |
Pixel & SDK | Automatically set with the same one set for Ad goal settings of the Pixel & SDK. Not allowed to set ID manually when creating a campaign. Required to enter the same ID that is automatically set when creating a campaign. |
Display X Conversion(전환) |
Kakao Talk Channel | Not allowed to set conversion tracking. |
Video X View(조회) |
- | Pixel & SDK |
Kakao Bizboard X Visit(방문) |
- | Pixel & SDK |
Kakao Bizboard X Conversion(전환) |
Pixel & SDK | Automatically set with the same one set for Ad goal settings of the Pixel & SDK. Not allowed to set ID manually when creating a campaign. Required to enter the same ID that is automatically set when creating a campaign. |
Kakao Bizboard X Conversion(전환) |
Kakao Talk Channel | Not allowed to set conversion tracking. |
Kakao Talk Channel X Reach(도달) |
Kakao Talk Channel | Pixel & SDK |
Personalized message X Reach(도달) |
Kakao Talk Channel | Pixel & SDK |
Send a POST
request with the issued Business token and an ad account ID (adAccountId
) in the request header. If the request is successful, this API returns the detailed information of the created campaign in JSON format. If failed, refer to Error code to figure out its failure cause.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
name | String |
Campaign's ID. Character limits: 50 characters If not specified, the name is automatically set in {TYPE}_{GOAL}_yyyyMMddHHmm format according to the default naming rule of Kakao Moment. |
X |
campaignTypeGoal | CampaignTypeGoal |
Campaign Type X Goal | O |
objective | Objective |
Objective of the advertising goal. Refer to Tracking options by Type X Goal. |
O* |
dailyBudgetAmount | Long |
Campaign's daily budget. If not specified, no limitation on the budget. Not allowed to set for the 'Kakao Talk Channel X Reach' type of campaign. |
X |
trackId | String |
Conversion tracking ID. If the campaign's goal is 'Visit(방문)', you can use id that is passed in the response of the Viewing Pixel & SDK API for trackId . |
X |
* objective: Required only when the corresponding objective type is set.
Name | Type | Description | Required |
---|---|---|---|
campaignType | CampaignType |
Campaign's type. | O |
goal | Goal |
Campaign's goal. | O |
Name | Type | Description |
---|---|---|
id | Long |
Campaign's ID. |
name | String |
Campaign's name. |
campaignTypeGoal | CampaignTypeGoal |
Campaign Type X Goal. |
objective | Objective |
Objective of the advertising goal. |
dailyBudgetAmount | Long |
Daily budget. If not specified, no limitation on the budget. |
config | String |
Campaign status. One of ON , OFF , or DEL (Deleted). |
statusDescription | String |
Status of the campaign. |
trackId | String |
Conversion tracking ID. |
adAccountId | Long |
Ad account's ID. |
status | String[] |
Status. Refer to Status . |
systemConfig | String |
Campaign's system status. One of the followings: - ON : Available to run ads. - ADMIN_STOP : Unavailable to run ads because the administrator is suspended. - EXTERNAL_SERVICE_STOP : Unavailable to run ads because the linked service is restricted. |
isDailyBudgetAmountOver | Boolean |
Whether or not the daily budget is exceeded. |
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": "first_campaign",
"campaignTypeGoal" : {
"campaignType" : "DISPLAY",
"goal" : "CONVERSION"
},
"objective" : {
"type" : "TALK_CHANNEL",
"value" : "abcd1234"
},
"dailyBudgetAmount" : 200000
}'
{
"id": 1234,
"name": "Campaign1",
"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": "존재하지 않는 광고계정입니다."
}
}
Method | URL | Authorization |
---|---|---|
PUT |
https://apis.moment.kakao.com/openapi/v4/campaigns |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to edit the campaign information. You can only edit campaigns except for the 'Daum Shopping', or 'Kakao Talk Bizboard X Reach(도달)' type of campaigns.
In the case of the 'Kakao Talk Channel, Personalized message X Reach(도달)' campaign, you can only change the campaign's name and track ID, and the changes in other fields are not applied.
Send a PUT
request with the issued Business token and an ad account ID (adAccountId
) in the request header. If the request is successful, this API returns the changed information of the campaign in JSON format. If failed, refer to Error code to figure out its failure cause.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
id | Long |
Campaign's ID. | O |
name | String |
Campaign's ID. If not specified, the previous name is used. |
X |
dailyBudgetAmount | Long |
Daily budget. | X |
trackId | String |
Conversion tracking ID. If the campaign's goal is 'Visit(방문)', use the id that is passed in the response of the Viewing Pixel & SDK API for trackId . For the campaigns with the other goals, use the existing ID of the campaign to be edited. * Not required if the existing campaign to be edited does not have an ID. |
X |
Name | Type | Description |
---|---|---|
id | Long |
Campaign's ID. |
name | String |
Campaign's name. |
campaignTypeGoal | CampaignTypeGoal |
Campaign Type X Goal. |
objective | Objective |
Objective of the advertising goal. |
dailyBudgetAmount | Long |
Daily budget. If not specified, no limitation on the budget. |
config | String |
Campaign status. One of ON , OFF , or DEL (Deleted). |
statusDescription | String |
Status of the campaign. |
trackId | String |
Conversion tracking ID. |
adAccountId | Long |
Ad account's ID. |
status | String[] |
Status. Refer to Status . |
systemConfig | String |
Campaign's system status. One of the followings: - ON : Available to run ads. - ADMIN_STOP : Unavailable to run ads because the administrator is suspended. - EXTERNAL_SERVICE_STOP : Unavailable to run ads because the linked service is restricted. |
isDailyBudgetAmountOver | Boolean |
Whether or not the daily budget is exceeded. |
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" : "edit_first_campaign",
"dailyBudgetAmount":100000,
"trackId":null
}'
{
"id": 1234,
"name": "Campaign1",
"campaignTypeGoal": {
"campaignType": "DISPLAY",
"goal": "VISITING"
},
"objective": null,
"dailyBudgetAmount": null,
"config": "ON",
"statusDescription": "운영중",
"trackId": "5360727718927577526",
"adAccountId": 10000,
"status": [
"LIVE"
],
"systemConfig": "ON",
"isDailyBudgetAmountOver": false
}
Method | URL | Authorization |
---|---|---|
PUT |
https://apis.moment.kakao.com/openapi/v4/campaigns/dailyBudgetAmount |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to change the daily budget for a Display campaign. You cannot change the daily budget of Kakao Bizboard, Kakao Talk Channel or Daum Shopping type of campaign whose goal is set to 'Reach(도달)'.
You can set the campaign's daily budget from 50,000 to 1 billion(1,000,000,000) won in multiples of 10 won. If you change the daily budget to a lower value than the daily budget saved previously, the following rules are applied:
Send a PUT
request with the issued Business token and an ad account ID (adAccountId
) in the request header. If you do not set the daily budget for a campaign, there is no limitation on the budget. If the request is successful, this API returns the HTTP status code 200 without the response body. If failed, refer to Error code to figure out its failure cause.
This API limits the number of calls you can make to every five seconds per user account and ad account.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
id | Long |
Campaign's ID. | O |
dailyBudgetAmount | Long |
Campaign's daily budget. Allowed to set a value between 50,000 and 1 billion won in multiples of 10 won. Allowed to set to null . |
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 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 31011,
"detailMsg": "캠페인 일예산은 최소 50,000보다 크거나 같아야 합니다."
}
}
Method | URL | Authorization |
---|---|---|
PUT |
https://apis.moment.kakao.com/openapi/v4/campaigns/onOff |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to change the status of the specified campaign. You can only change its status if the campaign status is ON or OFF. You cannot change the status of the 'Daum Shopping', 'Video', or 'Kakao Bizboard X Reach(도달)' type of campaign.
In the case of the 'Kakao Talk Channel X Reach(도달)' campaign, all ad groups under the campaign must be 'OFF' or 'Contract canceled'. If you request to change the status of the campaign with the 'Kakao Talk Channel X Reach(도달)' type, the messages being sent are stopped and the messages scheduled to be sent are canceled.
Send a PUT
request with the issued Business token and an ad account ID (adAccountId
) in the request header. If the request is successful, this API returns the HTTP status code 200 without the response body. If failed, refer to Error code to figure out its failure cause.
This API limits the number of calls you can make to every five seconds per user account and ad account.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
id | Long |
Campaign's ID. | O |
config | String |
Campaign's status. Either ON or 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 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 31001,
"detailMsg": "캠페인이 존재하지 않습니다."
}
}
Method | URL | Authorization |
---|---|---|
DELETE |
https://apis.moment.kakao.com/openapi/v4/campaigns/${ID} |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to delete a campaign.
Send a DELETE
request with the issued Business token and an ad account ID (adAccountId
) in the request header. You must pass the campaign's ID as a parameter when you request. If the request is successful, this API returns the HTTP status code 200 without the response body. If failed, refer to Error code to figure out its failure cause.
Deleting a campaign means giving up the operation of sub-campaigns, not deleting its data. You cannot delete the 'Kakao Bizboard X Reach(도달)', or 'Daum Shopping' type of campaigns.
After deleting a campaign: - You cannot use all functions related to the campaign, such as editing and suspending campaigns. - All ads in the campaign are stopped running and displaying. - All creatives under the campaign are deleted. - However, you can still view the statistics in the past operation time.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
ID | Long |
Campaign's ID. | O |
curl -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 OK
Content-Length: 0
Content-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"
}
}
Method | URL | Authorization |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/latestSystemConfigHistory |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to retrieve the reason why the specified campaign's system is stopped. If there are multiple reasons for the system stop, the most recent reason is returned. Only when the value of systemConfig
(Campaign's system status) is ADMIN_STOP
or EXTERNAL_SERVICE_STOP
, the response is returned.
Send a GET
request with the issued Business token and an ad account ID (adAccountId
) in the request header. If the request is successful, this API returns the system stop reason and details in JSON format. If failed, refer to Error code to figure out its failure cause.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
ID | Long |
Campaign's ID. | O |
Name | Type | Description |
---|---|---|
id | Long |
System stop ID. |
systemConfig | String |
System status. One of the followings: - ON : Available to run ads. - ADMIN_STOP : Unavailable to run ads because the administrator is suspended. - EXTERNAL_SERVICE_STOP : Unavailable to run ads because the linked service is restricted. |
reason | String |
Reason for the system stop. |
detailReason | String |
Detailed reason for the system stop. Only returned if a system reason exists. |
createdDate | String |
Date and time when the system stop reason is created in yyyy-MM-dd'T'HH:mm:ss format. |
lastModifiedDate | String |
Date and time when the system stop reason is lastly updated in yyyy-MM-dd'T'HH:mm:ss format. |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/latestSystemConfigHistory" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
{
"id": 1234,
"systemConfig": "ADMIN_STOP",
"reason": "해당 캠페인유형은 지원 종료되었습니다.",
"createdDate":"2021-01-01T00:00:00",
"lastModifiedDate": "2021-01-01T00:00:00"
}
{
"id": 1234,
"systemConfig": "EXTERNAL_SERVICE_STOP",
"reason": "채널 관리자센터에서 제재됨",
"detailReason" : "메시지 집행 가이드, 운영정책 위반으로 2022년 7월 15일까지 메시지 발송이 불가",
"createdDate":"2021-01-01T00:00:00",
"lastModifiedDate": "2021-01-01T00:00:00"
}
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 31001,
"detailMsg": "캠페인이 존재하지 않습니다."
}
}
Method | URL | Authorization |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/systemConfigHistories |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to retrieve the list of reasons why the specified campaign's system is stopped, which occurred for the last two years. Only when the value of systemConfig
(Campaign's system status) is ADMIN_STOP
or EXTERNAL_SERVICE_STOP
, the response is returned.
Send a GET
request with the issued Business token and an ad account ID (adAccountId
) in the request header. If the request is successful, this API returns the list of the system stop reasons and details in JSON format. If failed, refer to Error code to figure out its failure cause.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
ID | Long |
Campaign's ID. | O |
Name | Type | Description |
---|---|---|
- | SystemStopReason[] |
List of system stop reasons. |
Name | Type | Description |
---|---|---|
id | Long |
System stop ID. |
systemConfig | String |
System status. One of the followings: - ON : Available to run ads. - ADMIN_STOP : Unavailable to run ads because the administrator is suspended. - EXTERNAL_SERVICE_STOP : Unavailable to run ads because the linked service is restricted. |
reason | String |
Reason for the system stop. |
detailReason | String |
Detailed reason for the system stop. Only returned if a system reason exists. |
createdDate | String |
Date and time when the system stop reason is created in yyyy-MM-dd'T'HH:mm:ss format. |
lastModifiedDate | String |
Date and time when the system stop reason is lastly updated in yyyy-MM-dd'T'HH:mm:ss format. |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/systemConfigHistories" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
[
{
"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": "메시지 집행 가이드, 운영정책 위반으로 2022년 7월 15일까지 메시지 발송이 불가",
"createdDate":"2021-01-01T00:00:00",
"lastModifiedDate": "2021-01-01T00:00:00"
}
]
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 31001,
"detailMsg": "캠페인이 존재하지 않습니다."
}
}