GetDocflowEvents (версия 3)

Предупреждение

Эта версия метода — экспериментальная. Параметры метода, принимаемые и возвращаемые контракты могут измениться.

Метод возвращает список событий, произошедших с документами в указанном ящике. Под событием понимается возникновение нового документа, либо изменение уже существующего.

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

Максимальное количество возвращаемых событий в рамках одного запроса равно 100. Если событий в ящике больше, их можно выгрузить постранично. Для этого в метод передается специальный ключ, служащий индикатором события, с которого нужно начинать очередную выгрузку (см. GetDocflowEventsRequest).

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

В тех ситуациях, когда для каких-то документов цепочки документооборота бинарное представление не было выдано (по причине большого размера), его всегда можно получить при помощи метода GetEntityContent.

Для использования метода текущий пользователь должен иметь доступ ко всем документам организации.

HTTP

POST /V3/GetDocflowEvents
Query Parameters:
 
  • boxId – идентификатор ящика
Request Headers:
 
Status Codes:
  • 200 OK – операция успешно завершена
  • 400 Bad Request – данные в запросе имеют неверный формат или отсутствуют обязательные параметры
  • 401 Unauthorized – в запросе отсутствует HTTP-заголовок Authorization, или в этом заголовке содержатся некорректные авторизационные данные
  • 403 Forbidden – доступ к ящику с предоставленным авторизационным токеном запрещен, либо у пользователя недостаточно прав для доступа ко всем документам организации
  • 405 Method Not Allowed – используется неподходящий HTTP-метод
  • 500 Internal Server Error – при обработке запроса возникла непредвиденная ошибка

Тело запроса: протобуфер GetDocflowEventsRequest.

Тело ответа: протобуфер GetDocflowEventsResponseV3.

SDK

GetDocflowEventsResponseV3 GetDocflowEvents(string authToken, string boxId, GetDocflowEventsRequest request);

Пример использования (C#)

Получение всех событий в ящике за период с 13.11.2013 до 20.11.2013:

var request = new GetDocflowEventsRequest
{
    Filter = new TimeBasedFilter
    {
        FromTimestamp = new Timestamp(new DateTime(2013, 11, 13).Ticks), // может отсутствовать
        ToTimestamp = new Timestamp(new DateTime(2013, 11, 20).Ticks), // может отсутствовать
    },
    AfterIndexKey = null
};
while (true)
{
    var response = api.Docflow.GetDocflowEvents(token, boxId, request);
    if (!response.Events.Any())
        break;
    Console.Out.WriteLine("Events count: {0} (of total {1})", response.Events.Count, response.TotalCount);
    request.AfterIndexKey = response.Events.Last().IndexKey;
}