GetDocflowsByPacketId (версия 3)¶
Метод GetDocflowsByPacketId
возвращает список документов, находящихся в пакете.
- POST /V3/GetDocflowsByPacketId¶
- Query Parameters:
boxId – идентификатор ящика организации.
- Request Headers:
Authorization – данные, необходимые для авторизации.
- 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;
}