<aside> ⚠️ XP, XL, контекст клиента, V=0

</aside>

Передает в систему факт электронного подписания договора с клиентом

Параметры запроса

Параметр REQ Описание
ClientIntegrationId да Идентификатор клиента – Ид интеграции клиента(уникальный код однозначно определяющий клиента)
ContractId да Код договора
SignDate да Дата подписания договора в формате dd.MM.yyyy HH:mm:ss
ContractVersion нет Версия алгоритма, с помощью которого была осуществлена подпись документа с клиентом
Documents нет Массив ссылок на подписанные клиентом документы
KeyTransport нет Сервис (или любой другой способ), с помощью которого пользователю был выслан ключ для подтверждения подписи (например сервис sms.ru в случае отправки смс)
UserSignKey нет публичный ключ, который был предоставлен пользователю для подписания договора (например, код из смс)
UserSignHash нет Хэш от набора полей, который при запросе данных контейнера подтвердит вызывающей стороне что данные подписи не были модифицированы на стороне XLombard/XProkat
CompanyId нет Код юр.лица

Результат

Result - пустой объект (не содержит никаких полей). Результат выполнения операции считается успешным, если в процессе выполнения не возникло ошибок (коллекция Errors NULL или не содержит элементов).

Пример запрос

{
   "ClientIntegrationId":"nz2UG1",
   "ContractId":313527,
   "SignDate":"01.01.2024",
   "ContractVersion":"3",
   "Documents":["<http://test.com/doc.pdf","http://test.com/doc2.pdf>"],
   "KeyTransport":"sms.ru",
   "UserSignKey":"0001",
   "UserSignHash":"o3275980rywefhjerty341",
   "CompanyId":4188
}

<aside> 💡 ВАЖНО! XLombard или XProkat никаким образом не участвует в электронном подписании договора с клиентом, а только фиксирует факт подписи договора и выступает в качестве хранилища сформированного контейнера данных. Поэтому все поля за исключением Код договора и Даты подписания являются НЕ обязательными и их передача целиком определяется логикой сервиса, осуществляющего подпись договора.

</aside>

<aside> 💡 ВАЖНО2! UserSignHash необходимо для обеспечения условия неизменности данных на стороне XLombard/XProkat поэтому формируйте значение данного поля только исходя из переданных значений в контейнере. Например, если передается только SignDate и ContractId, то генерация значения UserSignHash в ПРОСТЕЙШЕМ случае может выглядеть следующим образом: UserSignHash1 = MD5(ContractId+SignDate). Полученная удостоверяющая подпись будет гарантировать неизменность данных со стороны системы только в случае повторной генерации данной подписи на стороне сервиса и сравнения их значений. В случае изменения алгоритма генерации подписи контейнера (например, UserSignHash2 = SHA256(ContractId+SignDate)), очевидным образом уже НЕ получится верифицировать данные всех контейнеров, сформированных ДО изменения алгоритма, так как UserSignHash1 будет НЕ РАВЕН UserSignHash2.

</aside>