Рассылка 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}
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 "link": "https://docs.rapporto.ru/",
20 "serviceNumber": "0000",
21 "ttl": 3600,
22 "ttlUnit": "SECONDS"
23 }
24 }
25 }
Параметры запросов#
Графа «Об.» в таблице указывает на необходимость передачи параметра в запросе:
«да» – обязательный;
«нет» – необязательный.
Параметр |
Об. |
Тип |
Описание |
---|---|---|---|
login |
да |
string |
Имя Партнёра. |
password |
да |
string |
Пароль Партнёра. |
destAddr |
да |
string |
Номер телефона абонента. Подробнее
Содержит код страны, код оператора и номер телефона.
Для РФ код может быть
Примеры: |
useTimeDiff |
нет |
boolean |
Учитывание часового пояса при запуске рассылки. Подробнее
Если
Если
Значение по умолчанию: |
id |
нет |
string |
Уникальный идентификатор на стороне Партнёра. ПодробнееДанный параметр нужен для контроля повторных отправок и дублирования (сервис контроля включается отдельно). Партнёр может вызывать Сервис-провайдера (запрос на отправку сообщения) с одним и тем же id несколько раз. При этом: отправка сообщения абоненту будет выполнена только один раз (по первому запросу). В ответах на запросы Сервис-провайдер вернет Партнёру один и тот же идентификатор сообщения в системе Сервис-провайдера (тот же, что на первый запрос). Сервис-провайдер опционально возвращает Партнёру данный идентификатор при его наличии в отчёте о доставке сообщения. |
scheduleInfo |
нет |
object |
Расписание рассылки. ПодробнееЕсли не указано, отправляется сразу же, в момент получения запроса. |
scheduleInfo/timeBegin |
нет |
string |
Время начала рассылки сообщений.
Пример:
10:00 . |
scheduleInfo/timeEnd |
нет |
string |
Время окончания рассылки сообщений.
Пример:
21:00 . |
scheduleInfo/weekdaysSchedule |
нет |
string |
Дни рассылки. ПодробнееУкажите цифры, соответствующие необходимым дням недели: от 1 (понедельник) до 7 (воскресенье).
Пример: Если ограничений по дням недели нет, то данный параметр может быть пустым или не передан в запросе. |
scheduleInfo/deadline |
нет |
string |
Дата окончания рассылки. ПодробнееУкажите дату, после которой рассылка не будет производиться.
Пример: |
message |
да |
object |
Параметры отправляемого сообщения. ПодробнееСодержит информацию о типе сообщения и его содержимом. |
message/type |
да |
enum |
Тип сообщения. Указать значение |
message/data |
да |
object |
Параметры отправляемых данных. Подробнее
Для передачи только текста следует указать атрибут 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 |
Единица измерения периода доставки сообщения. Подробнее
Передается только вместе с Допустимые значения:
|
extraParam |
нет |
string |
Дополнительные параметры, передаваемые в сообщении. Подробнее
Передаются в виде
Пример: строка
Символ запятой в название параметра входить не может, но может входить в его значение. В в этом случае он должен удваиваться.
Пример: |
registeredDelivery |
нет |
integer |
Необходимость отчётов о доставке. ПодробнееУкажите, нужны ли отчёты о доставке для отслеживания статусов. Допустимые значения:
|
notifyUrl |
нет |
string |
Имя хоста входящего API для получения отчета о доставке. ПодробнееЭтот параметр в запросе необязательный, но при его отправке нужно учесть следующее:
При невыполнении любого из указанных условий будет сгенерирована ошибка, запрос не будет выполнен. |
cascadeChainLink |
нет |
object |
Параметры каскадных сообщений.
См. Каскадная рассылка.
|
Ответ на запрос#
После отправки сообщения Сервис-провайдер синхронно возвращает ответ.
Ответ при успешной отправке Telegram-сообщения#
В случае успешной отправки возвращается HTTP-code 200 OK.
1 {
2 "mtNum": "7390612217"
3 "id": "8770599"
4 }
Параметр |
Тип данных |
Описание |
---|---|---|
mtNum |
string |
Идентификатор цепочки отправки, присваиваемый платформой Сервис-провайдера. |
id |
string |
Уникальный идентификатор на стороне Партнёра. Присутствует, если был передан при отправке. |
Ошибки при отправке Telegram-сообщения#
Для ошибочных результатов HTTP-код ответа будет отличный от 200 (см. Коды ошибок отправки).
1 {
2 "error": {
3 "code": 4,
4 "description": "Invalid request"
5 },
6 "extendedDescription": "Telegram message is absent"
7 }
В данном примере в Telegram-сообщении текст отсутствует, а передаётся только ссылка, что является ошибкой.
Параметр |
Тип данных |
Описание |
---|---|---|
error |
object |
Информация об ошибке. |
error/code |
int |
Код ошибки. |
error/description |
string |
Краткое описание ошибки. |
extendedDescription |
string |
Подробное описание ошибки (необязательный параметр). |
Коды ошибок отправки#
Код |
Описание |
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 }
В уведомленни о событии все параметры обязательные.
Параметр |
Тип |
Описание |
---|---|---|
eventType |
string |
Тип события.
Возможные значения:
|
eventDate |
string |
Дата и время события в формате “YYYY-MM-DDThh:mm:ss+TMZN”. |
viewsCount |
integer |
Общее количество показов для сообщения, включая текущий показ. |
clicksCount |
integer |
Общее количество переходов для сообщения, включая текущий переход. |