.. _sap_rest_interact: Класс операций взаимодействия с ИМ по REST API ============================================== Существует класс ``/TRL/XDE_CL_IM_REST`` (тр. SE24), который содержит методы для выполнения операций взаимодействия с ИМ по REST API. Все методы созданы посредством внедрения методов интерфейса ``/TRL/XDE_IF_IM_WS_FRAMEWORK``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~SIGN_IN_DOCUMENT`` Метод для согласования или отклонения входящих документов, с использованием серверного подписания. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. В случае согласования используется код операции ``ACCEPT_DOCUMENT``, в случае отклонения используется код операции ``REJECT_DOCUMENT``. Данные, передаваемые для выполнения операции, указаны в разделе :ref:`ServerSideSigningRequest`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~SIGN_IN_DOCUMENT_LOC_ACC`` Метод для согласования входящих документов, с использованием локального подписания. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. При вызове метода ``DO_OPERATION`` используется код операции ``ACCEPT_DOCUMENT_LOCAL``. Данные, передаваемые для выполнения операции, указаны в разделе :ref:`TitleOrReceiptSendingRequest`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~SIGN_IN_DOCUMENT_LOC_REJ`` Метод для отклонения входящих документов, с использованием локального подписания. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. При вызове метода ``DO_OPERATION`` используется код операции ``REJECT_DOCUMENT_LOCAL``. Данные, передаваемые для выполнения операции, указаны в разделе :ref:`TitleOrReceiptSendingRequest`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~SIGN_REVOKE_DOCUMENT`` Метод для согласования или отклонения запроса на аннулирование. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. В случае согласования используется код операции ``ACCEPT_REV_DOCUMENT``, в случае отклонения используется код операции ``REJECT_REV_DOCUMENT``. Данные, передаваемые для выполнения операции, указаны в разделе :ref:`ServerSideSigningRequest`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~REQUEST_REVOKE_DOCUMENT`` Метод для отправки запроса на аннулирование. Для выполнения операции взаимодействия используется метод DO_OPERATION класса /TRL/XDE_REST. Используется код операции REQUEST_REVOKE. Данные, передаваемые для выполнения операции, указаны в разделе :ref:`ServerSideSigningRequest`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_CERT_INFO`` Метод получает данные по сертификату, используя его отпечаток. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции требуется последовательный вызов сначала метода постановки задания с помощью кода операции ``POST_CERTIFICATE``. Данные, необходимые для выполнения, указаны в таблице ниже. .. table:: Структура запроса на постановку задачи :widths: auto +-------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=============+=============+=============+ | Thumbprints | Перечень | String[] | 100 | Да | | | отпечатков | | | | | | запрашиваемых | | | | | | сертификатов | | | | +-------------+---------------+-------------+-------------+-------------+ Результатом выполнения первого метода будет идентификатор задания. Для получения результата требуется выполнить метод, который вернет данные по идентификатору задания, с помощью кода операции ``GET_CERTIFICATE``. Данные, полученные от ИМ по сертификату, указаны в разделе :ref:`Certificate`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_CERT_INFO_V2`` Метод работает аналогично методу первой версии, т.е. получает данные по отпечатку сертификата. Для выполнения используется метод ``DO_OPERATION`` класса ``/TRL/XDE_CL_REST``. Разница заключается в том, что метод второй версии возвращает больше данных о сертификате. .. table:: Структура запроса на постановку задачи :widths: auto +-------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=============+=============+=============+ | Thumbprints | Перечень | String[] | 100 | Да | | | отпечатков | | | | | | запрашиваемых | | | | | | сертификатов | | | | +-------------+---------------+-------------+-------------+-------------+ * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_UZ_DOCS`` Метод позволяет получить все файлы документооборота по набору документов. Метод выполняет цикл по документам, для каждого из которых выполняется метод получения вложений с помощью кода операции ``GET_ATTACHMENTS``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_PACKAGE_CONTENT_ACC`` Метод получает данные для локального подписания на согласование. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции требуется последовательный вызов сначала метода постановки задания с помощью кода операции ``POST_ACCEPT_CONT``. Данные, передаваемые для выполнения, указаны в таблице ниже. .. table:: Запрос на генерацию ответных титулов или квитанций :widths: auto +-------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=============+=============+=============+ | DocumentId | Идентификатор | Guid | - | Да | | | документа | | | | +-------------+---------------+-------------+-------------+-------------+ | Certificate | Сертификат, | Byte[] | - | Да | | | из которого | | | | | | будут | | | | | | загружены | | | | | | сведения о | | | | | | подписанте | | | | | | титула или | | | | | | квитанции | | | | +-------------+---------------+-------------+-------------+-------------+ Результатом выполнения первого метода будет идентификатор задания. Для получения результата требуется выполнить метод, который вернет данные по идентификатору задания, с помощью кода операции ``GET_ACCEPT_CONT``. Данные, полученные от ИМ, указаны в разделе :ref:`TitleOrReceipt`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_PACKAGE_CONTENT_REJ`` Метод получает данные для локального подписания на отклонение. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции требуется последовательный вызов сначала метода постановки задания с помощью кода операции ``POST_REJECT_CONT``. Данные, передаваемые для выполнения, указаны в таблице ниже. .. table:: Запрос на генерацию ответных титулов или квитанций :widths: auto +-------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=============+=============+=============+ | DocumentId | Идентификатор | Guid | - | Да | | | документа | | | | | | | | | | +-------------+---------------+-------------+-------------+-------------+ | Certificate | Сертификат, | Byte[] | - | Да | | | из которого | | | | | | будут | | | | | | загружены | | | | | | сведения о | | | | | | подписанте | | | | | | титула или | | | | | | квитанции | | | | +-------------+---------------+-------------+-------------+-------------+ Результатом выполнения первого метода будет идентификатор задания. Для получения результата требуется выполнить метод, который вернет данные по идентификатору задания, с помощью кода операции ``GET_REJECT_CONT``. Данные, полученные от ИМ, указаны в разделе :ref:`TitleOrReceipt`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_DOCS_ARCHIVE`` Метод позволяет получить все файлы документооборота архивом. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции требуется последовательное выполнения трех методов. Первый метод ставит задание на выполнение, результатом выполнения метода является идентификатор задания. Для выполнения первого метода используется код операции ``POST_ZIP_DOCUMENT``. Второй метод по номеру идентификатора задания получает идентификатор результата. Для выполнения второго метода используется код операции ``GET_ZIP_DOCUMENT``. Третий метод возвращает данные по идентификатору результата. Для выполнения третьего метода используется код операции ``GET_ZIP_DOCUMENT_RES``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_REVOKE_DOCUMENT_ACC`` Метод позволяет получить квитанции для подтверждения аннулирования. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции требуется последовательный вызов сначала метода постановки задания с помощью кода операции ``POST_ACCEPT_REV_CONT``. Данные, передаваемые для выполнения операции, указаны в таблице ниже. .. table:: Запрос на генерацию ответных титулов или квитанций :widths: auto +-------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=============+=============+=============+ | DocumentId | Идентификатор | Guid | - | Да | | | документа | | | | +-------------+---------------+-------------+-------------+-------------+ | Certificate | Сертификат, | Byte[] | - | Да | | | из которого | | | | | | будут | | | | | | загружены | | | | | | сведения о | | | | | | подписанте | | | | | | титула или | | | | | | квитанции | | | | +-------------+---------------+-------------+-------------+-------------+ Результатом выполнения первого метода будет идентификатор задания. Для получения результата требуется выполнить метод, который вернет данные по идентификатору задания, с помощью кода операции ``GET_ACCEPT_REV_CONT``. Данные, полученные от ИМ, указаны в разделе :ref:`TitleOrReceipt`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_REVOKE_DOCUMENT_REJ`` Метод позволяет получить квитанции для отклонения аннулирования. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции требуется последовательный вызов сначала метода постановки задания с помощью кода операции ``POST_REJECT_REV_CONT``. Данные, передаваемые для выполнения операции, указаны в таблице ниже. .. table:: Запрос на генерацию уведомления об уточнении :widths: auto +-------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=============+=============+=============+ | DocumentId | Идентификатор | Guid | - | Да | | | документа | | | | +-------------+---------------+-------------+-------------+-------------+ | Certificate | Сертификат, | Byte[] | - | Да | | | из которого | | | | | | будут | | | | | | загружены | | | | | | сведения о | | | | | | подписанте | | | | | | титула или | | | | | | квитанции | | | | +-------------+---------------+-------------+-------------+-------------+ | Comment | Комментарий, | String | 500 | Да | | | содержащий | | | | | | причину | | | | | | уточнения | | | | +-------------+---------------+-------------+-------------+-------------+ Результатом выполнения первого метода будет идентификатор задания. Для получения результата требуется выполнить метод, который вернет данные по идентификатору задания, с помощью кода операции ``GET_REJECT_REV_CONT``. Данные, полученные от ИМ, указаны в разделе :ref:`TitleOrReceipt`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~REV_ACPT_DOCUMENT_LOC_ACC`` Метод позволяет выполнить подтверждение аннулирования документа с локальным подписанием. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции используется код ``ACCEPT_REV_DOCUMENT_LOCAL``. Данные, передаваемые для выполнения операции, указаны в разделе :ref:`TitleOrReceiptSendingRequest`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~REV_ACPT_DOCUMENT_LOC_REJ`` Метод позволяет выполнить отклонение аннулирования документа с локальным подписанием. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции используется код ``REJECT_REV_DOCUMENT_LOCAL``. Данные, передаваемые для выполнения операции, указаны в разделе :ref:`TitleOrReceiptSendingRequest`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_REVOKE_DOCUMENT_REQ`` Метод возвращает квитанции для запроса аннулирования. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Для выполнения операции требуется последовательный вызов сначала метода постановки задания с помощью кода операции ``POST_REVOKE_CONT``. Результатом выполнения первого метода будет идентификатор задания. Данные, передаваемые для выполнения данной операции указаны в таблице ниже. .. table:: Запрос на генерацию уведомления об уточнении :widths: auto +-------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=============+=============+=============+ | DocumentId | Идентификатор | Guid | - | Да | | | документа | | | | +-------------+---------------+-------------+-------------+-------------+ | Certificate | Сертификат, | Byte[] | - | Да | | | из которого | | | | | | будут | | | | | | загружены | | | | | | сведения о | | | | | | подписанте | | | | | | титула или | | | | | | квитанции | | | | +-------------+---------------+-------------+-------------+-------------+ | Comment | Комментарий, | String | 500 | Да | | | содержащий | | | | | | причину | | | | | | уточнения | | | | +-------------+---------------+-------------+-------------+-------------+ Для получения результата требуется выполнить метод, который вернет данные по идентификатору задания, с помощью кода операции ``GET_REVOKE_CONT``. Данные, полученные от ИМ, указаны в разделе :ref:`TitleOrReceipt`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~REV_ACPT_DOCUMENT`` Метод позволяет выполнить аннулирование пакета документа используя локальное подписание. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``REQUEST_REVOKE_LOCAL``. Данные, передаваемые для выполнения операции, указаны в разделе :ref:`TitleOrReceiptSendingRequest`. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_OPERATOR_DOCUMENT_ARCHIVE`` Метод позволяет получить все файлы операторского zip архива. Для выполнения операции используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``POST_ZIP_OPERATOR``. Данные, передаваемые для выполнения операции, представляют собой список идентификаторов документа. * ``CONSTRUCTOR`` Метод-конструктор в котором создает объект для логирования. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_INSTANCE`` Метод, позволяющий получить инстанцию класса уже созданную, либо создать новую. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_CONTRACTOR`` Метод позволяет получить данные по участнику документооборота используя идентификатор ящика. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``GET_CONTRACTOR``. Данные, передаваемые в ИМ, указаны в таблице ниже. .. table:: Запрос на получение сведений о контрагентах :widths: auto +--------------+-----------------+--------------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +==============+=================+====================+=============+=============+ | BoxIds | Перечень | String[] | - | Нет | | | идентификаторов | | | | | | ящиков | | | | | | контрагентов | | | | +--------------+-----------------+--------------------+-------------+-------------+ | OperatorsIds | Перечень | String[] | - | Нет | | | идентификаторов | | | | | | операторов | | | | | | ЭДО | | | | +--------------+-----------------+--------------------+-------------+-------------+ | IncludeAuto | Признак | Boolean | - | Да | | Created | того, что в | | | | | Contractors | ответ | | | | | | должны быть | | | | | | включены | | | | | | контрагенты, | | | | | | попавшие в | | | | | | справочник | | | | | | автоматически | | | | | | (в результате | | | | | | обработки | | | | | | событий) | | | | +--------------+-----------------+--------------------+-------------+-------------+ | Contractors | Перечень | ContractorFilter[] | - | Нет | | | фильтров | | | | | | контрагентов | | | | | | по ИНН/КПП | | | | +--------------+-----------------+--------------------+-------------+-------------+ Данные, получаемые от ИМ, указаны в таблице ниже. .. table:: Информация о контрагенте :widths: auto +-------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=============+=============+=============+ | FnsId | Идентификатор | String | 46 | Да | | | ФНС | | | | +-------------+---------------+-------------+-------------+-------------+ | BoxId | Идентификатор | String | 50 | Да | | | ящика | | | | +-------------+---------------+-------------+-------------+-------------+ | OperatorId | Идентификатор | String | 3 | Да | | | оператора | | | | +-------------+---------------+-------------+-------------+-------------+ | Inn | ИНН | String | 12 | Да | | | юридического | | | | | | лица или ИП | | | | +-------------+---------------+-------------+-------------+-------------+ | Kpp | КПП | String | 9 | Нет | | | юридического | | | | | | лица | | | | +-------------+---------------+-------------+-------------+-------------+ | NameFull | Полное | String | 1000 | Да | | | наименование | | | | +-------------+---------------+-------------+-------------+-------------+ | NameShort | Краткое | String | 500 | Да | | | наименование | | | | +-------------+---------------+-------------+-------------+-------------+ | Address | Адрес | String | 500 | Нет | +-------------+---------------+-------------+-------------+-------------+ | Region | Наименование | String | 50 | Нет | | | региона | | | | +-------------+---------------+-------------+-------------+-------------+ | City | Наименование | String | 50 | Нет | | | населенного | | | | | | пункта | | | | +-------------+---------------+-------------+-------------+-------------+ | UpdateDate | Дата и | DateTime | - | Да | | Time | время | | | | | | предыдущего | | | | | | обновления | | | | | | данных | | | | | | контрагентов | | | | | | в UTC | | | | +-------------+---------------+-------------+-------------+-------------+ * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_DEPARTMENTS`` Метод позволяет получить данные по подразделениям агента и контрагента. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``POST_DEPARTMENTS`` для постановки задачи и код операции ``GET_DEPARTMENTS_TASK`` для получения данных по поставленной задаче. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~IM_SEND_DOCUMENTS`` Метод позволяет отправить исходящие документы. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``SEND_DOCUMENTS``. Данные, передаваемые в ИМ, указаны в таблице ниже. .. table:: Параметры запроса на отправку документов :widths: auto +-------------+---------------+-----------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+=================+=============+=============+ | OperatorId | Идентификатор | String | 3 | Да | | | оператора | | | | | | ЭДО | | | | +-------------+---------------+-----------------+-------------+-------------+ | Packages | Пакеты | PackageToSend[] | - | Да | | | документов, | | | | | | которые | | | | | | нужно | | | | | | отправить | | | | +-------------+---------------+-----------------+-------------+-------------+ * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_EVENTS_BY_DOCUMENT_ID`` Метод позволяет получить события по идентификатору документа. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``GET_EVENTS_BY_DOC_ID``. В случае успеха возвращается перечень структур, содержащих информацию о статусе документа. .. table:: Статус документа :widths: auto +-------------+---------------+---------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+===============+===============+=============+=============+ | StatusId | Идентификатор | Int | - | Да | | | статуса | | | | +-------------+---------------+---------------+-------------+-------------+ | DocumentId | Идентификатор | Guid | - | Да | | | документа | | | | +-------------+---------------+---------------+-------------+-------------+ | Event | Событие, | DocumentEvent | - | Да | | | которое | | | | | | привело к | | | | | | созданию | | | | | | этого | | | | | | статуса | | | | +-------------+---------------+---------------+-------------+-------------+ | Content | Вложение, | Content | - | Нет | | | которое | | | | | | содержит | | | | | | контент, | | | | | | связанный с | | | | | | событием | | | | +-------------+---------------+---------------+-------------+-------------+ | Printform | Вложение, | Content | - | Нет | | | которое | | | | | | содержит | | | | | | печатную | | | | | | форму | | | | +-------------+---------------+---------------+-------------+-------------+ | Metadata | Вложение, | Content | - | Нет | | | которое | | | | | | содержит | | | | | | метаданные | | | | +-------------+---------------+---------------+-------------+-------------+ * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~IM_GET_DOCUMENT_STATUSES`` Метод позволяет получить новые события по идентификатору ящика. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``GET_DOCUMENT_STATUSES``. Данные, передаваемые в ИМ, указаны в таблице ниже. .. table:: Структура запроса истории статусов :widths: auto +--------------+---------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +==============+===============+=============+=============+=============+ | BoxIds | Перечень | String[] | 50 | Да | | | ящиков, для | | | | | | которых | | | | | | будет | | | | | | выполняться | | | | | | поиск | | | | | | статусов | | | | +--------------+---------------+-------------+-------------+-------------+ | MaxStatuses | Максимальное | Int | - | Нет | | Count | количество | | | | | | возвращаемых | | | | | | статусов. | | | | | | Если | | | | | | значение не | | | | | | задано, то | | | | | | будет | | | | | | возвращено | | | | | | максимум | | | | | | 2000 | | | | | | статусов | | | | +--------------+---------------+-------------+-------------+-------------+ | LastStatusId | Идентификатор | Int | - | Да | | | последнего | | | | | | статуса | | | | +--------------+---------------+-------------+-------------+-------------+ В случае успеха возвращается перечень структур, содержащих информацию о статусе документа. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~IM_GET_DOCUMENT`` Метод позволяет получить данные о документе по идентификатору документа. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``IM_GET_DOCUMENT``. В случае успешного выполнения будет получена структура данных о документе, отраженная в таблице ниже. .. table:: Структура документа :widths: auto +------------------+-----------------+--------------+-------------+-------+ | Свойство | Описание | Тип | Длина | Обяз. | +==================+=================+==============+=============+=======+ | Id | Идентификатор | Guid | - | Да | | | документа | | | | +------------------+-----------------+--------------+-------------+-------+ | PackageId | Идентификатор | Guid | - | Да | | | пакета | | | | | | документов | | | | +------------------+-----------------+--------------+-------------+-------+ | ParentDocumentId | Идентификатор | Guid | - | Нет | | | родительского | | | | | | документа | | | | +------------------+-----------------+--------------+-------------+-------+ | OperatorId | Идентификатор | String | 3 | Да | | | оператора | | | | +------------------+-----------------+--------------+-------------+-------+ | SenderBoxId | Идентификатор | String | 50 | Да | | | ящика | | | | | | отправителя | | | | +------------------+-----------------+--------------+-------------+-------+ | ReceiverBoxId | Идентификатор | String | 50 | Да | | | ящика | | | | | | получателя | | | | +------------------+-----------------+--------------+-------------+-------+ | Type | Тип | DocumentType | - | Да | | | документа | | | | +------------------+-----------------+--------------+-------------+-------+ | Name | Наименование | String | 500 | Да | | | документа | | | | +------------------+-----------------+--------------+-------------+-------+ | Number | Номер | String | 10 | Да | | | документа | | | | +------------------+-----------------+--------------+-------------+-------+ | Date | Дата и | DateTime | - | Да | | | время | | | | | | документа | | | | +------------------+-----------------+--------------+-------------+-------+ | OperatorDateTime | Дата и | DateTime | - | Да | | | время | | | | | | оператора | | | | +------------------+-----------------+--------------+-------------+-------+ | IsReceiver | Признак | Boolean | - | Да | | Signature | того, что | | | | | Required | документу | | | | | | требуется | | | | | | подпись | | | | | | получателя | | | | +------------------+-----------------+--------------+-------------+-------+ | Comment | Комментарий | String | 500 | Нет | | | для | | | | | | документа | | | | +------------------+-----------------+--------------+-------------+-------+ | IsOutput | Признак | Boolean | - | Да | | | того, что | | | | | | документ | | | | | | является | | | | | | исходящим | | | | +------------------+-----------------+--------------+-------------+-------+ | ChildDocuments | Список | Guid[] | - | Нет | | | идентификаторов | | | | | | документов | | | | +------------------+-----------------+--------------+-------------+-------+ * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_ALL_ATTACHMENT_LINKS`` Метод позволяет получить вложения документа. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``GET_ATTACHMENT_LINKS``. В случае успешного выполнения операции из ИМ вернутся данные, указанные в таблице ниже. .. list-table:: Структура ответа с вложениями документа :header-rows: 1 * - Атрибут - Описание - Тип - Длина - Обяз. * - StatusCode - Код результата - Int - - - Да * - ErrorMessage - Сообщение об ошибке - String - 512 - Нет * - DocumentAttachments - Массив вложений документа - DocumentAttachment[] - - - Да * - DocumentId - Идентификатор документа в БД Продукта - Guid - 36 - Да * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_ALL_ATTACHMENT_LINKS_BATCH`` Метод позволяет получить вложения перечня документов. Для выполнения операции взаимодействия используется метод ``DO_OPERATION`` класса ``/TRL/XDE_REST``. Используется код операции ``GET_ATTACHMENTS``. Данные, передаваемые для выполнения операции в ИМ, представлены в таблице ниже. .. table:: Перечень идентификаторов документов :widths: auto +-------------+--------------------+-------------+-------------+-------------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+====================+=============+=============+=============+ | DocumentIds | Последовательность | Guid[] | - | Да | | | идентификаторов | | | | | | документов, | | | | | | для которых | | | | | | нужно | | | | | | получить | | | | | | вложения | | | | +-------------+--------------------+-------------+-------------+-------------+ В случае успешного выполнения из ИМ вернется перечень вложений. .. table:: Информация о вложениях документа :widths: auto +-------------+-----------------------------+-----------+-------+-------+ | Свойство | Описание | Тип | Длина | Обяз. | +=============+=============================+===========+=======+=======+ | DocumentId | Идентификатор документа | Guid | - | Да | +-------------+-----------------------------+-----------+-------+-------+ | Attachments | Перечень вложений документа | Content[] | - | Да | +-------------+-----------------------------+-----------+-------+-------+ * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_PRINTFORM`` Метод позволяет получить данные о печатной форме (тип, бинарные данные самой формы). Для выполнения метода предусмотрен последовательный вызов метода ``DO_OPERATION`` класса ``/TRL/XDE_CL_REST`` с кодами операций ``POST_PRINT`` и ``GET_PRINT``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~SEND_FILE`` Метод позволяет отправить файл в бинарном виде с помощью метода ``SEND_FILE`` класса ``/TRL/XDE_CL_REST``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~GET_FILE`` Метод позволяет получить файл в бинарном виде с помощью метода ``GET_FILE`` класса ``/TRL/XDE_CL_REST``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~WS_DOC_ATTCH_2_IM_DOC`` Метод конвертирует данные по документам из формата веб-сервисов во внутренний SAP формат продукта xDE. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~SEND_INVITATION`` Метод используется для того, чтобы отправить приглашение на обмен электронными документами контрагенту. Реализация выполняется с помощью универсального метода ``DO_OPERATION`` класса ``/TRL/XDE_CL_REST`` с использованием имени операции ``SEND_INVITE``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~BREAK_INVITATION`` Метод используется для того, чтобы прекратить обмен электронными документами с контрагентом. Реализация выполняется с помощью универсального метода ``DO_OPERATION`` класса ``/TRL/XDE_CL_REST`` с использованием имени операции ``BREAK_INVITE``. Используется код операции ``GET_ACCEPT_REV_CONT``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~ACCEPT_INVITATION`` Метод используется для того, чтобы принять входящее приглашение на обмен электронными документами от контрагента. Реализация выполняется с помощью универсального метода ``DO_OPERATION`` класса ``/TRL/XDE_CL_REST`` с использованием имени операции ``ACCEPT_INVITE``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~REJECT_INVITATION`` Метод используется для того, чтобы отклонить входящее приглашение на обмен электронными документами от контрагента. Реализация выполняется с помощью универсального метода ``DO_OPERATION`` класса ``/TRL/XDE_CL_REST`` с использованием имени операции ``REJECT_INVITE``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~REVOKE_INVITATION`` Метод используется для того, чтобы отозвать исходящее приглашение на обмен электронными документами с контрагентом. Реализация выполняется с помощью универсального метода ``DO_OPERATION`` класса ``/TRL/XDE_CL_REST`` с использованием имени операции ``REVOKE_INVITE``. * ``/TRL/XDE_IF_IM_WS_FRAMEWORK~CONVERT_ISO_DATE_TO_ABAP_DATE`` Метод позволяет конвертировать данные по дате и времени из ISO-формата в формат данных, принятых в SAP.