Message templates and service name
The two OTP message forms, how to set and get approval for your app's service name, and how to ask for additional templates.
K-OTP sends codes with pre-registered KakaoTalk AlimTalk templates, so the message text is fixed. The only thing that can differ per app is the service name, shown right after the [K-OTP] prefix so recipients know which service is asking for the code.
The two forms
The plain message has no service name. The named message adds your approved service name (here 마이앱) after the prefix:
| Purpose | Plain message | Named message |
|---|---|---|
| Default | [K-OTP] 인증번호는 123456입니다. 3분 내에 입력해주세요. | [K-OTP] 마이앱 인증번호는 123456입니다. 3분 내에 입력해주세요. |
Login (login) | [K-OTP] 로그인 인증번호는 123456입니다. 3분 내에 입력해주세요. | [K-OTP] 마이앱 로그인 인증번호는 123456입니다. 3분 내에 입력해주세요. |
Sign-up (signup) | [K-OTP] 회원가입 인증번호는 123456입니다. 3분 내에 입력해주세요. | [K-OTP] 마이앱 회원가입 인증번호는 123456입니다. 3분 내에 입력해주세요. |
Payment (payment) | [K-OTP] 결제 인증번호는 123456입니다. 3분 내에 입력해주세요. | [K-OTP] 마이앱 결제 인증번호는 123456입니다. 3분 내에 입력해주세요. |
The code (123456 above) is the only value that changes per send. See Channels and SMS fallback for which templates are available today.
K-OTP uses the named message only when both are true: your app has an approved service name, and the named template itself is approved by KakaoTalk. In every other case it sends the plain message, so a pending or rejected name never blocks a send.
Setting your service name
The service name belongs to the app and is set in the console, not in the API request:
- Open the app and go to Settings.
- Enter the name under Service name in messages; the preview shows all four messages.
- Submit it for review. Only organization owners and admins can change it.
Rules for the name:
- 1 to 12 characters: Korean syllables, English letters, digits, and single spaces between words.
- No symbols, emoji, URLs, or contact details.
- Names that could be mistaken for a bank, card company, carrier, public body, large platform, or an official notice (for example "customer center" or "identity verification") are not accepted. If it is your own brand, contact support.
Every new or changed name is reviewed by an operator before it is used. The status is shown next to the field:
| Status | Messages are sent |
|---|---|
| Not set | without a service name |
| Under review | without a service name |
| Approved | with the service name, once the named template is live |
| Rejected | without a service name (the note says why) |
Changing an approved name sends it back to review; until the new name is approved, messages go out without a service name. Removing the name returns the app to the plain message at once. An approved name reaches the API within about a minute (the API caches key data for up to 60 seconds).
Because the name comes from the console, it cannot be set, overridden, or injected per request: there is no templateVariables entry for it.
Additional templates
Extra templates (for example another purpose wording) are added on request, not self-service. Contact support with your use case. A template must meet all of these:
- It is for OTP or verification codes only.
- It keeps the
[K-OTP]prefix. - Its only variables are the code and the approved service name.
- No free text, URLs, or buttons.
KakaoTalk reviews every template, which usually takes a few days, and a template is not available until it is approved. There is no guarantee that a requested template is approved.
Your own KakaoTalk channel
Sending from your own KakaoTalk sender profile instead of K-OTP's, under your own name, may be offered in the future. There is no schedule or price for it yet.