페이지 이동경로
  • Docs>
  • Kakao Moment>
  • Ad creation: Campaign

Kakao Moment

Ad creation: Campaign

This document describes how to use the campaign APIs.

View list of campaigns

Basic information
Method URL Authorization
GET https://apis.moment.kakao.com/openapi/v4/campaigns Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
Required -

This API enables you to retrieve a list of campaigns.

Send a GET request with the issued access 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Query parameter
Name Type Description Required
config String Campaign's status.
One of ON, OFF, or DEL (Deleted).
O

Response

Body
Name Type Description
content Campaign[] List of campaign information.
Campaign
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.

Sample

Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns?config=ON" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}"
Response
{
    "content": [
        {
            "id": 1111,
            "name": "Campaign1",
            "config": "ON",
            "userConfig": "ON",
            "systemConfig": "ADMIN_STOP"
        },
        {
            "id": 1112,
            "name": "Campaign2",
            "config": "OFF",
            "userConfig": "ON",
            "systemConfig": "ON"
        }
    ]
}

View campaign

Basic information
Method URL Authorization
GET https://apis.moment.kakao.com/openapi/v4/campaigns/${ID} Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
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 access 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Path variable
Name Type Description Required
ID Long Campaign's ID. O

Response

Body
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.

Sample

Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}"
Response
{
    "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
}
Response: Fail
{
    "code": -813,
    "msg": "KakaoMomentException",
    "extras": {
        "detailCode": 31001,
        "detailMsg": "캠페인이 존재하지 않습니다."
    }
}

Create campaign

Basic information
Method URL Authorization
POST https://apis.moment.kakao.com/openapi/v4/campaigns Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
Required -

This API enables you to create a new campaign.

Note that you cannot create the following types of campaign with this API:

  • Daum Shopping
  • Video
  • Kakao Bizboard X Reach(도달)

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:

Tracking options by Type X Goal

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.
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 access 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Body
Name Type Description Required
name String Campaign's ID.
Character limits: 50 characters
If not specified, the name is automatically set in yyyyMMddHHmm_{TYPE}_{GOAL} 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.

CampaignTypeGoal
Name Type Description Required
campaignType CampaignType Campaign's type. O
goal Goal Campaign's goal. O

Response

Body
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.

Sample

Request
curl -X POST "https://apis.moment.kakao.com/openapi/v4/campaigns" \
    -H "Authorization: Bearer ${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
        }'
Response
{
    "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
}
Response: Fail
{
    "code": -813,
    "msg": "KakaoMomentException",
    "extras": {
        "status": 400,
        "message": "존재하지 않는 광고계정입니다."
    }
}

Edit campaign

Basic information
Method URL Authorization
PUT https://apis.moment.kakao.com/openapi/v4/campaigns Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
Required -

This API enables you to edit the campaign information. You can only edit campaigns except for the 'Daum Shopping', 'Video', 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 access 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Body
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

Response

Body
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.

Sample

Request
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/campaigns" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json" \
    -d '{
            "id": 5678,
            "name" : "edit_first_campaign",
            "dailyBudgetAmount":100000,
            "trackId":null
        }'
Response
{
    "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
}

Edit daily budget for Display campaign

Basic information
Method URL Authorization
PUT https://apis.moment.kakao.com/openapi/v4/campaigns/dailyBudgetAmount Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
Required -

This API enables you to change the daily budget for a Display campaign. You cannot change the daily budget of the following types of campaign:

  • Kakao Bizboard, Kakao Talk Channel or Daum Shopping type of campaign whose goal is set to 'Reach(도달)'
  • 'Video' type of campaign

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:

  • If the ad group's daily budget exceeds the changed daily budget for campaign,
    → the changed campaign daily budget is applied.
  • If the ad group's bid amount exceeds 50 % of the daily budget of the ad group to be changed,
    → 50% of the changed ad group's daily budget is applied.

Send a PUT request with the issued access 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Body
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

Sample

Request: Setting campaign daily budget
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/campaigns/dailyBudgetAmount" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json" \
    -d '{
            "id": 5678,
            "dailyBudgetAmount": 5000000
        }'
Request: Setting campaign daily budget to null
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/campaigns/dailyBudgetAmount" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json" \
    -d '{
            "dailyBudgetAmount" : null
        }'
Response
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8
Response: Fail
{
    "code": -813,
    "msg": "KakaoMomentException",
    "extras": {
        "detailCode": 31011,
        "detailMsg": "캠페인 일예산은 최소 50,000보다 크거나 같아야 합니다."
    }
}

Change campaign status

Basic information
Method URL Authorization
PUT https://apis.moment.kakao.com/openapi/v4/campaigns/onOff Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
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 access 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Body
Name Type Description Required
id Long Campaign's ID. O
config String Campaign's status.
Either ON or OFF.
O

Sample

Request
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/campaigns/onOff" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json" \
    -d '{
            "id": 5678,
            "config" : "ON"
        }'
Response
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8
Response: Fail
{
    "code": -813,
    "msg": "KakaoMomentException",
    "extras": {
        "detailCode": 31001,
        "detailMsg": "캠페인이 존재하지 않습니다."
    }
}

Delete campaign

Basic information
Method URL Authorization
DELETE https://apis.moment.kakao.com/openapi/v4/campaigns/${ID} Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
Required -

This API enables you to delete a campaign.

Send a DELETE request with the issued access 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.

Note

Deleting a campaign means giving up the operation of sub-campaigns, not deleting its data. You cannot delete the 'Kakao Bizboard X Reach(도달)', 'Daum Shopping', or 'Video' 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Path variable
Name Type Description Required
ID Long Campaign's ID. O

Sample

Request
curl -X DELETE "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json"
Response
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8
Response: Fail
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"
    }
}

View reason for system stop

Basic information
Method URL Authorization
GET https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/latestSystemConfigHistory Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
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 access 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Path variable
Name Type Description Required
ID Long Campaign's ID. O

Response

Body
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.

Sample

Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/latestSystemConfigHistory" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}"
Response
{
    "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"
}
Response: Fail
{
    "code": -813,
    "msg": "KakaoMomentException",
    "extras": {
        "detailCode": 31001,
        "detailMsg": "캠페인이 존재하지 않습니다."
    }
}

View list of reasons for system stop

Basic information
Method URL Authorization
GET https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/systemConfigHistories Access token
Permission Prerequisite Kakao Login User consent
Required Register platforms
Activate Kakao Login
Switch to a Biz app
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 access 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.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${ACCESS_TOKEN}
Access token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Path variable
Name Type Description Required
ID Long Campaign's ID. O

Response

Body
Name Type Description
- SystemStopReason[] List of system stop reasons.
SystemStopReason
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.

Sample

Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/systemConfigHistories" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}"
Response
[
    {
        "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"
    }
]
Response: Fail
{
    "code": -813,
    "msg": "KakaoMomentException",
    "extras": {
        "detailCode": 31001,
        "detailMsg": "캠페인이 존재하지 않습니다."
    }
}

See more