Messente logo


Welcome to Messente! We have various APIs available for you to use.

Messaging API

Send and receive SMS, WhatsApp and Viber messages

Read more

Two-step verification API

Protect your user accounts with two-step verification

Read more

Phone number lookup API

Check if user mobile numbers are active with our HLR service

Read more

We also provide you with helpful tools to manage Messente services.

Pricing API

Keep track of the messaging prices in different countries

Read more

Account balance API

Keep track of the costs and make sure you dont't go over budget

Read more

Phonebook API

Manage your contacts with different groups, whitelists and blacklists

Read more

Subscription API

Collect phone numbers from your customers with notification callbacks

Read more

Development libraries

Use our public libraries for quick and easy integration

Read more

Get Started

Send your first SMS for free in seconds by following these simple steps

Step 1

Sign up to Messente and get your API key. We'll add you some credit for free so you can send your first SMS.

Step 2

Verify your phone number as sender ID. After that you'll be able to send messages to yourself using the phone number.

Step 3

Choose your programming language and use the following code to send your first SMS.

Go to guide
# gem 'omnichannel', '~> 1.0.0'

require 'omnichannel'

# setup authorization
Omnichannel.configure do |config|
    # Configure HTTP basic authorization: basicAuth
    config.username = 'MESSENTE_API_USERNAME'
    config.password = 'MESSENTE_API_PASSWORD'

api_instance =

omnimessage = = 'RECIPIENT_PHONE_NUMBER'
omnimessage.messages = [
            :sender => "YOUR_PHONE_NUMBER",
            :text => "Hello SMS!"

    result = api_instance.send_omnimessage(omnimessage)
    puts "SMS successfully sent!"
rescue Omnichannel::ApiError => e
    puts "There was a problem sending SMS: #{e}"
    puts e.response_body
// PM > Install-Package com.Messente.Omnichannel

using System;
using System.Diagnostics;
using System.Collections.Generic;
using com.Messente.Omnichannel.Api;
using com.Messente.Omnichannel.Client;
using com.Messente.Omnichannel.Model;

namespace Example
    public class SendOmniMessageExample
        public static void Main()
            // Configure HTTP basic authorization: basicAuth
            Configuration.Default.Username = "MESSENTE_API_USERNAME";
            Configuration.Default.Password = "MESSENTE_API_PASSWORD";

            List messages = new List();
            var sms = new SMS(sender: "YOUR_PHONE_NUMBER", text: "Hello SMS!");


            var apiInstance = new OmnimessageApi();
            var omnimessage = new Omnimessage(to: "RECIPIENT_PHONE_NUMBER", messages: messages);

                OmniMessageCreateSuccessResponse result = apiInstance.SendOmnimessage(omnimessage);
                Debug.Print("SMS successfully sent!");
            catch (Exception e)
                Debug.Print("There was a problem sending SMS: " + e.Message);

// composer require messente/messente-omnichannel-php

require_once(__DIR__ . '/../vendor/autoload.php');

use \Messente\Omnichannel\Api\OmnimessageApi;
use \Messente\Omnichannel\Configuration;
use \Messente\Omnichannel\Model\Omnimessage;
use \Messente\Omnichannel\Model\Viber;
use \Messente\Omnichannel\Model\SMS;
use \Messente\Omnichannel\Model\WhatsApp;
use \Messente\Omnichannel\Model\WhatsAppText;

// Configure HTTP basic authorization: basicAuth
$config = Configuration::getDefaultConfiguration()

$apiInstance = new OmnimessageApi(new GuzzleHttp\Client(), $config);
$omnimessage = new Omnimessage(["to" => "RECIPIENT_PHONE_NUMBER"]);

$whatsAppText = new WhatsAppText(["body" => "Hello WhatsApp!"]);
$whatsapp = new WhatsApp(['text' => $whatsAppText, "sender" => "YOUR_PHONE_NUMBER"]);
$viber = new Viber( ["text" => "Hello Viber!", "sender" => "YOUR_PHONE_NUMBER"]);
$sms = new SMS(["text" => "Happy messaging!", "sender" => "YOUR_PHONE_NUMBER"]);
$omnimessage->setMessages([$viber, $whatsapp, $sms]);

try {
    $result = $apiInstance->sendOmnimessage($omnimessage);
} catch (Exception $e) {
    echo 'Exception when calling OmknimessageApi->sendOmnimessage: ', $e->getMessage(), PHP_EOL;
curl \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{ "to": "RECIPIENT_PHONE_NUMBER", "messages": [{ "channel": "whatsapp", "sender": "YOUR_PHONE_NUMBER", "text": "Hello WhatsApp!" }, { "channel": "viber", "sender": "YOUR_PHONE_NUMBER", "text": "Hello Viber!" }, { "channel": "sms", "sender": "YOUR_PHONE_NUMBER", "text": "Happy messaging!" }] }'
// compile "com.messente.omnichannel:omnichannel-java"

public class Main {
    public static void main(String[] args) {
        ApiClient defaultClient = Configuration.getDefaultApiClient();

        // Configure HTTP basic authorization: basicAuth
        HttpBasicAuth basicAuth = (HttpBasicAuth) defaultClient.getAuthentication("basicAuth");

        OmnimessageApi apiInstance = new OmnimessageApi();
        Omnimessage omnimessage = new Omnimessage();

        Viber viber = new Viber();
        viber.text("Viber text");

        WhatsApp whatsApp = new WhatsApp();
        WhatsAppText whatsAppText = new WhatsAppText();
        whatsAppText.body("WhatsApp text");

        SMS sms = new SMS();
        sms.text("Happy messaging!");

        omnimessage.setMessages(Arrays.asList(whatsApp, viber, sms));

        try {
            OmniMessageCreateSuccessResponse result = apiInstance.sendOmnimessage(omnimessage);
        } catch (ApiException e) {
            System.err.println("Exception when sending SMS message");
// npm install omnichannel_api --save

const OmnichannelApi = require('omnichannel_api');

const defaultClient = OmnichannelApi.ApiClient.instance;

// Configure HTTP basic authorization: basicAuth
const basicAuth = defaultClient.authentications['basicAuth'];
basicAuth.username = 'MESSENTE_API_USERNAME';
basicAuth.password = 'MESSENTE_API_PASSWORD';

const api = new OmnichannelApi.OmnimessageApi();

const whatsAppText = OmnichannelApi.WhatsAppText.constructFromObject({
	body: "Hello WhatsApp!",
	preview_url: false

const whatsapp = OmnichannelApi.WhatsApp.constructFromObject({
	text: whatsAppText,
    sender: "YOUR_PHONE_NUMBER"

const viber = OmnichannelApi.Viber.constructFromObject({
	text: "Hello Viber!",

const sms = OmnichannelApi.SMS.constructFromObject({
    text: "Happy messaging!",
    sender: 'YOUR_PHONE_NUMBER'

const omnimessage = OmnichannelApi.Omnimessage.constructFromObject({
    messages: [viber, whatsapp, sms],

api.sendOmnimessage(omnimessage, (error, data) => {
    if (error) {
    } else {
        console.log('API called successfully. Returned data: ', data);
# pip install omnichannel-api

from omnichannel import OmnimessageApi, Viber, SMS, Omnimessage, Configuration, ApiClient, WhatsApp, WhatsAppText
from import ApiException

# API information from
configuration = Configuration()
configuration.username = "MESSENTE_API_USERNAME"
configuration.password = "MESSENTE_API_PASSWORD"

# create an instance of the API class
api_instance = OmnimessageApi(ApiClient(configuration))

whatsapp = WhatsApp(sender="YOUR_PHONE_NUMBER", text=WhatsAppText(body="Hello WhatsApp"))
viber = Viber(sender="YOUR_PHONE_NUMBER", text="Hello Viber")
sms = SMS(sender="YOUR_PHONE_NUMBER", text="Happy messaging!" )

omnimessage = Omnimessage(to="RECIPIENT_PHONE_NUMBER", messages=(viber, whatsapp, sms))

    response = api_instance.send_omnimessage(omnimessage)
    print("SMS successfully sent with id %s:" % response.omnimessage_id)
except ApiException as e:
    print("There was a problem sending message: %s\n" % e)