알림톡
알림톡은 카카오가 승인한 템플릿을 기반으로 고객에게 정보성 메시지를 발송하는 카카오 비즈메시지 채널입니다. 발송 규격과 함께 템플릿 등록, 이미지 업로드, 검수 요청 등의 운영 API를 함께 제공합니다.
알림톡 발송
알림톡은 단일 발송 규격을 사용하며, messageFlow[].alimtalk.msgType 값(AT/AI)으로 텍스트형과 이미지형을 구분합니다.
Body Parameters
{}JSONdestinations
필수 Object Array수신 정보 배열입니다. 동보발송 최대 200건입니다.
messageFlow
필수 Object Array메시지를 추가하면 순서대로 자동 Fallback 메시지 처리됩니다.
paymentCode
String정산용 부서 코드입니다.
groupKey
String메시지 인사이트 에서 그룹으로 묶어서 통계를 확인하기 위해 설정하는 키입니다.
idempotencyKey
String요청에 대한 멱등함을 구분하는 멱등성 키 필드입니다.
idempotencyTtl
Integer멱등 처리키 유효시간 입니다.
ref
String요청 참조 필드입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X POST "/api/comm/v1/send/omni" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "destinations": [{ "to": "01012345678", "replaceWords": { "name": "홍길동" } }], "messageFlow": [{ "alimtalk": { "msgType": "AT", "senderKey": "PROFILE_KEY", "templateCode": "BG_pticket_issued_notice", "text": "#{name}님의 예약이 접수되었습니다.", "attachment": { "button": [{ "type": "WL", "name": "예약 조회", "urlMobile": "https://bizgo.io/m/reservation/123", "urlPc": "https://bizgo.io/reservation/123" }] } } }], "ref": "alimtalk-at-20260331-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "data": { "destinations": [{ "to": "01012345678", "msgKey": "20260424104234546POM101182450000", "code": "A000", "result": "Success" }] }, "ref": "alimtalk-at-20260331-001" }}예약 발송
알림톡을 지정한 시각에 발송하도록 예약 등록합니다. resvSendTime 입력이 필수입니다. 예약 등록 후 조회, 수정, 취소, 중지, 재개, 수신자 관리는 예약 관리 페이지에서 확인할 수 있습니다.
Body Parameters
{}JSONdestinations
필수 Object Array수신 정보 배열입니다. 동보발송 최대 200건입니다.
messageFlow
필수 Object Array메시지를 추가하면 순서대로 자동 Fallback 메시지 처리됩니다.
resvSendTime
필수 String예약 발송 시각입니다.
resvName
String예약 건을 식별하기 위한 이름입니다.
paymentCode
String정산용 부서 코드입니다.
ref
String요청 참조 필드입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object예약 등록 응답 영역입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/reservation" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "destinations": [{ "to": "01012345678", "replaceWords": { "name": "홍길동" } }], "messageFlow": [{ "alimtalk": { "msgType": "AT", "senderKey": "PROFILE_KEY", "templateCode": "BG_pticket_issued_notice", "text": "#{name}님의 예약이 접수되었습니다.", "responseMethod": "push" } }], "resvSendTime": "2026-05-01 10:00:00", "resvName": "알림톡 예약 발송", "ref": "alimtalk-resv-20260501-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "Success", "resvKey": "20260501100000RESV0000000001" }}템플릿 자동 치환 발송
템플릿 전문을 요청 본문에 직접 입력하지 않고, 템플릿 코드와 치환 변수만 전달해 발송합니다. Bizgo API가 템플릿 코드에 맞는 전문을 생성한 뒤 destinations[].replaceWords 값을 치환해 알림톡을 발송합니다.
Body Parameters
{} JSONdestinations
필수Object Array수신 정보 배열입니다.
messageFlow
필수Object Array메시지 규격 배열입니다.
paymentCode
String정산용 부서 코드입니다.
groupKey
String메시지를 그룹으로 묶어 통계를 확인하기 위한 키입니다.
idempotencyKey
String요청에 대한 멱등성을 구분하는 키입니다.
idempotencyTtl
Integer멱등성 키 만료시간입니다.
ref
String요청 참조 필드입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/send/omni" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "destinations": [{ "to": "01000000000", "replaceWords": { "name": "홍길동", "orderName": "비즈고 이용권", "status": "결제완료" } }], "messageFlow": [{ "alimtalk": { "senderKey": "{senderKey}", "templateCode": "{templateCode}", "sendType": "template" } }], "ref": "alimtalk-template-001" }'응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "destinations": [{ "to":"01000000000", "msgKey":"AT20260408-000001", "code":"A000", "result":"Success" }] }, "ref":"alimtalk-template-001" }}Body Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
destinations | Object Array | ✅ | 수신 정보 배열입니다. |
destinations[].to | String | ✅ | 수신번호입니다. example: 01000000000 |
destinations[].replaceWords | Object | ✅ | 템플릿 변수에 치환할 JSON 객체입니다. |
destinations[].ref | String | 개별 참조 필드입니다. max: 200 | |
messageFlow | Object Array | ✅ | 메시지 규격 배열입니다. |
messageFlow[].alimtalk | Object | ✅ | 알림톡 메시지 정보입니다. |
messageFlow[].alimtalk.senderKey | String | ✅ | 카카오 비즈메시지 발신프로필 키입니다. |
messageFlow[].alimtalk.templateCode | String | ✅ | 알림톡 템플릿 코드입니다. |
messageFlow[].alimtalk.sendType | String | ✅ | 템플릿 변수 자동 치환 발송 타입입니다.template을 입력합니다. |
messageFlow[].alimtalk.responseMethod | String | 카카오 요청 응답 수신 방식입니다. push 또는 polling. default: push | |
messageFlow[].alimtalk.timeout | String | polling 발송 시 수신 결과를 기다리는 시간입니다. min: 10, max: 86400, default: 180 | |
messageFlow[].alimtalk.price | String | 메시지에 포함된 가격 또는 결제 금액입니다. | |
messageFlow[].alimtalk.currencyType | String | 가격 또는 결제 금액의 통화 단위입니다. example: KRW | |
paymentCode | String | 정산용 부서 코드입니다. max: 20 | |
groupKey | String | 메시지를 그룹으로 묶어 통계를 확인하기 위한 키입니다. max: 64 | |
idempotencyKey | String | 요청에 대한 멱등성을 구분하는 키입니다. max: 200 | |
idempotencyTtl | Integer | 멱등성 키 만료시간입니다. min: 1, max: 86400 | |
ref | String | 요청 참조 필드입니다. max: 200 |
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/send/omni" \
-H "Authorization: {ApiKey}" \
-H "Content-Type: application/json" \
-d '{
"destinations": [{
"to": "01000000000",
"replaceWords": {
"name": "홍길동",
"orderName": "비즈고 이용권",
"status": "결제완료"
}
}],
"messageFlow": [{
"alimtalk": {
"senderKey": "{senderKey}",
"templateCode": "{templateCode}",
"sendType": "template"
}
}],
"ref": "alimtalk-template-001"
}'
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/send/omni", {
method: "POST",
headers: {
"Authorization": "{ApiKey}",
"Content-Type": "application/json"
},
body: JSON.stringify({
destinations: [{
to: "01000000000",
replaceWords: { name: "홍길동", orderName: "비즈고 이용권", status: "결제완료" }
}],
messageFlow: [{
alimtalk: { senderKey: "{senderKey}", templateCode: "{templateCode}", sendType: "template" }
}],
ref: "alimtalk-template-001"
})
});
import requests
response = requests.post(
"https://mars.ibapi.kr/api/comm/v1/send/omni",
headers={"Authorization": "{ApiKey}"},
json={
"destinations": [{"to": "01000000000", "replaceWords": {"name": "홍길동", "orderName": "비즈고 이용권", "status": "결제완료"}}],
"messageFlow": [{"alimtalk": {"senderKey": "{senderKey}", "templateCode": "{templateCode}", "sendType": "template"}}],
"ref": "alimtalk-template-001"
}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/send/omni"))
.header("Authorization", "{ApiKey}")
.method("POST", HttpRequest.BodyPublishers.ofString("{}"))
.build();
HttpResponse<String> response = client.send(
request, HttpResponse.BodyHandlers.ofString()
);
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"destinations": [{
"to": "01000000000",
"msgKey": "AT20260408-000001",
"code": "A000",
"result": "Success"
}]
},
"ref": "alimtalk-template-001"
}
}
템플릿 관리
알림톡 템플릿은 발송 전에 등록과 수정, 이미지 준비가 필요한 운영 자산입니다. 템플릿 구성과 등록에 필요한 API를 함께 제공합니다.
템플릿 조회
발신프로필 키와 템플릿 코드를 기준으로 알림톡 템플릿 상세 정보를 조회합니다.
Query Parameters
senderKey
필수String발신프로필 키입니다.
templateCode
필수String템플릿 코드입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template?senderKey={senderKey}&templateCode={templateCode}" \ -H "Authorization: {ApiKey}"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "alimtalk": { "senderKey":"{senderKey}", "templateCode":"{templateCode}", "text":"#{name}님, 주문이 완료되었습니다." } } }}Query Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
senderKey | String | ✅ | 발신프로필 키입니다. |
templateCode | String | ✅ | 템플릿 코드입니다. |
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template?senderKey={senderKey}&templateCode={templateCode}" \
-H "Authorization: {ApiKey}"
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template?senderKey={senderKey}&templateCode={templateCode}", {
method: "GET",
headers: { "Authorization": "{ApiKey}" }
});
import requests
response = requests.get(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template",
params={"senderKey": "{senderKey}", "templateCode": "{templateCode}"},
headers={"Authorization": "{ApiKey}"}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template?senderKey={senderKey}&templateCode={templateCode}"))
.header("Authorization", "{ApiKey}")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"alimtalk": {
"senderKey": "{senderKey}",
"templateCode": "{templateCode}",
"text": "#{name}님, 주문이 완료되었습니다."
}
}
}
}
최근 변경 템플릿 조회
지정한 시각 이후 최근 변경된 알림톡 템플릿 목록을 조회합니다. 템플릿 최신화나 내부 동기화 배치 기준으로 사용할 수 있습니다.
Query Parameters
senderKey
필수String발신프로필 키입니다.
senderKeyType
String발신키 유형입니다.
since
String조회 시작 시각입니다.
page
Integer페이지 번호입니다.
count
Integer페이지당 조회 건수입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/lastModified?senderKey={senderKey}&senderKeyType=S&since=2026-04-23T09:00:00&page=1&count=100" \ -H "Authorization: {ApiKey}"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "alimtalk": { "templates": [{ "senderKey":"{senderKey}", "msgType":"AT", "templateCode":"ORDER_DONE_001", "templateName":"주문 완료 안내", "templateMessageType":"BA", "templateEmphasizeType":"NONE", "text":"#{name}님, 주문이 완료되었습니다.", "categoryCode":"001001", "inspectionStatus":"APR", "status":"APR" }] } } }}Query Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
senderKey | String | ✅ | 발신프로필 키입니다. max: 40 |
senderKeyType | String | 발신키 유형입니다. default: S | |
since | String | 조회 시작 시각입니다. yyyy-MM-dd'T'HH:mm:ss 형식. example: 2026-04-23T09:00:00 | |
page | Integer | 페이지 번호입니다. default: 1, min: 1 | |
count | Integer | 페이지당 조회 건수입니다. default: 100, min: 1 |
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/lastModified?senderKey={senderKey}&senderKeyType=S&since=2026-04-23T09:00:00&page=1&count=100" \
-H "Authorization: {ApiKey}"
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/lastModified?senderKey={senderKey}&senderKeyType=S&since=2026-04-23T09:00:00&page=1&count=100", {
method: "GET",
headers: { "Authorization": "{ApiKey}" }
});
import requests
response = requests.get(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/lastModified",
params={"senderKey": "{senderKey}", "senderKeyType": "S", "since": "2026-04-23T09:00:00", "page": 1, "count": 100},
headers={"Authorization": "{ApiKey}"}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/lastModified?senderKey={senderKey}&senderKeyType=S&since=2026-04-23T09:00:00&page=1&count=100"))
.header("Authorization", "{ApiKey}")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"alimtalk": {
"templates": [{
"senderKey": "{senderKey}",
"msgType": "AT",
"templateCode": "ORDER_DONE_001",
"templateName": "주문 완료 안내",
"templateMessageType": "BA",
"templateEmphasizeType": "NONE",
"text": "#{name}님, 주문이 완료되었습니다.",
"categoryCode": "001001",
"inspectionStatus": "APR",
"status": "APR"
}]
}
}
}
}
템플릿 등록
알림톡 템플릿을 등록합니다. 이미지형 또는 아이템리스트형 템플릿은 템플릿 이미지 업로드 API로 발급받은 imgUrl과 imgName을 함께 사용합니다.
Body Parameters
{} JSONalimtalk
필수Object알림톡 템플릿 정보입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "alimtalk": { "senderKey": "{senderKey}", "templateName": "주문 완료 안내", "templateCode": "ORDER_DONE_001", "templateMessageType": "BA", "templateEmphasizeType": "NONE", "text": "#{name}님, 주문이 완료되었습니다.", "categoryCode": "001001" } }'응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "alimtalk": { "senderKey":"{senderKey}", "templateCode":"ORDER_DONE_001", "text":"#{name}님, 주문이 완료되었습니다." } } }}Body Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
alimtalk | Object | ✅ | 알림톡 템플릿 정보입니다. |
alimtalk.senderKey | String | ✅ | 카카오 비즈메시지 발신프로필 키입니다. |
alimtalk.senderKeyType | String | 발신프로필 키 타입입니다. G: 그룹, S: 발신프로필 default: S | |
alimtalk.templateName | String | ✅ | 템플릿 이름입니다. max: 200 |
alimtalk.templateCode | String | ✅ | 알림톡 템플릿 코드입니다. max: 30 |
alimtalk.templateMessageType | String | ✅ | 템플릿 메시지 타입입니다. BA: 기본형, EX: 부가 정보형(extra 필수), AD: 채널 추가형, MI: 복합형(extra 필수) |
alimtalk.templateEmphasizeType | String | ✅ | 템플릿 강조 타입입니다. NONE: 선택 안함, IMAGE: 이미지(imgName·imgUrl 필수), TEXT: 강조표기(title·subTitle 필수), ITEM_LIST: 아이템 리스트 |
alimtalk.text | String | ✅ | 알림톡 템플릿 본문입니다. max: 1,300 |
alimtalk.title | String | 강조표기형 템플릿 제목입니다. max: 50 | |
alimtalk.header | String | 메시지 상단에 표시할 제목입니다. | |
alimtalk.imgName | String | 템플릿 이미지 파일 이름입니다. | |
alimtalk.imgUrl | String | 템플릿 이미지 URL입니다. | |
alimtalk.link | Object | 대표 링크 정보입니다. | |
alimtalk.link.urlPc | String | ✅ | PC 환경에서 버튼 클릭 시 이동할 URL입니다. |
alimtalk.link.urlMobile | String | ✅ | 모바일 환경에서 버튼 클릭 시 이동할 URL입니다. |
alimtalk.link.schemeAndroid | String | Android 환경에서 버튼 클릭 시 실행할 커스텀 스킴입니다. | |
alimtalk.link.schemeIos | String | iOS 환경에서 버튼 클릭 시 실행할 커스텀 스킴입니다. | |
alimtalk.attachment | Object | 버튼, 아이템, 하이라이트 등 첨부 정보입니다. | |
alimtalk.attachment.button | Object Array | 버튼 정보입니다. | |
alimtalk.attachment.button[].type | String | 카카오 버튼 타입 코드입니다. | |
alimtalk.attachment.button[].name | String | 카카오 버튼명입니다. | |
alimtalk.attachment.button[].urlPc | String | PC 환경에서 버튼 클릭 시 이동할 URL입니다. | |
alimtalk.attachment.button[].urlMobile | String | 모바일 환경에서 버튼 클릭 시 이동할 URL입니다. | |
alimtalk.attachment.item | Object | 아이템 정보입니다. | |
alimtalk.attachment.item.list | Object Array | 아이템 리스트입니다. min: 2, max: 10 | |
alimtalk.attachment.item.list[].title | String | ✅ | 아이템 타이틀입니다. max: 6 |
alimtalk.attachment.item.list[].description | String | ✅ | 아이템 부가정보입니다. max: 23 |
alimtalk.attachment.item.summary | Object | 아이템 요약 정보입니다. | |
alimtalk.attachment.item.summary.title | String | ✅ | 요약 타이틀입니다. max: 6 |
alimtalk.attachment.item.summary.description | String | ✅ | 요약 가격정보입니다. max: 14 |
alimtalk.attachment.itemHighlight | Object | 아이템 하이라이트 정보입니다. | |
alimtalk.attachment.itemHighlight.title | String | ✅ | 아이템 하이라이트 타이틀입니다. max: 30 |
alimtalk.attachment.itemHighlight.description | String | ✅ | 아이템 하이라이트 부가정보입니다. max: 19 |
alimtalk.supplement | Object | 바로연결 정보입니다. | |
alimtalk.supplement.quickReply | Object Array | 바로연결 정보입니다. | |
alimtalk.supplement.quickReply[].type | String | 바로연결 타입 코드입니다. | |
alimtalk.supplement.quickReply[].name | String | 바로연결 제목입니다. max: 14 | |
alimtalk.categoryCode | String | 템플릿 카테고리 코드입니다. | |
alimtalk.securityFlag | String | 보안 템플릿 여부입니다. true 또는 false |
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template" \
-H "Authorization: {ApiKey}" \
-H "Content-Type: application/json" \
-d '{
"alimtalk": {
"senderKey": "{senderKey}",
"templateName": "주문 완료 안내",
"templateCode": "ORDER_DONE_001",
"templateMessageType": "BA",
"templateEmphasizeType": "NONE",
"text": "#{name}님, 주문이 완료되었습니다.",
"categoryCode": "001001"
}
}'
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template", {
method: "POST",
headers: { "Authorization": "{ApiKey}", "Content-Type": "application/json" },
body: JSON.stringify({
alimtalk: {
senderKey: "{senderKey}",
templateName: "주문 완료 안내",
templateCode: "ORDER_DONE_001",
templateMessageType: "BA",
templateEmphasizeType: "NONE",
text: "#{name}님, 주문이 완료되었습니다.",
categoryCode: "001001"
}
})
});
import requests
response = requests.post(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template",
headers={"Authorization": "{ApiKey}"},
json={"alimtalk": {"senderKey": "{senderKey}", "templateName": "주문 완료 안내", "templateCode": "ORDER_DONE_001", "templateMessageType": "BA", "templateEmphasizeType": "NONE", "text": "#{name}님, 주문이 완료되었습니다.", "categoryCode": "001001"}}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template"))
.header("Authorization", "{ApiKey}")
.method("POST", HttpRequest.BodyPublishers.ofString("{}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"alimtalk": {
"senderKey": "{senderKey}",
"templateCode": "ORDER_DONE_001",
"text": "#{name}님, 주문이 완료되었습니다."
}
}
}
}
템플릿 수정
등록된 알림톡 템플릿 정보를 수정합니다. 검수 상태와 카카오 정책에 따라 수정 가능한 범위가 달라질 수 있습니다.
Body Parameters
{} JSONalimtalk
필수Object알림톡 템플릿 정보입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X PUT "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "alimtalk": { "senderKey": "{senderKey}", "templateCode": "ORDER_DONE_001", "templateName": "주문 완료 안내 수정", "templateMessageType": "BA", "templateEmphasizeType": "NONE", "text": "#{name}님, 주문 접수가 완료되었습니다." } }'응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "alimtalk": { "senderKey":"{senderKey}", "templateCode":"ORDER_DONE_001", "text":"#{name}님, 주문 접수가 완료되었습니다." } } }}Body Parameters
템플릿 등록과 동일한 파라미터 구조를 사용합니다. (템플릿 등록 Body Parameters 참고)
요청 예시
curl -X PUT "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template" \
-H "Authorization: {ApiKey}" \
-H "Content-Type: application/json" \
-d '{
"alimtalk": {
"senderKey": "{senderKey}",
"templateCode": "ORDER_DONE_001",
"templateName": "주문 완료 안내 수정",
"templateMessageType": "BA",
"templateEmphasizeType": "NONE",
"text": "#{name}님, 주문 접수가 완료되었습니다."
}
}'
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template", {
method: "PUT",
headers: { "Authorization": "{ApiKey}", "Content-Type": "application/json" },
body: JSON.stringify({
alimtalk: {
senderKey: "{senderKey}",
templateCode: "ORDER_DONE_001",
templateName: "주문 완료 안내 수정",
templateMessageType: "BA",
templateEmphasizeType: "NONE",
text: "#{name}님, 주문 접수가 완료되었습니다."
}
})
});
import requests
response = requests.put(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template",
headers={"Authorization": "{ApiKey}"},
json={"alimtalk": {"senderKey": "{senderKey}", "templateCode": "ORDER_DONE_001", "templateName": "주문 완료 안내 수정", "templateMessageType": "BA", "templateEmphasizeType": "NONE", "text": "#{name}님, 주문 접수가 완료되었습니다."}}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template"))
.header("Authorization", "{ApiKey}")
.method("PUT", HttpRequest.BodyPublishers.ofString("{}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"alimtalk": {
"senderKey": "{senderKey}",
"templateCode": "ORDER_DONE_001",
"text": "#{name}님, 주문 접수가 완료되었습니다."
}
}
}
}
템플릿 삭제
발신프로필 키와 템플릿 코드를 기준으로 알림톡 템플릿을 삭제합니다.
Path Parameters
senderKey
필수String발신프로필 키입니다.
templateCode
필수String삭제할 템플릿 코드입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}" \ -H "Authorization: {ApiKey}"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
senderKey | String | ✅ | 발신프로필 키입니다. |
templateCode | String | ✅ | 삭제할 템플릿 코드입니다. |
요청 예시
curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}" \
-H "Authorization: {ApiKey}"
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}", {
method: "DELETE",
headers: { "Authorization": "{ApiKey}" }
});
import requests
response = requests.delete(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}",
headers={"Authorization": "{ApiKey}"}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}"))
.header("Authorization", "{ApiKey}")
.method("DELETE", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success"
}
}
템플릿 이미지 업로드
알림톡 이미지형, 와이드 이미지형, 아이템리스트형 템플릿 등록에 사용할 이미지를 업로드합니다. 메시지 발송용 이미지 업로드가 아니라 템플릿 등록을 위한 사전 이미지 등록 API입니다.
Body Parameters
FORM-DATAfile
필수Binary업로드할 이미지 파일 바이너리입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/template" \ -H "Authorization: {ApiKey}" \ -F "file=@/path/template-image.jpg"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "imgUrl":"https://example.kakao.image/template-image.jpg", "fileName":"template-image.jpg" } }}Body Parameters (FORM-DATA)
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
file | Binary | ✅ | 업로드할 이미지 파일 바이너리입니다. 권장 사이즈: 800×400px, 가로: 500px 이상, 비율: 세로÷가로=0.5 파일 형식: jpg, png max: 500KB |
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/template" \
-H "Authorization: {ApiKey}" \
-F "file=@/path/template-image.jpg"
const formData = new FormData();
formData.append("file", file);
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/file/alimtalk/template", {
method: "POST",
headers: { "Authorization": "{ApiKey}" },
body: formData
});
import requests
response = requests.post(
"https://mars.ibapi.kr/api/comm/v1/file/alimtalk/template",
headers={"Authorization": "{ApiKey}"},
files={"file": open("/path/template-image.jpg", "rb")}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/file/alimtalk/template"))
.header("Authorization", "{ApiKey}")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"imgUrl": "https://example.kakao.image/template-image.jpg",
"fileName": "template-image.jpg"
}
}
}
템플릿 하이라이트 이미지 업로드
아이템리스트형 알림톡 템플릿의 아이템 하이라이트 영역에 사용할 이미지를 업로드합니다. 템플릿 이미지 업로드와 동일하게 템플릿 등록을 위한 사전 이미지 등록 API입니다.
Body Parameters
FORM-DATAfile
필수Binary업로드할 아이템 하이라이트 이미지 파일 바이너리입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/itemHighlight" \ -H "Authorization: {ApiKey}" \ -F "file=@/path/item-highlight.jpg"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "imgUrl":"https://example.kakao.image/item-highlight.jpg", "fileName":"item-highlight.jpg" } }}Body Parameters (FORM-DATA)
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
file | Binary | ✅ | 업로드할 아이템 하이라이트 이미지 파일 바이너리입니다. 제한 사이즈: 108×108px 이상, 비율: 세로÷가로=1 파일 형식: jpg, png max: 500KB |
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/itemHighlight" \
-H "Authorization: {ApiKey}" \
-F "file=@/path/item-highlight.jpg"
const formData = new FormData();
formData.append("file", file);
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/file/alimtalk/itemHighlight", {
method: "POST",
headers: { "Authorization": "{ApiKey}" },
body: formData
});
import requests
response = requests.post(
"https://mars.ibapi.kr/api/comm/v1/file/alimtalk/itemHighlight",
headers={"Authorization": "{ApiKey}"},
files={"file": open("/path/item-highlight.jpg", "rb")}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/file/alimtalk/itemHighlight"))
.header("Authorization", "{ApiKey}")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"imgUrl": "https://example.kakao.image/item-highlight.jpg",
"fileName": "item-highlight.jpg"
}
}
}
템플릿 카테고리 관리
템플릿 카테고리는 카카오 검수와 정책 기준에 맞는 템플릿 분류를 확인할 때 사용합니다. 등록 전 카테고리 선택 기준을 점검할 수 있습니다.
템플릿 카테고리 전체 조회
알림톡 템플릿 등록 시 사용할 수 있는 템플릿 카테고리 전체 목록을 조회합니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category" \ -H "Authorization: {ApiKey}"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "categories": [{ "code":"001001", "name":"주문/예약", "groupName":"커머스", "inclusion":"주문, 예약, 결제 알림", "exclusion":"광고성 안내" }] } }}요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category" \
-H "Authorization: {ApiKey}"
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category", {
method: "GET",
headers: { "Authorization": "{ApiKey}" }
});
import requests
response = requests.get(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category",
headers={"Authorization": "{ApiKey}"}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category"))
.header("Authorization", "{ApiKey}")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"categories": [{
"code": "001001",
"name": "주문/예약",
"groupName": "커머스",
"inclusion": "주문, 예약, 결제 알림",
"exclusion": "광고성 안내"
}]
}
}
}
템플릿 카테고리 조회
카테고리 코드를 기준으로 알림톡 템플릿 카테고리 상세 정보를 조회합니다.
Query Parameters
categoryCode
필수String조회할 템플릿 카테고리 코드입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category?categoryCode={categoryCode}" \ -H "Authorization: {ApiKey}"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "category": { "code":"001001", "name":"주문/예약", "groupName":"커머스", "inclusion":"주문, 예약, 결제 알림", "exclusion":"광고성 안내" } } }}Query Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
categoryCode | String | ✅ | 조회할 템플릿 카테고리 코드입니다. |
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category?categoryCode={categoryCode}" \
-H "Authorization: {ApiKey}"
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category?categoryCode={categoryCode}", {
method: "GET",
headers: { "Authorization": "{ApiKey}" }
});
import requests
response = requests.get(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category",
params={"categoryCode": "{categoryCode}"},
headers={"Authorization": "{ApiKey}"}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category?categoryCode={categoryCode}"))
.header("Authorization", "{ApiKey}")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"category": {
"code": "001001",
"name": "주문/예약",
"groupName": "커머스",
"inclusion": "주문, 예약, 결제 알림",
"exclusion": "광고성 안내"
}
}
}
}
템플릿 검수
알림톡 템플릿은 카카오 검수 승인 이후에 사용할 수 있습니다. 검수 요청과 첨부 검수, 요청 취소 API를 순서대로 제공합니다.
템플릿 검수 요청
등록된 알림톡 템플릿을 카카오 검수로 요청합니다. 템플릿 상태가 대기이고 검수 상태가 등록인 경우 요청할 수 있습니다.
Body Parameters
{} JSONalimtalk
필수Object검수 요청할 알림톡 템플릿 정보입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "alimtalk": { "senderKey": "{senderKey}", "templateCode": "{templateCode}", "comment": "검수 요청합니다." } }'응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Body Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
alimtalk | Object | ✅ | 검수 요청할 알림톡 템플릿 정보입니다. |
alimtalk.senderKey | String | ✅ | 발신프로필 키입니다. |
alimtalk.senderKeyType | String | 발신프로필 키 타입입니다. G: 그룹, S: 발신프로필 default: S | |
alimtalk.templateCode | String | ✅ | 템플릿 코드입니다. |
alimtalk.comment | String | 검수 의견 또는 문의 사항입니다. |
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request" \
-H "Authorization: {ApiKey}" \
-H "Content-Type: application/json" \
-d '{
"alimtalk": {
"senderKey": "{senderKey}",
"templateCode": "{templateCode}",
"comment": "검수 요청합니다."
}
}'
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request", {
method: "POST",
headers: { "Authorization": "{ApiKey}", "Content-Type": "application/json" },
body: JSON.stringify({
alimtalk: { senderKey: "{senderKey}", templateCode: "{templateCode}", comment: "검수 요청합니다." }
})
});
import requests
response = requests.post(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request",
headers={"Authorization": "{ApiKey}"},
json={"alimtalk": {"senderKey": "{senderKey}", "templateCode": "{templateCode}", "comment": "검수 요청합니다."}}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request"))
.header("Authorization", "{ApiKey}")
.method("POST", HttpRequest.BodyPublishers.ofString("{}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success"
}
}
템플릿 검수 요청(파일첨부)
등록된 알림톡 템플릿을 첨부 파일과 함께 카카오 검수로 요청합니다. 파일 형식은 png, jpg, jpeg, gif, pdf, hwp, doc, docx를 사용할 수 있습니다.
Body Parameters
FORM-DATAsenderKey
필수String발신프로필 키입니다.
senderKeyType
String발신프로필 키 타입입니다.
templateCode
필수String템플릿 코드입니다.
comment
필수String검수 의견 또는 문의 사항입니다.
attachment
Binary검수 요청에 첨부할 파일입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request" \ -H "Authorization: {ApiKey}" \ -F "senderKey={senderKey}" \ -F "templateCode={templateCode}" \ -F "comment=검수 요청합니다." \ -F "attachment=@/path/review-file.pdf"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Body Parameters (FORM-DATA)
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
senderKey | String | ✅ | 발신프로필 키입니다. |
senderKeyType | String | 발신프로필 키 타입입니다. G: 그룹, S: 발신프로필. default: S | |
templateCode | String | ✅ | 템플릿 코드입니다. |
comment | String | ✅ | 검수 의견 또는 문의 사항입니다. |
attachment | Binary | 검수 요청에 첨부할 파일입니다. max: 10 files, 파일 max: 50MB, total max: 100MB 형식: png, jpg, jpeg, gif, pdf, hwp, doc, docx |
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request" \
-H "Authorization: {ApiKey}" \
-F "senderKey={senderKey}" \
-F "templateCode={templateCode}" \
-F "comment=검수 요청합니다." \
-F "attachment=@/path/review-file.pdf"
const formData = new FormData();
formData.append("senderKey", "{senderKey}");
formData.append("templateCode", "{templateCode}");
formData.append("comment", "검수 요청합니다.");
formData.append("attachment", file);
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request", {
method: "POST",
headers: { "Authorization": "{ApiKey}" },
body: formData
});
import requests
response = requests.post(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request",
headers={"Authorization": "{ApiKey}"},
data={"senderKey": "{senderKey}", "templateCode": "{templateCode}", "comment": "검수 요청합니다."},
files={"attachment": open("/path/review-file.pdf", "rb")}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request"))
.header("Authorization", "{ApiKey}")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success"
}
}
템플릿 검수 요청 취소
검수 요청된 알림톡 템플릿의 검수 요청을 취소합니다.
Body Parameters
{} JSONalimtalk
필수Object검수 요청 취소 대상 템플릿 정보입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request/cancel" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "alimtalk": { "senderKey": "{senderKey}", "templateCode": "{templateCode}" } }'응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Body Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
alimtalk | Object | ✅ | 검수 요청 취소 대상 템플릿 정보입니다. |
alimtalk.senderKey | String | ✅ | 발신프로필 키입니다. |
alimtalk.templateCode | String | ✅ | 템플릿 코드입니다. |
요청 예시
curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request/cancel" \
-H "Authorization: {ApiKey}" \
-H "Content-Type: application/json" \
-d '{
"alimtalk": {
"senderKey": "{senderKey}",
"templateCode": "{templateCode}"
}
}'
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request/cancel", {
method: "POST",
headers: { "Authorization": "{ApiKey}", "Content-Type": "application/json" },
body: JSON.stringify({
alimtalk: { senderKey: "{senderKey}", templateCode: "{templateCode}" }
})
});
import requests
response = requests.post(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request/cancel",
headers={"Authorization": "{ApiKey}"},
json={"alimtalk": {"senderKey": "{senderKey}", "templateCode": "{templateCode}"}}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request/cancel"))
.header("Authorization", "{ApiKey}")
.method("POST", HttpRequest.BodyPublishers.ofString("{}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success"
}
}
공용템플릿
카카오에서 제공하는 공용템플릿을 조회하는 API입니다. 공용 템플릿 운영 현황이나 템플릿 구성 예시를 확인할 때 사용합니다.
공용템플릿 조회
카카오에서 제공하는 공용템플릿 목록을 조회합니다. 공용템플릿을 참고해 템플릿 등록이나 운영 정책을 검토할 때 사용합니다.
Query Parameters
since
String조회 기준 시각입니다.
page
Integer조회 페이지 번호입니다.
count
Integer페이지당 조회 건수입니다.
Returns
common
Object공통 응답 영역입니다.
data
Object서비스 응답 영역입니다.
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/public/template?since=20250708000000&page=1&count=100" \ -H "Authorization: {ApiKey}"응답 예시
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "templates": [{ "templateCode":"PUBLIC_ORDER_001", "templateName":"주문 완료 안내", "status":"APR", "categoryCode":"001001", "releaseDate":"2026-04-08 10:00:00", "previewImageUrl":"https://example.kakao.image/public-template.png" }] } }}Query Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
since | String | 조회 기준 시각입니다. default: 20250708000000 | |
page | Integer | 조회 페이지 번호입니다. default: 1 | |
count | Integer | 페이지당 조회 건수입니다. default: 100, max: 1000 |
요청 예시
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/public/template?since=20250708000000&page=1&count=100" \
-H "Authorization: {ApiKey}"
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/public/template?since=20250708000000&page=1&count=100", {
method: "GET",
headers: { "Authorization": "{ApiKey}" }
});
import requests
response = requests.get(
"https://mars.ibapi.kr/api/comm/v1/center/alimtalk/public/template",
params={"since": "20250708000000", "page": 1, "count": 100},
headers={"Authorization": "{ApiKey}"}
)
data = response.json()
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/public/template?since=20250708000000&page=1&count=100"))
.header("Authorization", "{ApiKey}")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
응답 예시
{
"common": {
"authCode": "A000",
"authResult": "Success",
"infobankTrId": "Infobank-Tracking-Id"
},
"data": {
"code": "A000",
"result": "Success",
"data": {
"templates": [{
"templateCode": "PUBLIC_ORDER_001",
"templateName": "주문 완료 안내",
"status": "APR",
"categoryCode": "001001",
"releaseDate": "2026-04-08 10:00:00",
"previewImageUrl": "https://example.kakao.image/public-template.png"
}]
}
}
}