Telegram

Все запросы следует выполнять методом POST по адресу:

https://cloud.controller.touch-api.com/api/{METHOD_NAME}

Тело передавать в JSON, ответ также будет JSON-объект.

Тело запроса обязательно должно содержать поле:

{
    "source": "telegram"
}

Если в ответе есть поле "error", значит произошла какая то ошибка, и в этом поле содержится ее текстовое описание. Так же будет возвращен uuid, который необходимо указать при обращении в техническую поддежку.

{
    "uuid": 3928420,
    "error": "Some error text goes here"
}

Подключение аккаунта

  1. /addAccount - добавление аккаунта в систему. (Логином должен быть номер телефона)

  2. /setState - запуск аккаунта

В случае, если логин был указан неверно, метод вернет ошибку:

{
    "error": "Error text goes here"
}

Возможные проблемы

В момент первого запуска или после смены прокси возможны следующие ошибки:

1. В случае ошибки "Challenge required" - код придет в телеграм или смс, и с полученным кодом следует вызвать метод /solveChallenge

2. Если включена двухфакторная аутентификация (2FA), метод вернёт ошибку "Two factor auth required". С полученным в SMS кодом следует вызвать метод /twoFactorAuth

Добавить аккаунт

Добавить новый телеграм аккаунт

POST https://cloud.controller.touch-api.com/api/addAccount

Метод для подключения нового телеграм аккаунта

Request Body

NameTypeDescription

token*

string

Токен для аутентификации

login*

string

Ваш телеграм логин

proxyString*

string

socks5://proxyUsername:proxyPassword@proxyIP:proxyPort

webhookUrl

string

{
    "status": "ok",
    "uuid": "8bed4fe3-8221-4ecf-b696-a05e7af6f335"
}

Обновить аккаунт

POST https://cloud.controller.touch-api.com/api/updateAccount

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

login*

String

Номер телефона

proxyString

String

socks5://proxyUsername:proxyPassword@proxyIP:proxyPort

webhookUrl

String

{
    "status": "ok",
    "uuid": "8bed4fe3-8221-4ecf-b696-a05e7af6f335"
}

Удалить аккаунт

POST https://cloud.controller.touch-api.com/api/deleteAccount

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

login*

String

Номер телефона

{
    "status": "ok",
    "uuid": "8bed4fe3-8221-4ecf-b696-a05e7af6f335"
}

Изменить состояние (запуск/остановка)

POST https://cloud.controller.touch-api.com/api/setState

Если сервер не отвечает после setState, возможно есть проблема с вашим прокси. Пожалуйста, обратитесь для проверки в техническую поддержку

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

login*

String

Номер телефона

setState*

boolean

запуск/остановка аккаунта

qrLogin

boolean

для авторизации по QR коду необходимо задать значение true

{
    "status": "ok",
    "uuid": "8bed4fe3-8221-4ecf-b696-a05e7af6f335"
}

Получить информацию о подключенном аккаунте

POST https://cloud.controller.touch-api.com/api/getMe

Получение информации о подключенном аккаунте. Может быть актуально в случае куар авторизации.

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

login*

String

Номер телефона

{
    "username": "String",
    "phone": "String"
}

Принудительная остановка

POST https://cloud.controller.touch-api.com/api/forceStop

Метод принудительной остановки аккаунта может быть полезен в случае, если были ошибки во время запуска или setState:false выполняется с ошибкой

Request Body

NameTypeDescription

token

String

login

String

{
    "status": "ok",
    "uuid": "8bed4fe3-8221-4ecf-b696-a05e7af6f335"
}

Получить ссылку на QR код

POST https://cloud.controller.touch-api.com/api/getQr

Если аккаунт находится в степе 2.2, то это актуальная ссылка. Если в степе 2.3, то ссылка не актуальна - нужно перезапускать

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

login*

String

Номер телефона

Очистка

POST https://cloud.controller.touch-api.com/api/clearSession

Метод используется для очистки данныйх сессии. Перед очисткой необходимо остановить аккаунт, после успешной очистки запустить аккаунт.

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

login*

String

Номер телефона

{
    "forceStop": true,
    "clearSession": true,
    "getNewProxy": true

}

2FA авторизация

POST https://cloud.controller.touch-api.com/api/twoFactorAuth

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

code*

String

Код для 2FA

login*

String

Номер телефона

Авторизация по коду из смс/лс телеграма

POST https://cloud.controller.touch-api.com/api/solveChallenge

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

code*

String

Код из сообщения

login*

String

Номер телефона

Получить информацию о контакте

POST https://cloud.controller.touch-api.com/api/getUserInfo

По умолчанию выставлены лимиты в 15 новых контактов в день + 200 новых контактов за все время.

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

login*

String

Номер телефона

to*

String

тел. номер/user_id/username

allowContactCreation*

boolean

Создать контакт, если он отсутствует

{
    "error": "Max total contact import count reached"
    // or
    "error": "Max per day contact import count reached"
}

Отправить сообщение

POST https://cloud.controller.touch-api.com/api/sendMessage

Request Body

NameTypeDescription

token*

String

Токен для аутентификации

msg*

object

Поля объекта описаны ниже

login*

String

Номер телефона

{
  "to": String,
  "text": String or null,  // required if content is empty
  "content": [  // required if text is empty
    {
      "type": String,  
      "src": String,  // media url
    }
  ]
}

Таблица состояний аккаунта

MessageValue

Account just started to start

0

This account needs 2FA solving,

API Docs 2.1

2.1

QR code received

2.2

This account needs challenge solving,

API Docs 2.2

2.25

Can not update QR

2.3

Another error during account launch

2.5

Account started successfully &

realtime init done

5

Возможные content (в хуках, /sendMessage и /getChatMessages)

TypeSrcОписание

image

image url

отправка / прием картинок

video

video url

отправка / прием видео

link

<description>&url=<url>

отправка / прием

ссылки с текстом

audio

audio url

отправка / прием аудио

has_seen

*пустая строка*

статус сообщения “прочитано”

file

file url

отправка / прием файлов

* file используется в случае когда не удалось распознать картинку, видео или аудио

** красным выделено то, что еще не добавлено в апи

Last updated