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

CheckAccount#

Test Postman Apidog

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

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

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

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

Запрос#

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

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

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

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

Параметр Тип Обязательный Описание
phoneNumber integer Да Номер телефона получателя в международном формате: 11 или 12 цифр: Допускается использовать только номера телефонов для РФ и РБ с кодами "7" и "375" соответственно.
force boolean Нет Параметр определяет, нужно ли игнорировать кэш.
По умолчанию false - метод использует кэшированные данные.
При значении true игнорирует кэш и отправляет запрос напрямую на сервер MAX.

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

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

Ответ#

Поля ответа#

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

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

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

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

У номера отсутствует MAX аккаунт

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

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

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

Сервер MAX вернул ошибку из-за частых запросов CheckAccount на различные номера в течение нескольких минут.
Необходимо подождать некоторое время перед повторным использованием CheckAccount (до нескольких минут).
Код ответа: 469

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

Ошибки CheckAccount#

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

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 Validation failed.
Details: Wrong format. 'phoneNumber' must contain only digits
Номер должен содержать только цифры
400 bad phone number, valid 11 or 12 digits Неверный формат номера телефона, должен быть 11 или 12 цифр
400 check phone number timeout limit exceeded Превышен лимит времени ожидания ответа о проверке номера телефона
469 User get contact info limit reached Сервер MAX вернул ошибку из-за частых запросов на различные номера в течение нескольких минут.

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

import requests

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

payload = {
    "phoneNumber": 79991234567
}

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

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

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

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

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("/v3/Instance").append({{idInstance}})
    .append("/checkAccount/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"phoneNumber\": 79991234567}")
    .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}}/v3/waInstance{{idInstance}}/checkAccount/{{apiTokenInstance}}"

    ' chatId - is the number to check MAX
    RequestBody = "{""phoneNumber"":""79991234567""}"

    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