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

SetAuthorizationPassword#

Test Postman Apidog

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

После установки пароля при последующей авторизации инстанса потребуется передать пароль методом SendAuthorizationPassword.

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

Важно!

При изменении пароля все сессии аккаунта кроме текущей будут разлогинены.

Пароль нельзя установить сразу после авторизации

Мессенджер MAX не разрешает устанавливать облачный пароль в первые 24 часа после авторизации учетной записи. До истечения этого срока метод вернёт причину password_setup_too_early.

Запрос#

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

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

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

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

Параметр Тип Обязательный Описание
password string Да Облачный пароль (2FA), который нужно установить на аккаунт.
Длина ограничена значениями от 6 до 64 символов
hint string Нет Подсказка к паролю.
Длина ограничена значением до 30 символов

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

{
    "password": "qwerty123",
    "hint": "Как обычно"
}

Ответ#

Поля ответа#

Поле Тип Описание
status boolean Статус выполнения запроса
true - Успешное выполнение запроса
false - Ошибка выполнения запроса
data object Подробности выполнения запроса

Поля объекта data#

Поле Тип Описание
status string Результат установки пароля:
success - Пароль успешно установлен
fail - Ошибка установки пароля
reason string Причины при fail:
not_authorized — Инстанс не авторизован
password_already_set — Пароль уже установлен, используйте EditAuthorizationPassword
password_setup_too_early — С момента авторизации не прошло 24 часа
weak_password — Пароль слишком простой

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

Успешное выполнение метода:

{
    "status": true,
    "data": {
        "status": "success",
        "reason": ""
    }
}

Пароль уже установлен:

{
    "status": false,
    "data": {
        "status": "fail",
        "reason": "password_already_set"
    }
}

С момента авторизации не прошло 24 часа:

{
    "status": false,
    "data": {
        "status": "fail",
        "reason": "password_setup_too_early"
    }
}

Пароль слишком простой:

{
    "status": false,
    "data": {
        "status": "fail",
        "reason": "weak_password"
    }
}

Ошибки#

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

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 Validation failed
Details: 'password' is required
Не передан обязательный параметр password
400 Validation failed
Details: 'password' length must be at least 6 characters long
Пароль содержит менее 6 символов
400 Validation failed
Details: 'password' length must be less than or equal to 64 characters long
Пароль содержит более 64 символов
400 Validation failed
Details: 'hint' length must be less than or equal to 30 characters long
Подсказка содержит более 30 символов
500 Internal Server Error Возникла ошибка сервера

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

import requests

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

payload = {
    "password": "qwerty123",
    "hint": "Как обычно"
}

headers = {
    'Content-Type': 'application/json'
}

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

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/setAuthorizationPassword/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "password": "qwerty123",
    "hint": "Как обычно"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/setAuthorizationPassword/")
    .append({{apiTokenInstance}});

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

var jsonBody = "{\r\n\t\"password\": \"qwerty123\",\r\n\t\"hint\": \"Как обычно\"\r\n}";

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("/waInstance").append({{idInstance}})
    .append("/setAuthorizationPassword/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\r\n\t\"password\": \"qwerty123\",\r\n\t\"hint\": \"Как обычно\"\r\n}")
    .asString();

System.out.println(response);