Skip to content

KakaoTalk AlimTalk from your own channel

When an app group has a KakaoTalk channel linked and an approved template mapped to the otp purpose, verification codes for Korean phone numbers go out as AlimTalk under your Kakao channel instead of SMS. Every other case (non-Korean number, no channel, template not approved, insufficient prepaid credit, vendor error) falls back to SMS, so enabling this never blocks a login.

AlimTalk is metered per message from the organization’s prepaid credit at the list price in the pricing table (pass-through, no markup). A message the vendor rejects is refunded. AlimTalk is sent without SMS fallback (알림톡 전용): a recipient who cannot receive AlimTalk gets the SMS path instead (SMS coverage).

  1. Korean Package add-on on the organization. Everything below returns 402 { error: "ADDON_REQUIRED" } without it.
  2. A Kakao business channel, created by you at Kakao Business and switched to a business channel (Kakao verifies the business registration, 2–3 business days). The channel’s home must be public.
  3. The phone number registered for the channel admin at Kakao Business. Kakao sends the verification code to that admin’s KakaoTalk; nobody else can receive it.

Open the app group → Korean Package tab. Everything happens on that page; no external window opens.

  1. Link the channel — enter the channel’s search ID (@yourchannel), the channel admin’s mobile number and a category, then Request code. Kakao delivers a 6-digit code to the admin’s KakaoTalk. Enter it and press Link. If another app in the same organization already linked that channel, pick it from Channels already linked and it connects at once.
  2. Templates — for each purpose the recommended text is shown. Press Request review with this text; Kakao reviews it (about 2 business days). The status (requested → in review → approved / rejected, with the reason) is listed under the purpose. Once approved, pick it in the dropdown and Save.

The otp template carries two variables, #{service} (the app group name) and #{code}; Axowl fills both.

All routes are under /api/org/{slug}/app-groups/{groupId}/kakao and use the dashboard session (cookie + CSRF), like the other app-group settings.

MethodPathScopePurpose
GET/org.app_group.readStatus: linked channel and sender-profile state, every template with its review status and last reviewer comment, current purpose mapping, recommended bodies, channels other app groups in the organization already linked
GET/categoriesorg.app_group.readSender-profile categories [{ code, path }] for the registration form
POST/sender/requestorg.app_group.update{ plusFriendId, phoneNo, categoryCode } — sends the verification code to the channel admin. Returns { reused: true } and links immediately when the organization already registered that channel
POST/sender/verifyorg.app_group.update{ plusFriendId, token } — confirms the code; the sender key is stored on the app group
DELETE/senderorg.app_group.updateUnlinks the channel from this app group and clears the template mapping (the sender profile itself is kept — other app groups may share it)
POST/templatesorg.app_group.update{ purpose } — registers the recommended text for that purpose as a new template, which starts Kakao review
DELETE/templates/{code}org.app_group.updateDeletes a requested or rejected template
PUT/org.app_group.updateSave { templateMap } (purpose → approved template code)

PUT re-validates every code against the vendor’s template list: a code that is not approved is rejected with 400 TEMPLATE_NOT_APPROVED.

Errors you will see:

StatuserrorMeaning
402ADDON_REQUIREDKorean Package not active
400INVALID_CHANNEL_ID / INVALID_PHONE / CATEGORY_REQUIREDRegistration form value rejected before calling the vendor
409CHANNEL_REQUIREDLink a channel before working with templates
502VENDOR_REJECTEDThe messaging vendor refused — code and detail carry its reason (Korean)
503—Vendor credentials not configured on this environment

appgroup.kakao.channel_linked · appgroup.kakao.channel_changed · appgroup.kakao.channel_unlinked carry the channel id and template map. They appear in the organization’s audit timeline like other app-group changes.