GetDocflowEvents (V5)
Возвращает список событий, произошедших с документами, корректно отображая данные для многотитульных документов.
Под событием понимается появление нового документа или изменение уже существующего.
- POST /V5/GetDocflowEvents
- Query Parameters:
boxId – идентификатор ящика организации в формате GUID.
- Request Headers:
Authorization – данные, необходимые для авторизации.
- Request Body:
Тело запроса должно содержать запрос на получение событий, представленный структурой GetDocflowEventsRequest.
- 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:
Тело ответа содержит список событий, представленный структурой GetDocflowEventsResponseV5.
Для выполнения метода текущий пользователь должен иметь доступ к следующим подразделениям, иначе метод вернет ошибку 403 (Forbidden):
к подразделению, идентификатор которого указан в теле запроса в поле
DepartmentIdструктуры GetDocflowEventsRequest,ко всем подразделениям организации, если параметр
DepartmentIdструктуры GetDocflowEventsRequest не указан.
Метод вернет всю доступную информацию по событиям, в том числе содержимое документов и подписей, если это было указано в запросе. В некоторых случаях получить содержимое документов невозможно, подробнее об этом в описании структуры Content.
Обратите внимание, что суммарный размер содержимого всех сущностей, хранящихся в поле GetDocflowEventsResponse.Events.Document.Docflow.DocumentAttachment.Attachment.Entity.Content.Data, не может превышать 1 048 576 байт.
Если при добавлении содержимого очередного документа этот размер будет превышен, то такое содержимое не будет добавлено в ответ. Если для каких-то документов содержимое не было получено в ответе метода, его можно получить с помощью метода GetEntityContent (V4).
Каждое событие в ответе может содержать состояние документа на момент этого события и состояние на момент предыдущего события, если вы укажете свойства GetDocflowEventsRequest.PopulateDocuments и GetDocflowEventsRequest.PopulatePreviousDocumentStates соответственно. Таким образом можно сравнить две версии документа и узнать произошедшие изменения.
Список событий Events в ответе GetDocflowEventsResponseV5 может содержать не более того количества элементов, которое было указано в параметре limit. Поэтому:
Если количество найденных событий меньше указанного в
limit, то метод вернет их полностью.Если количество найденных событий больше указанного в
limit, то в ответеEventsвернется только первая часть элементов в запрошенном количестве. При этом параметрTotalCountбудет содержать общее количество найденных событий, а параметрTotalCountTypeпокажет, точно ли посчитано значениеTotalCountили подсчет был ограничен.В этом случае получить весь список найденных событий можно постранично. Для этого вызывайте метод
GetDocflowEventsс теми же параметрами запроса и с указанием параметраAfterIndexKeyструктуры запроса GetDocflowEventsRequest до тех пор, пока список событий не будет вычитан полностью. В качестве параметраAfterIndexKeyнужно указывать ключ события из поля DocflowEventV5.IndexKey.
В зависимости от значения параметра AfterIndexKey метод работает следующим образом:
Если в запросе отсутствует параметр
AfterIndexKey, то метод вернет начало списка найденных событий.Если в запросе указан параметр
AfterIndexKey, то метод вернет список событий, следующих за событием с ключомAfterIndexKey; событие с ключомAfterIndexKeyв этот список не попадает.
Примеры использования
Пример HTTP-запроса:
POST /V5/GetDocflowEvents?boxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/json charset=utf-8
Accept: application/json
Пример тела запроса:
{
"Filter": {
"SortDirectionValue": 1,
"FromTimestamp": null,
"ToTimestamp": null,
"SortDirection": 1
},
"AfterIndexKey": null,
"PopulateDocuments": true,
"InjectEntityContent": false,
"PopulatePreviousDocumentStates": false,
"MessageTypes": [
],
"DocumentDirections": [
],
"DepartmentId": "",
"TypeNamedIds": [
],
"CounteragentBoxId": "",
"Limit": 100
}
Пример тела ответа:
{
"TotalCount": 1,
"Events": [
{
"EventId": "0322c95d-65b0-11f1-8000-00007d011913",
"Timestamp": {
"DateTime": "2026-06-11T16:10:06.6456925Z",
"Ticks": 639167910066456925
},
"DocumentId": {
"MessageId": "a2d6fab4-65b8-44a2-9412-f748411b4383",
"EntityId": "f4c2b814-2134-48c6-acca-c1ffad0f393e"
},
"IndexKey": "CN7H0+dXCV20+taiuGWiRJQS90hBG0ODFLjC9DQhxkisysH/rQ85Pl3JIgOwZfERgAAAAH0BGRM=",
"Document": {
"DocumentId": {
"MessageId": "a2d6fab4-65b8-44a2-9412-f748411b4383",
"EntityId": "f4c2b814-2134-48c6-acca-c1ffad0f393e"
},
"LastEvent": {
"EventId": "0322c95d-65b0-11f1-8000-00007d011913",
"Timestamp": {
"DateTime": "2026-06-11T16:10:06.6456925Z",
"Ticks": 639167910066456925
}
},
"DocumentInfo": {
"FullVersion": {
"TypeNamedId": "UniversalTransferDocument",
"Function": "СЧФДОП",
"Version": "utd970_05_03_01"
},
"MessageType": 1,
"WorkflowId": 18,
"Participants": {
"Participants": [
{
"BoxId": "124737db-90c7-480e-8203-e94333cc0700",
"DepartmentId": "00000000-0000-0000-0000-000000000000",
"Role": "default:sender",
"Flags": {
"IsRoaming": false,
"IsCrossborder": false,
"IsForeign": false
},
"Type": 1,
"IsCurrentBox": true
},
{
"BoxId": "612a00ff-db51-4d13-84e4-fcda630ca17d",
"DepartmentId": "00000000-0000-0000-0000-000000000000",
"Role": "default:recipient",
"Flags": {
"IsRoaming": false,
"IsCrossborder": false,
"IsForeign": false
},
"Type": 3,
"IsCurrentBox": false
}
]
},
"DocumentDirection": 2,
"DepartmentId": "00000000-0000-0000-0000-000000000000",
"CustomDocumentId": "",
"Metadata": [
{
"Key": "FileName",
"Value": "ON_NSCHFDOPPR_2BM-966259685098-20231024083946535138700000000_2BM-9616675014-961601000-202310240839360601227_20190507_944a71c2-22b8-48cd-842e-7b552b1ebcda_1_1_0_0_1_00.xml"
},
{
"Key": "DocumentNumber",
"Value": "444"
},
{
"Key": "DocumentDate",
"Value": "2003-02-01T00:00:00.0000000Z"
},
{
"Key": "TotalSum",
"Value": "10000"
},
{
"Key": "TotalVat",
"Value": "456.00"
},
{
"Key": "CurrencyCode",
"Value": "643"
},
{
"Key": "Grounds",
"Value": "ОснПер-РеквНаимДок №567 от 14.02.2020"
},
{
"Key": "TotalVat10",
"Value": "0"
},
{
"Key": "TotalVat18",
"Value": "0"
},
{
"Key": "TotalVat20",
"Value": "2000.000000000000000"
},
{
"Key": "SellerInn",
"Value": "9103624367"
}
],
"CustomData": [
],
"DocumentLinks": {
"InitialIdsList": {
"Count": 0
},
"SubordinateIdsList": {
"Count": 0
},
"InitialIds": [
],
"SubordinateIds": [
]
},
"PacketInfo": {
"LockModeValue": 1,
"LockMode": 1,
"PacketId": "",
"AddedAt": null
},
"IsRead": true,
"IsDeleted": false,
"IsInvitation": false,
"LetterInfo": {
"ForwardDocumentEventsList": {
"Count": 0
},
"IsEncrypted": false,
"ForwardDocumentEvents": [
],
"IsTest": false
},
"DraftInfo": null,
"TemplateInfo": null,
"Origin": null,
"EditingSettingId": "",
"HasUnreadOutOfWorkflowUniversalMessages": false
},
"Docflow": {
"Titles": [
{
"TitleIndex": 0,
"Version": {
"EntityId": "f4c2b814-2134-48c6-acca-c1ffad0f393e",
"Revision": 1,
"Status": 1,
"PreviousVersionEntityId": ""
},
"Author": {
"BoxId": "124737db-90c7-480e-8203-e94333cc0700",
"DepartmentId": "00000000-0000-0000-0000-000000000000",
"Role": "default:sender",
"Flags": {
"IsRoaming": false,
"IsCrossborder": false,
"IsForeign": false
},
"Type": 1,
"IsCurrentBox": true
},
"AuthorSigning": {
"IsFinished": true,
"Status": 3,
"Title": {
"Attachment": {
"Entity": {
"EntityId": "f4c2b814-2134-48c6-acca-c1ffad0f393e",
"CreationTimestamp": {
"DateTime": "2026-06-11T16:10:06.3348719Z",
"Ticks": 639167910063348719
},
"Content": {
"Size": 11092,
"Data": null
}
},
"AttachmentFilename": "ON_NSCHFDOPPR_2BM-966259685098-20231024083946535138700000000_2BM-9616675014-961601000-202310240839360601227_20190507_944a71c2-22b8-48cd-842e-7b552b1ebcda_1_1_0_0_1_00.xml",
"DisplayFilename": ""
},
"Signature": {
"Cms": {
"EntityId": "d911dd86-889e-4abf-a188-facd1358b13c",
"CreationTimestamp": {
"DateTime": "2026-06-11T16:10:06.3348719Z",
"Ticks": 639167910063348719
},
"Content": {
"Size": 3477,
"Data": null
}
},
"CadesT": null,
"SignerBoxId": "124737db90c7480e8203e94333cc0700@diadoc.ru",
"SignerDepartmentId": "00000000-0000-0000-0000-000000000000",
"IsValid": true,
"VerificationResult": null,
"DeliveredAt": null,
"PowerOfAttorney": null,
"PowerOfAttorneyAttachmentStatus": {
"StatusName": 3,
"Comment": "Документ подписан сертификатом другого ЮЛ/ИП, возможно, требуется МЧД"
},
"SignatureTypeInfo": {
"SignatureType": 1,
"QualifiedDetails": null,
"NonQualifiedDetails": null
}
},
"Comment": null,
"ContentTypeId": "utd970_schfdop_orig_t1_05_03_01"
},
"OperationResult": {
"WellKnown": 1
}
},
"ParticipantDocflows": [
{
"Participant": {
"BoxId": "612a00ff-db51-4d13-84e4-fcda630ca17d",
"DepartmentId": "00000000-0000-0000-0000-000000000000",
"Role": "default:recipient",
"Flags": {
"IsRoaming": false,
"IsCrossborder": false,
"IsForeign": false
},
"Type": 3,
"IsCurrentBox": false
},
"TitleDelivery": {
"Delivery": {
"Status": 1,
"SentAt": {
"DateTime": "2026-06-11T16:10:06.3348719Z",
"Ticks": 639167910063348719
},
"DeliveredAt": null
},
"Confirmation": null,
"RoamingNotification": null
},
"Response": null,
"Receipt": {
"IsFinished": false,
"ReceiptAttachment": null,
"SentAt": null,
"DeliveredAt": null,
"Status": 3,
"Confirmation": null,
"UniversalMessage": null
}
}
],
"OutOfWorkflowUniversalMessageDocflow": {
"OutOfWorkflowUniversalMessagesList": {
"Count": 0
},
"Messages": [
]
}
}
],
"AmendmentRequests": [
],
"Revocation": null,
"OuterDocflows": [
],
"DocflowStatus": {
"PrimaryStatus": {
"Severity": "Warning",
"StatusText": "Ожидается извещение о получении"
},
"SecondaryStatus": null,
"PowerOfAttorneyGeneralStatus": {
"ErrorsList": {
"Count": 0
},
"Severity": 3,
"StatusNamedId": 5,
"StatusText": "Не приложена доверенность",
"Errors": [
],
"ValidationProtocol": null,
"OperationError": null
},
"GeneralRoamingSendingStatus": null
},
"TtGisFixation": null,
"Resolution": {
"IsFinished": true,
"ResolutionStatus": 9,
"CurrentResolutionEntityId": "d911dd86-889e-4abf-a188-facd1358b13c",
"ResolutionEntities": {
"RequestsList": {
"Count": 0
},
"ResolutionsList": {
"Count": 0
},
"ApprovementSignaturesList": {
"Count": 0
},
"SignatureDenialsList": {
"Count": 0
},
"Requests": [
],
"Resolutions": [
],
"ApprovementSignatures": [
],
"SignatureDenials": [
]
}
}
}
},
"PreviousEventId": "",
"PreviousDocumentState": null
}
],
"TotalCountType": 1
}
Пример запроса с использованием C# SDK:
GetDocflowEventsResponseV5 GetDocflowEventsV5(string authToken, string boxId, GetDocflowEventsRequest request);
Получение всех событий в ящике за период с 13.11.2024 до 20.11.2024:
var request = new GetDocflowEventsRequest
{
Filter = new TimeBasedFilter
{
FromTimestamp = new Timestamp(new DateTime(2026, 01, 01).Ticks), // может отсутствовать
ToTimestamp = new Timestamp(new DateTime(2026, 06, 01).Ticks), // может отсутствовать
},
AfterIndexKey = null
};
while (true)
{
var response = api.Docflow.GetDocflowEventsV5(token, boxId, request);
if (!response.Events.Any())
break;
Console.Out.WriteLine("Events count: {0} (of total {1})", response.Events.Count, response.TotalCount);
request.AfterIndexKey = response.Events.Last().IndexKey;
}
См. также
- Инструкции:
- Методы для работы с документооборотом:
GetDocflowEvents (V4) — возвращает список событий, произошедших с документами
GetDocflowEvents (V5) — возвращает список событий, произошедших с документами, корректно отображая данные для многотитульных документов
GetDocflows (V4) — возвращает список документов с информацией о документообороте по их идентификаторам
GetDocflows (V5) — возвращает список документов с информацией о документообороте по их идентификаторам, корректно отображая данные для многотитульных документов
GetDocflowsByPacketId (V4) — возвращает список документов, находящихся в пакете
GetDocflowsByPacketId (V5) — возвращает список документов, находящихся в пакете, корректно отображая данные для многотитульных документов
SearchDocflows (V4) — выполняет поиск документов по строке запроса
SearchDocflows (V5) — выполняет поиск документов по строке запроса, корректно отображая данные для многотитульных документов