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

EditAuthorizationPassword#

Метод предназначен для смены облачного пароля для авторизованной учетной записи MAX.

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

Важно!

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

Запрос#

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

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

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

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

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

Поведение параметра hint

Если параметр hint не передан, текущая подсказка сохраняется без изменений. Чтобы удалить подсказку, передайте пустую строку "".

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

Смена пароля без изменения подсказки:

{
    "oldPassword": "qwerty123",
    "newPassword": "qwerty456"
}

Смена пароля с новой подсказкой:

{
    "oldPassword": "qwerty123",
    "newPassword": "qwerty456",
    "hint": "Новая подсказка"
}

Ответ#

Поля ответа#

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

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

Поле Тип Описание
status string Результат смены пароля:
success - Пароль успешно изменён
fail - Ошибка смены пароля
reason string Причины при fail:
not_authorized — Инстанс не авторизован
password_not_set — Пароль не установлен, используйте SetAuthorizationPassword
new_password_matches_current — Новый пароль совпадает с текущим
invalid_password — Указан неверный текущий пароль
weak_password — Новый пароль слишком простой
attempts_exceeded — Превышено количество попыток ввода пароля

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

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

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

Указан неверный текущий пароль:

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

Новый пароль совпадает с текущим:

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

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

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

Ошибки#

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

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 Validation failed
Details: 'oldPassword' is required
'newPassword' is required
Не передан обязательный параметр
400 Validation failed
Details: 'oldPassword' length must be at least 6 characters long
Пароль содержит менее 6 символов
400 Validation failed
Details: 'newPassword' 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}}/editAuthorizationPassword/{{apiTokenInstance}}"

payload = {
    "oldPassword": "qwerty123",
    "newPassword": "qwerty456"
}

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

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

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/editAuthorizationPassword/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "oldPassword": "qwerty123",
    "newPassword": "qwerty456"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/editAuthorizationPassword/")
    .append({{apiTokenInstance}});

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

var jsonBody = "{\r\n\t\"oldPassword\": \"qwerty123\",\r\n\t\"newPassword\": \"qwerty456\"\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("/editAuthorizationPassword/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\r\n\t\"oldPassword\": \"qwerty123\",\r\n\t\"newPassword\": \"qwerty456\"\r\n}")
    .asString();

System.out.println(response);