Коды авторизации Telegram Gateway#
В данном разделе приведено описание особенностей передачи авторизационных кодов через платформу в Telegram Gateway.
Подробнее
Сервис Telegram Gateway предназначен для доставки пользователям мессенджера Telegram авторизационных и верификационных цифровых кодов.
Отправка кодов происходит от имени официального канала Verification Codes.
Если пользователь скрывает свой номер телефона в настройках Telegram, это не влияет на доставку сообщения. Также на доставку кодов не влияет наличие или отсутствие у пользователя подписки Telegram Premium.
Отправка цифровых кодов в сообщениях Telegram возможна в текстах сообщений любого типа. В процессе обработки сообщения будут конвертированы в TG-формат и переданы в Telegram.
На данный момент сервис поддерживает:
- отправку сообщений с кодами авторизации через Telegram;
- получение статусов доставки сообщений;
- каскадную передачу сообщений на альтернативные каналы в случае недоставки в Telegram (при необходимости).
Подключение#
Подключение сервиса осуществляет служба технической поддержки Сервис-провайдера.
Для подключения Партнеру и Сервис-провайдеру необходимо согласовать данные:
сервисное имя;
время жизни сообщения (ttl).
Запрос на отправку#
В запросе на передачу авторизационного кода (в т.ч. в основном канале при каскадной отправке) необходимо указывать сервисное имя, отдельно согласованное со службой технической поддержки.
В запросе рекомендуется указать параметры и значения, относящиеся к типу сообщения SMS
.
1 {
2 "login":"ВАШ_ЛОГИН",
3 "password":"ВАШ_ПАРОЛЬ",
4 "destAddr":"НОМЕР_АБОНЕНТА",
5 "id":"8770630",
6 "registeredDelivery":"1",
7 "notifyUrl":"URL_для_передачи_статусов",
8 "extraParam":"место=турбаза,название=гостевой дом 3",
9 "message":{
10 "type":"SMS",
11 "data":{
12 "text":"Текст. Код 12345",
13 "serviceNumber":"СПЕЦИАЛЬНОЕ_ИМЯ_ОТПРАВИТЕЛЯ",
14 "ttl":120,
15 "ttlUnit":"SECONDS"
16 }
17 }
18 }
При каскадной отправке в запросе рекомендуется указать параметры и значения, относящиеся к типу SMS
, в основном сообщении и в следующем сообщении в цепочке.
1 {
2 "login": "ВАШ_ЛОГИН",
3 "password": "ВАШ_ПАРОЛЬ",
4 "destAddr": "НОМЕР_АБОНЕНТА",
5 "id": "8770630",
6 "message": {
7 "type": "SMS",
8 "data": {
9 "text": "Текст. Код 12345",
10 "serviceNumber": "СПЕЦИАЛЬНОЕ_ИМЯ_ОТПРАВИТЕЛЯ",
11 "ttl": 1,
12 "ttlUnit": "MINUTES"
13 }
14 },
15 "cascadeChainLink": {
16 "state": "DELIVERED",
17 "message": {
18 "type": "SMS",
19 "data": {
20 "text": "Текст. Код 12345",
21 "serviceNumber": "ИМЯ_ОТПРАВИТЕЛЯ_2",
22 "ttl": 1,
23 "ttlUnit": "MINUTES"
24 }
25 }
26 }
27 }
Параметр |
Обязат. |
Тип |
Описание |
---|---|---|---|
login |
да |
string |
Имя Партнёра. |
password |
да |
string |
Пароль Партнёра. |
destAddr |
да |
string |
Номер телефона абонента. Подробнее
Содержит код страны, код оператора и номер телефона.
Для РФ код может быть
Примеры: |
id |
нет |
string |
Уникальный идентификатор на стороне Партнёра. ПодробнееДанный параметр нужен для контроля повторных отправок и дублирования (сервис контроля включается отдельно). Партнёр может вызывать Сервис-провайдера (запрос на отправку сообщения) с одним и тем же id несколько раз. При этом: отправка сообщения абоненту будет выполнена только один раз (по первому запросу). В ответах на запросы Сервис-провайдер вернет Партнёру один и тот же идентификатор сообщения в системе Сервис-провайдера (тот же, что на первый запрос). Сервис-провайдер опционально возвращает Партнёру данный идентификатор при его наличии в отчёте о доставке сообщения. |
message |
да |
object |
Параметры отправляемого сообщения. ПодробнееСодержит информацию о типе сообщения и его содержимом. |
{message}
type
|
да |
enum |
Тип сообщения. В запросе на отправку сообщения с кодом рекомендуется указать значение |
{message}
data
|
да |
object |
Параметры отправляемых данных. |
{message/data}
text
|
да |
string |
Текст отправляемого сообщения. Сообщение должно содержать код от четырёх до восьми цифр.
Сообщения без цифровых кодов доставлены не будут.
ПодробнееТекст сообщения может быть на кириллице или латинице, содержать эмоджи. Количество символов: не более 1000. |
{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 |
Параметры каскадных сообщений.
|
{cascadeChainLink}
state
|
да |
enum |
Статус, по которому производится доотправка сообщения.
Обязательный параметр, если требуется передача сообщения в каскаде.
ПодробнееВозможные значения:
|
{cascadeChainLink}
message
|
да |
object |
Параметры доотправляемого сообщения.
Обязательный параметр, если требуется передача сообщения в каскаде.
Подробнее
Аналогично объекту |
{cascadeChainLink}
nextLink
|
нет |
object |
Параметры следующего доотправляемого сообщения в цепочке. Подробнее
Аналогично объекту |
Ответ на запрос#
После отправки сообщения Сервис-провайдер синхронно возвращает ответ.
Ответ при успешной отправке#
В случае успешной отправки возвращается HTTP-code 200 OK.
1 {
2 "mtNum": "7390612217"
3 "id": "8770630"
4 }
Параметр |
Тип данных |
Описание |
---|---|---|
mtNum |
string |
Идентификатор цепочки отправки, присваиваемый платформой Сервис-провайдера. |
id |
string |
Уникальный идентификатор на стороне Партнёра. Присутствует, если был передан при отправке. |
Ошибки при отправке#
Для ошибочных результатов HTTP-код ответа будет отличный от 200 (см. Коды ошибок отправки).
1 {
2 "error": {
3 "code": 9,
4 "description": "Message type is not correct"
5 },
6 "extendedDescription": "SMS sending is not allowed for *user*."
7 }
Параметр |
Тип данных |
Описание |
---|---|---|
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 авторизационных кодов возможно получение только следующих статусов:
«доставлено»;
«не доставлено».