Рассылка Telegram-сообщений#

При выполнении рассылок поддерживаются следующие варианты Telegram-сообщений:

  • только текст;

  • текст + ссылка для перехода.

Примеры запросов#

 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}

Параметры запросов#

Графа «Об.» в таблице указывает на необходимость передачи параметра в запросе:

  • «да» – обязательный;

  • «нет» – необязательный.

Параметр

Об.

Тип

Описание

login

да

string

Имя Партнёра.

password

да

string

Пароль Партнёра.

destAddr

да

string

Номер телефона абонента.

Подробнее

Содержит код страны, код оператора и номер телефона. Для РФ код может быть 8, 7 или +7.

Примеры: 72101234567, +72101234567, 8-210-123-45-67, 82101234567.

useTimeDiff

нет

boolean

Учитывание часового пояса при запуске рассылки.

Подробнее

Если true, то отправка сообщения осуществляется абоненту согласно расписанию рассылки и его часовому поясу.

Если false, то сообщение отправляется согласно расписанию инициатора рассылки UTC+3, независимо от часового пояса получателя сообщения.

Значение по умолчанию: false.

id

нет

string

Уникальный идентификатор на стороне Партнёра.

Подробнее

Данный параметр нужен для контроля повторных отправок и дублирования (сервис контроля включается отдельно). Партнёр может вызывать Сервис-провайдера (запрос на отправку сообщения) с одним и тем же id несколько раз.

При этом: отправка сообщения абоненту будет выполнена только один раз (по первому запросу). В ответах на запросы Сервис-провайдер вернет Партнёру один и тот же идентификатор сообщения в системе Сервис-провайдера (тот же, что на первый запрос). Сервис-провайдер опционально возвращает Партнёру данный идентификатор при его наличии в отчёте о доставке сообщения.

scheduleInfo

нет

object

Расписание рассылки.

Подробнее

Если не указано, отправляется сразу же, в момент получения запроса.

scheduleInfo/timeBegin

нет

string

Время начала рассылки сообщений.
Пример: 10:00.

scheduleInfo/timeEnd

нет

string

Время окончания рассылки сообщений.
Пример: 21:00.

scheduleInfo/weekdaysSchedule

нет

string

Дни рассылки.

Подробнее

Укажите цифры, соответствующие необходимым дням недели: от 1 (понедельник) до 7 (воскресенье).

Пример: 12345.

Если ограничений по дням недели нет, то данный параметр может быть пустым или не передан в запросе.

scheduleInfo/deadline

нет

string

Дата окончания рассылки.

Подробнее

Укажите дату, после которой рассылка не будет производиться.

Пример: 2019-05-10T16:29:30+0300.

message

да

object

Параметры отправляемого сообщения.

Подробнее

Содержит информацию о типе сообщения и его содержимом.

message/type

да

enum

Тип сообщения. Указать значение TELEGRAM.

message/data

да

object

Параметры отправляемых данных.

Подробнее

Для передачи только текста следует указать атрибут text.

Для передачи текста и ссылки для перехода - text и link.

message/data/text

да

string

Текст отправляемого сообщения.

Подробнее

Количество символов: не более 1000.

Текст сообщения может быть на кириллице или латинице, содержать эмоджи.

message/data/link

нет

string

Произвольный URL-адрес, передаваемый в тексте Telegram-сообщения.

Подробнее

Количество символов в ссылке: не более 256.

Если длина ссылки превысит указанное значение, то сообщение будет отклонено с ошибкой. Текст ошибки: «В сообщении превышен лимит значения у параметра link».

Если передан пустой параметр, сообщение будет отклонено с ошибкой. Текст ошибки: «В сообщении отсутствует значение у параметра link».

message/data/serviceNumber

нет

string

Сервисное имя, от которого осуществляется отправка сообщения.

Подробнее

Убедитесь, что сервисное имя указано правильно для успешной отправки сообщения.

message/data/ttl

нет

integer

Срок жизни сообщения.

Подробнее

Допустимый диапазон, сек: от 30 до 86400.

Примечание. При ttl = 0 или отсутствии параметра в запросе берётся значение из настроек по умолчанию, которые задаются при настройке интеграции отдельно для каждого клиента.

message/data/ttlUnit

нет

enum

Единица измерения периода доставки сообщения.

Подробнее

Передается только вместе с ttl.

Допустимые значения:

  • SECONDS;
  • MINUTES (значение по умолчанию);
  • HOURS.

extraParam

нет

string

Дополнительные параметры, передаваемые в сообщении.

Подробнее

Передаются в виде param1=value1,param2=value2, где param1 и param2 – названия параметров, value1 и value2 – значения.

Пример: строка место=турбаза,название=гостевой дом 3

Символ запятой в название параметра входить не может, но может входить в его значение. В в этом случае он должен удваиваться.

Пример: координаты=53.8085896,,58.6362112

registeredDelivery

нет

integer

Необходимость отчётов о доставке.

Подробнее

Укажите, нужны ли отчёты о доставке для отслеживания статусов.

Допустимые значения:

  • 0 – статусы не нужны;
  • 1 – статусы нужны (значение по умолчанию);
  • 2 – нужен только статус НЕ ДОСТАВЛЕНО.

notifyUrl

нет

string

Имя хоста входящего API для получения отчета о доставке.

Подробнее

Этот параметр в запросе необязательный, но при его отправке нужно учесть следующее:

  • если параметр указан, он не может быть пустым;
  • длина строки notifyUrl не должна превышать 2048 символов.

При невыполнении любого из указанных условий будет сгенерирована ошибка, запрос не будет выполнен.

cascadeChainLink

нет

object

Параметры каскадных сообщений.

Ответ на запрос#

После отправки сообщения Сервис-провайдер синхронно возвращает ответ.

Ответ при успешной отправке Telegram-сообщения#

В случае успешной отправки возвращается HTTP-code 200 OK.

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

Ошибки при отправке Telegram-сообщения#

Для ошибочных результатов HTTP-код ответа будет отличный от 200 (см. Коды ошибок отправки).

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

В данном примере в Telegram-сообщении текст отсутствует, а передаётся только ссылка, что является ошибкой.

Коды ошибок отправки#

Код

Описание

HTTP-код

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-сообщений#

Для получения статусов Telegram-сообщений необходимо настроить Сервис получения статусов доставки сообщений.

Пример запроса#

Описание параметров приведено в п. Отчёт о доставке.

 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   }

Уведомление о событии#

Дополнительные параметры предназначены для передачи корректной статистики по показам и переходам в Telegram-сообщениях.

 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 }