Skip to main content

Viber Message

Sending Viber messages with Omnichannel API.


tip

The easiest way to use Omnichannel API is with our official libraries. Libraries will take care of authentication, request validation and response handling.

Send Viber Message

Use the following example to send a Viber Message using Omnichannel API.

# pip install messente-api

from pprint import pprint
from messente_api import (
OmnimessageApi,
Omnimessage,
Configuration,
ApiClient,
Viber,
OmnimessageMessagesInner,
)
from messente_api.rest import ApiException

configuration = Configuration()
configuration.username = "YOUR_MESSENTE_API_USERNAME"
configuration.password = "YOUR_MESSENTE_API_PASSWORD"

api_instance = OmnimessageApi(ApiClient(configuration))

viber = Viber(sender="<sender name (optional)>", text="hello viber")
viber_inner = OmnimessageMessagesInner(viber)

omnimessage = Omnimessage(
messages=[viber_inner], to="<recipient_phone_number>"
)

try:
response = api_instance.send_omnimessage(omnimessage)
print(
"Successfully sent Omnimessage with id: %s that consists of the following messages:" % response.omnimessage_id
)
for message in response.messages:
pprint(message)
except ApiException as exception:
print("Exception when sending an omnimessage: %s\n" % exception)

The API will return a response with an omnimessage_id, as well as a message_id for each "sub-message" (fallback channel). You can use these IDs to track the delivery status of the message.

{
"messages": [
{
"channel": "viber",
"message_id": "fr593ce7-68de-5e44-bc50-044a3ad0a7fa",
"sender": "SENDER_ID"
}
],
"omnimessage_id": "632c6f3d-49d0-4a8f-5k2n-74023d31e51d",
"to": "RECIPIENT_PHONE_NUMBER"
}

Features

Viber messages are not limited to SMS restrictions. You can use text, images or buttons in your messages for the same price.

warning

Viber has different price and content requirements for transactional and marketing messages. Contact us to learn more.

Possible combinations of text, image, button and video elements:

TextButtonImageVideo
Only text
Text with button
Text, button and image
Only image
Only video
Text with video
Text, video and button
info

Keep in mind that because of Viber API restrictions you can only send text content with image if you add a button to the same message.

Use the following parameters to compose the message with different elements:

text: Message (max 1000 characters)

image_url: Embedded image URL (jpg, jpeg, png, gif files are supported)

button_text: The text of the button

button_url: The URL of the buton

Error example

{
"errors": [
{
"code": "105",
"detail": "Invalid or disallowed sender Messente",
"source": "payload[viber][sender]",
"title": "Invalid data"
}
]
}
titleError message
detailLonger description of the error message
sourceLocation in the request body for this error message
codeMachine-readable error code: 101 - Not found 102 - Forbidden 103 - Unauthorized 104 - Internal Server Error 105 - Invalid data 106 - Missing data 107 - Method not allowed