Alimtalk
Alimtalk is the Kakao Biz Message channel for sending informational messages to customers from templates that Kakao has approved. Alongside the send specification, it also provides operational APIs such as template registration, image upload, and review requests.
Send an Alimtalk
Alimtalk uses a single send specification; the messageFlow[].alimtalk.msgType value (AT/AI) distinguishes the text type from the image type.
Body Parameters
{}JSONdestinations
RequiredObject ArrayArray of recipient information. Up to 200 per broadcast send request.
messageFlow
RequiredObject ArrayMessages you add are automatically processed in order as failover messages .
paymentCode
StringDepartment code used for settlement.
groupKey
StringKey that groups messages so you can review statistics together in Message Insight .
idempotencyKey
StringField that identifies the idempotency of a request with an idempotency key .
idempotencyTtl
IntegerTime to live for the idempotency key.
ref
StringRequest reference field.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
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": "{senderKey}", "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" }'Response example
{ "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" }}Reservation send
Registers a reservation so the Alimtalk is delivered at the time you specify. resvSendTime is required. After registering, you can look up, edit, cancel, pause, resume, and manage recipients on the reservation management page.
Body Parameters
{}JSONdestinations
RequiredObject ArrayArray of recipient information. Up to 200 per broadcast send request.
messageFlow
RequiredObject ArrayMessages you add are automatically processed in order as failover messages .
resvSendTime
RequiredStringReservation send time.
resvName
StringName that identifies the reservation.
paymentCode
StringDepartment code used for settlement.
ref
StringRequest reference field.
Returns
common
ObjectCommon response section.
data
ObjectReservation registration response section.
Request example
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": "{senderKey}", "templateCode": "BG_pticket_issued_notice", "text": "#{name}๋์ ์์ฝ์ด ์ ์๋์์ต๋๋ค.", "responseMethod": "push" } }], "resvSendTime": "2026-05-01 10:00:00", "resvName": "์๋ฆผํก ์์ฝ ๋ฐ์ก", "ref": "alimtalk-resv-20260501-001" }'Response example
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "Success", "resvKey": "20260501100000RESV0000000001" }}Send with automatic template substitution
Sends a message by passing only the template code and substitution variables instead of writing the full template payload in the request body. The Bizgo API builds the payload that matches the template code, then substitutes the destinations[].replaceWords values before sending the Alimtalk.
Body Parameters
{} JSONdestinations
RequiredObject ArrayArray of recipient information.
messageFlow
RequiredObject ArrayArray of message specifications.
paymentCode
StringDepartment code used for settlement.
groupKey
StringKey used to group messages and review statistics together.
idempotencyKey
StringKey that identifies request idempotency.
idempotencyTtl
IntegerExpiration time of the idempotency key.
ref
StringRequest reference field.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
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" }'Response example
{ "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" }}Manage templates
An Alimtalk template is an operational asset that you must register, edit, and prepare images for before you send. The APIs you need to compose and register templates are provided here. A registered template must pass Kakao's review before you can send it. For the review criteria and rejection reasons, see Alimtalk template review.
Look up a template
Looks up the details of an Alimtalk template by sender profile key and template code.
Query Parameters
senderKey
RequiredStringSender profile key.
templateCode
RequiredStringTemplate code.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template?senderKey={senderKey}&templateCode={templateCode}" \ -H "Authorization: {ApiKey}"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "alimtalk": { "senderKey":"{senderKey}", "templateCode":"{templateCode}", "text":"#{name}๋, ์ฃผ๋ฌธ์ด ์๋ฃ๋์์ต๋๋ค." } } }}Look up recently changed templates
Looks up Alimtalk templates modified after the time you specify. You can use it as the basis for template refresh or internal synchronization batches.
Query Parameters
senderKey
RequiredStringSender profile key.
senderKeyType
StringSender key type.
since
StringStart time of the lookup range.
page
IntegerPage number.
count
IntegerNumber of records per page.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
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}"Response example
{ "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" }] } } }}Register a template
Registers an Alimtalk template. For image-type or item list-type templates, use the imgUrl and imgName issued by the template image upload API.
Body Parameters
{} JSONalimtalk
RequiredObjectAlimtalk template information.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
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" } }'Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "alimtalk": { "senderKey":"{senderKey}", "templateCode":"ORDER_DONE_001", "text":"#{name}๋, ์ฃผ๋ฌธ์ด ์๋ฃ๋์์ต๋๋ค." } } }}Update a template
Updates a registered Alimtalk template. The range of editable fields can vary with the review status and Kakao policy.
Body Parameters
{} JSONalimtalk
RequiredObjectAlimtalk template information.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
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}๋, ์ฃผ๋ฌธ ์ ์๊ฐ ์๋ฃ๋์์ต๋๋ค." } }'Response example
{ "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 a template
Deletes an Alimtalk template by sender profile key and template code.
Path Parameters
senderKey
RequiredStringSender profile key.
templateCode
RequiredStringCode of the template to delete.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/template/senderKey/{senderKey}/templateCode/{templateCode}" \ -H "Authorization: {ApiKey}"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Upload a template image
Uploads an image used when registering image-type, wide image-type, or item list-type Alimtalk templates. This is a pre-registration API for template images, not an image upload for sending messages.
Body Parameters
FORM-DATAfile
RequiredBinaryBinary of the image file to upload.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/template" \ -H "Authorization: {ApiKey}" \ -F "file=@/path/template-image.jpg"Response example
{ "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" } }}Upload a template item highlight image
Uploads an image used in the item highlight area of an item list-type Alimtalk template. Like the template image upload, this is a pre-registration API for template images.
Body Parameters
FORM-DATAfile
RequiredBinaryBinary of the item highlight image file to upload.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/alimtalk/itemHighlight" \ -H "Authorization: {ApiKey}" \ -F "file=@/path/item-highlight.jpg"Response example
{ "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" } }}Manage template categories
You use template categories to check the template classification that matches Kakao's review and policy criteria. They let you double-check your category choice before you register.
Look up all template categories
Looks up the full list of template categories available when registering an Alimtalk template.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category" \ -H "Authorization: {ApiKey}"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "categories": [{ "code":"001001", "name":"์ฃผ๋ฌธ/์์ฝ", "groupName":"์ปค๋จธ์ค", "inclusion":"์ฃผ๋ฌธ, ์์ฝ, ๊ฒฐ์ ์๋ฆผ", "exclusion":"๊ด๊ณ ์ฑ ์๋ด" }] } }}Look up a template category
Looks up the details of an Alimtalk template category by category code.
Query Parameters
categoryCode
RequiredStringCode of the template category to look up.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/category?categoryCode={categoryCode}" \ -H "Authorization: {ApiKey}"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "category": { "code":"001001", "name":"์ฃผ๋ฌธ/์์ฝ", "groupName":"์ปค๋จธ์ค", "inclusion":"์ฃผ๋ฌธ, ์์ฝ, ๊ฒฐ์ ์๋ฆผ", "exclusion":"๊ด๊ณ ์ฑ ์๋ด" } } }}Template review
You can use an Alimtalk template only after Kakao approves it in review. The review request, review with attachments, and request cancellation APIs are provided in order.
Request a template review
Submits a registered Alimtalk template for Kakao review. You can submit it when the template status is pending and the review status is registered.
Body Parameters
{} JSONalimtalk
RequiredObjectInformation about the Alimtalk template to submit for review.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
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": "๊ฒ์ ์์ฒญํฉ๋๋ค." } }'Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Request a template review (with file attachment)
Submits a registered Alimtalk template for Kakao review together with attachments. Allowed file formats are png, jpg, jpeg, gif, pdf, hwp, doc, and docx.
Body Parameters
FORM-DATAsenderKey
RequiredStringSender profile key.
senderKeyType
StringSender profile key type.
templateCode
RequiredStringTemplate code.
comment
RequiredStringReview comment or inquiry.
attachment
BinaryFile attached to the review request.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
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"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Cancel a template review request
Cancels the review request for an Alimtalk template that has been submitted for review.
Body Parameters
{} JSONalimtalk
RequiredObjectInformation about the template whose review request is canceled.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
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}" } }'Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Public templates
This is the API for looking up the public templates that Kakao provides. Use it to check how public templates are operated or to see examples of template composition.
Look up public templates
Looks up the list of public templates that Kakao provides. Use it to review public templates when registering templates or setting operational policy.
Query Parameters
since
StringReference time for the lookup.
page
IntegerPage number to look up.
count
IntegerNumber of records per page.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/alimtalk/public/template?since=20250708000000&page=1&count=100" \ -H "Authorization: {ApiKey}"Response example
{ "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" }] } }}