SearchDocflows (версия 3)

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

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

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

Строка запроса может иметь специальный вид «ключ: значение», в этом случае ее разбор на сервере происходит в соответствии с форматом YAML. В выдачу попадают документы, которые содержат указанную пару «ключ-значение» среди пользовательских данных, привязанных к документу.

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

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

HTTP

POST /V3/SearchDocflows
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 – при обработке запроса возникла непредвиденная ошибка

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

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

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;
}