Коды авторизации 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. Если в сообщении несколько кодов, будет передан только первый. 
       Любой сопутствующий текст на кириллице или латинице (включая эмоджи)
       будет проигнорирован и заменен на стандартный шаблон Telegram в
       зависимости от языка пользовательского интерфейса:  | 
| {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 | 
Статусы доставки сообщений#
Для получения статусов необходимо настроить Сервис получения статусов доставки сообщений.