Skip to main content

POST - Пакетное обновление пользователей

Описание

Эндпоинт POST /users/batch позволяет обновить несколько записей пользователей одновременно, указав их уникальные идентификаторы (ID) и поля для обновления.


Аутентификация

ЗаголовокОписаниеПример
AuthorizationТокен для аутентификации.Authorization: abcdef1234567890

Примечания:

  • Токены должны быть включены в заголовок Authorization для всех запросов.
  • Недействительные или истекшие токены приведут к ошибке аутентификации.

Структура запроса

Путь

Параметры пути не требуются.

Тело запроса

Тело запроса представляет собой массив объектов. Каждый объект представляет собой запись пользователя для обновления и включает:

  • id пользователя (обязательно).
  • Поля для обновления (необязательно, поддерживаются частичные обновления).
ПолеТипОписаниеОбязательное
idUUIDУникальный идентификатор пользователя.Да
firstNameстрокаИмя пользователя.Нет
middleNameстрокаОтчество пользователя.Нет
lastNameстрокаФамилия пользователя.Нет
employeeNoстрокаНомер сотрудника.Нет
employeePinстрокаPIN сотрудника.Нет
emailстрокаАдрес электронной почты пользователя.Нет
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.