알림톡

알림톡은 카카오가 승인한 템플릿을 기반으로 고객에게 정보성 메시지를 발송하는 카카오 비즈메시지 채널입니다. 발송 규격과 함께 템플릿 등록, 이미지 업로드, 검수 요청 등의 운영 API를 함께 제공합니다.

알림톡 발송

POST/api/comm/v1/send/omni

알림톡은 단일 발송 규격을 사용하며, messageFlow[].alimtalk.msgType 값(AT/AI)으로 텍스트형과 이미지형을 구분합니다.

Body Parameters

{}JSON

destinations

필수 Object Array

수신 정보 배열입니다. 동보발송 최대 200건입니다.

messageFlow

필수 Object Array

메시지를 추가하면 순서대로 자동 Fallback 메시지 처리됩니다.

paymentCode

String

정산용 부서 코드입니다.

groupKey

String

메시지 인사이트 에서 그룹으로 묶어서 통계를 확인하기 위해 설정하는 키입니다.

idempotencyKey

String

요청에 대한 멱등함을 구분하는 멱등성 키 필드입니다.

idempotencyTtl

Integer

멱등 처리키 유효시간 입니다.

ref

String

요청 참조 필드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "/api/comm/v1/send/omni" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "destinations": [{ "to": "01012345678", "replaceWords": { "name": "홍길동" } }],
6 "messageFlow": [{
7 "alimtalk": {
8 "msgType": "AT",
9 "senderKey": "PROFILE_KEY",
10 "templateCode": "BG_pticket_issued_notice",
11 "text": "#{name}님의 예약이 접수되었습니다.",
12 "attachment": {
13 "button": [{
14 "type": "WL",
15 "name": "예약 조회",
16 "urlMobile": "https://bizgo.io/m/reservation/123",
17 "urlPc": "https://bizgo.io/reservation/123"
18 }]
19 }
20 }
21 }],
22 "ref": "alimtalk-at-20260331-001"
23 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "data": {
11 "destinations": [{
12 "to": "01012345678",
13 "msgKey": "20260424104234546POM101182450000",
14 "code": "A000",
15 "result": "Success"
16 }]
17 },
18 "ref": "alimtalk-at-20260331-001"
19 }
20}

예약 발송

POST/api/comm/v1/reservation

알림톡을 지정한 시각에 발송하도록 예약 등록합니다. resvSendTime 입력이 필수입니다. 예약 등록 후 조회, 수정, 취소, 중지, 재개, 수신자 관리는 예약 관리 페이지에서 확인할 수 있습니다.

Body Parameters

{}JSON

destinations

필수 Object Array

수신 정보 배열입니다. 동보발송 최대 200건입니다.

messageFlow

필수 Object Array

메시지를 추가하면 순서대로 자동 Fallback 메시지 처리됩니다.

resvSendTime

필수 String

예약 발송 시각입니다.

resvName

String

예약 건을 식별하기 위한 이름입니다.

paymentCode

String

정산용 부서 코드입니다.

ref

String

요청 참조 필드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

예약 등록 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/reservation" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "destinations": [{
6 "to": "01012345678",
7 "replaceWords": {
8 "name": "홍길동"
9 }
10 }],
11 "messageFlow": [{
12 "alimtalk": {
13 "msgType": "AT",
14 "senderKey": "PROFILE_KEY",
15 "templateCode": "BG_pticket_issued_notice",
16 "text": "#{name}님의 예약이 접수되었습니다.",
17 "responseMethod": "push"
18 }
19 }],
20 "resvSendTime": "2026-05-01 10:00:00",
21 "resvName": "알림톡 예약 발송",
22 "ref": "alimtalk-resv-20260501-001"
23 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "resvKey": "20260501100000RESV0000000001"
11 }
12}

템플릿 자동 치환 발송

POST/api/comm/v1/send/omni

템플릿 전문을 요청 본문에 직접 입력하지 않고, 템플릿 코드와 치환 변수만 전달해 발송합니다. Bizgo API가 템플릿 코드에 맞는 전문을 생성한 뒤 destinations[].replaceWords 값을 치환해 알림톡을 발송합니다.

Body Parameters

{} JSON

destinations

필수Object Array

수신 정보 배열입니다.

messageFlow

필수Object Array

메시지 규격 배열입니다.

paymentCode

String

정산용 부서 코드입니다.

groupKey

String

메시지를 그룹으로 묶어 통계를 확인하기 위한 키입니다.

idempotencyKey

String

요청에 대한 멱등성을 구분하는 키입니다.

idempotencyTtl

Integer

멱등성 키 만료시간입니다.

ref

String

요청 참조 필드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/send/omni" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "destinations": [{
6 "to": "01000000000",
7 "replaceWords": {
8 "name": "홍길동",
9 "orderName": "비즈고 이용권",
10 "status": "결제완료"
11 }
12 }],
13 "messageFlow": [{
14 "alimtalk": {
15 "senderKey": "{senderKey}",
16 "templateCode": "{templateCode}",
17 "sendType": "template"
18 }
19 }],
20 "ref": "alimtalk-template-001"
21 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "destinations": [{
12 "to":"01000000000",
13 "msgKey":"AT20260408-000001",
14 "code":"A000",
15 "result":"Success"
16 }]
17 },
18 "ref":"alimtalk-template-001"
19 }
20}

Body Parameters

파라미터타입필수설명
destinationsObject Array수신 정보 배열입니다.
destinations[].toString수신번호입니다. example: 01000000000
destinations[].replaceWordsObject템플릿 변수에 치환할 JSON 객체입니다.
destinations[].refString개별 참조 필드입니다. max: 200
messageFlowObject Array메시지 규격 배열입니다.
messageFlow[].alimtalkObject알림톡 메시지 정보입니다.
messageFlow[].alimtalk.senderKeyString카카오 비즈메시지 발신프로필 키입니다.
messageFlow[].alimtalk.templateCodeString알림톡 템플릿 코드입니다.
messageFlow[].alimtalk.sendTypeString템플릿 변수 자동 치환 발송 타입입니다.
template을 입력합니다.
messageFlow[].alimtalk.responseMethodString카카오 요청 응답 수신 방식입니다.
push 또는 polling. default: push
messageFlow[].alimtalk.timeoutStringpolling 발송 시 수신 결과를 기다리는 시간입니다.
min: 10, max: 86400, default: 180
messageFlow[].alimtalk.priceString메시지에 포함된 가격 또는 결제 금액입니다.
messageFlow[].alimtalk.currencyTypeString가격 또는 결제 금액의 통화 단위입니다. example: KRW
paymentCodeString정산용 부서 코드입니다. max: 20
groupKeyString메시지를 그룹으로 묶어 통계를 확인하기 위한 키입니다. max: 64
idempotencyKeyString요청에 대한 멱등성을 구분하는 키입니다. max: 200
idempotencyTtlInteger멱등성 키 만료시간입니다. min: 1, max: 86400
refString요청 참조 필드입니다. max: 200

요청 예시

Bash
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"
  }'
JavaScript
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"
  })
});
Python
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()
Java
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()
);

응답 예시

JSON
{
  "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를 함께 제공합니다.

템플릿 조회

GET/api/comm/v1/center/alimtalk/template

발신프로필 키와 템플릿 코드를 기준으로 알림톡 템플릿 상세 정보를 조회합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

templateCode

필수String

템플릿 코드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template?senderKey={senderKey}&templateCode={templateCode}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "alimtalk": {
12 "senderKey":"{senderKey}",
13 "templateCode":"{templateCode}",
14 "text":"#{name}, 주문이 완료되었습니다."
15 }
16 }
17 }
18}

Query Parameters

파라미터타입필수설명
senderKeyString발신프로필 키입니다.
templateCodeString템플릿 코드입니다.

요청 예시

Bash
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template?senderKey={senderKey}&templateCode={templateCode}" \
  -H "Authorization: {ApiKey}"
JavaScript
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template?senderKey={senderKey}&templateCode={templateCode}", {
  method: "GET",
  headers: { "Authorization": "{ApiKey}" }
});
Python
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()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success",
    "data": {
      "alimtalk": {
        "senderKey": "{senderKey}",
        "templateCode": "{templateCode}",
        "text": "#{name}님, 주문이 완료되었습니다."
      }
    }
  }
}

최근 변경 템플릿 조회

GET/api/comm/v1/center/alimtalk/template/lastModified

지정한 시각 이후 최근 변경된 알림톡 템플릿 목록을 조회합니다. 템플릿 최신화나 내부 동기화 배치 기준으로 사용할 수 있습니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

senderKeyType

String

발신키 유형입니다.

since

String

조회 시작 시각입니다.

page

Integer

페이지 번호입니다.

count

Integer

페이지당 조회 건수입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -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" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "alimtalk": {
12 "templates": [{
13 "senderKey":"{senderKey}",
14 "msgType":"AT",
15 "templateCode":"ORDER_DONE_001",
16 "templateName":"주문 완료 안내",
17 "templateMessageType":"BA",
18 "templateEmphasizeType":"NONE",
19 "text":"#{name}, 주문이 완료되었습니다.",
20 "categoryCode":"001001",
21 "inspectionStatus":"APR",
22 "status":"APR"
23 }]
24 }
25 }
26 }
27}

Query Parameters

파라미터타입필수설명
senderKeyString발신프로필 키입니다. max: 40
senderKeyTypeString발신키 유형입니다. default: S
sinceString조회 시작 시각입니다.
yyyy-MM-dd'T'HH:mm:ss 형식. example: 2026-04-23T09:00:00
pageInteger페이지 번호입니다. default: 1, min: 1
countInteger페이지당 조회 건수입니다. default: 100, min: 1

요청 예시

Bash
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}"
JavaScript
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}" }
});
Python
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()
Java
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());

응답 예시

JSON
{
  "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"
        }]
      }
    }
  }
}

템플릿 등록

POST/api/comm/v1/center/alimtalk/template

알림톡 템플릿을 등록합니다. 이미지형 또는 아이템리스트형 템플릿은 템플릿 이미지 업로드 API로 발급받은 imgUrl과 imgName을 함께 사용합니다.

Body Parameters

{} JSON

alimtalk

필수Object

알림톡 템플릿 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "alimtalk": {
6 "senderKey": "{senderKey}",
7 "templateName": "주문 완료 안내",
8 "templateCode": "ORDER_DONE_001",
9 "templateMessageType": "BA",
10 "templateEmphasizeType": "NONE",
11 "text": "#{name}님, 주문이 완료되었습니다.",
12 "categoryCode": "001001"
13 }
14 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "alimtalk": {
12 "senderKey":"{senderKey}",
13 "templateCode":"ORDER_DONE_001",
14 "text":"#{name}, 주문이 완료되었습니다."
15 }
16 }
17 }
18}

Body Parameters

파라미터타입필수설명
alimtalkObject알림톡 템플릿 정보입니다.
alimtalk.senderKeyString카카오 비즈메시지 발신프로필 키입니다.
alimtalk.senderKeyTypeString발신프로필 키 타입입니다.
G: 그룹, S: 발신프로필
default: S
alimtalk.templateNameString템플릿 이름입니다. max: 200
alimtalk.templateCodeString알림톡 템플릿 코드입니다. max: 30
alimtalk.templateMessageTypeString템플릿 메시지 타입입니다.
BA: 기본형, EX: 부가 정보형(extra 필수), AD: 채널 추가형, MI: 복합형(extra 필수)
alimtalk.templateEmphasizeTypeString템플릿 강조 타입입니다.
NONE: 선택 안함, IMAGE: 이미지(imgName·imgUrl 필수), TEXT: 강조표기(title·subTitle 필수), ITEM_LIST: 아이템 리스트
alimtalk.textString알림톡 템플릿 본문입니다. max: 1,300
alimtalk.titleString강조표기형 템플릿 제목입니다. max: 50
alimtalk.headerString메시지 상단에 표시할 제목입니다.
alimtalk.imgNameString템플릿 이미지 파일 이름입니다.
alimtalk.imgUrlString템플릿 이미지 URL입니다.
alimtalk.linkObject대표 링크 정보입니다.
alimtalk.link.urlPcStringPC 환경에서 버튼 클릭 시 이동할 URL입니다.
alimtalk.link.urlMobileString모바일 환경에서 버튼 클릭 시 이동할 URL입니다.
alimtalk.link.schemeAndroidStringAndroid 환경에서 버튼 클릭 시 실행할 커스텀 스킴입니다.
alimtalk.link.schemeIosStringiOS 환경에서 버튼 클릭 시 실행할 커스텀 스킴입니다.
alimtalk.attachmentObject버튼, 아이템, 하이라이트 등 첨부 정보입니다.
alimtalk.attachment.buttonObject Array버튼 정보입니다.
alimtalk.attachment.button[].typeString카카오 버튼 타입 코드입니다.
alimtalk.attachment.button[].nameString카카오 버튼명입니다.
alimtalk.attachment.button[].urlPcStringPC 환경에서 버튼 클릭 시 이동할 URL입니다.
alimtalk.attachment.button[].urlMobileString모바일 환경에서 버튼 클릭 시 이동할 URL입니다.
alimtalk.attachment.itemObject아이템 정보입니다.
alimtalk.attachment.item.listObject Array아이템 리스트입니다. min: 2, max: 10
alimtalk.attachment.item.list[].titleString아이템 타이틀입니다. max: 6
alimtalk.attachment.item.list[].descriptionString아이템 부가정보입니다. max: 23
alimtalk.attachment.item.summaryObject아이템 요약 정보입니다.
alimtalk.attachment.item.summary.titleString요약 타이틀입니다. max: 6
alimtalk.attachment.item.summary.descriptionString요약 가격정보입니다. max: 14
alimtalk.attachment.itemHighlightObject아이템 하이라이트 정보입니다.
alimtalk.attachment.itemHighlight.titleString아이템 하이라이트 타이틀입니다. max: 30
alimtalk.attachment.itemHighlight.descriptionString아이템 하이라이트 부가정보입니다. max: 19
alimtalk.supplementObject바로연결 정보입니다.
alimtalk.supplement.quickReplyObject Array바로연결 정보입니다.
alimtalk.supplement.quickReply[].typeString바로연결 타입 코드입니다.
alimtalk.supplement.quickReply[].nameString바로연결 제목입니다. max: 14
alimtalk.categoryCodeString템플릿 카테고리 코드입니다.
alimtalk.securityFlagString보안 템플릿 여부입니다. true 또는 false

요청 예시

Bash
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"
    }
  }'
JavaScript
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"
    }
  })
});
Python
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()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success",
    "data": {
      "alimtalk": {
        "senderKey": "{senderKey}",
        "templateCode": "ORDER_DONE_001",
        "text": "#{name}님, 주문이 완료되었습니다."
      }
    }
  }
}

템플릿 수정

PUT/api/comm/v1/center/alimtalk/template

등록된 알림톡 템플릿 정보를 수정합니다. 검수 상태와 카카오 정책에 따라 수정 가능한 범위가 달라질 수 있습니다.

Body Parameters

{} JSON

alimtalk

필수Object

알림톡 템플릿 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X PUT "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "alimtalk": {
6 "senderKey": "{senderKey}",
7 "templateCode": "ORDER_DONE_001",
8 "templateName": "주문 완료 안내 수정",
9 "templateMessageType": "BA",
10 "templateEmphasizeType": "NONE",
11 "text": "#{name}님, 주문 접수가 완료되었습니다."
12 }
13 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "alimtalk": {
12 "senderKey":"{senderKey}",
13 "templateCode":"ORDER_DONE_001",
14 "text":"#{name}, 주문 접수가 완료되었습니다."
15 }
16 }
17 }
18}

Body Parameters

템플릿 등록과 동일한 파라미터 구조를 사용합니다. (템플릿 등록 Body Parameters 참고)

요청 예시

Bash
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}님, 주문 접수가 완료되었습니다."
    }
  }'
JavaScript
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}님, 주문 접수가 완료되었습니다."
    }
  })
});
Python
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()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success",
    "data": {
      "alimtalk": {
        "senderKey": "{senderKey}",
        "templateCode": "ORDER_DONE_001",
        "text": "#{name}님, 주문 접수가 완료되었습니다."
      }
    }
  }
}

템플릿 삭제

DELETE/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}

발신프로필 키와 템플릿 코드를 기준으로 알림톡 템플릿을 삭제합니다.

Path Parameters

senderKey

필수String

발신프로필 키입니다.

templateCode

필수String

삭제할 템플릿 코드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Path Parameters

파라미터타입필수설명
senderKeyString발신프로필 키입니다.
templateCodeString삭제할 템플릿 코드입니다.

요청 예시

Bash
curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}" \
  -H "Authorization: {ApiKey}"
JavaScript
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}", {
  method: "DELETE",
  headers: { "Authorization": "{ApiKey}" }
});
Python
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()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success"
  }
}

템플릿 이미지 업로드

POST/api/comm/v1/file/alimtalk/template

알림톡 이미지형, 와이드 이미지형, 아이템리스트형 템플릿 등록에 사용할 이미지를 업로드합니다. 메시지 발송용 이미지 업로드가 아니라 템플릿 등록을 위한 사전 이미지 등록 API입니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/template" \
2 -H "Authorization: {ApiKey}" \
3 -F "file=@/path/template-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://example.kakao.image/template-image.jpg",
12 "fileName":"template-image.jpg"
13 }
14 }
15}

Body Parameters (FORM-DATA)

파라미터타입필수설명
fileBinary업로드할 이미지 파일 바이너리입니다.
권장 사이즈: 800×400px, 가로: 500px 이상, 비율: 세로÷가로=0.5
파일 형식: jpg, png
max: 500KB

요청 예시

Bash
curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/template" \
  -H "Authorization: {ApiKey}" \
  -F "file=@/path/template-image.jpg"
JavaScript
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
});
Python
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()
Java
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());

응답 예시

JSON
{
  "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"
    }
  }
}

템플릿 하이라이트 이미지 업로드

POST/api/comm/v1/file/alimtalk/itemHighlight

아이템리스트형 알림톡 템플릿의 아이템 하이라이트 영역에 사용할 이미지를 업로드합니다. 템플릿 이미지 업로드와 동일하게 템플릿 등록을 위한 사전 이미지 등록 API입니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 아이템 하이라이트 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/itemHighlight" \
2 -H "Authorization: {ApiKey}" \
3 -F "file=@/path/item-highlight.jpg"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://example.kakao.image/item-highlight.jpg",
12 "fileName":"item-highlight.jpg"
13 }
14 }
15}

Body Parameters (FORM-DATA)

파라미터타입필수설명
fileBinary업로드할 아이템 하이라이트 이미지 파일 바이너리입니다.
제한 사이즈: 108×108px 이상, 비율: 세로÷가로=1
파일 형식: jpg, png
max: 500KB

요청 예시

Bash
curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/itemHighlight" \
  -H "Authorization: {ApiKey}" \
  -F "file=@/path/item-highlight.jpg"
JavaScript
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
});
Python
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()
Java
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());

응답 예시

JSON
{
  "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"
    }
  }
}

템플릿 카테고리 관리

템플릿 카테고리는 카카오 검수와 정책 기준에 맞는 템플릿 분류를 확인할 때 사용합니다. 등록 전 카테고리 선택 기준을 점검할 수 있습니다.

템플릿 카테고리 전체 조회

GET/api/comm/v1/center/alimtalk/category

알림톡 템플릿 등록 시 사용할 수 있는 템플릿 카테고리 전체 목록을 조회합니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "categories": [{
12 "code":"001001",
13 "name":"주문/예약",
14 "groupName":"커머스",
15 "inclusion":"주문, 예약, 결제 알림",
16 "exclusion":"광고성 안내"
17 }]
18 }
19 }
20}

요청 예시

Bash
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category" \
  -H "Authorization: {ApiKey}"
JavaScript
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category", {
  method: "GET",
  headers: { "Authorization": "{ApiKey}" }
});
Python
import requests

response = requests.get(
    "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category",
    headers={"Authorization": "{ApiKey}"}
)
data = response.json()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success",
    "data": {
      "categories": [{
        "code": "001001",
        "name": "주문/예약",
        "groupName": "커머스",
        "inclusion": "주문, 예약, 결제 알림",
        "exclusion": "광고성 안내"
      }]
    }
  }
}

템플릿 카테고리 조회

GET/api/comm/v1/center/alimtalk/category

카테고리 코드를 기준으로 알림톡 템플릿 카테고리 상세 정보를 조회합니다.

Query Parameters

categoryCode

필수String

조회할 템플릿 카테고리 코드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category?categoryCode={categoryCode}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "category": {
12 "code":"001001",
13 "name":"주문/예약",
14 "groupName":"커머스",
15 "inclusion":"주문, 예약, 결제 알림",
16 "exclusion":"광고성 안내"
17 }
18 }
19 }
20}

Query Parameters

파라미터타입필수설명
categoryCodeString조회할 템플릿 카테고리 코드입니다.

요청 예시

Bash
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category?categoryCode={categoryCode}" \
  -H "Authorization: {ApiKey}"
JavaScript
const res = await fetch("https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category?categoryCode={categoryCode}", {
  method: "GET",
  headers: { "Authorization": "{ApiKey}" }
});
Python
import requests

response = requests.get(
    "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category",
    params={"categoryCode": "{categoryCode}"},
    headers={"Authorization": "{ApiKey}"}
)
data = response.json()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success",
    "data": {
      "category": {
        "code": "001001",
        "name": "주문/예약",
        "groupName": "커머스",
        "inclusion": "주문, 예약, 결제 알림",
        "exclusion": "광고성 안내"
      }
    }
  }
}

템플릿 검수

알림톡 템플릿은 카카오 검수 승인 이후에 사용할 수 있습니다. 검수 요청과 첨부 검수, 요청 취소 API를 순서대로 제공합니다.

템플릿 검수 요청

POST/api/comm/v1/center/alimtalk/template/request

등록된 알림톡 템플릿을 카카오 검수로 요청합니다. 템플릿 상태가 대기이고 검수 상태가 등록인 경우 요청할 수 있습니다.

Body Parameters

{} JSON

alimtalk

필수Object

검수 요청할 알림톡 템플릿 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "alimtalk": {
6 "senderKey": "{senderKey}",
7 "templateCode": "{templateCode}",
8 "comment": "검수 요청합니다."
9 }
10 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Body Parameters

파라미터타입필수설명
alimtalkObject검수 요청할 알림톡 템플릿 정보입니다.
alimtalk.senderKeyString발신프로필 키입니다.
alimtalk.senderKeyTypeString발신프로필 키 타입입니다.
G: 그룹, S: 발신프로필
default: S
alimtalk.templateCodeString템플릿 코드입니다.
alimtalk.commentString검수 의견 또는 문의 사항입니다.

요청 예시

Bash
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": "검수 요청합니다."
    }
  }'
JavaScript
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: "검수 요청합니다." }
  })
});
Python
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()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success"
  }
}

템플릿 검수 요청(파일첨부)

POST/api/comm/v1/center/alimtalk/template/request

등록된 알림톡 템플릿을 첨부 파일과 함께 카카오 검수로 요청합니다. 파일 형식은 png, jpg, jpeg, gif, pdf, hwp, doc, docx를 사용할 수 있습니다.

Body Parameters

FORM-DATA

senderKey

필수String

발신프로필 키입니다.

senderKeyType

String

발신프로필 키 타입입니다.

templateCode

필수String

템플릿 코드입니다.

comment

필수String

검수 의견 또는 문의 사항입니다.

attachment

Binary

검수 요청에 첨부할 파일입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request" \
2 -H "Authorization: {ApiKey}" \
3 -F "senderKey={senderKey}" \
4 -F "templateCode={templateCode}" \
5 -F "comment=검수 요청합니다." \
6 -F "attachment=@/path/review-file.pdf"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Body Parameters (FORM-DATA)

파라미터타입필수설명
senderKeyString발신프로필 키입니다.
senderKeyTypeString발신프로필 키 타입입니다. G: 그룹, S: 발신프로필. default: S
templateCodeString템플릿 코드입니다.
commentString검수 의견 또는 문의 사항입니다.
attachmentBinary검수 요청에 첨부할 파일입니다.
max: 10 files, 파일 max: 50MB, total max: 100MB
형식: png, jpg, jpeg, gif, pdf, hwp, doc, docx

요청 예시

Bash
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"
JavaScript
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
});
Python
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()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success"
  }
}

템플릿 검수 요청 취소

POST/api/comm/v1/center/alimtalk/template/request/cancel

검수 요청된 알림톡 템플릿의 검수 요청을 취소합니다.

Body Parameters

{} JSON

alimtalk

필수Object

검수 요청 취소 대상 템플릿 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/request/cancel" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "alimtalk": {
6 "senderKey": "{senderKey}",
7 "templateCode": "{templateCode}"
8 }
9 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Body Parameters

파라미터타입필수설명
alimtalkObject검수 요청 취소 대상 템플릿 정보입니다.
alimtalk.senderKeyString발신프로필 키입니다.
alimtalk.templateCodeString템플릿 코드입니다.

요청 예시

Bash
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}"
    }
  }'
JavaScript
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}" }
  })
});
Python
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()
Java
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());

응답 예시

JSON
{
  "common": {
    "authCode": "A000",
    "authResult": "Success",
    "infobankTrId": "Infobank-Tracking-Id"
  },
  "data": {
    "code": "A000",
    "result": "Success"
  }
}

공용템플릿

카카오에서 제공하는 공용템플릿을 조회하는 API입니다. 공용 템플릿 운영 현황이나 템플릿 구성 예시를 확인할 때 사용합니다.

공용템플릿 조회

GET/api/comm/v1/center/alimtalk/public/template

카카오에서 제공하는 공용템플릿 목록을 조회합니다. 공용템플릿을 참고해 템플릿 등록이나 운영 정책을 검토할 때 사용합니다.

Query Parameters

since

String

조회 기준 시각입니다.

page

Integer

조회 페이지 번호입니다.

count

Integer

페이지당 조회 건수입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/public/template?since=20250708000000&page=1&count=100" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "templates": [{
12 "templateCode":"PUBLIC_ORDER_001",
13 "templateName":"주문 완료 안내",
14 "status":"APR",
15 "categoryCode":"001001",
16 "releaseDate":"2026-04-08 10:00:00",
17 "previewImageUrl":"https://example.kakao.image/public-template.png"
18 }]
19 }
20 }
21}

Query Parameters

파라미터타입필수설명
sinceString조회 기준 시각입니다. default: 20250708000000
pageInteger조회 페이지 번호입니다. default: 1
countInteger페이지당 조회 건수입니다. default: 100, max: 1000

요청 예시

Bash
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/public/template?since=20250708000000&page=1&count=100" \
  -H "Authorization: {ApiKey}"
JavaScript
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}" }
});
Python
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()
Java
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());

응답 예시

JSON
{
  "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"
      }]
    }
  }
}