GetDocflows (V3)
Предупреждение
После окончания переходного периода эта версия метода перестанет работать и будет возвращать ошибки. Используйте новую версию метода — GetDocflows (V4).
Возвращает список документов с информацией о документообороте по их идентификаторам.
Для каждого документа возвращаются данные, которые характеризуют его текущее состояние: информация о документообороте и метаданные.
- POST /V3/GetDocflows
- Query Parameters:
boxId – идентификатор ящика организации.
- Request Headers:
Authorization – данные, необходимые для авторизации.
- Request Body:
Тело запроса должно содержать список запросов на получение документов с информацией о документообороте, представленный структурой GetDocflowBatchRequest.
- Status Codes:
200 OK – операция успешно завершена.
400 Bad Request – данные в запросе имеют неверный формат или отсутствуют обязательные параметры.
401 Unauthorized – в запросе отсутствует HTTP-заголовок
Authorization
или в этом заголовке содержатся некорректные авторизационные данные.402 Payment Required – у указанного ящика закончилась подписка на API.
403 Forbidden – доступ к ящику с предоставленным авторизационным токеном запрещен или у пользователя нет прав для доступа ко всем документам организации.
404 Not Found – в указанном ящике не найдены документы с указанными идентификаторами.
405 Method Not Allowed – используется неподходящий HTTP-метод.
500 Internal Server Error – при обработке запроса возникла непредвиденная ошибка.
- Response Body:
Тело ответа содержит список документов с информацией о документообороте, представленный структурой GetDocflowBatchResponseV3.
Для выполнения метода текущий пользователь должен иметь доступ ко всем документам в ящике, иначе метод вернет ошибку 403 (Forbidden)
.
Метод вернет всю доступную информацию по указанным документам, в том числе содержимое документов и подписей, если это было указано в запросе.
Обратите внимание, что суммарный размер содержимого всех сущностей, хранящихся в поле Entity.Content.Data
, не может превышать 1 048 576 байт — ограничение относится только к Entity
с EntityType.Attachment
.
Если при добавлении содержимого очередного документа этот размер будет превышен, то такое содержимое не будет добавлено в ответ. Если для каких-то документов содержимое не было получено в ответе метода, его можно получить с помощью метода GetEntityContent (V4).
Примеры использования
Пример HTTP-запроса:
POST /V3/GetDocflows?boxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Content-Type: application/json
Пример тела запроса:
{
"Requests": [
{
"DocumentId": {
"MessageId": "b7a4809e-ff8f-4a6c-86ae-0f514c353afd",
"EntityId": "132c02e7-2d07-43f2-bf23-c9bc52f281e9"
}
}
]
}
Пример тела ответа:
{
"Documents": [
{
"DocumentId": {
"MessageId": "b7a4809e-ff8f-4a6c-86ae-0f514c353afd",
"EntityId": "132c02e7-2d07-43f2-bf23-c9bc52f281e9"
},
"LastEvent": {
"EventId": "92d89e14-fdbb-11ef-8000-000189ea7b5d",
"Timestamp": {
"Ticks": 638772135536156180
}
},
"DocumentInfo": {
"FullVersion": {
"TypeNamedId": "Torg2",
"Function": "NoAdditionalInfo",
"Version": "torg2_05_01_01"
},
"MessageType": "Letter",
"WorkflowId": 1,
"Participants": {
"Sender": {
"BoxId": "09ae254c5cd0408284de7ccb46d86f82@diadoc.ru",
"DepartmentId": "00000000-0000-0000-0000-000000000000"
},
"Recipient": {
"BoxId": "1f208d032a604f6491b1b7aad54cfaf3@diadoc.ru",
"DepartmentId": "00000000-0000-0000-0000-000000000000"
},
"IsInternal": false
},
"DocumentDirection": "Inbound",
"DepartmentId": "00000000-0000-0000-0000-000000000000",
"Metadata": [
{
"Key": "FileName",
"Value": "DP_PRIRASXPRINMARK_2BM-0299242701-757645784-202407101104400484330_2BM-4934609619-732644841-202407101103418496883_20230116_17b84e47-f0c7-454e-a491-289dc2ace6c3.xml"
},
{
"Key": "DocumentNumber",
"Value": "1"
},
{
"Key": "DocumentDate",
"Value": "2023-01-16T00:00:00.0000000Z"
}
],
"CustomData": [],
"DocumentLinks": {
"InitialIds": [],
"SubordinateIds": []
},
"PacketInfo": {
"LockMode": "None"
},
"IsRead": true,
"IsDeleted": false,
"IsInvitation": false,
"LetterInfo": {
"IsEncrypted": false,
"ForwardDocumentEvents": [],
"IsTest": false
},
"EditingSettingId": ""
},
"Docflow": {
"SenderTitle": {
"IsFinished": true,
"Attachment": {
"Attachment": {
"Entity": {
"EntityId": "132c02e7-2d07-43f2-bf23-c9bc52f281e9",
"CreationTimestamp": {
"Ticks": 638772119340795259
},
"Content": {
"Size": 6658
}
},
"AttachmentFilename": "DP_PRIRASXPRINMARK_2BM-0299242701-757645784-202407101104400484330_2BM-4934609619-732644841-202407101103418496883_20230116_17b84e47-f0c7-454e-a491-289dc2ace6c3.xml",
"DisplayFilename": "Акт ТОРГ-2 №1 от 16.01.23"
},
"Signature": {
"Cms": {
"EntityId": "58c26ff0-683c-4031-b572-41abc009903b",
"CreationTimestamp": {
"Ticks": 638772119340795259
},
"Content": {
"Size": 3378
}
},
"CadesT": {
"EntityId": "66a045fc-521e-4d63-bae4-9c0e454aa35e",
"CreationTimestamp": {
"Ticks": 638772119344269072
},
"Content": {
"Size": 7010
}
},
"SignerBoxId": "09ae254c5cd0408284de7ccb46d86f82@diadoc.ru",
"SignerDepartmentId": "00000000-0000-0000-0000-000000000000",
"IsValid": true,
"DeliveredAt": {
"Ticks": 638772119344269072
},
"PowerOfAttorneyAttachmentStatus": {
"StatusName": "PowerOfAttorneyRequired",
"Comment": "Документ подписан сертификатом другого ЮЛ/ИП, возможно, требуется МЧД"
}
},
"ContentTypeId": "torg2_no_additional_info_05_01_01"
},
"SentAt": {
"Ticks": 638772119340795259
},
"DeliveredAt": {
"Ticks": 638772119344269072
},
"SenderSignatureStatus": "SenderSignatureCheckedAndValid"
},
"Confirmation": {
"IsFinished": true,
"ConfirmationAttachment": {
"Attachment": {
"Entity": {
"EntityId": "e13208c8-7962-4bbe-b9e1-7fdddff1254b",
"CreationTimestamp": {
"Ticks": 638772119344269072
},
"Content": {
"Size": 5547
}
},
"AttachmentFilename": "DP_PDOTPR_2BM-0299242701-757645784-202407101104400484330_2BM_20250310_e13208c8-7962-4bbe-b9e1-7fdddff1254b.xml",
"DisplayFilename": "Подтверждение даты отправки"
},
"Signature": {
"Cms": {
"EntityId": "6d9d47b2-890a-4e1b-ad17-f041af4ffdf9",
"CreationTimestamp": {
"Ticks": 638772119344269072
},
"Content": {
"Size": 3364
}
},
"CadesT": {
"EntityId": "ac1a3e4c-b2e4-43ec-87bb-d4267fc7d26a",
"CreationTimestamp": {
"Ticks": 638772119344269072
},
"Content": {
"Size": 6995
}
},
"SignerBoxId": "00000000000000000000000000000000@diadoc.ru",
"SignerDepartmentId": "00000000-0000-0000-0000-000000000000",
"IsValid": true,
"DeliveredAt": {
"Ticks": 638772119344269072
},
"PowerOfAttorneyAttachmentStatus": {
"StatusName": "PowerOfAttorneyNotRequired"
}
},
"ContentTypeId": "delivery_confirmation_133_01_03"
},
"ConfirmedAt": {
"Ticks": 638772119344269072
}
},
"ResolutionEntities": {
"Requests": [],
"Resolutions": [],
"ApprovementSignatures": [],
"SignatureDenials": []
},
"OuterDocflows": [],
"OuterDocflowEntities": [],
"DocflowStatus": {
"PrimaryStatus": {
"Severity": "Info",
"StatusText": "Документооборот завершен"
},
"PowerOfAttorneyGeneralStatus": {
"Severity": "Warning",
"StatusNamedId": "IsNotAttached",
"StatusText": "Не приложена доверенность",
"Errors": []
}
}
}
}
]
}
Пример запроса с использованием C# SDK:
GetDocflowBatchResponseV3 GetDocflows(string authToken, string boxId, GetDocflowBatchRequest request);
Получение двух документов и вывод на консоль признака завершенности их документооборота:
var request = new GetDocflowBatchRequest
{
Requests =
{
new GetDocflowRequest
{
DocumentId = new DocumentId(messageId1, documentId1),
InjectEntityContent = true
},
new GetDocflowRequest
{
DocumentId = new DocumentId(messageId2, documentId2),
InjectEntityContent = false,
LastEventId = lastEventId
}
}
};
var response = api.Docflow.GetDocflows(token, boxId, request);
foreach (var doc in response.Documents)
Console.Out.WriteLine(doc.Docflow.SenderTitle.IsFinished);
См. также
- Методы для работы с документооборотом:
GetDocflowEvents (V3) — возвращает список событий, произошедших с документами
GetDocflowEvents (V4) — возвращает список событий, произошедших с документами
GetDocflows (V3) — возвращает список документов с информацией о документообороте по их идентификаторам
GetDocflows (V4) — возвращает список документов с информацией о документообороте по их идентификаторам
GetDocflowsByPacketId (V3) — возвращает список документов, находящихся в пакете
GetDocflowsByPacketId (V4) — возвращает список документов, находящихся в пакете
SearchDocflows (V3) — выполняет поиск документов по строке запроса
SearchDocflows (V4) — выполняет поиск документов по строке запроса
- Устаревшие версии метода: