-
Notifications
You must be signed in to change notification settings - Fork 0
GetDocuments
Имя ресурса: /V3/GetDocuments
HTTP метод: GET
Параметры строки запроса:
-
boxId: идентификатор ящика, в котором осуществляется поиск документов;
-
filterCategory: статус, по которому требуется отфильтровать список документов;
-
counteragentBoxId: идентификатор ящика контрагента, по которому требуется дополнительная фильтрация (может отсутствовать, не имеет смысла при фильтрации внутренних документов);
-
toDepartmentId: идентификатор подразделения получателя, по которому требуется дополнительная фильтрация (может отсутствовать, имеет смысл только при фильтрации внутренних документов);
-
timestampFromTicks: метка времени, задающая начальную точку периода, по которому требуется дополнительная фильтрация (может отсутствовать);
-
timestampToTicks: метка времени, задающая конечную точку периода, по которому требуется дополнительная фильтрация (может отсутствовать);
-
fromDocumentDate: дата документа в формате ДД.ММ.ГГГГ, задающая начальную точку периода, по которому требуется дополнительная фильтрация (может отсутствовать);
-
toDocumentDate: дата документа в формате ДД.ММ.ГГГГ, задающая конечную точку периода, по которому требуется дополнительная фильтрация (может отсутствовать);
-
departmentId: идентификатор подразделения, из которого производится выборка документов (может отсутствовать, в этом случае выборка производится из головного подразделения);
-
excludeSubdepartments: если присутствует - исключить из выборки дочерние подразделения;
-
afterIndexKey: уникальный ключ документа, позволяющий итерироваться по всему списку документов, удовлетворяющих фильтру (может отсутствовать);
-
sortDirection: задает порядок сортировки документов в выдаче, принимает одно из значений "Ascending", или "Descending" (может отсутствовать, значение по умолчанию - "Ascending");
В запросе должен присутствовать HTTP-заголовок Authorization с необходимыми данными для авторизации.
В теле ответа содержится список документов из ящика boxId, подходящих под определенный фильтр. Список выдается в виде сериализованной структуры данных DocumentList. Элементы в списке DocumentList.Documents идут в порядке возрастания меток времени (поля Document.TimestampTicks). В поле DocumentList.TotalCount указывается общее количество документов, удовлетворяющих запросу. В массиве DocumentList.Documents содержится не более 100 элементов; для получения остальных документов нужно вызывать метод GetDocuments с теми же параметрами, меняя значение afterIndexKey. При получении списков документов их содержимое в протобуфер не включается – поле Document.Content.Data у них будет равно NULL. В случае необходимости содержимое документа всегда можно получить при помощи метода GetEntityContent.
Обязательный параметр filterCategory задается строкой в формате "[DocumentType].[DocumentClass][DocumentStatus]". Первая часть этой строки задает тип документа и может принимать либо одно из значений перечисления DocumentType, либо одно из специальных значений:
- AnyInvoiceDocumentType - соответствует набору из четырех типов документов СФ/ИСФ/КСФ/ИКСФ (Invoice, InvoiceRevision, InvoiceCorrection, InvoiceCorrectionRevision),
- AnyBilateralDocumentType - соответствует любому типу двусторонних документов (Nonformalized, Torg12, AcceptanceCertificate, XmlTorg12, XmlAcceptanceCertificate, TrustConnectionRequest, PriceList, PriceListAgreement, CertificateRegistry, ReconciliationAct, Contract, Torg13),
- AnyUnilateralDocumentType - соответствует любому типу односторонних документов (ProformaInvoice, ServiceDetails),
- Any - соответствует любому типу документа.
Строка DocumentClass задает класс документа и может принимать следующие значения:
- Inbound (входящий документ)
- Outbound (исходящий документ)
- Internal (внутренний документ)
Строка DocumentStatus задает статус документа и может принимать следующие значения:
- Пустое значение (любой документ указанного класса Class)
- NoRecipientSignatureRequest (документ без запроса ответной подписи)
- WaitingForRecipientSignature (документ в ожидании ответной подписи)
- WithRecipientSignature (документ с ответной подписью)
- RecipientSignatureRequestRejected (документ с отказом от формирования ответной подписи)
- WaitingForSenderSignature (документ, требующий подписания и отправки)
- InvalidSenderSignature (документ с невалидной подписью отправителя, требующий повторного подписания и отправки)
- Approved (согласованный документ)
- Disapproved (документ с отказом согласования)
- WaitingForResolution (документ, находящийся на согласовании или подписи)
- SignatureRequestRejected (документ с отказом в запросе подписи сотруднику)
- Finished (документ с завершенным документооборотом)
- NotFinished (документ с незавершенным документооборотом)
- InvoiceAmendmentRequested (имеет смысл только для счетов-фактур; документ, по которому было запрошено уточнение)
- RevocationIsRequestedByMe (документ, по которому было запрошено аннулирование)
- RequestsMyRevocation (документ, по которому контрагент запросил аннулирование)
- RevocationAccepted (аннулированный документ)
- RevocationRejected (документ, запрос на аннулирование которого был отклонен)
- NotRevoked (неаннулированный документ)
Примеры строки filterCategory:
- AnyUnilateralDocumentType.InboundNotRevoked (все входящие односторонние неаннулированные документы).
- XmlTorg12.OutboundWithRecipientSignature (все исходящие формализованные ТОРГ-12, подписанные контрагентом).
- InvoiceCorrection.OutboundInvoiceAmendmentRequested (все исходящие КСФ, по которым контрагент запросил уточнение).
Необязательный параметр counteragentBoxId позволяет ограничить выдачу только теми документами, у которых идентификатор ящика контрагента совпадает с counteragentBoxId.
Необязательные параметры timestampFromTicks и timestampToTicks позволяют задать интервал времени, в котором осуществляется поиск. То есть, если один или оба этих параметра заданы, то метка времени документа (поле Document.TimestampTicks), попадающего в выдачу, будет лежать в интервале [timestampFromTicks, timestampToTicks], включая границы. Если какой-то из этих параметров отсутствует в запросе, то его значение неявно принимается равным -/+ бесконечности соответственно.
Необязательные параметры fromDocumentDate и toDocumentDate также позволяют задать интервал времени, в котором осуществляется поиск. Однако при этом фильтрация списка документов производится по дате формирования документа в учетной системе (реквизиту самого документа), а не по метке времени, связанной с загрузкой документа в ящик Диадока. Если один или оба параметра fromDocumentDate и toDocumentDate заданы, то дата документа (поле Document.DocumentDate), попадающего в выдачу, будет лежать в интервале [fromDocumentDate, toDocumentDate], включая границы. Если какой-то параметр отсутствует в запросе, то его значение неявно принимается равным +/- бесконечности. В выдачу метода GetDocuments попадают только те документы, у которых заполнен реквизит "Дата документа". Параметры fromDocumentDate и toDocumentDate задаются в формате ДД.ММ.ГГГГ, то есть представляют собой только даты, а не полноценные метки времени.
Смешивать параметры timestampFromTicks, timestampToTicks и fromDocumentDate, toDocumentDate в одном запросе нельзя - фильтрация производится либо по дате документа, либо по метке времени его загрузки в ящик Диадока. Ключи Document.IndexKey, полученные при фильтрации по дате документа (при помощи параметров fromDocumentDate и toDocumentDate) и при фильтрации по метке времени (при помощи параметров timestampFromTicks и timestampToTicks), для одного и того же документа могут различаться.
Необязательный параметр afterIndexKey позволяет итерироваться по списку документов, удовлетворяющих фильтру. Если в запросе присутствует параметр afterIndexKey, то список документов в выдаче начинается с документа, следующего за документом, имеющим ключ afterIndexKey (поле Document.IndexKey). Cам документ с ключом afterIndexKey в выдачу при этом не попадает. Если данный параметр в запросе отсутствует, то выдается начало списка документов, удовлетворяющих фильтру.
Возможные HTTP-коды возврата:
-
200 (OK) - операция успешно завершена;
-
400 (Bad Request) - данные в запросе имеют неверный формат или отсутствуют обязательные параметры;
-
401 (Unauthorized) - в запросе отсутствует HTTP-заголовок Authorization, или в этом заголовке содержатся некорректные авторизационные данные;
-
403 (Forbidden) - доступ к ящику с предоставленным авторизационным токеном запрещен;
-
405 (Method not allowed) - используется неподходящий HTTP-метод;
-
500 (Internal server error) - при обработке запроса возникла непредвиденная ошибка.
Все возникающие вопросы, связанные с интеграцией вашей системы с Диадоком, можно задавать на форуме либо в почту [email protected].
История изменений Diadoc API Обзор возможностей API
- Порядок работы клиента API при организации документооборота
- Модель данных
- Управление списком активных контрагентов
- Неформализованный документооборот
- Документооборот электронных счетов-фактур
- Дополнительные функции API
- Возможности для интеграции
- Авторизация
- Docflow API
- Облачная подпись
-
Поддерживаемые операции
- AcquireCounteragent
- Authenticate
- BreakWithCounteragent
- CanSendInvoice
- Delete
- ForwardDocument
- GenerateAcceptanceCertificateXmlForBuyer
- GenerateAcceptanceCertificateXmlForSeller
- GenerateDocumentProtocol
- GenerateDocumentZip
- GenerateForwardedDocumentProtocol
- GenerateInvoiceXml
- GenerateInvoiceCorrectionRequestXml
- GenerateInvoiceDocumentReceiptXml
- GeneratePrintForm
- GenerateTorg12XmlForSeller
- GenerateTorg12XmlForBuyer
- GenerateRevocationRequestXml
- GenerateSignatureRejectionXml
- GetBox
- GetCounteragent
- GetCounteragents
- GetDocument
- GetDocuments
- GetEntityContent
- GetEvent
- GetExternalServiceAuthInfo
- GetForwardedDocuments
- GetForwardedDocumentEvents
- GetForwardedEntityContent
- GetInvoiceCorrectionRequestInfo
- GetMessage
- GetMyOrganizations
- GetMyPermissions
- GetMyUser
- GetNewEvents
- GetOrganization
- GetOrganizationUsers
- GetOrganizationsByInnKpp
- GetRecognized
- MoveDocuments
- ParseAcceptanceCertificateSellerTitleXml
- ParseRevocationRequestXml
- ParseSignatureRejectionXml
- ParseInvoiceXml
- ParseTorg12SellerTitleXml
- ParseRussianAddress
- PostMessage
- PostMessagePatch
- PrepareDocumentsToSign
- Recognize
- RecycleDraft
- Restore
- SendDraft
- ShelfUpload
- ShelfDownload
-
Структуры данных
- AcceptanceCertificateAttachment
- AcceptanceCertificateInfo
- Address
- AsyncMethodResult
- BasicDocumentAttachment
- BilateralDocumentMetadata
- BoxEvent
- BoxEventList
- Content
- Content_v2
- ContractAttachment
- Counteragent
- CustomDataItem
- CustomDataPatch
- Department
- Document
- DocumentId
- DocumentList
- DocumentProtocol
- DocumentSignature
- DocumentSenderSignature
- DocumentsMoveOperation
- DocumentType
- DocumentZipGenerationResult
- DraftToSend
- [Entity](Entity message)
- ExternalServiceAuthInfo
- ForwardDocumentEvent
- ForwardedDocument
- InvoiceCorrectionInfo
- InvoiceCorrectionRequestInfo
- InvoiceDocumentMetadata
- InvoiceInfo
- Message
- MessagePatch
- MessagePatchToPost
- MessageToPost
- NonformalizedAttachment
- NonformalizedDocumentMetadata
- Official
- Organization
- OrganizationInfo
- OrganizationUser
- OrganizationUserPermissions
- PrepareDocumentsToSignRequest
- PrepareDocumentsToSignResponse
- PriceListAttachment
- Recognized
- ReconciliationActAttachment
- Resolution
- ResolutionRequest
- ResolutionRequestDenial
- ResolutionStatus
- RevocationRequestInfo
- RoamingNotification
- ServiceDetailsAttachment
- SignatureRejectionInfo
- SignatureVerificationResult
- SignedContent
- Signer
- StructuredDataAttachment
- TimeBasedFilter
- Timestamp
- Torg12Info
- Torg13Attachment
- TrustConnectionRequestAttachment
- UnilateralDocumentMetadata
- User
- XmlDocumentAttachment
- .NET/COM-библиотека