Коды авторизации Telegram Gateway#
В разделе приведено описание особенностей передачи авторизационных кодов по протоколу HTTP в Telegram Gateway.
На данный момент отправка цифровых кодов в Telegram возможна при указании в запросе типа сообщения только SMS. В процессе обработки сообщения будут конвертированы в TG-формат и переданы в Telegram.
Сервис-провайдер поддерживает:
отправку сообщений с кодами авторизации через Telegram Gateway;
получение статусов доставки сообщений.
О Telegram Gateway
Сервис Telegram Gateway предназначен для доставки пользователям мессенджера Telegram авторизационных и верификационных цифровых кодов.
Отправка кодов происходит от имени официального канала Verification Codes.
Если пользователь скрывает свой номер телефона в настройках Telegram, это не влияет на доставку сообщения. Также на доставку кодов не влияет наличие или отсутствие у пользователя подписки Telegram Premium.
Подключение#
Подключение сервиса осуществляет служба технической поддержки Сервис-провайдера.
Для подключения Партнеру и Сервис-провайдеру необходимо согласовать данные:
сервисное имя для передачи авторизационного кода в Telegram;
время жизни сообщения.
Запрос на отправку#
В запросе на передачу авторизационного кода в Telegram необходимо указывать сервисное имя, отдельно согласованное со службой технической поддержки.
В запросе необходимо указать параметры и значения, относящиеся к типу сообщения SMS.
Сообщение должно содержать код от четырёх до восьми цифр.
Метод: GET.
Примеры запросов#
GET-запрос с сообщением на латинице code 12345 в простом текстовом формате:
http://partner.ru/login?serviceId=login&pass=123&clientId=79161234567&message=code%2012345
HTTP/1.1
Host: 10.10.10.10:9080
GET-запрос с текстом сообщения на кириллице код 12345 в URL-формате:
http://partner.ru/login?serviceId=login&pass=123&clientId=79161234567&message=%D0%BA%D0%BE%D0%B4+12345
HTTP/1.1
Host: 10.10.10.10:9080
Параметры запросов#
Параметр |
Обязат. |
Тип |
Описание |
|---|---|---|---|
clientId |
да |
string |
Номер телефона абонента, до 25 символов. Подробнее
Примеры: |
message |
да |
string |
Сообщение для отправки абоненту. ПодробнееТекст в данном параметре должен быть в кодировке UTF-8. Должно содержать код от четырёх до восьми цифр. Максимально допустимая длина сообщения: 2000 символов. |
serviceId |
да |
string |
Идентификатор сервиса (логин), от имени которого происходит отправка сообщения. Подробнее
Сервис-провайдер заводит логин |
pass |
да |
string |
Пароль для авторизации в сервисе. ПодробнееСервис-провайдер заводит пароль при подключении сервиса и сообщает его Партнёру. |
ptag |
нет |
string |
Идентификатор сообщения в системе Партнёра. ПодробнееДопустимые символы: 0...9a...zA...Z- Количество символов: от 1 до 50. Это может быть любой идентификатор в системе Партнёра. Примечание Например, уникальный идентификатор сообщения или идентификатор подразделения,
инициирующего запрос на отправку. В отличие от параметра |
source |
да |
string |
Сервисное имя отправителя. ПодробнееВ запросе на передачу авторизационного кода (в т.ч. в основном канале при каскадной отправке) необходимо указывать сервисное имя, отдельно согласованное со службой технической поддержки. |
output |
нет |
string |
Формат ответа на запрос. Подробнее
Если Если параметр не задан или имеет другое значение, будет применён формат по умолчанию: простой текст (text/plain), см. Ответ на запрос в текстовом формате. |
partnerMsgId |
нет |
string |
Уникальный идентификатор сообщения в системе Партнёра. ПодробнееКоличество символов: от 1 до 50.
Данный параметр используется для контроля повторных отправок и дублирования.
Партнёр может отправить запрос на отправку сообщения с одним и тем же
При этом:
Сервис-провайдер опционально возвращает Партнёру данный идентификатор в рамках запроса на получение статуса доставки сообщения (см. Сервис получения статусов доставки). Использование данного параметра недоступно по умолчанию. Подключение данного функционала следует согласовать со своим курирующим менеджером. |
smsPriority |
нет |
integer |
Параметр указывает на приоритет сообщения. ПодробнееСообщения с более высоким приоритетом отправляются оператору в первую очередь. Возможные значения:
Использование данного параметра недоступно по умолчанию. Подключение данного функционала следует согласовать со своим курирующим менеджером. |
Ответ на запрос#
Примечание
Сервис-провайдер отправляет сообщения абонентам только при успешной обработке запроса.
Ответ на запрос в текстовом формате#
Ответ при успешной отправке запроса#
На успешный запрос Сервис-провайдер возвращает Партнёру:
HTTP-код
200OK;идентификатор сообщения в системе Сервис-провайдера.
OK
4095284974
Ответный код |
Описание |
Возможные действия Партнера |
|---|---|---|
200 |
Успешная обработка запроса.
В теле ответа передаётся идентификатор, присвоенный
сообщению Сервис-провайдером.
Идентификатор представляет собой 64-битное целое
положительное число.
|
Штатная работа с сервисом. |
Ошибки при отправке запроса#
При передаче ошибочного запроса в теле ответа может возвращаться короткое текстовое сообщение об ошибке.
Пример ответа в случае возникновения ошибки – неверного сочетания serviceId/pass:
Invalid password
Код |
Описание |
Действие Партнера |
|---|---|---|
400 |
Отсутствуют обязательные параметры или они заданы некорректно. Подробнее
Например, не передан параметр
|
Что делатьПовторить запрос с правильным сочетанием параметров и их корректными значениями. |
401 |
Передано неверное сочетание параметров |
Что делать
Повторить запрос с верными значениями
параметров |
402 |
Исчерпан остаток оплаченных сообщений (для Партнёров, работающих по предоплате). |
Что делатьДля возобновления отправки сообщений необходимо внести предоплату и обратиться к своему курирующему менеджеру. Повторять запрос Партнёру не следует. |
403 |
Сервис с переданным |
Что делатьСледует обратиться к своему курирующему менеджеру. Повторять запрос Партнёру не следует. |
406 |
Невозможно послать сообщение абоненту с переданным
|
Что делатьПовторять запрос Партнёру не следует. |
408 |
Превышение допустимой скорости отправки сообщений. ПодробнееПримечание Для сервиса Партнёра установлена допустимая
скорость 10 запросов в секунду. Партнёр
отправил 12 запросов в секунду. Первые 10
запросов будут успешно обработаны: в ответ
на эти запросы Сервис-провайдер вернет Партнёру
статус |
Что делатьПартнёр может повторить запрос, не превышая допустимой скорости. |
409 |
Запрещена отправка дубликатов. ПодробнееПримечание Для сервиса Партнёра включен
функционал блокировки дубликатов.
Партнёр отправил в течении суток три
запроса для отправки сообщения на один
номер с одинаковым текстом.
Первый запрос будет успешно
обработан, и сообщение будет
отправлено абоненту. В ответ
на последние два запроса
Сервис-провайдер вернет Партнёру статус
Функционал блокировки дубликатов по умолчанию отключен для Партнёра. Функционал может быть включен по просьбе Партнёра. Также Сервис-провайдер может включить функционал блокировки дубликатов для Партнёра при необходимости. Например, в ответ на жалобы абонентов. |
Что делатьПовторять запрос Партнёру не следует. При необходимости отправки дубликата сообщения, Партнёр может обратиться в службу техподдержки Сервис-провайдера, предоставив наиболее полную информацию об условиях возникновения данной ситуации. |
414 |
Превышение допустимой длины текста сообщения,
переданного в параметре |
Что делатьПартнёр может повторить запрос, сократив текст сообщения до допустимой длины. |
500 |
Внутренняя ошибка сервера. Технические проблемы на стороне Сервис-провайдера. |
Что делать
При получении статуса
При получении статуса |
503 |
Запрос в обработке. Подробнее
Ошибка может возникнуть, если Партнёр
практически одновременно передает несколько
запросов с одним и тем же значением параметра
Пока не обработан первый запрос, на следующие
запросы с тем же |
Что делать
Партнёру следует выдержать паузу и подождать
ответ на первый запрос с переданным значением
параметра Партнёр может повторить запрос, если не получит ответ на первый запрос. |
Ответ в формате XML#
output = xml.200— запрос успешно обработан;500— внутренняя ошибка сервера, технические проблемы на стороне Сервис-провайдера.
Примеры ответов#
Пример ответа в формате XML при успешной отправке запроса (HTTP-код 200) .
<?xml version="1.0" encoding="utf-8"?>
<response>
<code>200</code>
<text>OK</text>
<payload>
<id>4095284976</id>
</payload>
</response>
Пример ответа в формате XML при ошибочной отправке запроса: неверное сочетание serviceId/pass.
<?xml version="1.0" encoding="utf-8"?>
<response>
<code>401</code>
<text>Invalid password</text>
</response>
При получении статуса 500 или при истечении тайм-аута ожидания ответа, Партнёр должен выдержать паузу минимум одну минуту. По истечении паузы Партнёр может повторить запрос.
Примечание
При получении статуса 500 более 10 раз необходимо прекратить передачу запроса. После чего передать в службу техподдержки Сервис-провайдера наиболее полную информацию об условиях возникновения данной ошибки для дальнейшего анализа.
Наименование |
Обязат. |
Описание |
Примечание |
|---|---|---|---|
xml version |
да |
Номер версии XML. |
Содержится в прологе XML-документа. |
encoding |
нет |
Кодировка. |
Содержится в прологе XML-документа. |
response |
да |
Корневой элемент, содержит элементы
|
|
code |
да |
Код ответа (значения соответствуют HTTP-кодам для ответов с типом text/plain). |
Подробнее см. в разделе Ответ на запрос в текстовом формате. |
text |
нет |
Дополнительная краткая текстовая информация об ответе. |
Может содержать информацию об ошибке. |
payload |
нет |
Информация о сообщении, содержит элемент |
Передаются только в случае успешного
выполнения запроса (при значении
|
id |
нет |
Идентификатор, присвоенный сообщению Сервис-провайдером. 64-разрядное целое положительное число. |
Статусы доставки сообщений#
Для получения статусов сообщений необходимо настроить Сервис получения статусов доставки.
Коды ошибок доставки#
Коды ошибок доставки, в зависимости от типа сообщения, приведены в соответствующей вкладке в разделе Описание кодов ошибок (параметр unifiedExtStatus).
Каскадная отправка#
Каскадная рассылка для передачи авторизационных кодов по протоколу HTTP недоступна (см. Каскадная рассылка).