DecisionTelecom Viber API le permite enviar y recibir mensajes comerciales de Viber hacia y desde cualquier país del mundo a través de API. Cada mensaje se identifica mediante una identificación aleatoria única, por lo que los usuarios siempre pueden verificar el estado de un mensaje utilizando un punto final determinado.
La API de Viber usa HTTPS con clave de acceso que se usa como autorización de la API. Las cargas útiles de solicitud y respuesta se formatean como JSON mediante la codificación UTF-8.
Autorización API: clave de acceso Base64.
Póngase en contacto con su administrador de cuenta para obtener una clave API.
Example for text-image-button messages:{"source_addr":"Custom Company","destination_addr":8882222200,"message_type":108,"text":"Message content","image":"https://yourdomain.com/images/image.jpg","button_caption":"Join Us","button_action":"https://yourdomain.com/join-us","source_type":1,"callback_url":"https://yourdomain.com/viber-callback","validity_period":3600}Example for promotional text messages:{"source_addr":"Custom Company","destination_addr":8882222200,"message_type":106,"text":"Message content","source_type":1,"callback_url":"https://yourdomain.com/viber-callback","validity_period":3600}Example for send file:{"source_addr":"Custom Company","destination_addr":8882222200,"message_type":222,"file_url":" https://yourdomain.com/files/custom.pdf ","source_type":1,"callback_url":"https://yourdomain.com/viber-callback","validity_period":180}Example for transactional template messages:{"source_addr":"Custom Company","destination_addr":8882222200,"message_type":304,"text":"Message content","source_type":2,"callback_url":"https://yourdomain.com/viber-callback","validity_period":180}
301 - template transactional text (for primary device)
304 - template transactional text (for all devices)
text:
up to 1000 characters - 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 800x800 pixels
png (mime type is image/png), maximum resolution 800x800 pixels
button_caption:
from 1 to 30 characters - 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, button) - 1
transactional message (template 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 60 seconds max TTL 43200 seconds (12 hours)
transactional message - min TTL 60 seconds max TTL 43200 seconds (12 hours)
file_url:
Only for 222 message type сorrect URL for document.
Possible file extensions to send: .doc, .docx, .rtf, .dot, .dotx, .odt ,odf, .fodt, .txt, .info, .pdf, .xps, .pdax, .eps, xls, .xlsx, .ods, .fods, .csv, .xlsm, .xltx
The file name must contain an extension and must not exceed 25 characters.
File size must be up to 200 MB.
Response:
{"message_id":4291235}
Valores:
message_id:
Sent message ID
Recibir mensaje de Viber
https://web.it-decision.com/v1/api/receive-viber
{"message_id":4291235}
Parámetros
message_id:
El ID del mensaje cuyo estado desea obtener (de los últimos 30 días)
{"message_id":4291235,"status":1,}
Valores
message_id:
El ID del mensaje cuyo estado desea obtener (de los últimos 30 días)
status:
Current Viber message status
Recibir mensajes masivos de Viber
El número de mensajes verificados no supera los 200 en una solicitud.
El ID del mensaje cuyo estado desea obtener (de los últimos 30 días)
{"11017894": {"message_id":11017894,"status":1 },"11017879": {"message_id":11017879,"status":1 },"11017865": {"name":"Empty parameter or parameter validation error","message":"Invalid Parameter: message_id 11017865 is not accepted for you","code":1,"status":400 }}
Valores
message_id:
El ID del mensaje cuyo estado desea obtener (de los últimos 30 días)
status:
Estado actual de los mensajes de Viber
Callback
La devolución de llamada se devolverá a la URL especificada al enviar el mensaje en el parámetro callback_url
{"message_id":4291235,"status":1}If the status is 3 (Rejected) then the additional parameter reject_code will be returned:{"message_id":4291235,"status":1,"reject_code":9}If the message type being sent is 301 or 304 (template transactional text) then the additional parameter matching_template_id will be returned{"message_id":4291235,"status":1,"matching_template_id":11079289}
Valores
message_id:
El ID del mensaje
status:
Estado actual de los mensajes de Viber
reject_code:
Código devuelto por Viber al rechazar un mensaje:
1 - Internal server error.
2 - The ID wasn’t in use for over a year/The ID was recently created and
wasn’t uploaded to the server yet.
3 - An error in the request’s structure. Could be a missing comma, brackets,
text over 1000 characters, etc.
5 - Incorrect message type. Either a non-supported type or an incorrect value.
6 - Missing mandatory parameters.
7 - Indicates a server timeout on Viber’s end.
8 - The ID was blocked by the user/The user blocked business messages
completely on their device.
9 - The destination number is not registered as a Viber user.
10 - Not an Android or iOS device with a Viber version that supports Business
Messages.
11 - The request was sent from a non-whitelisted IP for this ID/An incorrect ID
that doesn’t belong to the partner was used in the request.
13 - An error in the billing process
18 - Missing value/Incorrect value in the request for “label” parameter.
28 - The file that is being attempted to be sent is not in a supported format for
this feature.
29 - The name of the file is more than the maximum 25 characters.
30 - In case the thumbnail URL is compiled of more than 1000 characters.
matching_template_id:
Identificación emitida por Viber al registrar una plantilla. Si el parámetro está presente y el valor del parámetro está vacío, significa que el mensaje no coincide con ninguna de las plantillas registradas y se ha reclasificado de mensaje transaccional a mensaje promocional en el lado de Viber.
Estados de los mensajes de Viber
sent
0
delivered
1
error
2
rejected
3
undelivered
4
pending
5
seen
6
unknown
20
Errores
Name
Too Many Requests
message
Rate limit exceeded
code
0
status
429
Name
Empty parameter or parameter validation error
message
Invalid Parameter: <param>
code
1
status
400
param:
wrong viber user account
source_type is wrong
source_type or message_type is wrong
source_type is wrong, because the account is another type
message_type is wrong
empty text
text more than 1000 chars
transaction message error - not empty image, button_caption or button_action
message_type is wrong - not empty image, button_caption or button_action
message_type is wrong - empty image, button_caption or button_action
message_type is wrong - empty button_caption or button_action
image is not url
image url wrong scheme
image not valid type
image is not valid
image size is more than 800x800
button_action is empty
button_caption is empty
button_caption or button_action is empty
image or button_action is empty
image or button_caption is empty
callback_url is not url
callback_url url wrong scheme
button_action is not url
button_action url wrong scheme
button_action more than 30 chars
message_id <message_id> is not accepted for you
file_url is not url
file_url wrong scheme
file_url contains an invalid file type or extension, possible file extensions to send: .doc, .docx, .rtf, .dot, .dotx, .odt ,odf, .fodt, .txt, .info, .pdf, .xps, .pdax, .eps, xls, .xlsx, .ods, .fods, .csv, .xlsm, .xltx
button_caption is not applicable with file_url
button_action is not applicable with file_url
image is not applicable with file_url
wrong message type for file_url
file_url is not applicable in this context
Name
Internal server error
message
The server encountered an unexpected condition which prevented it from fulfilling the request