이 문서는 메시지 관리 API 사용 방법을 안내합니다.
GET /openapi/v4/messages/kakaotv/channels HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재에서 사용할 동영상이 포함되어 있는 카카오TV 채널 목록을 조회합니다.
액세스 토큰(Access token)을 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답 본문에 JSON
객체로 카카오TV 채널 목록을 받습니다. 카카오TV 채널 목록은 항상 100개 단위로 페이징(Paging)되며, page
파라미터로 다음 페이지 조회를 요청할 수 있습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
page | Integer |
조회할 페이지 번호 | X |
이름 | 타입 | 설명 |
---|---|---|
list | KakaoTvChannelInfo[] |
카카오TV 채널 정보 목록 |
totalCount | Integer |
조회된 카카오TV 채널의 총 개수 |
hasMore | Boolean |
다음 페이지 존재 여부 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/kakaotv/channels" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"list": [
{
"id": 1234,
"name": "테스트 카카오TV 채널 1",
"description": "테스트 카카오TV 채널 1 입니다.",
"totalClipCount": 56,
"openClipCount": 0,
"subscriberCount": 0,
"visitCount": 789,
"isOpen": true,
"createTime": "2018-07-10 14:51:20",
"updateTime": "2018-07-10 14:51:20",
"clipCount": 56,
"linkUrl": "https://xxx.kakao.com/channel/4321"
},
{
"id": 1235,
"name": "테스트 카카오TV 채널 2",
"description": "테스트 카카오TV 채널 2 입니다.",
"totalClipCount": 1,
"openClipCount": 0,
"subscriberCount": 0,
"visitCount": 1,
"isOpen": true,
"createTime": "2019-07-31 14:55:36",
"updateTime": "2019-07-31 14:57:25",
"clipCount": 0,
"linkUrl": "https://xxx.kakao.com/channel/5678"
},
{
"id": 1236,
"name": "테스트 카카오TV 채널 3",
"description": "테스트 카카오TV 채널 3 입니다.",
"totalClipCount": 0,
"openClipCount": 0,
"subscriberCount": 0,
"visitCount": 0,
"isOpen": true,
"createTime": "2019-07-30 15:14:11",
"updateTime": "2019-07-30 15:14:22",
"clipCount": 0,
"linkUrl": "https://xxx.kakao.com/channel/9101"
}
],
"totalCount": 3,
"hasMore": false
}
GET /openapi/v4/messages/kakaotv/channels/${id} HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재에서 사용할 동영상이 포함되어 있는 카카오TV 채널의 상세 정보를 조회합니다.
조회할 카카오TV 채널 ID를 요청 URL에 포함하고 액세스 토큰(Access token)을 헤더에 담아 GET
으로 요청합니다. 요청이 성공하면 응답 본문에 JSON
객체로 상세 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
id | Long |
조회할 카카오TV 채널 ID | O |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
카카오TV 채널 ID |
name | String |
카카오TV 채널 이름 |
description | String |
카카오TV 채널 설명 |
totalClipCount | Integer |
카카오TV 채널의 영상 개수 |
openClipCount | Integer |
재생목록에 담긴 공개된 클립의 개수 |
subscriberCount | Integer |
구독자수 |
visitCount | Integer |
카카오TV 채널의 영상 시청 수 |
isOpen | Boolean |
카카오TV 채널의 공개 / 비공개 여부 |
createTime | DateTime |
카카오TV 채널 생성 시각 |
updateTime | DateTime |
카카오TV 채널 업데이트 시각 |
clipCount | Integer |
재생목록에 담긴 클립의 개수 |
linkUrl | String |
카카오TV 채널 페이지 링크 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/kakaotv/channels/${id}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1234,
"name": "테스트 카카오TV 채널1",
"description": "테스트 카카오TV 채널1 입니다.",
"totalClipCount": 72,
"openClipCount": 0,
"subscriberCount": 0,
"visitCount": 253,
"isOpen": true,
"createTime": "2018-07-10 14:51:20",
"updateTime": "2018-07-10 14:51:20",
"clipCount": 0,
"linkUrl": "https://sandbox-tv.kakao.com/channel/1234"
}
GET /openapi/v4/messages/kakaotv/channels/${id}/clipLinks HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재에서 사용할 동영상 목록을 조회합니다.
조회할 카카오TV 채널 ID를 요청 URL에 포함하고 액세스 토큰(Access token)을 헤더에 담아 GET
으로 요청합니다. 요청이 성공하면 응답 본문에 JSON
객체로 카카오TV 채널내 영상 목록을 받습니다. 영상 목록은 100개 단위로 페이징(Paging)되며, page
파라미터로 다음 페이지를 조회를 요청할 수 있습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
channelId | Long |
조회할 카카오TV 채널 ID | O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
page | Integer |
조회할 페이지 | X |
이름 | 타입 | 설명 |
---|---|---|
list | ClipLink[] |
카카오TV 채널의 영상 목록 |
hasMore | Boolean |
조회 가능한 영상이 더 존재하는지 여부 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/kakaotv/channels/${id}/clipLinks" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"list": [
{
"id": 123456789,
"displayTitle": "테스트 영상",
"playCount": 0,
"likeCount": 0,
"commentCount": 0,
"createTime": "2021-04-26 10:06:00",
"updateTime": "2021-04-26 10:06:00",
"clip": {
"id": 987654321,
"duration": 12.0,
"thumbnailUrl": "http://thumb.kakaocdn.net/dna/kamp-sbox/source/svuqmrnel2enbwawyut1kxzxz/thumbs/thumb.jpg?credential=TuMuFGKUIcirOSjFzOpncbomGFEIdZWK&expires=33176307958&signature=fC1y0hw4zDwDIfn5k57W9KC4kHc%3D",
"isOpen": true
},
"linkUrl": "https://sandbox-tv.kakao.com/v/301641270"
},
{
"id": 301489988,
"displayTitle": "Coffee - 46989",
"playCount": 0,
"likeCount": 0,
"commentCount": 0,
"createTime": "2020-10-27 09:43:14",
"updateTime": "2020-10-27 09:43:14",
"clip": {
"id": 301447437,
"duration": 34.0,
"thumbnailUrl": "//xxx.net/dna/kamp-sbox/source/svov7qvzygs1yymyiyiqv9nl8/thumbs/thumb.jpg?credential=TuMuFGKUIcirOSjFzOpncbomGFEIdZWK&expires=33160668192&signature=VPPZPQKImUfdJE4ORyM1EWGSNKM%3D",
"isOpen": false
},
"linkUrl": "//xxx.kakao.com/v/301489988"
}
],
"hasMore": false
}
GET /openapi/v4/messages/kakaotv/channels/${channelId}/clipLinks/${clipLinkId} HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재에서 사용할 동영상을 조회합니다.
조회할 카카오TV 채널 ID와 클립링크 ID를 요청 URL에 포함하고 액세스 토큰(Access token)을 헤더에 담아 GET
으로 요청합니다. 요청이 성공하면 응답 본문에 JSON
객체로 카카오TV 채널내 영상 상세내용을 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
channelId | Long |
조회할 카카오TV 채널 ID | O |
clipLinkId | Long |
조회할 클립링크 ID | O |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
클립링크 ID |
displayTitle | String |
클림링크 제목 |
playCount | Integer |
영상 재생 횟수 |
likeCount | Integer |
좋아요 갯수 |
commentCount | Integer |
댓글 갯수 |
createTime | DateTime |
생성 시각 |
updateTime | DateTime |
업데이트 시각 |
clip | Clip |
영상 상세 정보 |
linkUrl | String |
클립링크 링크 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/kakaotv/channels/${channelId}/clipLinks/${clipLink}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 123456789,
"displayTitle": "테스트 영상입니다.",
"playCount": 9,
"likeCount": 0,
"commentCount": 0,
"createTime": "2021-02-24 16:09:24",
"updateTime": "2021-02-24 16:09:24",
"clip": {
"id": 987654321,
"duration": 15.0,
"thumbnailUrl": "http://thumb.kakaocdn.net/dn/live_static/default/thumbnail.png",
"isOpen": false
},
"linkUrl": "https://sandbox-tv.kakao.com/v/123456789"
}
GET /openapi/v4/messages/coupons HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재의 버튼으로 설정 가능한 쿠폰 목록을 조회합니다.
액세스 토큰(Access token)을 헤더에 담아 GET
으로 요청합니다. profileId
파라미터로 메시지 버튼 쿠폰 목록을 조회할 카카오톡 채널의 프로필 ID를 전달해야 합니다.
요청이 성공하면 응답 본문에 JSON
객체로 쿠폰의 목록을 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
profileId | Long |
카카오톡 채널 프로필 ID | O |
이름 | 타입 | 설명 |
---|---|---|
- | ChannelCoupon[] |
쿠폰 정보 목록 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/coupons" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{
"id": 12345,
"title": "첫번째 테스트 쿠폰",
"content": "첫번째 테스트 쿠폰입니다.",
"statusCode": "done",
"permalink": "http://xxx.kakao.com/_xxx/coupons/_xxx",
"entryImage": {
"type": "image",
"url": "http://xxx.kakao.com/img_xl.jpg",
"thumbnail": null,
"previewImage": null,
"playUrl": null,
"name": null
},
"createdAt": "2021-01-11T15:43:12"
},
{
"id": 12346,
"title": "두번째 테스트 쿠폰",
"content": "두번째 테스트 쿠폰입니다.",
"statusCode": "done",
"permalink": "http://xxx.kakao.com/_xxx/coupons/_xxx",
"entryImage": {
"type": "image",
"url": "http://xxx.kakao.com/img_xl.jpg",
"thumbnail": null,
"previewImage": null,
"playUrl": null,
"name": null
},
"createdAt": "2021-01-11T15:43:12"
}
]
GET /openapi/v4/messages/coupons/${id} HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재의 버튼으로 설정 가능한 쿠폰을 상세 조회합니다.
조회할 쿠폰 ID를 요청 URL에 포함하고 액세스 토큰(Access token)을 헤더에 담아 GET
으로 요청합니다. 특정 카카오톡 채널의 쿠폰을 조회하려면 profileId
파라미터로 카카오톡 채널 프로필 ID를 전달합니다.
요청이 성공하면 응답 본문에 JSON
객체로 쿠폰의 상세 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
id | Long |
쿠폰 ID | O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
profileId | Long |
카카오톡 채널 프로필 ID | O |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
쿠폰 ID |
title | String |
쿠폰 제목 |
content | String |
쿠폰 내용 |
statusCode | String |
쿠폰의 상태 |
permalink | String |
쿠폰 링크 |
entryImage | EntryImage |
쿠폰 상세 이미지 |
createdAt | String |
쿠폰 생성일시 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/coupons/${id}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 12345,
"title": "테스트 쿠폰입니다.",
"content": "테스트입니다.",
"statusCode": "done",
"permalink": "http://xxx.kakao.com/xxx/coupons/xxx",
"entryImage": null,
"createdAt": "2021-02-26T16:12:31"
}
GET /openapi/v4/messages/adViews HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재의 버튼으로 설정 가능한 애드뷰 목록을 조회합니다.
액세스 토큰(Access token)과 광고계정 ID를 헤더에 담아 GET
으로 요청합니다. 요청이 성공하면 응답 본문에 JSON
객체로 애드뷰 목록을 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
adAccountId | Long |
광고계정 ID |
이름 | 타입 | 설명 |
---|---|---|
- | AdView[] |
애드뷰 목록 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/adViews" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
-H "adAccountId: ${adAccountId}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{
"id": 1234,
"name": "애드뷰1",
"type": "COMPACT",
"templateType": "IMAGE"
},
{
"id": 5678,
"name": "애드뷰2",
"type": "COMPACT",
"templateType": "IMAGE"
}
]
GET /openapi/v4/messages/posts/${profileId} HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재의 버튼으로 설정 가능한 카카오톡 채널의 포스트 목록을 조회할 수 있습니다.
조회 대상 카카오톡 채널의 프로필 ID를 요청 URL에 포함하고 액세스 토큰(Access token)과 광고계정 ID를 헤더에 담아 GET
으로 요청합니다. 요청이 성공하면 응답 본문에 JSON
객체로 포스트의 목록을 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
adAccountId | Long |
광고계정 ID |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
profileId | String |
프로필 ID | O |
이름 | 타입 | 설명 |
---|---|---|
- | ChannelPost[] |
포스트 목록 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/posts/${profileId}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "adAccountId: ${adAccountId}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{
"id": 1234,
"title": "포스트",
"status": "published",
"permalink": "http://kakao.com/_xxxx/1",
"media": [],
"createdDate": "2021-01-01T00:00:00",
"publishedDate": "2021-01-01T00:00:00"
},
{
"id": 1235,
"title": "포스트 2",
"status": "published",
"permalink": "http://kakao.com/_xxxx/2",
"media": [],
"createdDate": "2021-01-02T00:00:00",
"publishedDate": "2021-01-02T00:00:00"
}
]
GET /openapi/v4/messages/bizForms HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재의 버튼으로 설정 가능한 비즈니스폼 목록을 조회할 수 있습니다.
액세스 토큰(Access token)과 광고계정 ID를 헤더에 담아 GET
으로 요청합니다. 요청이 성공하면 응답 본문에 JSON
객체로 비즈니스폼의 목록을 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
adAccountId | Long |
광고계정 ID |
이름 | 타입 | 설명 |
---|---|---|
- | BusinessForm[] |
비즈니스폼 목록 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/bizForms" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "adAccountId: ${adAccountId}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{
"id": 1,
"adAccountId": 1234,
"bizFormId": 10,
"title": "비즈니스폼",
"flowType": "APPLY",
"linkedDate": "2021-06-15T23:59:59",
"beginDate": "2021-06-15T23:59:59",
"endDate": "2021-06-15T23:59:59"
},
{
"id": 2,
"adAccountId": 1235,
"bizFormId": 11,
"title": "비즈니스폼2",
"flowType": "BANANA",
"linkedDate": "2021-06-16T23:59:59",
"beginDate": "2021-06-16T23:59:59",
"endDate": "2021-06-16T23:59:59"
}
]
GET /openapi/v4/messages/bizForms/${bizFormId} HTTP/1.1
Host: apis.moment.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}
메시지 소재의 버튼으로 설정 가능한 비즈니스폼을 조회할 수 있습니다.
조회 대상 비즈니스폼의 ID를 요청 URL에 포함하고 액세스 토큰(Access token)과 광고계정 ID를 헤더에 담아 GET
으로 요청합니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.
이름 | 타입 | 설명 |
---|---|---|
Authorization | String |
액세스 토큰 Bearer ${ACCESS_TOKEN} 형식으로 전달 |
adAccountId | Long |
광고계정 ID |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
bizFormId | Long |
비즈니스폼 ID | O |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
모먼트에 연동된 비즈니스폼 ID 메시지 소재 생성시 필요한 ID |
adAccountId | Long |
광고계정 ID |
bizFormId | Long |
비즈니스폼 ID |
title | String |
비즈니스폼 제목 |
flowType | String |
비즈니스폼 유형 |
linkedDate | String |
모먼트에 연동된 일시yyyy-MM-dd'T'HH:mm:ss 형식 |
beginDate | String |
비즈니스폼 시작일yyyy-MM-dd'T'HH:mm:ss 형식 |
endDate | String |
비즈니스폼 종료일yyyy-MM-dd'T'HH:mm:ss 형식 |
curl -X GET "https://apis.moment.kakao.com/openapi/v4/messages/bizForms/${id}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "adAccountId: ${adAccountId}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1,
"adAccountId": 1234,
"bizFormId": 10,
"title": "비즈니스폼",
"flowType": "APPLY",
"linkedDate": "2021-06-15T23:59:59",
"beginDate": "2021-06-15T23:59:59",
"endDate": "2021-06-15T23:59:59"
}