GetNewEvents

Метод для получения ленты событий в ящике.

Имя ресурса: /V5/GetNewEvents

HTTP метод: GET

Параметры строки запроса:

  • boxId: идентификатор ящика;
  • afterEventId: идентификатор последнего полученного события (может отсутствовать);

В запросе должен присутствовать HTTP-заголовок Authorization с необходимыми данными для авторизации.

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

Подразделение организации, в котором состоит пользователь, можно найти в структуре OrganizationUserPermissions, в поле UserDepartmentId.

Примечание

Так как черновики не имеют привязки к подразделению, то все события по черновикам доступны только пользователям, имеющим доступ ко всем документам организации.

Если текущий пользователь имеет доступ ко всем документам организации (DocumentAccessLevel.AllDocuments), то в ленту событий попадают события по всему ящику.

Важно

К подразделению организации привязываются все события, произошедшие с 15.03.2017. События, произошедшие до 15.03.2017, может получить только пользователь, который имеет доступ ко всем документам организации.

В теле ответа содержится список событий в ящике boxId, следующих за событием с идентификатором afterEventId в хронологическом порядке.

При этом само событие с идентификатором afterEventId в этот список не включается. Список возвращается в виде сериализованной структуры данных BoxEventList.

Содержимое документов, ассоциированных с событиями из списка, в структуру данных не сохраняется, то есть возвращается только метаинформация об изменениях, в ящике. Такой подход гарантирует, что ответ на запрос имеет предсказуемый и небольшой размер.

Если список изменений содержит более 100 элементов, то в ответе возвращаются первые 100 событий, а поле BoxEventList.TotalCount содержит общее количество новых событий, но не более 100000. Если параметр afterEventId отсутствует в запросе, то метод возвращает самые старые события из ящика boxId (с начала истории изменений в ящике).

Предполагается, что интеграционное решение будет помнить идентификатор последнего прочитанного события (BoxEvent.EventId) для конкретного ящика. Соответственно, данный метод позволяет интеграционному решению узнать, какие изменения произошли в ящике с момента последнего подключения интеграционного решения к Диадоку.

Возможные HTTP-коды возврата:

  • 200 (OK) - операция успешно завершена;
  • 400 (Bad Request) - данные в запросе имеют неверный формат или отсутствуют обязательные параметры;
  • 401 (Unauthorized) - в запросе отсутствует HTTP-заголовок Authorization, или в этом заголовке содержатся некорректные авторизационные данные;
  • 403 (Forbidden) - доступ к ящику с предоставленным авторизационным токеном запрещен;
  • 405 (Method not allowed) - используется неподходящий HTTP-метод;
  • 500 (Internal server error) - при обработке запроса возникла непредвиденная ошибка.