Все запросы следует выполнять методом POST по адресу:
https://cloud.controller.touch-api.com/api/{METHOD_NAME}
Тело передавать в JSON, ответ также будет JSON-объект.
Тело запроса обязательно должно содержать поле:
Если в ответе есть поле "error", значит произошла какая то ошибка, и в этом поле содержится ее текстовое описание. Так же будет возвращен uuid, который необходимо указать при обращении в техническую поддержку.
Добавить аккаунт
Добавить новый WhatsApp аккаунт
POST
https://cloud.controller.touch-api.com/api/addAccount
После успешного вызова можно сразу вызвать setState для запуска аккаунта
Request Body
token*
string
Токен для аутентификации
login*
string
Номер телефона
proxyString*
string
socks5://proxyUsername:proxyPassword@proxyIP:proxyPort
webhookUrl
string
Обновить аккаунт
POST
https://cloud.controller.touch-api.com/api/updateAccount
Перед вызовом данного метода аккаунт должен находит в выклюенном состоянии ( state : false ), после успешного выполнения необходимо выполнить /setState со значением state : true .
UPD: С 04.12.2023 нет необходимости устанавливать setState: TRUE || FALSE для обновления вебхуков
Чтобы удалить вебхуки - передайте пустой массив в параметре webhooksUrls
Request Body
token*
String
Токен для аутентификации
login*
String
Номер телефона
webhookUrl
String
webhookUrls
Array
Массив вебхуков ["",""]
Добавить вебхук в массив вебхуков
POST
https://cloud.controller.touch-api.com/api/addWehook
Метод добавляет вебхук для приема сообщений на заданный Url
Чтобы удалить вебхуки - передайте пустой массив в параметре webhooksUrls /updateAccount
Request Body
token
String
webhookUrl
String
login
String
Удалить аккаунт
POST
https://cloud.controller.touch-api.com/api/deleteAccount
Request Body
token*
String
Токен для аутентификации
login*
String
Номер телефона
setBeta
Устаревший метод.
POST
https://cloud.controller.touch-api.com/api/setBeta
Актаулен только если аккаунт был создан до 01.08.2022 и beta не был задан true
Отправлять запрос с остановленным аккаунтом (перед вызовом сделать forceStop) для избежания конфликтов
Request Body
token*
Токен для аутентификации
login*
Номер телефона
value*
true включить false выключить
Изменить состояние (запуск/остановка)
POST
https://cloud.controller.touch-api.com/api/setState
Если сервер не отвечает после setState, возможно есть проблема с вашим прокси. Пожалуйста, обратитесь для проверки в техническую поддержку
Request Body
token*
String
Токен для аутентификации
login*
String
Номер телефона
setState*
boolean
запуск/остановка аккаунта
После успешного вызова /setState
можно сразу запросить QR-код методом GET:
GET
https://cloud.controller.touch-api.com/api/screenshot
пример: https://controller.touch-api.com/api/screenshot?token={token}&login={login}&source=whatsapp
Path Parameters
token*
String
Токен для аутентификации
login*
String
Номер телефона
source*
String
Полученный QR код нужно отсканировать приложением WhatsApp в телефоне
Настройки -> WhatsApp Web
Если сервер не отвечает после setState
, возможно есть проблема с вашим прокси. Пожалуйста, обратитесь для проверки в техническую поддержку.
Если скриншот не грузит и ваши сервера расположены в России, можно ко всем GET запросам передать дополнительный параметр useAlternativeAddress=1
, который решит эту проблему
Получить данные по токену
POST
https://cloud.controller.touch-api.com/api/getInfoByToken
Получении информации об аккаунтах, приязанных к токену
Request Body
token*
String
Токен для аутентификации
skipDetails
boolean
если true, будет опрошен каждый аккаунт на статус подключения, если у Вас большое кол-во аккаунтов, рекомендуется использовать false, в таком случае актальным будет только defualtState , а далее опросить каждый аккаунт методом /getInfo
Получить данные по аккаунту
POST
https://cloud.controller.touch-api.com/api/getIngo
Получение информации о подключенном аккаунте. Актуально в случае куар авторизации.
Request Body
token
String
login
String
Принудительная остановка
POST
https://cloud.controller.touch-api.com/api/forceStop
Метод принудительной остановки аккаунта может быть полезен в случае, если были ошибки во время запуска или setState:false выполняется с ошибкой
Request Body
token
String
login
String
Получить строку QR кода
POST
https://cloud.controller.touch-api.com/api/getQr
Если аккаунт находится в степе 2.2, то это актуальная ссылка. Если в степе 2.3, то ссылка не актуальна - нужно перезапускать
После получения ответа из значения value необходимо сформировать QR и отсканировать его через приложение WhatsApp
Код обновлеяется каждые 10 секунд, если пользователь не успел подключиться необходимо сформировать код заново
Request Body
token*
String
Токен для аутентификации
login*
String
Номер телефона
Описание авторизации по коду для ввода в приложении вместо сканирования QR
На данный момент функция получения кода может занимать больше времени чем получения QR кода в связи со спецификой установки соединения с WhatsApp и получения кода авторизации, ниже список действий для авторизации по коду.
На данный момент этот способ не рекомендуется использовать как основной, только если пользователь не может авторизиваться по QR
Установить setState: false методом /setState
Очистить текущую сессию /сlearSession
Получить новый проки /getNewProxy
Переключить аккаунт в режим входа по коду /enablePhoneAuth
Установить setState: true методом /setState
Дождаться окончания загрузки и получить код /getAuthCode
Ввести полученный код на телефоне в приложении WhatsApp, в разделе Linked Diveces
Включить авторизацию по коду
POST
https://cloud.controller.touch-api.com/api/enablePhoneAuth
Активация авторизации по коду, если нет возможности отсканировать QR
Request Body
token*
String
Токен для аутентификации
login*
String
Логин для аутентификации
phone*
String
Номер телефона, который будет подключен
Получить код для входа
POST
https://cloud.controller.touch-api.com/api/getAuthCode
Получить код для ввода в приложении WhatsApp
Request Body
token*
String
Токен для аутентификации
login*
String
Логин для аутентификации
Выключить авторизацию по коду
POST
https://cloud.controller.touch-api.com/api/disablePhoneAuth
Request Body
token*
String
Токен для аутентификации
login*
String
Логин для аутентификации
phone*
String
Номер телефона
Очистка сессии
POST
https://cloud.controller.touch-api.com/api/clearSession
Метод используется для очистки данныйх сессии. Перед очисткой необходимо остановить аккаунт, после успешной очистки запустить аккаунт.
Request Body
token*
String
Токен для аутентификации
login*
String
Номер телефона
Получить информацию о пользователе
POST
https://cloud.controller.touch-api.com/api/getUserInfo
Request Body
token*
String
Токен для аутентификации
to*
String
phone like 380999999999
login*
String
Номер телефона
Получечение информации об аккаунте
POST
https://cloud.controller.touch-api.com/api/getInfo
Request Body
token*
String
Токен для аутентификации
login*
String
Номер телефона
Отправить сообщение
POST
https://cloud.controller.touch-api.com/api/sendMessage
Request Body
token*
String
Токен для аутентификации
msg*
object
Поля объекта описаны ниже
login*
String
Логин аккаунта
Таблица состояний аккаунта
Account just started to start
0
False session
2.0 (устаревшее)
QR code received
2.2
Can not update QR
2.3
Код авторизации получен
2.22
Connection with phone was timeouted and will be retried in 20 seconds
3.0 (устаревшее)
Trying to run two Whatsapp instances
3.7 (устаревшее)
Trying to reconnect with phone
3.9 (устаревшее)
Account started successfully &
realtime init done
5
Возможные content (в хуках, /sendMessage
и /getChatMessages
)
/sendMessage
и /getChatMessages
)image
image url
отправка / прием картинок
video
video url
отправка / прием видео
link
<description>&url=<url>
отправка / прием
ссылки с текстом
audio
audio url
отправка / прием аудио
has_seen
*пустая строка*
статус сообщения “прочитано”
file
file url
отправка / прием файлов
geo
{"latitude": 50.4501,"longitude": 30.5234}
Отправка карты сообщением
* file используется в случае когда не удалось распознать картинку, видео или аудио
** красным выделено то, что еще не добавлено в апи
Last updated