# Фрейм для подписания

Фрейм для подписания является штатным инструментом, позволяющим выполнять клиентское подписание необходимых документов в окне браузера.

Данный инструмент можно использовать в случаях, когда работа с Мультибанком (Транзит 2.0) осуществляется посредством API. Использование фрейма для подписания в данном случае позволяет упростить работу за счет того, что пользователю не понадобится реализовывать алгоритмы для клиентского подписания на своей стороне, реализация которых, в свою очередь, может быть трудозатратной.

Внимание! Фрейм для подписания предназначен для проставления клиентской подписи следующих криптопровайдеров: КриптоПро, Криптографический сервис НРД (ГОСТ и RSA), а также Инфокрипт (зеленый токен Сбербанка).

Фрейм имеет URL вида `{адрес хоста}/client-sign?ids={номера документов через запятую}&token={токен доступа}`, где в качестве значения параметра `ids` через запятую указываются идентификаторы документов для подписания, и в качестве значения параметра `token` - действительный токен доступа (Bearer Token).

Внимание! Фрейм поддерживает клиентское подписание документов всех типов.

На рисунке ниже продемонстрирован фрейм подписания. На странице в табличной части отображаются только те документы, которые были перечислены в качестве значения параметра `ids` в строке URL.

Фрейм для подписания

Чтобы выполнить подписание документов, которые фигурируют в табличной части, необходимо нажать на кнопку `Подписать`.

В случае, если используется клиентская подпись КриптоПро, по нажатию на кнопку `Подписать` открывается окно “Выберите сертификат(ы) для подписи”, где необходимо нажать кнопку подписания (подробнее см. раздел Быстрое подписание).

Подписание клиентской подписью КриптоПро через фрейм

Внимание: в качестве значений параметра `ids` должны быть указаны идентификаторы документов одного типа. Иначе, если перечислены документы разных типов, выводится ошибка, кнопка подписания при этом блокируется, как показано на рисунке ниже.

Ошибка при указании документов разных типов

Если в параметре `ids` перечислены документы, подписание которых невозможно по тем или иным причинам (фаза уже подписана, искомый пользователь не имеет полномочий на подписание фазы и т.д.), выводится соответствующее предупреждение с перечислением идентификаторов документов, которые не могут быть подписаны. При этом остальные документы, подписание которых может быть осуществлено согласно настройкам, будут фигурировать в табличной части.

Предупреждение при невозможности подписания документов

При использовании фрейма для подписания следует помнить о следующих нюансах:

1. Фрейм для подписания предназначен исключительно для проставления клиентской подписи. Согласование и серверная подпись не поддерживаются;

2. В параметрах URL должен быть указан токен пользователя, имеющего полномочия на проставление клиентской подписи на текущей фазе для перечисленных документов (подробнее см. раздел Полномочия пользователя);

3. Для искомого пользователя должен быть предоставлен доступ к интеграционному API (в настройках пользователя должна быть установлена галка `Разрешить доступ к интеграционному API`). Подробнее см. раздел Настройка пользователя.

   Если доступ к API пользователю не предоставлен (искомая галка в настройках пользователя выключена), то будет выведена ошибка доступа, как показано на рисунке ниже;

   Ошибка доступа