SearchDocflows (версия 3)¶
Метод SearchDocflows
производит поиск документа по строке запроса.
- POST /V3/SearchDocflows¶
- Query Parameters:
boxId – идентификатор ящика организации.
- Request Headers:
Authorization – данные, необходимые для авторизации.
- Request Body:
Тело запроса должно содержать структуру SearchDocflowsRequest.
- 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:
Тело ответа содержит список документов, представленный структурой SearchDocflowsResponseV3.
В ответе вернутся только те документы, к которым у пользователя есть доступ.
Метод разбивает строку запроса SearchDocflowsRequest.QueryString следующими способами:
Метод разбивает строку на токены по пробелам и разделительным символам. В ответ метода попадают документы, у которых хотя бы один из полученных токенов содержится в номере, дате, имени файла или других данных.
Если строка запроса имеет вид «ключ: значение», то метод разбивает строку в соответствии с форматом YAML. В ответ метода попадут документы, которые содержат указанную пару «ключ-значение» среди пользовательских данных, привязанных к документу.
Список документов в ответе может содержать не более 100 элементов. Если документов больше, их можно получить постранично. Для получения очередной страницы передайте в поле запроса SearchDocflowsRequest.FirstIndex индекс документа, с которого нужно начать выгрузку.
При вызове метода можно указать максимальное количество элементов на странице в поле SearchDocflowsRequest.Count, но оно не должно превышать 100 элементов.
Метод не гарантирует, что все страницы, кроме последней, будут содержать одинаковое максимальное количество документов. При разработке интеграционного решения учитывайте, что в очередной странице может не быть ни одного документа.
SDK¶
SearchDocflowsResponseV3 SearchDocflows(string authToken, string boxId, SearchDocflowsRequest request);
Пример использования (C#)¶
Постраничное получение документов, содержащих строку «Пример».
var request = new SearchDocflowsRequest { QueryString = "Пример" };
while (true)
{
var response = api.Docflow.SearchDocflows(token, boxId, request);
Console.Out.WriteLine("Fetched {0} documents", response.Documents.Count);
if (!response.HaveMoreDocuments)
break;
request.FirstIndex += response.Documents.Count;
}