CheckAccount#
Метод проверяет наличие аккаунта мессенджера MAX на номере телефона.
Для метода используются ограничения на частоту запросов в секунду.
Обратите внимание!
Система фиксирует, если часто отправляются запросы на проверку существования аккаунта по номеру телефона. Особенно это подозрительно, когда многократно проверяется один и тот же номер, которого не существует. В результате мессенджер может наложить временные ограничения.
Запрос#
Для проверки наличия аккаунта мессенджера MAX требуется выполнить запрос по адресу:
{{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