Рассылка 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-код 200 OK.

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

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

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

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 }