Home
Getting Started
Knowledge Base
API Setup
Omnichannel API
- Overview
- Quickstart
- Theory
- Sender Name
- Specification
- Requests & Authentication
- Development Libraries
- SMS Message
- Viber Message
- WhatsApp Message
- Delivery Report
- Scheduled Messages
- Inbound Messages
- HELP
- API Reference
Verigator API EARLY ACCESS
SMPP
Number Lookup
Phonebook API
Bulk Messaging API
Subscription API
Account Balance API
Pricing API
Statistics API
Number Verification
Tools
FAQ
Sending more than 100 000 SMS messages a month?
Talk to salesViber Message
Sending Viber messages with Omnichannel API.
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)
// npm i messente_api const MessenteApi = require('messente_api'); const defaultClient = MessenteApi.ApiClient.instance; const basicAuth = defaultClient.authentications['basicAuth']; basicAuth.username = 'YOUR_MESSENTE_API_USERNAME'; basicAuth.password = 'YOUR_MESSENTE_API_PASSWORD'; const api = new MessenteApi.OmnimessageApi(); const viber = MessenteApi.Viber.constructFromObject({ text: 'hello viber', sender: '<sender name (optional)>', }); const omnimessage = MessenteApi.Omnimessage.constructFromObject({ messages: [viber], to: '<recipient_phone_number>', }); api.sendOmnimessage(omnimessage, (error, data) => { if (error) { console.error(error); } else { console.log('API called successfully. Returned data: ', data); } });
// composer require messente/messente-api-php require_once __DIR__.'/vendor/autoload.php'; use Messente\Api\Api\OmnimessageApi; use Messente\Api\Model\Omnimessage; use Messente\Api\Configuration; use Messente\Api\Model\Viber; $config = Configuration::getDefaultConfiguration() ->setUsername('YOUR_MESSENTE_API_USERNAME') ->setPassword('YOUR_MESSENTE_API_PASSWORD'); $apiInstance = new OmnimessageApi( new GuzzleHttp\Client(), $config ); $omnimessage = new Omnimessage([ 'to' => '<recipient_phone_number>', ]); $viber = new Viber( [ 'text' => 'hello viber', 'sender' => '<sender name (optional)>', ] ); $omnimessage->setMessages([$viber]); try { $result = $apiInstance->sendOmnimessage($omnimessage); print_r($result); } catch (Exception $e) { echo 'Exception when calling sendOmnimessage: ', $e->getMessage(), PHP_EOL; }
import com.messente.ApiClient; import com.messente.ApiException; import com.messente.api.*; import com.messente.auth.HttpBasicAuth; import java.util.List; // repositories { mavenCentral() } // dependencies { implementation 'com.messente.api:messente-api' } public class Main { public static void main(String[] args) { ApiClient apiClient = new ApiClient(); OmnimessageApi apiInstance = new OmnimessageApi(apiClient); HttpBasicAuth basicAuth = (HttpBasicAuth) apiClient.getAuthentication("basicAuth"); basicAuth.setUsername("YOUR_MESSENTE_API_USERNAME"); basicAuth.setPassword("YOUR_MESSENTE_API_PASSWORD"); Viber viber = new Viber(); viber.text("hello viber"); viber.sender("<sender name (optional)>"); OmnimessageMessagesInner viberOmnimessageInner = new OmnimessageMessagesInner(viber); viberOmnimessageInner.setActualInstance(viber); Omnimessage omnimessage = new Omnimessage(); omnimessage.setMessages(List.of(viberOmnimessageInner)); omnimessage.setTo("<recipient_phone_number>"); try { OmniMessageCreateSuccessResponse result = apiInstance.sendOmnimessage(omnimessage); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling sendOmnimessage"); System.err.println(e.getResponseBody()); } } }
# gem install messente_api require 'messente_api' MessenteApi.configure do |config| config.username = 'YOUR_MESSENTE_API_USERNAME' config.password = 'YOUR_MESSENTE_API_PASSWORD' end api_instance = MessenteApi::OmnimessageApi.new omnimessage = MessenteApi::Omnimessage.new omnimessage.to = '<recipient_phone_number>' omnimessage.messages = [ MessenteApi::Viber.new( sender: '<sender name (optional)>', text: 'hello viber' ) ] begin result = api_instance.send_omnimessage(omnimessage) puts result rescue MessenteApi::ApiError => e puts "Exception when calling send_omnimessage: #{e}" puts e.response_body end
// PM > Install-Package com.Messente.Api using System; using System.Diagnostics; using System.Collections.Generic; using com.Messente.Api.Api; using com.Messente.Api.Client; using com.Messente.Api.Model; namespace Example { public class SendOmniMessageExample { public static void Main() { Configuration conf = new Configuration { Username = "YOUR_MESSENTE_API_USERNAME", Password = "YOUR_MESSENTE_API_PASSWORD" }; var apiInstance = new OmnimessageApi(conf); var viber = new Viber(sender: "<sender name (optional)>", text: "Hello viber!"); OmnimessageMessagesInner viberOmnimessageInner = new OmnimessageMessagesInner(viber) { ActualInstance = viber }; var omnimessage = new Omnimessage( to: "<recipient_phone_number>", messages: new List {viberOmnimessageInner} ); try { var result = apiInstance.SendOmnimessage(omnimessage); Console.WriteLine(result.ToJson()); } catch (Exception e) { Console.WriteLine("Exception when calling SendOmnimessage: " + e.Message); } } } }
curl -X POST \ 'https://api.messente.com/v1/omnimessage' \ -u MESSENTE_API_USERNAME:MESSENTE_API_PASSWORD \ -H 'Content-Type: application/json' \ -d '{ "to": "<recipient_phone_number>", "messages": [ { "channel": "viber", "sender": "<sender name (optional)>", "text": "hello viber" } ] }'
Response
{
"messages": [
{
"channel": "viber",
"message_id": "fr593ce7-68de-5e44-bc50-044a3ad0a7fa",
"sender": "SENDER_ID"
}
],
"omnimessage_id": "632c6f3d-49d0-4a8f-5k2n-74023d31e51d",
"to": "RECIPIENT_PHONE_NUMBER"
}
Use the message_id
to keep track of the
message delivery status.
Features
Viber messages are not limited to SMS restrictions. You can use text, images or buttons in your messages for the same price.
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:
Text | Button | Image | Video | |
---|---|---|---|---|
Only text | ||||
Text with button | ||||
Text, button and image | ||||
Only image | ||||
Only video | ||||
Text with video | ||||
Text, video and button |
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"
}
]
}
Key | Value | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
title | Error message | ||||||||||||||
detail | Longer description of the error message | ||||||||||||||
source | Location in the request body for this error message | ||||||||||||||
code | Machine-readable error code
|
Search results
0 items foundHome
Getting Started
Knowledge Base
API Setup
Omnichannel API
- Overview
- Quickstart
- Theory
- Sender Name
- Specification
- Requests & Authentication
- Development Libraries
- SMS Message
- Viber Message
- WhatsApp Message
- Delivery Report
- Scheduled Messages
- Inbound Messages
- HELP
- API Reference