사이드 메뉴
Getting started
Kakao Developers
Login
Communication
Advertisement
- Concepts
- Ad creation: Ad account
- Ad creation: Campaign
- Ad creation: Ad group
- Targeting for ad group
- Custom audience targeting for ad group
- Ad creation: Creative common
- Ad creation: Display creative
- Ad creation: Message creative
- Ad creation: Personalized message creative
- Bizboard landing settings
- Report
- Message management
- Personalized message management
- Message ad management
- Message ad operation
- Ad View management
- Business Form+ management
- Business Form linkage management
- Pixel & SDK linkage management
- Audience management
- Engagement targeting management
- Customer file management
- Friend group management
- Ad account management
- Reference
- Type information
- Error code
Ad creation: Campaign
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 |
Returns a list of campaigns.
| 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). | X |
| 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:
|
Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns?config=ON" \-H "Authorization: Bearer ${BUSINESS_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"}]}
| 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 |
Returns detailed information about 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).
| 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:
|
| isDailyBudgetAmountOver | Boolean | Whether or not the daily budget is exceeded. |
Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}" \-H "Authorization: Bearer ${BUSINESS_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": "캠페인이 존재하지 않습니다."}}
| 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 |
Creates a new campaign.
If you want to create a campaign with the Conversion(전환) goal, first check the id value for the objective in the response of the View list of Kakao Talk Channel profiles API and the View Pixel & SDK API.
The Kakao Click ID should be configured after sufficient testing. If a landing error occurs because the service was not pre-checked in advance, it is not eligible for compensation.
For a Kakao Talk Channel X Reach campaign, you must enter the Kakao Talk Channel profile to which the message will be sent.
If a campaign name is not specified at creation, it is automatically set in the {Type}_{Goal}_yyyyMMddHHmm format according to Kakao Moment's default naming rule.
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 (전환 추적 설정) | Kakao Click ID settings |
|---|---|---|---|
| Display X Visit(방문) | - | Pixel & SDK | Option |
| 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. | Option |
| Display X Conversion(전환) | Kakao Talk Channel | Not allowed to set conversion tracking. | - |
| Video X View(조회) | - | Pixel & SDK | Option |
| Kakao Bizboard X Visit(방문) | - | Pixel & SDK | Option |
| 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. | Option |
| 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 | - |
| 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 name. 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 View Pixel & SDK API for trackId. | X |
| kclid | Boolean | Kakao Click ID setting Refer to Kakao Click ID settings by Type X Goal. | X |
| 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:
|
| kclid | Boolean | Whether to set Kakao Click ID. |
| isDailyBudgetAmountOver | Boolean | Whether or not the daily budget is exceeded. |
Request
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}'
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": "존재하지 않는 광고계정입니다."}}
| 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 |
Enables you to edit the campaign information.
- Campaigns with the Conversion goal can be edited after retrieving the Kakao Talk Channel profile list and Pixel & SDK list.
- For Kakao Talk Channel and Personalized Message X Reach campaigns, only the name and conversion tracking ID can be edited. Changes to other fields are not applied.
The Kakao Click ID should be configured after sufficient testing. If a landing error occurs because the service was not pre-checked in advance, it is not eligible for compensation.
| 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 name. 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 View Pixel & SDK API for trackId.For the campaigns with the other goals, use the existing ID of the campaign to be edited.
| X |
| kclid | Boolean | Kakao Click ID setting Refer to Kakao Click ID settings by Type X Goal. | 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:
|
| kclid | Boolean | Whether to set Kakao Click ID. |
| isDailyBudgetAmountOver | Boolean | Whether or not the daily budget is exceeded. |
Request
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}'
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}
| 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 |
Enables you to change the daily budget for a Display campaign.
- This API does not apply to Reach campaigns of the Kakao Bizboard, Kakao Talk Channel, or Daum Shopping type.
- Set the campaign daily budget from 50,000 to 1 billion (1,000,000,000) won in multiples of 10 won.
If you lower the existing daily budget and the daily budget or bid amount of a child ad group violates the conditions, the values are adjusted in bulk as follows:
- If an ad group's daily budget exceeds the changed campaign daily budget: Changed to the campaign daily budget.
- If an ad group's bid amount exceeds 50% of the changed ad group daily budget: Changed to 50% of the ad group daily budget.
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. May be omitted. If omitted, the budget is consumed based on each ad group's daily budget without a campaign-level consolidated spending limit. If set, enter a value between 50,000 and 1 billion won in multiples of 10 won. | X |
Request: Setting campaign daily budget
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}'
Request: Setting campaign daily budget to null
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}'
Response
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
Response: Fail
{"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 |
Enables you to change the status of the specified campaign.
- The campaign status can be changed only when it is ON or OFF.
- A Kakao Talk Channel X Reach campaign can be changed only when all child ad groups are OFF or their contracts have been terminated.
- Requesting a status change for a Kakao Talk Channel X Reach campaign pauses messages being delivered or scheduled for delivery.
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 |
Request
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"}'
Response
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
Response: Fail
{"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 |
Deletes a campaign.
- Deleting does not mean removing the data, but rather relinquishing management of the sub-campaign.
- You cannot delete campaigns of the 'Kakao Bizboard X Reach(도달)' or 'Daum Shopping' type.
- When a campaign is deleted, the following restrictions apply:
- All functions related to the campaign, such as editing or suspending, become unavailable.
- All ads under the campaign stop running and displaying.
- All ad groups and creatives under the campaign are deleted.
- However, statistics from the operational period before deletion can still be viewed.
| 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 |
Request
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"
Response
HTTP/1.1 200 OKContent-Length: 0Content-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"}}
| 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 |
Returns 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.
| 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:
|
| 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. |
Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/latestSystemConfigHistory" \-H "Authorization: Bearer ${BUSINESS_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": "캠페인이 존재하지 않습니다."}}
| 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 |
Returns the list of reasons why the specified campaign's system was stopped during 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.
| 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:
|
| 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. |
Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/campaigns/${ID}/systemConfigHistories" \-H "Authorization: Bearer ${BUSINESS_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": "캠페인이 존재하지 않습니다."}}