GPLVote Sign Doc Proxy API
Админ (обсуждение | вклад) (Новая страница: «=== Общее описание === Взаимодействие с прокси сервером идет по двум URI: # http://signdoc.gplvote.org/send # h...») |
Админ (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
# Получения запросов на регистрацию публичного ключа пользователя в системе | # Получения запросов на регистрацию публичного ключа пользователя в системе | ||
# Получения подписей документов | # Получения подписей документов | ||
+ | |||
+ | === Запросы === | ||
+ | |||
+ | ==== Отправка запроса на подписание документа ==== | ||
+ | |||
+ | URL: http://signdoc.gplvote.org/send | ||
+ | POST body: | ||
+ | { | ||
+ | "site": "<идентификатор сайта клиента>", | ||
+ | "user_key_id": "<идентификатор публичного ключа пользователя>", | ||
+ | "doc_id": "<внутренний идентификатор документа на сайте клиента>", | ||
+ | "data": "<зашифрованные публичным ключем клиента данные документа (формат далее)>", | ||
+ | "template": "<шаблон для показа документа клиенту (формат далее)>" | ||
+ | } | ||
+ | |||
+ | '''Идентификатор публичного ключа пользователя''' - хэш sha256 публичного ключа пользователя в кодировке base64. Хэш берется от бинарного представления публичного ключа пользователя. | ||
+ | |||
+ | '''Данные документа''' - JSON массив с данными, которые будут подставляться в шаблон документа при показе его пользователю. Пример: '["данные 1","данные 2","данные 3"]' | ||
+ | |||
+ | '''Шаблон документа''' - шаблон, в который будут подставлены данные документа при показе его пользователю перед подписанием. Представляет из себя текст. В первой строке шаблона размещается метка типа шаблона. Доступны два типа шаблонов - "LIST" и "HTML". | ||
+ | |||
+ | Шаблон типа "LIST" - предназначен для показа документов списочного типа, которые можно представить в виде списка пар "Описание" - "Значение". В каждой следующей строке - описание очередного значения данных из массива данных. Например: | ||
+ | |||
+ | Данные: ["данные 1","данные 2","данные 3"] | ||
+ | Шаблон: | ||
+ | LIST | ||
+ | Описание данных 1 | ||
+ | Описание данных 2 | ||
+ | Описание данных 3 | ||
+ | |||
+ | будут показаны в приложении в виде: | ||
+ | Описание данных 1 | ||
+ | данные 1 | ||
+ | Описание данных 2 | ||
+ | данные 2 | ||
+ | Описание данных 3 | ||
+ | данные 3 | ||
+ | |||
+ | Шаблон типа "HTML" - предназначен для показа документов с более сложным содержимым. Представляет из себя ограниченный набор html элементов: <annotation>, <b>,<big>, <font> (supports attributes "height", "size", "fgcolor" and "bicolor", as integers), <i>, <li>, <marquee>, <small>, <strike>, <sub>, <sup>, <tt>, <u>; |
Версия 15:02, 19 января 2015
Общее описание
Взаимодействие с прокси сервером идет по двум URI:
с помощью POST запросов, в теле которых в JSON формате размещаются параметры запроса.
Первый URI используется для:
- Отправки запросов на подписание документа
- Отправки подтверждений об обработке полученной от пользователя подписи документа
Второй URI используется для:
- Получения запросов на регистрацию публичного ключа пользователя в системе
- Получения подписей документов
Запросы
Отправка запроса на подписание документа
URL: http://signdoc.gplvote.org/send POST body: { "site": "<идентификатор сайта клиента>", "user_key_id": "<идентификатор публичного ключа пользователя>", "doc_id": "<внутренний идентификатор документа на сайте клиента>", "data": "<зашифрованные публичным ключем клиента данные документа (формат далее)>", "template": "<шаблон для показа документа клиенту (формат далее)>" }
Идентификатор публичного ключа пользователя - хэш sha256 публичного ключа пользователя в кодировке base64. Хэш берется от бинарного представления публичного ключа пользователя.
Данные документа - JSON массив с данными, которые будут подставляться в шаблон документа при показе его пользователю. Пример: '["данные 1","данные 2","данные 3"]'
Шаблон документа - шаблон, в который будут подставлены данные документа при показе его пользователю перед подписанием. Представляет из себя текст. В первой строке шаблона размещается метка типа шаблона. Доступны два типа шаблонов - "LIST" и "HTML".
Шаблон типа "LIST" - предназначен для показа документов списочного типа, которые можно представить в виде списка пар "Описание" - "Значение". В каждой следующей строке - описание очередного значения данных из массива данных. Например:
Данные: ["данные 1","данные 2","данные 3"] Шаблон: LIST Описание данных 1 Описание данных 2 Описание данных 3
будут показаны в приложении в виде:
Описание данных 1 данные 1 Описание данных 2 данные 2 Описание данных 3 данные 3Шаблон типа "HTML" - предназначен для показа документов с более сложным содержимым. Представляет из себя ограниченный набор html элементов: <annotation>, ,, (supports attributes "height", "size", "fgcolor" and "bicolor", as integers), ,