Skip to content
English
  • There are no suggestions because the search field is empty.

Viber Transactional & OTP Message Templates

From July 1, 2026, templates are mandatory for all Transactional Viber Business Messages.

This includes messages such as order confirmations, appointment reminders, and one-time passwords (OTPs), which will no longer support free-form text.

Transactional Message Templates are structured, text-only message formats that allow businesses to send standardized messages using dynamic parameters for personalization.

This requirement applies only to transactional messaging and does not affect promotional Viber campaigns.

The Two Categories

Viber supports two types of transactional templates:

Category Description
Transactional Used for customer notifications such as order confirmations, appointment reminders, and service updates.
OTP Used for authentication flows requiring a one-time password. 

Part 1 — Creating a Template

Step 1 — Create the Template on Apifon's Platform

Templates are created through the Apifon platform, not via the API.

If you send via the API, you will first need to create the template on Apifon's platform and then provide its Viber Template ID. 

  1. Go to mookee.apifon.com and log in.
  2. In the left menu, click Templates.
     
    Dashboard - Templates
  3. Select the Viber Template tab.

    VIBER TEMPLATE TAB

    Here you can view, search, preview, delete, and check the status and ID of your templates.

    Transactional Template (1)

  4. Click the + Add button.



  5. Select Transactional as the template type.

    TRANSACTIONAL OR PROMO

  6. Choose either OTP or Transactional as the category. Each category has different requirements; for example, OTP templates require a single-use PIN.

    OTP OR TRANSACTIONAL

  7. Provide a descriptive name and language of your template.

    template name & language

  8. Select Viber Sender ID from the dropdown. This must be one of your registered Viber senders. If no senders appear, you need to set up a Viber Sender ID first.

    Viber Sender ID

Step 2 — Define Your Parameters and Message Body

  1. On the right side, under the message preview, click Add Variable. Enter a Variable name and an Example value, then click Add & Insert
    • Variable name — the placeholder name (e.g., NAME, ORDER). This is what goes inside  in the message body.
    • Example value — a sample value for preview purposes (e.g., Maria, A-4471).

      Add Variable  

  2. In the center area, write your message body.

    Transactional - Message Content


    Use the add variable button to insert variable names as  in the body of your message.
  3. Follow all validation rules shown in the top-right of the template editor (character limits, formatting guidelines, etc.).
  4. When ready, click Submit for Approval.

If the body or parameters fail UI validation, the submission is rejected immediately, and nothing is saved.

Rakuten Viber's value rules: 

  • Maximum 125 characters per value.

  • Add up to 8 variables.

Step 3 — Track Approval and Get the Template ID

  1. Back on the Templates menu, click the Transactional filter to see only your transactional templates.
  2. Wait for Viber's review. The status updates automatically:

    Status Meaning
    PENDING Submitted, waiting on Viber's review 
    APPROVED Viber accepted the template 
    DECLINED Viber rejected the template. Create a new template with the required changes and resubmit it for approval. 
  3. Once APPROVED, you are ready to send. 

Click the Copy icon to copy the Viber Template ID. This ID is required when sending messages with this template via the API.

image-png-Jun-12-2026-12-31-02-7271-PM

Part 2 — Sending a Message with a Template through API

First, study our public API Documentation for detailed instructions on sending and managing Viber Template requests.

Step 1 — Reference the Template

In the send request, place the template_id on the Viber channel entry.

Step 2 — Provide Values for Each Recipient

Each recipient carries their own set of personalization values. For every parameter the template declares, the recipient must supply a matching value.

The Most Important Thing to Understand — Variable Name Matching

Variable names must match exactly.

When you build a template on the Apifon platform, you choose the variable names yourself. In the message body, each variable is wrapped in double curly braces.

Those exact names must then appear in the subscriber fields of the API request. Each recipient carries a params block, and that block must contain a key for every variable name the template declares, spelled exactly the same (names are case-sensitive).

Variable Matching Rules

Scenario Result
A variable (e.g. ORDER) is missing from a subscriber's params The request was rejected (403). Please name the subscriber and the missing variable.
The name is spelled differently (Order vs ORDER) Treated as missing → rejected. Names must match exactly.
A subscriber has extra params that the template doesn't use Fine — extras are ignored. Only declared names are read.
A value exceeds 125 characters or contains a link Rejected, naming the subscriber and variable.

Step 3 — Delivery

Valid requests pass through the platform's normal pipeline and are delivered to Viber as transactional template messages, with the approved wording filled in per recipient. Billing is automatically at the transactional rate.

Start creating your first template today!