EditAuthorizationPassword#
Метод предназначен для смены облачного пароля для авторизованной учетной записи MAX.
Для метода используются ограничения на частоту запросов в секунду.
Важно!
При изменении пароля все сессии аккаунта кроме текущей будут разлогинены.
Запрос#
Для смены облачного пароля требуется выполнить запрос по адресу:
{{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 failedDetails: 'oldPassword' is required 'newPassword' is required | Не передан обязательный параметр |
| 400 | Validation failedDetails: 'oldPassword' length must be at least 6 characters long | Пароль содержит менее 6 символов |
| 400 | Validation failedDetails: 'newPassword' length must be less than or equal to 64 characters long | Пароль содержит более 64 символов |
| 400 | Validation failedDetails: '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);