Управление списком сообщений и документов - Synerdocs/synerdocs-sdk GitHub Wiki
Обмен документами, подписями и т.д. между абонентами сервиса происходит по средствам сообщений. Для получения списка сообщений в сервисе реализован метод GetMessages. При вызове данного метода могут быть получены как входящие, так и исходящие сообщения. Стоит отметить, что метод поддерживает получение сообщений, начиная с определенного, что позволяет загружать только новые сообщения, поэтому рекомендуется сохранять идентификатор последнего полученного/отправленного сообщения. Для получения полной информации по сообщению используется метод GetMessage.
Кроме того, для работы с документами реализован метод GetDocumentEntries. Данный метод, кроме возможностей аналогичных методу GetMessages, позволяет получать списки документов по некоторым заданным параметрам, например, документы, которые требуются подписания, или документы, которым было запрошено уточнение. В качестве ограничения для использования данного метода стоит отметить то, что данный метод не включает в возвращаемый список служебные документы, но они могут быть выгружены совместно с документами, к которым относятся. Мы рекомендуем использовать этот метод для работы со документами, например, в случае, когда клиентское приложение по тем или иным причинам не поддерживает хранение документов, но есть необходимость в построении списков документов, в том числе фильтрация таких списков.
В зависимости от типа документа, способа его отправки (отправка нового документа, отправка без подписания или пересылка) и требуемых от участников действий формируется регламент документооборота и статусная модель документа. Действия пользователей с документом, которые выражаются в отправке тех или иных артефактов (подписи, служебные документы и т.д.), в совокупности образуют полную историю работы с документом или его документооборот. Получение полной информации по конкретному документу возможно с помощью метода GetFullDocumentInfo и GetFlowDocumentInfo. Отличия в методах состоят в том, что метод GetFlowDocumentInfo в том числе позволяет получить информацию о всех вхождениях документах, т.е. всех документооборотах, в которых участвовал документ, например, в случае пересылки документа.
Если размер контента документа превышает 1 МБ, то для его получения необходимо воспользоваться методом GetDocumentContent.
Кроме того, с помощью метода DownloadDocumentFlowArchive возможно получение архива документооборота документа для хранения на стороне информационной системы. В архив входит:
- файл (контент) документа и его подписи, при наличии подписей;
- если документ состоит из нескольких титулов, например, УПД и УКД, то будет выгружен и ответный титул, при его наличии;
- служебные документы и их подписи;
- соглашение об аннулировании и его подписи, если документ был аннулирован;
- печатная форма документа с отметкой о подписании документа в элементарном виде, если документ относится к формализованным или имеет формат PDF;
- информационная квитанция о документе с подписью Оператора сервиса.