GetDocflowsByPacketId (версия 3)

Метод GetDocflowsByPacketId возвращает список документов, находящихся в пакете.

POST /V3/GetDocflowsByPacketId
Query Parameters:
  • boxId – идентификатор ящика организации.

Request Headers:
Request Body:

Тело запроса должно содержать структуру GetDocflowsByPacketIdRequest.

Status Codes:
  • 200 OK – операция успешно завершена.

  • 400 Bad Request – данные в запросе имеют неверный формат или отсутствуют обязательные параметры.

  • 401 Unauthorized – в запросе отсутствует HTTP-заголовок Authorization или в этом заголовке содержатся некорректные авторизационные данные.

  • 402 Payment Required – у организации с указанным идентификатором boxId закончилась подписка на API.

  • 403 Forbidden – доступ к ящику с предоставленным авторизационным токеном запрещен.

  • 405 Method Not Allowed – используется неподходящий HTTP-метод.

  • 500 Internal Server Error – при обработке запроса возникла непредвиденная ошибка.

Response Body:

Тело ответа содержит список документов, представленный структурой GetDocflowsByPacketIdResponseV3.

В ответе вернутся только те документы, к которым у пользователя есть доступ.

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

При вызове метода можно указать максимальное количество элементов на странице в поле GetDocflowsByPacketIdRequest.Count, но оно не должно превышать 100 элементов.

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

SDK

GetDocflowsByPacketIdResponseV3 GetDocflowsByPacketId(string authToken, string boxId, GetDocflowsByPacketIdRequest request);

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

Постраничная выгрузка документов из пакета.

byte[] pageKey = null;
while (true)
{
    var request = new GetDocflowsByPacketIdRequest
    {
        PacketId = packetId,
        AfterIndexKey = pageKey
    };
    var response = api.Docflow.GetDocflowsByPacketId(token, boxId, request);
    pageKey = response.NextPageIndexKey;
    Console.Out.WriteLine("Fetched {0} documents", response.Documents.Count);
    if (response.NextPageIndexKey == null)
        break;
}