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:

  1. http://signdoc.gplvote.org/send
  2. http://signdoc.gplvote.org/get

с помощью POST запросов, в теле которых в JSON формате размещаются параметры запроса.

Первый URI используется для:

  1. Отправки запросов на подписание документа
  2. Отправки подтверждений об обработке полученной от пользователя подписи документа

Второй URI используется для:

  1. Получения запросов на регистрацию публичного ключа пользователя в системе
  2. Получения подписей документов

Запросы

Отправка запроса на подписание документа

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), ,
  • , <marquee>, , , , , , ;
  • Личные инструменты
    Пространства имён
    Варианты
    Действия
    Навигация
    Инструменты