Обновление профиля
Запрос на частичное обновление профиля пользователя по UUID пользователя
Универсальный метод для профиля. Поведение зависит от переданных полей:
- обновить базовые поля — без code: first_name, last_name, middle_name, gender, birthdate, address_actual, timezone_id, region_id;
- установить кандидата на email — без code: email_candidate — сохраняется как кандидат, требует дальнейшего подтверждения;
- установить кандидата на телефон — без code: phone_number_candidate — сохраняется как кандидат;
- сменить email — требует code (OTP intent=5, SmsChangeEmail): email (= значение email_candidate) + code. Требует подтверждённый телефон;
- сменить телефон — требует code (OTP intent=4, EmailChangePhone): phone_number (= значение phone_number_candidate) + code. Требует подтверждённый email;
- сменить пароль — требует code (OTP intent=3, PasswordChange): password (новый) + old_password + code;
- верифицировать email — требует code (OTP intent=6, EmailVerify): email_verified: true + code;
- верифицировать телефон — требует code (OTP intent=7, SmsVerify): phone_number_verified: true + code;
- сменить OTP-транспорт — требует code (OTP intent=8, TransportChange): otp_transport + code. Требует подтверждённый соответствующий контакт.
Метод запроса: PATCH.
Запрос:
/users/{user_id}
Параметры запроса (Parameters):
Схема данных запроса (Schema):
Пример тела запроса:
- обновить базовые поля:
{
"first_name": "Иван",
"last_name": "Иванов",
"gender": "MALE",
"birthdate": "1990-01-15",
"timezone_id": 1,
"region_id": 77
}
- установить кандидата на email:
{
"email_candidate": "newemail@example.com"
}
- установить кандидата на телефон:
{
"phone_number_candidate": "+79009876543"
}
- сменить email (OTP intent=5):
{
"email": "newemail@example.com",
"code": "123456"
}
- сменить телефон (OTP intent=4):
{
"phone_number": "+79009876543",
"code": "123456"
}
- сменить пароль (OTP intent=3):
{
"old_password": "OldSecurePass123",
"password": "NewSecurePass456",
"code": "123456"
}
- верифицировать email (OTP intent=6):
{
"email_verified": true,
"code": "123456"
}
- верифицировать телефон (OTP intent=7):
{
"phone_number_verified": true,
"code": "123456"
}
- сменить OTP-транспорт (OTP intent=8):
{
"otp_transport": "sms",
"code": "123456"
}
Ответ:
Схема данных ответа (Schema): User.
Пример ответа:
{
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"email": "user@example.com",
"email_verified": true,
"phone_number": "+79001234567",
"phone_number_verified": false,
"is_active": true,
"otp_transport": "email",
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович",
"gender": "MALE",
"birthdate": "1990-01-15",
"timezone_id": 1,
"region_id": 77,
"address_actual": null,
"email_candidate": null,
"phone_number_candidate": null
}
Возможные сообщения об ошибках: