GetDocflows (версия 3)

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

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

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

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

HTTP

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

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

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

SDK

GetDocflowBatchResponseV3 GetDocflows(string authToken, string boxId, GetDocflowBatchRequest request);

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

Выгрузка двух документов и вывод на консоль признака завершенности их документооборота:

var request = new GetDocflowBatchRequest
{
    Requests =
    {
        new GetDocflowRequest
        {
            DocumentId = new DocumentId(messageId1, documentId1),
            InjectEntityContent = true
        },
        new GetDocflowRequest
        {
            DocumentId = new DocumentId(messageId2, documentId2),
            InjectEntityContent = false,
            LastEventId = lastEventId
        }
    }
};
var response = api.Docflow.GetDocflows(token, boxId, request);
foreach (var doc in response.Documents)
    Console.Out.WriteLine(doc.Docflow.SenderTitle.IsFinished);