Изменить контактную информацию

Изменяет контактную информацию сотрудника. Чтобы удалить всю контактную информацию, передайте пустой список.

Автоматически созданную контактную информацию (с флагом 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
[
  {
    "type": "example",
    "value": "example",
    "label": "example",
    "isForCompletionKeyLink": true
  }
]

ContactsItem

Контакт пользователя.

Name

Description

type

Type: string

Произвольный тип контакта.

Примеры: email, phone, phone_extension, site.

Example: example

value

Type: string

Значение контакта.

Формат зависит от типа контакта.

Min length: 1

Max length: 255

Example: example

isForCompletionKeyLink

Type: boolean

Признак номера телефона для отправки смс со ссылкой для завершения регистрации:

  • true — на этот номер отправляется смс со ссылкой для завершения регистрации;
  • false — обычный контакт.

label

Type: string

Метка контакта (например, "рабочий", "личный").

Max length: 100

Example: 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: example

aliases

Type: string[]

Список алиасов сотрудника.

Example
[
  "example"
]

avatarId

Type: string

Идентификатор аватара сотрудника.

Example: example

birthday

Type: string

Дата рождения сотрудника в формате YYYY-MM-DD. Может быть пустой строкой.

Example: example

completionKeyLinkSendingStatus

Type: CompletionKeyLinkSendingStatus

Статус отправки смс со ссылкой для завершения регистрации. Отсутствует, если смс со ссылкой не отправлялось.

Example
{
  "attempts": 0,
  "createdAt": "2025-01-01T00:00:00Z",
  "lastAttemptAt": "2025-01-01T00:00:00Z",
  "lastSendingStatus": "success",
  "linkExpiresAt": "2025-01-01T00:00:00Z"
}

contacts

Type: Contacts

Список контактов сотрудника.

Example
[
  {
    "type": "example",
    "value": "example",
    "main": true,
    "alias": true,
    "synthetic": true,
    "isForCompletionKeyLink": true,
    "label": "example"
  }
]

createdAt

Type: string<date-time>

Дата и время создания сотрудника в формате ISO 8601.

Example: 2025-01-01T00:00:00Z

defaultEmail

Type: string

Адрес, используемый по умолчанию для отправки писем и отображения в контактах.

Example: example

departmentId

Type: integer

Идентификатор подразделения, в котором состоит сотрудник.

email

Type: string

Основной адрес электронной почты сотрудника.

Example: example

externalId

Type: string

Произвольный внешний идентификатор сотрудника.

Example: example

gender

Type: string

Пол сотрудника.

Example: example

groups

Type: integer[]

Список идентификаторов групп, в которых состоит сотрудник.

Example
[
  0
]

id

Type: integer

Идентификатор сотрудника.

is2faEnabled

Type: boolean

Статус обязательной персональной двухфакторной аутентификации:

  • true — включена;
  • false — выключена.

isAdmin

Type: boolean

Признак администратора организации:

  • true — администратор;
  • false — рядовой пользователь.

isAgreementAccepted

Type: boolean

Признак завершения регистрации:

  • true — сотрудник завершил регистрацию и принял пользовательское соглашение;
  • false — сотрудник не завершил регистрацию.

isDismissed

Type: boolean

Статус сотрудника:

  • true — уволенный;
  • false — действующий.

isEnabled

Type: boolean

Статус аккаунта:

  • true — активен;
  • false — заблокирован.

isEnabledUpdatedAt

Type: string

Дата и время последнего изменения статуса аккаунта в формате ISO 8601.

Example: example

isRobot

Type: boolean

Признак служебного бота:

  • true — бот;
  • false — человек.

language

Type: string

Язык сотрудника.

Example: example

name

Type: Name

ФИО сотрудника.

Example
{
  "first": "example",
  "middle": "example",
  "last": "example"
}

nickname

Type: string

Логин сотрудника.

Example: example

position

Type: string

Должность сотрудника.

Example: example

timezone

Type: string

Часовой пояс сотрудника.

Example: example

updatedAt

Type: string<date-time>

Дата и время изменения данных сотрудника в формате ISO 8601.

Example: 2025-01-01T00:00:00Z

Name

ФИО сотрудника.

Name

Description

first

Type: string

Имя сотрудника.

Example: example

last

Type: string

Фамилия сотрудника.

Example: example

middle

Type: string

Отчество сотрудника.

Example: example

Example
{
  "first": "example",
  "middle": "example",
  "last": "example"
}

ContactItem

Контакт сотрудника.

Name

Description

alias

Type: boolean

Если у сотрудника есть алиас, для него автоматически создается контакт типа email:

  • true — контакт создан на основе алиаса;
  • false — контакт создан вручную.

isForCompletionKeyLink

Type: boolean

Признак номера телефона для отправки смс со ссылкой для завершения регистрации:

  • true — на этот номер отправляется смс со ссылкой для завершения регистрации;
  • false — обычный контакт.

label

Type: string

Метка контакта.

Example: example

main

Type: boolean

Признак основного контакта:

  • true — основной;
  • false — альтернативный.

synthetic

Type: boolean

Признак автоматически созданного контакта:

  • true — контакт создан автоматически;
  • false — контакт создан вручную.

type

Type: string

Тип контакта.

Example: example

value

Type: string

Значение контакта.

Example: 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: 2025-01-01T00:00:00Z

lastAttemptAt

Type: string<date-time>

Дата и время последней попытки отправки.

Example: 2025-01-01T00:00:00Z

lastSendingStatus

Type: string

Статус последней попытки отправки:

  • success — смс отправлено успешно;
  • failed — отправить смс не удалось.

Enum: success, failed

linkExpiresAt

Type: string<date-time>

Дата и время, до которых действует ссылка. Отсутствует, если успешных попыток отправки не было.

Example: 2025-01-01T00:00:00Z

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: invalid_argument

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: permission_denied

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: not_found

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: already_exists

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: failed_precondition

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: phone_number_invalid

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: resource_exhausted

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: internal

message

Type: string

Сообщение об ошибке.

Example: Внутренняя ошибка сервера

details

Type: object

Дополнительные детали ошибки

Example
{}