DecisionTelecom Viber API allows you to send and receive Viber business messages to and from any country in the world via API. Each message is identified by a unique random ID, so users can always check the status of a message using given endpoint.
The Viber API uses HTTPS with access key that is used as the API authorization. Request and response payloads are formatted as JSON using UTF-8 encoding.
API Authorization - Base64 access key.
Please contact your account manager to get an API key.
106 only text (convenient for transactional messages)
108 text+image+button (convenient for promotional messages)
206 only text (2Way)*(convenient for promotional messages)
208 text+image+button (2Way)* (convenient for promotional messages)
text:
<= 1000 chars - text of Viber message
image (Correct URL with image for promotional message with button caption and button action):
jpg or jpeg (mime type is image/jpeg), maximum resolution 400x400 pixels
png (mime type is image/png), maximum resolution 400x400 pixels
button_caption:
<= 30 chars - button caption
button_action:
Correct URL for transition when you press the button
source_type (Message sending procedure):
promotion message (the message can be with text, picture and button) - 1
transactional message (text message) – 2
callback_url:
Correct URL for message status callback
validity_period:
TTL (Time to live) allows the sender to limit the lifetime of a message. In case the message did not get the status "delivered" before the time ended, the message will not be charged and will not be delivered to the user. In case no TTL was provided (no "ttl" parameter) Viber will try to deliver the message for up to 1 day.
promotion message - min TTL 40 seconds max TTL 21600 seconds (6 hours)
transactional message - min TTL 40 seconds max TTL 21600 seconds (6 hours)
Response:
{"message_id":429}
Values:
message_id:
Sent message ID
Get message from a user for 2Way messages:
For 2way messages ITD Viber system will send callbacks with each user's message. The tracking data content will be sent by the client according to the tracking data in the last message which was received on the Viber client’s side.
The response implies that the API user has a callback url for this message.
Response:
{"message_token":44444444444444,"phone_number":"972512222222","time":2121212121,"message": {"text":"a message to the service","tracking_data":"tracking_id:100035" }}
Values
message_token:
client response message token
phone_number:
client phone number
time:
client response message time
message:
text:
client response message text
tracking_data:
tracking_id: The id of the message to which the client is responding
Receive Viber message
https://web.it-decision.com/v1/api/receive-viber
{"message_id":429}
Parameters
message_id:
The ID of the message whose status you want to get (for the last 5 days)
{"message_id":429,"status":1,}
Values
message_id:
The ID of the message whose status you want to get (for the last 5 days)
status:
Current Viber message status
Viber messages statuses
sent
0
delivered
1
error
2
rejected
3
undelivered
4
pending
5
seen
6
unknown
20
Errors
Name
Too Many Requests
message
Rate limit exceeded
code
0
status
429
Name
Invalid Parameter: [param_name]
message
Empty parameter or parameter validation error
code
1
status
400
Name
Internal server error
message
The server encountered an unexpected condition which prevented it