이 문서는 광고 만들기: 광고계정 API 사용법을 안내합니다.
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/adAccounts |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 사용자 동의 |
---|---|---|---|
필요 | 플랫폼 등록 카카오 로그인 활성화 비즈 앱 |
필요 | - |
광고계정 목록을 조회합니다.
액세스 토큰(Access token)을 헤더에 담아 GET
으로 요청하고, 성공 시 응답 본문에 JSON
객체로 광고계정들의 정보 배열을 받습니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
config | Array |
광고계정 상태, 복수 상태(기본값 : [ON, OFF]) enum{ON, OFF, DEL} |
X |
이름 | 타입 | 설명 |
---|---|---|
content | AdAccount[] |
광고계정 정보 목록 |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
광고계정 번호 |
name | String |
광고계정명 |
memberType | MemberType |
멤버타입 MASTER(마스터 권한), MEMBER(멤버 권한) 중 하나 |
config | Config |
광고계정 상태 |
businessAccount | BusinessAccount |
비즈니스계정 정보 소속된 비즈니스계정이 없는 경우 응답에서 제외 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/adAccounts?config=ON,OFF,DEL" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
{
"content": [
{
"id": 1111,
"name": "카카오모먼트_광고계정1",
"memberType": "MASTER",
"config": "ON"
},
{
"id": 1112,
"name": "카카오모먼트_광고계정2",
"memberType": "MEMBER",
"config": "OFF"
}
]
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/adAccounts/${AD_ACCOUNT_ID} |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 사용자 동의 |
---|---|---|---|
필요 | 플랫폼 등록 카카오 로그인 활성화 비즈 앱 |
필요 | - |
특정 광고계정의 상세 정보를 조회합니다. 광고계정은 사업자 광고계정, 개인 광고계정 두 가지 종류가 있습니다.
광고계정 | 광고계정 소유 사업자 정보 | 광고계정 사업자 정보 |
---|---|---|
사업자 광고계정 (광고주 생성) |
O | O |
사업자 광고계정 (대행사 생성) |
O | Optional |
개인 광고계정 | X | X |
광고계정의 게재와 관련된 상태는 광고계정 상태(config
), 관리자정지 여부(isAdminStop
), 잔액부족 여부(isOutOfBalance
) 조합으로 만들어집니다.
광고계정의 게재와 관련된 현재 상태 | 광고계정 상태 | 관리자정지 여부 | 잔액부족 여부 |
---|---|---|---|
운영중 | ON | false | false |
잔액부족 | ON | false | true |
관리자정지 | ON | true | false |
관리자정지, 잔액부족 | ON | true | true |
사용자OFF | OFF | false | false |
사용자OFF, 잔액부족 | OFF | false | true |
사용자OFF, 관리자정지 | OFF | true | false |
사용자OFF, 잔액부족, 관리자정지 | OFF | true | true |
삭제됨 | DEL | - | - |
액세스 토큰(Access token)과 광고계정 ID(adAccountId
)를 헤더에 담아 GET
으로 요청하고, 성공 시 응답 본문에 JSON
객체로 광고계정 상세 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이 API는 사용자 계정, 앱 ID마다 1초에 한 번씩 요청 가능하도록 제한되어 있습니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} 광고계정 ID |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
AD_ACCOUNT_ID | Long |
광고 계정 ID | O |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
광고계정 번호 |
name | String |
광고계정명 |
ownerCompany | Company |
광고계정 소유 사업자 정보 |
advertiser | Company |
광고주 사업자 정보 |
type | String |
광고계정 유형 BUSINESS(사업자 광고계정), INDIVIDUAL(개인 광고계정) 중 하나 |
config | String |
광고계정 상태 ON, OFF, DEL(삭제) 중 하나 |
businessAccount | BusinessAccount |
비즈니스계정 정보 소속된 비즈니스계정이 없는 경우 응답에서 제외 |
isAdminStop | Boolean |
관리자 정지 여부 |
isOutOfBalance | Boolean |
잔액부족 여부 |
statusDescription | String |
광고계정의 게재와 관련된 현재 상태 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/adAccounts/${AD_ACCOUNT_ID}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
{
"id": 1111,
"name": "카카오모먼트_광고계정",
"ownerCompany": {
"businessRegistrationNumber": "120-81-47521",
"name": "주식회사 카카오"
},
"advertiser": {
"businessRegistrationNumber": "120-81-47521",
"name": "주식회사 카카오"
},
"type": "BUSINESS",
"businessAccount": {
"businessId": 12345,
"businessName": "카카오"
},
"config":"ON",
"isAdminStop": false,
"isOutOfBalance": false,
"statusDescription": "운영중"
}
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 21006,
"detailMsg": "존재하지 않는 광고계정입니다."
}
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/adAccounts/balance |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 사용자 동의 |
---|---|---|---|
필요 | 플랫폼 등록 카카오 로그인 활성화 비즈 앱 |
필요 | - |
광고계정의 실시간 잔액을 조회합니다.
액세스 토큰(Access token)과 광고계정 ID(adAccountId
)를 헤더에 담아 GET
으로 요청하고, 성공 시 응답 본문에 JSON
객체로 잔액 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} 광고계정 ID |
O |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
광고계정 번호 |
cash | Long |
유상캐시 |
freeCash | Long |
무상캐시 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/adAccounts/balance" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
{
"id": 1111,
"cash": 5000000,
"freeCash": 100000
}
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 21006,
"detailMsg": "존재하지 않는 광고계정입니다."
}
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/adAccounts/bizRight |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 사용자 동의 |
---|---|---|---|
필요 | 플랫폼 등록 카카오 로그인 활성화 비즈 앱 |
필요 | - |
광고계정 영업권을 조회합니다.
조회 대상의 액세스 토큰(Access token)과 광고계정 ID(adAccountId
)를 헤더에 담아 GET
으로 요청하고, 성공 시 응답 본문에 JSON
객체로 영업권 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} 광고계정 ID |
O |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
광고계정 번호 |
bizRightCompanyName | String |
영업권을 가진 사업자명 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/adAccounts/bizRight" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "AdAccountId: ${AD_ACCOUNT_ID}"
{
"id": 1111,
"bizRightCompanyName": "주식회사 카카오"
}
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 21006,
"detailMsg": "존재하지 않는 광고계정입니다."
}
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/adAccounts/channel/profiles |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 사용자 동의 |
---|---|---|---|
필요 | 플랫폼 등록 카카오 로그인 활성화 비즈 앱 |
필요 | - |
사용자의 카카오톡 채널 프로필 목록을 조회합니다. 응답의 각 id
값을 캠페인 생성 시 이용할 수 있습니다.
액세스 토큰(Access token)과 광고계정 ID(adAccountId
)를 헤더에 담아 GET으로 요청하며, 요청이 성공하면 응답 본문에 JSON
객체로 사용자의 카카오톡 채널 프로필 정보 목록을 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} 광고계정 ID |
O |
이름 | 타입 | 설명 |
---|---|---|
- | ChannelProfile[] |
카카오톡 채널 프로필 정보 목록 |
이름 | 타입 | 설명 |
---|---|---|
id | String |
카카오톡 채널 프로필 ID |
name | String |
카카오톡 채널 이름 |
searchId | String |
검색용 ID(UUID) |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/adAccounts/channel/profiles" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
[
{
"id": "_ZQxd",
"name": "카카오채널",
"searchId": "카카오채널"
},
{
"id": "_Xxju",
"name": "카카오채널2",
"searchId": "카카오채널2"
}
]
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/adAccounts/trackers |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 사용자 동의 |
---|---|---|---|
필요 | 플랫폼 등록 카카오 로그인 활성화 비즈 앱 |
필요 | - |
유형, 목표에 따른 권한있는 픽셀 & SDK 목록을 조회합니다. 응답의 각 id
값을 캠페인 생성 시 이용할 수 있습니다.
액세스 토큰(Access token)과 광고계정 ID(adAccountId
)를 헤더에 담아 GET
으로 요청하며, 성공 시 응답 본문에 JSON
객체로 트래커 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
광고주의 웹사이트 또는 앱에 설치하여, 광고 클릭을 통한 유입과 무관하게 이벤트별 로그를 수집해 아래와 같은 목적으로 사용할 수 있습니다.
- 광고 클릭을 통한 유입을 분리하여 보고서용으로 사용
- 이벤트별로 리타겟팅(Re-Targeting)에 사용
- 광고효율(예: ctr, cvr)등을 높이는 기반 자료로 사용
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} 광고계정 ID |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
campaignType | String |
캠페인 유형 정보CampaignType 중 하나 |
X |
goal | String |
목표 정보Goal 중 하나 |
X |
이름 | 타입 | 설명 |
---|---|---|
- | PixelAndSdkInfo[] |
픽셀 & SDK 정보 목록 |
이름 | 타입 | 설명 |
---|---|---|
id | String |
픽셀 & SDK 번호 |
name | String |
픽셀 & SDK 이름 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/adAccounts/trackers?campaignType=TALK_BIZ_BOARD&goal=VISITING" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
[
{
"id": "1",
"name": "트래커1"
},
{
"id": "2",
"name": "트래커2"
}
]
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/v4/adAccounts |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 사용자 동의 |
---|---|---|---|
필요 | 플랫폼 등록 카카오 로그인 활성화 비즈 앱 |
필요 | - |
새로운 광고계정을 생성합니다. 광고계정 생성은 사업자 계정에 한하여 가능하며, 광고주 및 대행사 계정을 생성할 수 있습니다.
액세스 토큰(Access token)을 헤더에 담아 POST
로 요청하며, 성공 시 생성된 광고계정 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이 API는 사용자 계정마다 1초에 한 번씩 요청 가능하도록 제한되어 있습니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
name | String |
생성할 광고계정 이름 | O |
ownerCompanyId | Long |
광고계정 소유 사업자 번호 사업자 정보 보기를 통해 조회한 ID 값 대행사 사용자는 대행사 사업자 번호 |
O |
advertiserCompanyId | Long |
광고주 사업자 번호 사업자 정보 보기를 통해 조회한 ID 값 |
O* |
* 광고주 사업자인 경우, advertiserCompanyId는 필수 파라미터 아님
이름 | 타입 | 설명 |
---|---|---|
id | Long |
광고계정 번호 |
name | String |
광고계정명 |
ownerCompany | Company |
광고계정 소유 사업자 정보 |
advertiser | Company |
광고주 사업자 정보 |
type | String |
광고계정 유형 BUSINESS(사업자 광고계정) |
config | String |
광고계정 상태 ON, OFF, DEL(삭제) 중 하나 |
isAdminStop | Boolean |
관리자 정지 여부 |
isOutOfBalance | Boolean |
잔액부족 여부 |
statusDescription | String |
광고계정의 게재와 관련된 현재 상태 |
curl -X POST "https://apis.moment.kakao.com/openapi/v4/adAccounts" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name":"테스트_광고계정",
"ownerCompanyId": 12,
"advertiserCompanyId": 34
}'
{
"id": 123,
"name": "테스트_광고계정",
"ownerCompany": {
"businessRegistrationNumber": "123-12-12345",
"name": "광고계정 소유 사업자"
},
"advertiser": {
"businessRegistrationNumber": "678-67-67890",
"name": "광고주 사업자"
},
"type": "BUSINESS",
"config": "ON",
"isAdminStop": false,
"isOutOfBalance": true,
"statusDescription": "잔액부족"
}
메서드 | URL | 인증 방식 |
---|---|---|
PUT |
https://apis.moment.kakao.com/openapi/v4/adAccounts/onOff |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 사용자 동의 |
---|---|---|---|
필요 | 플랫폼 등록 카카오 로그인 활성화 비즈 앱 |
필요 | - |
광고계정 상태를 ON 또는 OFF로 변경합니다. 광고계정 상태가 ON 또는 OFF일 경우에만 변경 가능합니다. 광고계정이 삭제 진행 중인 경우 변경할 수 없습니다.
광고계정을 OFF로 변경할 때 하위 다이렉트 메시지 광고 소재의 메시지 발송 상태가 발송 준비인 경우 발송 종료로 변경, 발송 중인 경우 발송 중지로 변경됩니다.
액세스 토큰(Access token)과 광고계정 ID(adAccountId
)를 헤더에 담아 PUT
으로 요청합니다. 성공 시 HTTP 상태 코드 200에 응답 본문은 없으며, 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이 API는 사용자 계정마다 1초에 한 번씩 요청 가능하도록 제한되어 있습니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} 광고계정 ID |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
config | String |
ON, OFF 중 하나 | O |
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/adAccounts/onOff" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "AdAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: application/json" \
-d '{
"config":"ON"
}'
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 21400,
"detailMsg": "광고계정이 삭제처리중입니다."
}
}