Коды авторизации Telegram Gateway#
В данном разделе приведено описание особенностей передачи авторизационных кодов через платформу в Telegram Gateway.
Подробнее
Сервис Telegram Gateway предназначен для доставки пользователям мессенджера Telegram авторизационных и верификационных цифровых кодов.
Отправка кодов происходит от имени официального канала Verification Codes.
Если пользователь скрывает свой номер телефона в настройках Telegram, это не влияет на доставку сообщения. Также на доставку кодов не влияет наличие или отсутствие у пользователя подписки Telegram Premium.
На данный момент сервис поддерживает:
- отправку сообщений с кодами авторизации через Telegram;
- получение статусов доставки сообщений;
- каскадную передачу сообщений на альтернативные каналы в случае недоставки в Telegram (при необходимости).
Запрос на отправку#
1 {
2 "login": "ВАШ_ЛОГИН",
3 "password": "ВАШ_ПАРОЛЬ",
4 "useTimeDiff": true,
5 "id": "superId",
6 "shortenLinks": false,
7 "scheduleInfo": {
8 "timeBegin": "10:00",
9 "timeEnd": "12:00",
10 "weekdaysSchedule": "123"
11 },
12 "destAddr": "НОМЕР_АБОНЕНТА",
13 "message": {
14 "type": "TGCODE",
15 "data": {
16 "text": "Ваш код: 12345.",
17 "serviceNumber": "ИМЯ_ОТПРАВИТЕЛЯ",
18 "ttl": 120,
19 "ttlUnit": "SECONDS"
20 }
21 }
22 }
Параметр |
Обязат. |
Тип |
Описание |
---|---|---|---|
login |
да |
string |
Имя Партнёра. |
password |
да |
string |
Пароль Партнёра. |
destAddr |
да |
string |
Номер телефона абонента. Подробнее
Содержит код страны, код оператора и номер телефона.
Для РФ код может быть
Примеры: |
id |
нет |
string |
Уникальный идентификатор на стороне Партнёра. ПодробнееДанный параметр нужен для контроля повторных отправок и дублирования (сервис контроля включается отдельно). Партнёр может вызывать Сервис-провайдера (запрос на отправку сообщения) с одним и тем же id несколько раз. При этом: отправка сообщения абоненту будет выполнена только один раз (по первому запросу). В ответах на запросы Сервис-провайдер вернет Партнёру один и тот же идентификатор сообщения в системе Сервис-провайдера (тот же, что на первый запрос). Сервис-провайдер опционально возвращает Партнёру данный идентификатор при его наличии в отчёте о доставке сообщения. |
message |
да |
object |
Параметры отправляемого сообщения. ПодробнееСодержит информацию о типе сообщения и его содержимом. |
{message}
type
|
да |
enum |
Тип сообщения. Указать значение |
{message}
data
|
да |
object |
Параметры отправляемых данных. |
{message/data}
text
|
да |
string |
Текст отправляемого сообщения. Сообщение должно содержать код от четырёх до восьми цифр.
Сообщения без цифровых кодов доставлены не будут.
ПодробнееТекст сообщения может быть на кириллице или латинице, содержать эмоджи. Количество символов: не более 2000. Если в сообщении несколько кодов, будет передан только первый. |
{message/data}
serviceNumber
|
да |
string |
Сервисное имя, от которого осуществляется отправка сообщения. |
{message/data}
ttl
|
нет |
integer |
Срок жизни сообщения. ПодробнееДопустимый диапазон, сек: от 30 до 3600. Примечание. При ttl = 0 или отсутствии параметра в запросе берётся значение из настроек по умолчанию, которые задаются при настройке интеграции отдельно для каждого клиента. |
{message/data}
ttlUnit
|
нет |
enum |
Единица измерения периода доставки сообщения. Подробнее
Передается только вместе с Допустимые значения:
|
extraParam |
нет |
string |
Дополнительные параметры, передаваемые в сообщении. Подробнее
Передаются в виде
Пример: Символ запятой в название параметра входить не может, но может входить в его значение. В в этом случае он должен удваиваться.
Пример: |
registeredDelivery |
нет |
integer |
Необходимость отчётов о доставке. ПодробнееУкажите, нужны ли отчёты о доставке для отслеживания статусов. Допустимые значения:
При отправке каскадной цепочки сообщений, для получения отчётов
по всем типам сообщений необходимо указать значение |
notifyUrl |
нет |
string |
Имя хоста входящего API для получения отчета о доставке. ПодробнееЭтот параметр в запросе необязательный, но при его отправке нужно учесть следующее:
При невыполнении любого из указанных условий будет сгенерирована ошибка, запрос не будет выполнен. |
Ответ на запрос#
После отправки сообщения Сервис-провайдер синхронно возвращает ответ.
Ответ при успешной отправке#
В случае успешной отправки возвращается HTTP-код 200 OK
.
1 {
2 "mtNum": "7390612217"
3 "id": "8770630"
4 }
Параметр |
Тип данных |
Описание |
---|---|---|
mtNum |
string |
Идентификатор цепочки отправки, присваиваемый платформой Сервис-провайдера. |
id |
string |
Уникальный идентификатор на стороне Партнёра. Присутствует, если был передан при отправке. |
Ошибки при отправке#
Для ошибочных результатов HTTP-код ответа будет отличный от 200 OK
(см. Коды ошибок отправки).
1 {
2 "error": {
3 "code": 4,
4 "description": "Invalid request"
5 },
6 "extendedDescription": "В сообщении отсутствует код"
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 |
Статусы доставки сообщений#
Для получения статусов необходимо настроить Сервис получения статусов доставки сообщений.