Перейти к содержанию

CheckAccount#

Test Postman

Метод проверяет наличие аккаунта мессенджера Telegram на номере телефона.

Для метода используются ограничения на частоту запросов в секунду.

Обратите внимание!

Система фиксирует, если часто отправляются запросы на проверку существования аккаунта по номеру телефона. Особенно это подозрительно, когда многократно проверяется один и тот же номер, которого не существует. В результате мессенджер может наложить временные ограничения.

Запрос#

Для проверки наличия аккаунта мессенджера Telegram требуется выполнить запрос по адресу:

POST
{{apiUrl}}/waInstance{{idInstance}}/checkAccount/{{apiTokenInstance}}

Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Параметры запроса#

Параметр Тип Обязательный Описание
phoneNumber integer Да Номер телефона получателя в международном формате
force boolean Нет Параметр определяет, нужно ли игнорировать кэш.
По умолчанию false - метод использует кэшированные данные.
При значении true игнорирует кэш и отправляет запрос напрямую на сервер Telegram.

Пример тела запроса#

{
    "phoneNumber": 79876543210,
}
{
    "phoneNumber": 79876543210,
    "force": true
}

Ответ#

Поля ответа#

Поле Тип Описание
exist boolean Флаг наличия аккаунта Telegram на номере телефона
chatId string chatId пользователя Telegram на номере телефона

Пример тела ответа#

К номеру привязан Telegram аккаунт

{
    "exist": true,
    "chatId": "10000000"
}

У номера отсутствует Telegram аккаунт или номер скрыт настройками приватности

{
    "exist": false,
    "chatId": ""
}

Инстанс находится в статусе starting или notAuthorized

{
    "status": false,
    "reason": "instance is starting or not authorized"
}

Лимит запросов номера телефона методом

{
    "status": false,
    "reason": "User get contact info limit reached"
}

Ошибки#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 Validation failed.
Details: Wrong format. 'phoneNumber' must contain only digits
Номер должен содержать только цифры
469 User get contact info limit reached Сервер Telegram вернул ошибку из-за частых запросов на различные номера в течение нескольких минут. Рекомендуется приостановить проверки номеров на инстансе на 2 часа.

Примеры кода#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/checkAccount/{{apiTokenInstance}}"

payload = {
    "phoneNumber": 79876543210
}

response = requests.post(url, json=payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/checkAccount/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data '{
    "phoneNumber": 79876543210
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/checkAccount/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\"phoneNumber\": 79876543210}";

var requestEntity = new HttpEntity<>(jsonBody, headers);

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/Instance").append({{idInstance}})
    .append("/checkAccount/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"phoneNumber\": 79876543210}")
    .asString();

System.out.println(response);
Sub CheckAccount()
    Dim url As String
    Dim RequestBody As String
    Dim http As Object
    Dim response As String

    ' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
    url = "{{apiUrl}}/waInstance{{idInstance}}/checkAccount/{{apiTokenInstance}}"

    ' chatId - is the number to check Telegram
    RequestBody = "{""phoneNumber"":"79876543210"}"

    Set http = CreateObject("MSXML2.XMLHTTP")

    With http
        .Open "POST", url, False
        .setRequestHeader "Content-Type", "application/json"
        .Send RequestBody
    End With

    response = http.responseText

    Debug.Print response

    ' Outputting the answer to the desired cell
    Range("A1").Value = response

    Set http = Nothing
End Sub