Telegram Message

Send Telegram messages with Omnichannel API.


Before sending WhatsApp, Viber or Telegram messages, please contact our support team. These providers require some extra verification before approving sender ID.

Send Telegram Message

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

# pip install messente-api

from pprint import pprint
from messente_api import (
    OmnimessageApi,
    Omnimessage,
    Configuration,
    ApiClient,
    Telegram,
)
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))

telegram = Telegram(
    sender="<sender name (optional)>",
    text="hello telegram",
    image_url="https://media.voog.com/0000/0039/8460/photos/5842a8fba6515b1e0ad75b03.png",
)

omnimessage = Omnimessage(
    messages=tuple([telegram]), 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 telegram = MessenteApi.Telegram.constructFromObject({
  text: 'hello telegram',
  sender: '<sender name (optional)>',
  image_url: 'https://media.voog.com/0000/0039/8460/photos/5842a8fba6515b1e0ad75b03.png',
});

const omnimessage = MessenteApi.Omnimessage.constructFromObject({
  messages: [telegram],
  to: '<recipient_phone_number>',
});

api.sendOmnimessage(omnimessage, (error, data) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ', data);
  }
});
<?php

// 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\Telegram;

$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>',
]);

$telegram = new Telegram(
    [
        'text' => 'hello telegram',
        'sender' => '<sender name (optional)>',
        'image_url' => 'https://media.voog.com/0000/0039/8460/photos/5842a8fba6515b1e0ad75b03.png',
    ]
);

$omnimessage->setMessages([$telegram]);

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.OmniMessageCreateSuccessResponse;
import com.messente.api.Omnimessage;
import com.messente.api.OmnimessageApi;
import com.messente.api.Telegram;
import com.messente.auth.HttpBasicAuth;

import java.util.Arrays;

// repositories { jcenter() }
// dependencies { implementation 'com.messente.api:messente-api' }

public class Main {
    public static void main(String[] args) {
        ApiClient apiClient = new ApiClient();

        HttpBasicAuth basicAuth = (HttpBasicAuth) apiClient.getAuthentication("basicAuth");
        basicAuth.setUsername("YOUR_MESSENTE_API_USERNAME");
        basicAuth.setPassword("YOUR_MESSENTE_API_PASSWORD");

        Telegram telegram = new Telegram();
        telegram.text("hello telegram");
        telegram.imageUrl("https://media.voog.com/0000/0039/8460/photos/5842a8fba6515b1e0ad75b03.png");
        telegram.sender("<sender name (optional)>");

        OmnimessageApi apiInstance = new OmnimessageApi(apiClient);
        Omnimessage omnimessage = new Omnimessage();
        omnimessage.setMessages(Arrays.asList(telegram));
        omnimessage.setTo("<recipient_phone_number>");

        try {
            OmniMessageCreateSuccessResponse result = apiInstance.sendOmnimessage(omnimessage);
            System.out.println(result);
        } catch (ApiException e) {
            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::Telegram.new(
    sender: '<sender name (optional)>',
    text: 'hello viber',
    image_url: 'https://media.voog.com/0000/0039/8460/photos/5842a8fba6515b1e0ad75b03.png'
  )
]

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();
            conf.Username = "YOUR_MESSENTE_API_USERNAME";
            conf.Password = "YOUR_MESSENTE_API_PASSWORD";
            var apiInstance = new OmnimessageApi(conf);

            var telegram = new Telegram(
                sender: "<sender name (optional)>",
                text: "hello telegram",
                image_url: 'https://media.voog.com/0000/0039/8460/photos/5842a8fba6515b1e0ad75b03.png'
            );

            List<object> messages = new List<object>
            {
                telegram
            };

            var omnimessage = new Omnimessage(
                to: "<recipient_phone_number>",
                messages: messages
            );

            try
            {
                var result = apiInstance.SendOmnimessage(omnimessage);
                Debug.WriteLine(result.ToJson());
            }
            catch (Exception e)
            {
                Debug.Print("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": "telegram",
        "sender": "<sender name (optional)>",
        "text": "hello telegram",
        "image_url": "https://media.voog.com/0000/0039/8460/photos/5842a8fba6515b1e0ad75b03.png"
      }
    ]
  }'

Response

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

Use the message_id to keep track of the message delivery status.


Features

Telegram messages are not limited to SMS restrictions. You can send text, images, documents or audio clips in your messages for the same price.

Images, documents and audio clips are mutually exclusive. You can send only one of these types in a single message.

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

text: Message to send to the device
image_url: Embedded image URL (jpg, jpeg, png, gif files are supported)
document_url: Link to a document
audio_url: Link to an audio clip

Error example

{
  "errors": [
    {
      "code": "105",
      "detail": "Invalid or disallowed sender Messente",
      "source": "payload[telegram][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
101 Not found
102 Forbidden
103 Unauthorized
104 Internal Server Error
105 Invalid data
106 Missing data
107 Method not allowed

Next steps

Now that you can send Telegram messages it's time to learn about delivery reports.