1. | Knowledge Base
  2. Viber Business Messages service

How to start with Viber via our Omnichannel API after registration and what types of messages can I send?

The following article provides an overview of Viber Business Messages service, supported via Messente's Omnichannel API.

We recommend using our ready-made libraries to set-up and send Viber Business Messages via Omnichannel API.

Omnichannel API supports:

  • sending Viber Business Messages including text, images, buttons or links and optionally using SMS as the primary or fallback channel;
  • receiving Viber Delivery statuses and Viber Seen statuses;
  • receiving separate mobile-originated (MO) response messages from the recipient (MO messages are not charged additionally by Viber);
  • an optional custom auto-reply to all incoming (MO) messages up to 1000 characters, which is set up on Messente’s side (no development required from the brand), for example, in cases where the business is unable or unwilling to receive messages from users, or willing to direct users towards a certain process (e.g. to contact their support) or source of information (e.g. link to FAQ, knowledge base)

The Delivery Report statuses are the following:

  • Rejected - no Viber app available on the recipient’s mobile device.
  • Expired - the recipient has a Viber app available, but the delivery request expired due to TTL (time-to-live) running out.
  • Sent - the recipient has a Viber, but the recipient is out of reach, due to which the delivery is pending/being retried by Viber.
  • Delivered - the message was successfully delivered to the recipient's number.
  • Seen - the message was delivered and opened by the recipient.


The error codes, accompanying the delivery reports, are:

  • 0 - No issues, the message has been delivered to the recipient.
  • 2 - the recipient has a Viber app available, but the delivery request expired due to TTL (time-to-live) running out.
  • 8 - The recipient has used opted out of your Viber messages within the Viber app.
  • 10 - The recipient doesn't have Viber installed, the message is rejected because it can't be delivered.

Supported content combinations:
  • Text only
  • Text + Button
  • Text + Button + Image
  • Image only

Supported content details:

  • Text - each Viber message can contain up to 1000 characters (any alphabet, including e.g. Japanese, Korean, Cyrillic) characters. Spaces and special characters (emojis) will also be counted towards the limit. Emojis can be added to the message using emoji codes.
  • Button – when sending a promotional message containing a button, the text of the button can contain a maximum of 30 characters. You must also provide the URL users are directed to or the action performed when pressing the action button. The button can only be used together with Image, Text, or Text and Image.
  • Image (.jpg, .jpeg, .png, .bmp, .gif, .svg, .webp) - there is no specific size limit. The customer will need to include the public URL for the image in the API request. The image can be sent as a standalone image or together with Text and Button.

Additional text formatting options:

  • If you want to send a message that uses markdown symbols, add a space after the first symbol or before the last symbol to avoid formatting the text. For example:
    • *viber* will be viber
    • * viber* will be * viber*

  • Formatted messages from users will be received on callback text with markdowns.
  • Only users with Viber version 14.6 and above will be able to see formatting in messages; users with older versions will see the markdowns instead.
  • Formatted text is not available for use in templates. Requests with markdowns will not be approved.