SearchDocflows

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

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

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

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

HTTP

POST /V2/SearchDocflows

Параметры запроса:

  • boxId - идентификатор ящика

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

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

Возможные HTTP-коды возврата:

  • 200 (OK) - операция успешно завершена.
  • 400 (Bad Request) - данные в запросе имеют неверный формат или отсутствуют обязательные параметры.
  • 401 (Unauthorized) - в запросе отсутствует HTTP-заголовок Authorization, или в этом заголовке содержатся некорректные авторизационные данные.
  • 403 (Forbidden) - доступ к ящику с предоставленным авторизационным токеном запрещен.
  • 405 (Method not allowed) - используется неподходящий HTTP-метод.
  • 500 (Internal server error) - при обработке запроса возникла непредвиденная ошибка.

SDK

SearchDocflowsResponse SearchDocflows(string authToken, string boxId, SearchDocflowsRequest request);

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

Постраничная выгрузка документов, имеющих отношение к строке «Пример»:

var request = new SearchDocflowsRequest { QueryString = "Пример" };
while (true)
{
    var response = api.SearchDocflows(token, boxId, request);
    Console.Out.WriteLine("Fetched {0} documents", response.Documents.Count);
    if (!response.HaveMoreDocuments)
        break;
    request.FirstIndex += response.Documents.Count;
}