Веб-сервисы для эффективного управления бизнесом!

Инструменты пользователя

Инструменты сайта


gui

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
gui [2019/07/09 10:27]
ilya
gui [2019/07/10 07:27]
ilya
Строка 143: Строка 143:
 |<​response>​|---|данный тэг говорит о том, что данные этого пакета относятся к ответам| |<​response>​|---|данный тэг говорит о том, что данные этого пакета относятся к ответам|
 |<​datetime>​|date-time|дата и время создания ответа в формате yyyy-MM-dd'​T'​HH:​mm:​ss.SSSZ;​ обязательный параметр| |<​datetime>​|date-time|дата и время создания ответа в формате yyyy-MM-dd'​T'​HH:​mm:​ss.SSSZ;​ обязательный параметр|
-||||+|<​xmlsign>​|string|подпись пакета (подробнее см. Формирование подписи пакета);​ обязательный параметр| 
 +|<​transaction>​|---|внутри данного тэга находятся передаваемые с сервера данные;​ обязательный параметр| 
 + 
 +**Ошибка**\\  
 +В случае возникновения ошибки система должна вернуть пакет ошибки следующего вида 
 + 
 +XML формат пакета 
 + <?xml version="​1.0"​ encoding="​UTF-8"?>​ 
 + <​response>​ 
 + <​xmlsign>​MCwCFBDENIKYn964yX5Dkg+F7m1pMCJdAhQTRB3UaMZ8aYk1ID6tt5Kzd1J1Ag==</​xmlsign>​ 
 + <​datetime>​2014-01-20T11:​00:​43.929+0200</​datetime>​ 
 + <​error>​ 
 + <​code>​5</​code>​ 
 + <​text>​Wrong request data packet or a signature.</​text>​ 
 + </​error>​ 
 + </​response>​ 
 +JSON формат пакета 
 +
 + "​response":​{ 
 + "​datetime":"​2014-01-20T11:​00:​43.845+0200",​ 
 + "​xmlsign":"​MCwCFHN0CMsiMZg3xUnWMLMP5pZcl7DQAhRka2zvFsomqj8bRzJNRAOnF5+gFA==",​ 
 + "​error":​{ 
 + "​code":​5,​ 
 + "​text":"​Wrong request data packet or a signature."​ 
 +
 +
 +
 + 
 +^Тэг/​Параметр^Тип^Описание^ 
 +|<​response>​|---|данный тэг говорит о том, что данные этого пакета относятся к ответам| 
 +|<​datetime>​|date-time|дата и время создания ответа в формате yyyy-MM-dd'​T'​HH:​mm:​ss.SSSZ;​ обязательный параметр| 
 +|<​xmlsign>​|string|подпись пакета (подробнее см. Формирование подписи пакета);​ обязательный параметр| 
 +|<​error>​|---|внутри данного тэга находятся передаваемые с сервера данные (информация об ошибке);​ обязательный параметр| 
 +|<​code>​|long|код ошибки в системе;​ обязательный параметр| 
 +|<​text>​|string|текст ошибки| 
 +====== Формирование подписи пакета ====== 
 + 
 +Каждый пакет должен быть подписан цифровой подписью с помощью алгоритма **RSA** с использованием алгоритма хеш-функций **SHA256**. Для этого формируется полный пакет с данными,​ которые будут передаваться. Внутрь тэга ''<​xmlsign>''​ помещаем пробел. Переводим строку в массив байтов используя кодировку **UTF-8** и рассчитываем подпись с применением скрытого ключа. Результат подписи кодируется в 
 +base64, переводится в **application/​x-www-form-urlencoded** формат и заменяет содержимое тэга 
 +''<​xmlsign>''​. 
 + 
 +Проверка подписи происходит в таком же порядке:​ берем пакет данных,​ Внутрь тэга **<​xmlsign>​** помещаем пробел,​ переводим строку в массив байтов используя кодировку **UTF-8** и проверяем подпись с применением открытого ключа.\\  
 +Выдача сертификатов для данной процедуры происходит в момент подключения внешнего приложения к системе. 
 +====== Общие запросы для всех систем CleverFormsTM API ====== 
 +**Чтение сертификата приложения** 
 +**<​protocol>://<​domain>/<​app-name>/​handler/​api/​certificate/<​filename>​.cer?​app_id=<​app_id>&​serial_number=<​serial_number>&​sig=<​signature>​** – Возвращает файл сертификата  
 +для зарегистрированного приложения. Получение информации только с помощью метода **GET**.\\  
 +\\  
 + 
 +Параметры запроса:​\\  
 +  * <​app_id>​ - идентификатор приложения в системе. Выдается при подключении.\\  
 +  * <​serial_number>​ - идентификатор сертификата в системе. Выдается при подключении.\\  
 +  * <​signature>​ - подпись запроса. ​ * Элемент ненумерованного списка\\  
 +Данные транзакции для запроса:​ транзакция отсутствует.\\  
 +Данные транзакции для ответа:​ транзакция отсутствует.\\  
 +Получение информации только с помощью метода GET.\\ ​
gui.txt · Последние изменения: 2019/07/10 08:24 — ilya