Telegram#

The following types of Telegram messages are supported:

  • text only;

  • text + link to follow.

Request to Send Telegram Messages#

Request Examples#

To generate a test request with your parameters, please Внешняя ссылка open the request generator.

 1{
 2   "login": "Login",
 3   "password": "Password",
 4   "useTimeDiff": true,
 5   "id": "superId",
 6   "scheduleInfo":
 7   {
 8      "timeBegin": "10:00",
 9      "timeEnd": "12:00",
10      "weekdaysSchedule": "123"
11   },
12   "destAddr": "79211234567",
13   "message":
14   {
15      "type": "TELEGRAM",
16      "data":
17      {
18         "text": "Hello, world!",
19         "serviceNumber": "0000",
20         "ttl": 3600,
21         "ttlUnit": "SECONDS"
22      }
23   }
24}

Parameters#

Parameter

Required

Data type

Description

login

yes

string

Partner’s name.

password

yes

string

Partner’s password for sending messages.

useTimeDiff

no

boolean

Taking into account the time zone when starting messaging.

More details

If true, the message is sent to the subscriber according to the messaging schedule and his time zone.

If false, the message is sent according to the messaging initiator schedule UTC+3 regardless of the message recipient time zone.

Default value: false.

id

no

string

Unique identifier on the Partner’s side.

More details

This parameter is necessary for controlling repeated submissions and duplication (the control service is activated separately). The Partner can call the Service Provider (request to send a message) multiple times with the same ID.

In this case, the message will be sent to the subscriber only once (on the first request). In response to the requests, the Service Provider will return the same message identifier in the Service Provider's system to the Partner (the same as for the first request). The Service Provider optionally returns this identifier to the Partner in the message delivery report if it is available.

scheduleInfo

no

object

Messaging schedule.

More details

If not specified, it is sent immediately upon receipt of the request.

scheduleInfo/
timeBegin

no

string

Start time.

More details

For example: 10:00.

scheduleInfo/
timeEnd

no

string

End time.

More details

For example: 21:00.

scheduleInfo/
weekdaysSchedule

no

string

Messaging days.

More details

Specified by numbers from 1 (Monday) to 7 (Sunday).

For example: 12345.

If there are no restrictions on days of the week, this parameter can be empty or not delivered in the request.

scheduleInfo/
deadline

no

string

End date of the messaging.

More details

For example: 2024-05-10T16:29:30+0300.

destAddr

yes

string

Subscriber’s phone number.

More details

It contains the country code, operator code and phone number. For the Russian Federation, the code can be 8, 7 or +7.

Examples: 72101234567, +72101234567, 8-210-123-45-67, 82101234567.

message

yes

object

Parameters of a message being sent.

message/type

yes

enum

Message type.

More details

The value of TELEGRAM is transmitted.

message/data

yes

object

Parameters of the data being sent.

More details

To send only text, specify the text attribute.

To send text and link specify the text and link attributes.

message/data/
text

yes

string

Message text.

More details

Character limit: no more than 1000.

The text of the message can be in Cyrillic or Latin, and contain emojis.

message/data/
link

no

string

Random URL, passed in the text of a Telegram message.

More details

Character limit: no more than 256.

If the link length exceeds the specified value, the message will be rejected with an error. Error text: "The value limit of link parameter is exceeded in the message".

If an empty parameter is passed, the message will be rejected with an error. Error text: "The message is missing a value for the link parameter".

message/data/
serviceNumber

no

string

Sender’s name from which the message is being sent.

message/data/
ttl

no

integer

Message lifetime.

More details

Acceptable range in seconds: from 31 to 86400.

Note

When ttl = 0 or the parameter is absent in the request, the value from the default settings is used, which is set during the integration setup separately for each client.

message/data/
ttlUnit

no

enum

Unit of measurement of the message delivery period.

More details

It is transmitted only with ttl.

Possible values are:

  • SECONDS;
  • MINUTES (by default);
  • HOURS.

extraParam

no

string

Additional parameters passed in the message.

More details

Parameters are passed as param1=value1,param2=value2, where param1 and param2 — parameter names, value1 and value2 — values.

The comma character cannot be included in the parameter name, but it can be included in its value — in this case it must be doubled Example: the string place=abzakovo,name=guest house-2,coordinates=53.8085896,, 58.6362112,from=23.02.09,to=05.03.09.

registeredDelivery

no

integer

Requirement of delivery reports.

More details

Specify whether delivery reports are required to track statuses.

Possible values are:

  • 0 — statuses are not required;
  • 1 — statuses are required (by default);
  • 2 — only "Undelivered" status is required.

notifyUrl

no

string

Hostname of the incoming API to obtain the delivery report.

More details

This parameter is optional in the request, but when sending you need to consider the following:

  • if the parameter is specified, it cannot be empty;
  • the notifyUrl string must be no more 2048 characters.

If any of the specified conditions are not met, an error will be generated and the request will not be executed.

cascadeChainLink

no

object

Cascading message parameters.

More details

See Cascading Message Sending.

Response#

After sending a message the Service Provider returns a response synchronously. In case of successful sending the Service Provider returns the 200 OK HTTP-code.

Successful Telegram Sending#

1 {
2     "mtNum": "7390612217"
3     "id": "8770599"
4 }

Telegram Sending Errors#

For results with errors, a response HTTP code will differ from 200 (see Error Codes).

1 {
2     "error": {
3         "code": 4,
4         "description": "Invalid request"
5     },
6     "extendedDescription": "Telegram message is absent"
7 }

In this example, there is no text in the Telegram message, but only a link is transmitted, which is an error.

Error Codes#

Code

Description

HTTP-code

1

Service is unavailable

503

2

Invalid IP-address

403

3

Too many connections

429

4

Invalid request

400

5

Invalid login

401

6

Invalid password

401

7

serviceNumber is not defined

400

8

destAddr is not correct

406

9

Message type is not correct

406

10

Prohibited sending duplicates

409

11

Invalid TTL

406

100

100

500

Telegram Delivery Statuses#

To receive Telegram message statuses, you need to set up the Delivery Status Service.

Request Example#

Description of parameters is given in the paragraph Delivery Report.

 1   {
 2      "mtNum": "107930572",
 3      "status": 9,
 4      "type": "TELEGRAM",
 5      "doneDate": "2024-05-05T10:20:35+0300",
 6      "submitDate": "2024-05-05T10:19:55+0300",
 7      "sourceAddr": "TG_NAME",
 8      "destAddr": "72101234567",
 9      "text": "Hello!",
10      "partCount": "001",
11      "errorCode": "0",
12      "mccMnc": "25012",
13      "trafficType": 0
14   }

Delivery Error Codes#

Delivery error codes for each message type are provided in the corresponding tab of the Description of Error Codes (parameter status=5) section.

Event Notification#

Additional parameters are intended for transmitting accurate statistics in Telegram messages.

 1 {
 2      "mtNum": "107930572",
 3      "status": 9,
 4      "type": "TELEGRAM",
 5      "doneDate": "2024-05-05T10:20:35+0300",
 6      "submitDate": "2024-05-05T10:19:55+0300",
 7      "sourceAddr": "TG_NAME",
 8      "destAddr": "72101234567",
 9      "text": "Hello!",
10      "partCount": "001",
11      "errorCode": "0",
12      "mccMnc": "25012",
13      "trafficType": 0,
14      "eventType": "view",
15      "eventDate": "2024-05-05T10:30:35+0300",
16      "viewsCount": 2,
17      "clicksCount": 0
18 }