Privacy

https://img.shields.io/badge/auth-required-orange.svg

Подсказка

Правила формирования запросов к ноде приведены в разделе Как использовать REST API.

POST /privacy/sendData

Запись конфиденциальных данных в хранилище ноды.

Запрос метода:

{
  "sender": "3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
  "password": "apgJP9atQccdBPA",
  "policyId": "4gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaC",
  "type": "file",
  "info": {
    "filename":"Service contract #100/5.doc",
    "size": 2048,
    "timestamp": 1000000000,
    "author": "[email protected]",
    "comment": "some comments"
   },
   "data": "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=",
   "hash": "FRog42mnzTA292ukng6PHoEK9Mpx9GZNrEHecfvpwmta"
}

Параметры:

  • sender - блокчейн-адрес, от которого должны рассылаться данные (соответствуют значению параметра «privacy.owner-address» в конфигурационном файле ноды);

  • password - пароль для доступа к закрытому ключу keystore ноды;

  • policyId - идентификатор группы, в рамках которой пересылаются данные;

  • type - тип данных;

  • info - информация о данных;

  • data - строка, содержащая данные в формате base64;

  • hash - sha256-хеш данных в формате base58.

Ответ метода:

{
  "senderPublicKey": "Gt3o1ghh2M2TS65UrHZCTJ82LLcMcBrxuaJyrgsLk5VY",
  "policyId": "4gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaC",
  "sender": "3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
  "dataHash": "FRog42mnzTA292ukng6PHoEK9Mpx9GZNrEHecfvpwmta",
  "proofs": [
  "2jM4tw4uDmspuXUBt6492T7opuZskYhFGW9gkbq532BvLYRF6RJn3hVGNLuMLK8JSM61GkVgYvYJg9UscAayEYfc"
  ],
  "fee": 110000000,
  "id": "H3bdFTatppjnMmUe38YWh35Lmf4XDYrgsDK1P3KgQ5aa",
  "type": 114,
  "timestamp": 1571043910570
 }

POST /privacy/sendDataV2

Вторая версия метода POST /privacy/sendData, позволяющего выполнять поточную загрузку файлов с конфиденциальными данными в хранилище ноды.

Запрос метода:

{
  "sender": "3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
  "policyId": "4gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaC",
  "type": "file",
  "hash": "e67ad392ab4d933f39d5234asdd96c18c491140e119d590103e7fd6de15623f9",
  "info": {
    "filename": "Договор об оказании услуг №100/5.doc",
    "size": 2048,
    "timestamp": 1000000000,
    "author": "[email protected]",
    "comment": "la la fam"
  },
  "fee": 15000000,
  "password": "12345qwert",
  "timestamp": 0
}

Параметры отличаются от параметров метода POST /privacy/sendData только отсутствием поля Data. Вместо заполнения данного поля вам необходимо выбрать и приложить файл с данными в соответствующем окне Swagger.

Ответ метода:

{
  "senderPublicKey": "Gt3o1ghh2M2TS65UrHZCTJ82LLcMcBrxuaJyrgsLk5VY",
  "policyId": "4gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaC",
  "sender": "3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
  "dataHash": "FRog42mnzTA292ukng6PHoEK9Mpx9GZNrEHecfvpwmta",
  "proofs": [
  "2jM4tw4uDmspuXUBt6492T7opuZskYhFGW9gkbq532BvLYRF6RJn3hVGNLuMLK8JSM61GkVgYvYJg9UscAayEYfc"
  ],
  "fee": 110000000,
  "id": "H3bdFTatppjnMmUe38YWh35Lmf4XDYrgsDK1P3KgQ5aa",
  "type": 114,
  "timestamp": 1571043910570
 }

GET /privacy/{policy-id}/recipients

Получение адресов всех участников, записанных в группу {policy-id}.

Ответ метода:

[
"3NBVqYXrapgJP9atQccdBPAgJPwHDKkh6A8",
"3Mx2afTZ2KbRrLNbytyzTtXukZvqEB8SkW7"
]

GET /privacy/{policy-id}/owners

Получение адресов всех владельцев, записанных в группу {policy-id}.

Ответ метода:

[
  "3GCFaCWtvLDnC9yX29YftMbn75gwfdwGsBn",
  "3GGxcmNyq8ZAHzK7or14Ma84khwW8peBohJ",
  "3GRLFi4rz3SniCuC7rbd9UuD2KUZyNh84pn",
  "3GKpShRQRTddF1yYhQ58ZnKMTnp2xdEzKqW"
]

GET /privacy/{policy-id}/hashes

Получение массива идентификационный хешей, которые записаны в привязке к {policy-id}.

Ответ метода:

[
"FdfdNBVqYXrapgJP9atQccdBPAgJPwHDKkh6A8",
"eedfdNBVqYXrapgJP9atQccdBPAgJPwHDKkh6A"
]

GET /privacy/{policyId}​/getData/{policyItemHash}

Получение пакета конфиденциальных данных по идентификационному хешу.

Ответ метода:

c29tZV9iYXNlNjRfZW5jb2RlZF9zdHJpbmc=

GET ​/privacy​/{policyId}​/getInfo​/{policyItemHash}

Получение метаданных для пакета конфиденциальных данных по идентификационному хешу.

Ответ метода:

{
  "sender": "3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
  "policy": "4gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaC",
  "type": "file",
  "info": {
    "filename": "Contract №100/5.doc",
    "size": 2048,
    "timestamp": 1000000000,
    "author": "[email protected]",
    "comment": "Comment"
  },
"hash": "e67ad392ab4d933f39d5723aeed96c18c491140e119d590103e7fd6de15623f1"
}

POST /privacy/forceSync

Запрос на принудительное получение пакета конфиденциальных данных.

Ответ метода:

{
  "result": "success" // or "error"
  "message": "Address '3NBVqYXrapgJP9atQccdBPAgJPwHDKkh6A8' not in policy 'policyName'"
}

POST /privacy/getInfos

Запрос на возвращение массива мета-информации о приватных данных по предоставленным идентификатору группы и хешу данных.

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

{ "policiesDataHashes":
  [
   {
    "policyId": "somepolicyId_1",
    "datahashes": [ "datahash_1","datahash_2" ]
   },
   {
     "policyId": "somepolicyId_2",
     "datahashes": [ "datahash_3","datahash_4" ]
   }
  ]
 }

Ответ метода:

{
 "policiesDataInfo":[
    {
       "policyId":"somepolicyId_1",
       "datasInfo":[
          {
             "hash":"e67ad392ab4d933f39d5723aeed96c18c491140e119d590103e7fd6de15623f1",
             "sender":"3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
             "type":"file",
             "info":{
                "filename":"Contract №100/5.doc",
                "size":2048,
                "timestamp":1000000000,
                "author":"[email protected]",
                "comment":"Comment"
             }
          },
          {
             "hash":"e67ad392ab4d933f39d5723aeed96c18c491140e119d590103e7fd6de15623f1",
             "sender":"3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
             "type":"file",
             "info":{
                "filename":"Contract №101/5.doc",
                "size":"2048",
                "timestamp":1000000000,
                "author":"[email protected]",
                "comment":"Comment"
             }
          }
          }
        ]
    ]
}