POST - Пакетное обновление пользователей
Описание
Эндпоинт POST /users/batch
позволяет обновить несколько записей пользователей одновременно, указав их уникальные идентификаторы (ID) и поля для обновления.
Аутентификация
Заголовок | Описание | Пример |
---|---|---|
Authorization | Токен для аутентификации. | Authorization: abcdef1234567890 |
Примечания:
- Токены должны быть включены в заголовок
Authorization
для всех запросов. - Недействительные или истекшие токены приведут к ошибке аутентификации.
Структура запроса
Путь
Параметры пути не требуются.
Тело запроса
Тело запроса представляет собой массив объектов. Каждый объект представляет собой запись пользователя для обновления и включает:
id
пользователя (обязательно).- Поля для обновления (необязательно, поддерживаются частичные обновления).
Поле | Тип | Описание | Обязательное |
---|---|---|---|
id | UUID | Уникальный идентификатор пользователя. | Да |
firstName | строка | Имя пользователя. | Нет |
middleName | строка | Отчество пользователя. | Нет |
lastName | строка | Фамилия пользователя. | Нет |
employeeNo | строка | Номер сотрудника. | Нет |
employeePin | строка | PIN сотрудника. | Нет |
строка | Адрес электронной почты пользователя. | Нет | |
phone | строка | Номер телефона пользователя. | Нет |
language | строка | Предпочтительный язык (например, en , ru ). | Нет |
role | строка | Роль, назначенная пользователю (например, ADMIN ). | Нет |
locationIds | массив строк | Список ID местоположений, связанных с пользователем. | Нет |
tags | массив строк | Теги, связанные с пользователем. | Нет |
Пример запроса
Тело запроса
[
{
"id": "be63c536-6cf3-4866-8970-37a956e3f403",
"language": "ru",
"role": "ADMIN"
},
{
"id": "53262fe0-adf9-4a64-8040-e1eb9db72213",
"language": "ru",
"employeePin": "1111"
}
]
Заголовки запроса
POST /users/batch
Authorization: abcdef1234567890
Content-Type: application/json
Пример успешного ответа
HTTP Статус Код: 200 OK
Тело ответа
[
{
"id": "be63c536-6cf3-4866-8970-37a956e3f403",
"firstName": "John",
"middleName": "Lee",
"lastName": "Fox",
"employeeNo": "1234",
"employeePin": "4321",
"email": "[email protected]",
"phone": "80291110099",
"language": "ru",
"role": "ADMIN",
"status": "ACTIVE",
"photoId": "a7c6f740-2a42-449c-a03b-b8d36aa4709a",
"locationIds": [
"99b770c0-2396-43d3-b109-85a9d73df7b1",
"e1dfeaba-4318-4411-be91-f8af5214dd02"
],
"tags": [
"tag1",
"tag2"
],
"userLinked": true
},
{
"id": "53262fe0-adf9-4a64-8040-e1eb9db72213",
"firstName": "Robbert",
"middleName": "Lee",
"lastName": "Jenkins",
"employeeNo": "4444",
"employeePin": "1111",
"email": "[email protected]",
"phone": "80291110099",
"language": "ru",
"role": "MANAGER",
"status": "ACTIVE",
"photoId": "b1f81506-b327-4420-bbc6-44a5d062fbf4",
"locationIds": [
"99b770c0-2396-43d3-b109-85a9d73df7b1"
],
"tags": [
"tag1",
"tag2"
],
"userLinked": true
}
]
Примеры ошибок
1. Ресурс не найден
HTTP Статус Код: 404 Not Found
Тело ответа:
{
"message": "resource wasn't found",
"code": "not.found",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Описание: Один или несколько ID пользователей, указанных в запросе, не были найдены.
2. Несоответствие типа контента
HTTP Статус Код: 406 Not Acceptable
Тело ответа:
{
"message": "mismatch in the types of content",
"code": "not.acceptable",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Описание: Заголовок Content-Type
запроса не соответствует ожидаемому типу (например, application/json
).
3. Внутренняя ошибка сервера
HTTP Статус Код: 500 Internal Server Error
Тело ответа:
{
"message": "internal server error",
"code": "internal.server.error",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Описание: Произошла непредвиденная ошибка на сервере при обработке запроса.
Резюме
Эндпоинт POST /users/batch
позволяет эффективно обновлять несколько записей пользователей. Убедитесь, что в запросе указаны действительные ID пользователей и поля для обновления. Обрабатывайте возможные ошибки, такие как отсутствие ресурса, несоответствие типа контента и ошибки на сервере для обеспечения стабильной работы API.