Изменить контактную информацию
Изменяет контактную информацию сотрудника. Чтобы удалить всю контактную информацию, передайте пустой список.
Автоматически созданную контактную информацию (с флагом synthetic) нельзя изменить или удалить.
Требуется разрешение на изменение данных сотрудников.
Request
PUT
https://cloud-api.yandex.net/v1/api360/directory/org/{org_id}/users/{user_id}/contacts
Path parameters
|
Name |
Description |
|
org_id |
Type: integer Идентификатор организации. |
|
user_id |
Type: string Идентификатор сотрудника. Example: `` |
Body
application/json
{
"contacts": [
{
"type": "example",
"value": "example",
"label": "example",
"isForCompletionKeyLink": true
}
]
}
|
Name |
Description |
|
contacts |
Type: PutContacts Список контактов пользователя. Example
|
ContactsItem
Контакт пользователя.
|
Name |
Description |
|
type |
Type: string Произвольный тип контакта. Примеры: Example: |
|
value |
Type: string Значение контакта. Формат зависит от типа контакта. Min length: Max length: Example: |
|
isForCompletionKeyLink |
Type: boolean Признак номера телефона для отправки смс со ссылкой для завершения регистрации:
|
|
label |
Type: string Метка контакта (например, "рабочий", "личный"). Max length: Example: |
Example
{
"type": "example",
"value": "example",
"label": "example",
"isForCompletionKeyLink": true
}
PutContacts
Список контактов пользователя.
Type: ContactsItem[]
Example
[
{
"type": "example",
"value": "example",
"label": "example",
"isForCompletionKeyLink": true
}
]
Responses
200 OK
Успешный ответ. Возвращает данные пользователя с обновленными контактами.
Body
application/json
{
"id": 0,
"nickname": "example",
"departmentId": 0,
"email": "example",
"defaultEmail": "example",
"name": {
"first": "example",
"middle": "example",
"last": "example"
},
"gender": "example",
"position": "example",
"avatarId": "example",
"about": "example",
"birthday": "example",
"contacts": [
{
"type": "example",
"value": "example",
"main": true,
"alias": true,
"synthetic": true,
"isForCompletionKeyLink": true,
"label": "example"
}
],
"aliases": [
"example"
],
"groups": [
0
],
"externalId": "example",
"isAdmin": true,
"isRobot": true,
"isDismissed": true,
"is2faEnabled": true,
"isEnabled": true,
"isAgreementAccepted": true,
"timezone": "example",
"language": "example",
"createdAt": "2025-01-01T00:00:00Z",
"updatedAt": "2025-01-01T00:00:00Z",
"isEnabledUpdatedAt": "example",
"completionKeyLinkSendingStatus": {
"attempts": 0,
"createdAt": "2025-01-01T00:00:00Z",
"lastAttemptAt": "2025-01-01T00:00:00Z",
"lastSendingStatus": "success",
"linkExpiresAt": "2025-01-01T00:00:00Z"
}
}
|
Name |
Description |
|
about |
Type: string Описание сотрудника. Example: |
|
aliases |
Type: string[] Список алиасов сотрудника. Example
|
|
avatarId |
Type: string Идентификатор аватара сотрудника. Example: |
|
birthday |
Type: string Дата рождения сотрудника в формате Example: |
|
completionKeyLinkSendingStatus |
Type: CompletionKeyLinkSendingStatus Статус отправки смс со ссылкой для завершения регистрации. Отсутствует, если смс со ссылкой не отправлялось. Example
|
|
contacts |
Type: Contacts Список контактов сотрудника. Example
|
|
createdAt |
Type: string<date-time> Дата и время создания сотрудника в формате ISO 8601. Example: |
|
defaultEmail |
Type: string Адрес, используемый по умолчанию для отправки писем и отображения в контактах. Example: |
|
departmentId |
Type: integer Идентификатор подразделения, в котором состоит сотрудник. |
|
|
Type: string Основной адрес электронной почты сотрудника. Example: |
|
externalId |
Type: string Произвольный внешний идентификатор сотрудника. Example: |
|
gender |
Type: string Пол сотрудника. Example: |
|
groups |
Type: integer[] Список идентификаторов групп, в которых состоит сотрудник. Example
|
|
id |
Type: integer Идентификатор сотрудника. |
|
is2faEnabled |
Type: boolean Статус обязательной персональной двухфакторной аутентификации:
|
|
isAdmin |
Type: boolean Признак администратора организации:
|
|
isAgreementAccepted |
Type: boolean Признак завершения регистрации:
|
|
isDismissed |
Type: boolean Статус сотрудника:
|
|
isEnabled |
Type: boolean Статус аккаунта:
|
|
isEnabledUpdatedAt |
Type: string Дата и время последнего изменения статуса аккаунта в формате ISO 8601. Example: |
|
isRobot |
Type: boolean Признак служебного бота:
|
|
language |
Type: string Язык сотрудника. Example: |
|
name |
Type: Name ФИО сотрудника. Example
|
|
nickname |
Type: string Логин сотрудника. Example: |
|
position |
Type: string Должность сотрудника. Example: |
|
timezone |
Type: string Часовой пояс сотрудника. Example: |
|
updatedAt |
Type: string<date-time> Дата и время изменения данных сотрудника в формате ISO 8601. Example: |
Name
ФИО сотрудника.
|
Name |
Description |
|
first |
Type: string Имя сотрудника. Example: |
|
last |
Type: string Фамилия сотрудника. Example: |
|
middle |
Type: string Отчество сотрудника. Example: |
Example
{
"first": "example",
"middle": "example",
"last": "example"
}
ContactItem
Контакт сотрудника.
|
Name |
Description |
|
alias |
Type: boolean Если у сотрудника есть алиас, для него автоматически создается контакт типа
|
|
isForCompletionKeyLink |
Type: boolean Признак номера телефона для отправки смс со ссылкой для завершения регистрации:
|
|
label |
Type: string Метка контакта. Example: |
|
main |
Type: boolean Признак основного контакта:
|
|
synthetic |
Type: boolean Признак автоматически созданного контакта:
|
|
type |
Type: string Тип контакта. Example: |
|
value |
Type: string Значение контакта. Example: |
Example
{
"type": "example",
"value": "example",
"main": true,
"alias": true,
"synthetic": true,
"isForCompletionKeyLink": true,
"label": "example"
}
Contacts
Список контактов сотрудника.
Type: ContactItem[]
Example
[
{
"type": "example",
"value": "example",
"main": true,
"alias": true,
"synthetic": true,
"isForCompletionKeyLink": true,
"label": "example"
}
]
CompletionKeyLinkSendingStatus
Статус отправки смс со ссылкой для завершения регистрации. Отсутствует, если смс со ссылкой не отправлялось.
|
Name |
Description |
|
attempts |
Type: integer Количество попыток отправки смс. |
|
createdAt |
Type: string<date-time> Дата и время первой попытки отправки. Example: |
|
lastAttemptAt |
Type: string<date-time> Дата и время последней попытки отправки. Example: |
|
lastSendingStatus |
Type: string Статус последней попытки отправки:
Enum: |
|
linkExpiresAt |
Type: string<date-time> Дата и время, до которых действует ссылка. Отсутствует, если успешных попыток отправки не было. Example: |
Example
{
"attempts": 0,
"createdAt": "2025-01-01T00:00:00Z",
"lastAttemptAt": "2025-01-01T00:00:00Z",
"lastSendingStatus": "success",
"linkExpiresAt": "2025-01-01T00:00:00Z"
}
400 Bad Request
Неверные параметры запроса
Body
application/json
{
"error": "invalid_argument",
"description": "Неверные параметры запроса",
"message": "Неверные параметры запроса",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
403 Forbidden
Доступ запрещен
Body
application/json
{
"error": "permission_denied",
"description": "Доступ запрещен",
"message": "Доступ запрещен",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
404 Not Found
Ресурс не найден
Body
application/json
{
"error": "not_found",
"description": "Ресурс не найден",
"message": "Ресурс не найден",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
409 Conflict
Возможные ошибки:
- Конфликт - ресурс уже существует
- Функция, необходимая для данной операции, недоступна для организации
Body
application/json
{
"error": "already_exists",
"description": "Конфликт - ресурс уже существует",
"message": "Конфликт - ресурс уже существует",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
412 Precondition Failed
Функция недоступна или не оплачена
Body
application/json
{
"error": "failed_precondition",
"description": "Функция недоступна или не оплачена",
"message": "Функция недоступна или не оплачена",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
422 Unprocessable Entity
Возможные ошибки:
- Указанный номер телефона некорректен
- Номер телефона не указан
- Отправка сообщений на указанный номер телефона недоступна
- У пользователя может быть не более одного номера телефона для получения ссылки на активацию аккаунта
Body
application/json
{
"error": "phone_number_invalid",
"description": "Указанный номер телефона некорректен",
"message": "Указанный номер телефона некорректен",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
429 Too Many Requests
Превышен лимит запросов
Body
application/json
{
"error": "resource_exhausted",
"description": "Превышен лимит запросов",
"message": "Превышен лимит запросов",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
500 Internal Server Error
Внутренняя ошибка сервера
Body
application/json
{
"error": "internal",
"description": "Внутренняя ошибка сервера",
"message": "Внутренняя ошибка сервера",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|