SearchDocflows (V4)

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

POST /V4/SearchDocflows
Query Parameters:
  • boxId – идентификатор ящика организации в формате GUID.

Request Headers:
Request Body:

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

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

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

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

  • 402 Payment Required – у указанного ящика закончилась подписка на API.

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

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

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

Response Body:

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

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

Метод разбивает строку запроса SearchDocflowsRequest.QueryString следующими способами:

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

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

Список документов Documents в ответе SearchDocflowsResponseV4 может содержать не больше 100 элементов. Поэтому:

  • Если найденных документов меньше 100, то метод вернет их полностью.

  • Если найденных документов больше 100, то в ответе Documents вернутся только первые 100 элементов.

    В этом случае получить весь список найденных документов можно постранично. Для этого вызывайте метод SearchDocflows с теми же параметрами запроса и с указанием параметра FirstIndex структуры запроса SearchDocflowsRequest до тех пор, пока список документов не будет вычитан полностью. В качестве параметра FirstIndex нужно указывать индект документа, с которого нужно начать очередную страницу.

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

Примеры использования

Пример HTTP-запроса:

POST /V4/SearchDocflows?boxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8

Пример тела запроса:

{
    "QueryString": "FileName.png",
    "Scope": "SearchScopeInbound"
}

Пример тела ответа:

{
    "Documents": [
        {
            "DocumentId": {
                "MessageId": "a73ca2e3-3d5c-4207-886c-9b854c179e15",
                "EntityId": "d084afd4-ec41-4fb6-9b5b-cf3e3ac5bef7"
            },
            "LastEvent": {
                "EventId": "2830e44e-849c-11f0-8000-0001ef016cd1",
                "Timestamp": {
                    "Ticks": 638920434672542798
                }
            },
            "DocumentInfo": {
                "FullVersion": {
                    "TypeNamedId": "Nonformalized",
                    "Function": "default",
                    "Version": "v1"
                },
                "MessageType": "Letter",
                "WorkflowId": 1,
                "Participants": {
                    "Sender": {
                        "BoxId": "1f208d032a604f6491b1b7aad5445783@diadoc.ru",
                        "DepartmentId": "00000000-0000-0000-0000-000000000000"
                    },
                    "Recipient": {
                        "BoxId": "09ae254c5cd0408284de7ccb46d86532@diadoc.ru",
                        "DepartmentId": "00000000-0000-0000-0000-000000000000"
                    },
                    "IsInternal": false,
                    "IsCrossBorder": false
                },
                "DocumentDirection": "Inbound",
                "DepartmentId": "b651ed54-04d8-4ca8-99b5-960fba733147",
                "Metadata": [
                    {
                        "Key": "FileName",
                        "Value": "FileName.png"
                    }
                ],
                "CustomData": [],
                "DocumentLinks": {
                    "InitialIds": [],
                    "SubordinateIds": []
                },
                "PacketInfo": {
                    "LockMode": "None",
                    "PacketId": "538369b1-ad94-4c58-b562-1243c10ee3c4",
                    "AddedAt": {
                        "Ticks": 638883387238447799
                    }
                },
                "IsRead": true,
                "IsDeleted": false,
                "IsInvitation": false,
                "LetterInfo": {
                    "IsEncrypted": false,
                    "IsTest": false
                },
                "EditingSettingId": ""
            },
            "Docflow": {
                "SenderTitle": {
                    "IsFinished": true,
                    "Attachment": {
                        "Attachment": {
                            "Entity": {
                                "EntityId": "d084afd4-ec41-4fb6-9b5b-cf3e3ac5bef7",
                                "CreationTimestamp": {
                                    "Ticks": 638803839460780611
                                },
                                "Content": {
                                    "Size": 410764
                                }
                            },
                            "AttachmentFilename": "FileName.png",
                            "DisplayFilename": "FileName.png"
                        },
                        "Signature": {
                            "Cms": {
                                "EntityId": "e0b8adde-6328-4391-a258-a0c9feefac57",
                                "CreationTimestamp": {
                                    "Ticks": 638803839460780611
                                },
                                "Content": {
                                    "Size": 3213
                                }
                            },
                            "CadesT": {
                                "EntityId": "1322e098-9512-4585-a768-eaf442167fd6",
                                "CreationTimestamp": {
                                    "Ticks": 638803839466268357
                                },
                                "Content": {
                                    "Size": 6845
                                }
                            },
                            "SignerBoxId": "1f208d032a604f6491b1b7aad5445783@diadoc.ru",
                            "SignerDepartmentId": "00000000-0000-0000-0000-000000000000",
                            "IsValid": true,
                            "DeliveredAt": {
                                "Ticks": 638803839466268357
                            },
                            "PowerOfAttorneyAttachmentStatus": {
                                "StatusName": "PowerOfAttorneyRequired",
                                "Comment": "Документ подписан сертификатом физ. лица без МЧД"
                            }
                        },
                        "ContentTypeId": "nonformalized_01"
                    },
                    "SentAt": {
                        "Ticks": 638803839460780611
                    },
                    "DeliveredAt": {
                        "Ticks": 638803839466268357
                    },
                    "SenderSignatureStatus": "SenderSignatureCheckedAndValid"
                },
                "Confirmation": {
                    "IsFinished": true,
                    "ConfirmationAttachment": {
                        "Attachment": {
                            "Entity": {
                                "EntityId": "455b24ec-348d-4b3d-b6a7-7dc7a24e662e",
                                "CreationTimestamp": {
                                    "Ticks": 638803839466268357
                                },
                                "Content": {
                                    "Size": 5177
                                }
                            },
                            "AttachmentFilename": "DP_PDOTPR_2BM-6125600340-732644841-202407101103418496883_2BM_20250416_455b24ec-348d-4b3d-b6a7-7dc7a24e662e.xml",
                            "DisplayFilename": "Подтверждение даты отправки"
                        },
                        "Signature": {
                            "Cms": {
                                "EntityId": "00012e54-a97d-4189-a628-4b5d393999f9",
                                "CreationTimestamp": {
                                    "Ticks": 638803839466268357
                                },
                                "Content": {
                                    "Size": 3364
                                }
                            },
                            "CadesT": {
                                "EntityId": "d400db6e-c5b9-4e3e-ba26-960f595f9755",
                                "CreationTimestamp": {
                                    "Ticks": 638803839466268357
                                },
                                "Content": {
                                    "Size": 6994
                                }
                            },
                            "SignerBoxId": "00000000000000000000000000000000@diadoc.ru",
                            "SignerDepartmentId": "00000000-0000-0000-0000-000000000000",
                            "IsValid": true,
                            "DeliveredAt": {
                                "Ticks": 638803839466268357
                            },
                            "PowerOfAttorneyAttachmentStatus": {
                                "StatusName": "PowerOfAttorneyNotRequired"
                            }
                        },
                        "ContentTypeId": "delivery_confirmation_133_01_03"
                    },
                    "ConfirmedAt": {
                        "Ticks": 638803839466268357
                    }
                },
                "ResolutionEntities": {
                    "Requests": [],
                    "Resolutions": [],
                    "ApprovementSignatures": [],
                    "SignatureDenials": []
                },
                "OuterDocflows": [],
                "OuterDocflowEntities": [],
                "DocflowStatus": {
                    "PrimaryStatus": {
                        "Severity": "Info",
                        "StatusText": "Документооборот завершен"
                    },
                    "PowerOfAttorneyGeneralStatus": {
                        "Severity": "Warning",
                        "StatusNamedId": "IsNotAttached",
                        "StatusText": "Не приложена доверенность",
                        "Errors": []
                    }
                }
            }
        }
    ],
    "HaveMoreDocuments": false
}

Пример запроса с использованием C# SDK:

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

Постраничное получение документов, содержащих строку «Пример»:

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

См. также

Инструкции:
Методы для работы с документооборотом:
  • GetDocflowEvents (V4) — возвращает список событий, произошедших с документами

  • GetDocflows (V4) — возвращает список документов с информацией о документообороте по их идентификаторам

  • GetDocflowsByPacketId (V4) — возвращает список документов, находящихся в пакете

  • SearchDocflows (V4) — выполняет поиск документов по строке запроса

Устаревшие версии метода: