5. API
Este API te permite registrar datos en la cadena de bloques, consultar estos datos y obtener los certificados correspondientes.
5.1. Autenticación
Para utilizar este API lo primero que debes hacer es enviar una petición POST al endpoint /login con tu nombre de usuario y tu contraseña. La respuesta contendrá un token de acceso que deberás incluir en la cabecera Authorization de todas las peticiones posteriores. Este token tiene un tiempo de caducidad de 2 horas.
Petición de ejemplo:
POST /login HTTP/1.1
Content-Type: application/json
{
"email": "myusername",
"password": "mypassword"
}
Respuesta de ejemplo:
HTTP/1.1 200 OK
Content-Type: application/json
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmV..."
}
5.2. Endpoints
5.2.1. POST /new-smart-check-merkle
Crea un espacio en el cual se van a registrar los elementos a certificar.
Para saber más haz click Aquí
Petición de ejemplo:
POST /new-smart-check-merkle" HTTP/1.1
Authorization: Bearer myaccesstoken
Content-Type: application/json
{
"description": "Votaciones Comunidad de vecinos"
}
Respuesta de ejemplo:
HTTP/1.1 201 Created
Content-Type: application/json
{
"date_creation": "2023-01-12 12:42:55 UTC",
"description": "Votaciones Comunidad de vecinos",
"errors": [],
"merkle_root_ids": [],
"merkle_root_list": [],
"oid": "63c0004fb48e545d74c2851d",
"owner": "62de6c3fc962a7dc80c644b5",
"state": "CREATING"
}
Campos:
| Campo | Tipo | Descripción |
|---|---|---|
| description | String | Descripción del proyecto. |
| errors | Array | Lista de errores. |
| date_creation | String | Fecha de creación del proyecto. |
| merkle_root_ids | Array | Listado de identificadores de Merkle Root. |
| merkle_root_list | Array | Listado de Merkle Root. |
| oid | String | Código identificador del proyecto. |
| owner | String | Código identificador del propietario o creador del proyecto. |
| state | String | Estado actual del proyecto. |
5.2.2. POST /create-tree-and-register-merkle-root
Crea un Árbol Merkle a partir de una lista de huellas Hash, una vez calculado el Merkle Root lo registrará en la cadena de bloques.
Petición de ejemplo:
POST /smart-check/create-tree-and-register-merkle-root HTTP/1.1
Authorization: Bearer myaccesstoken
{
"item_hashes_and_metadata": [
{
"item_hash": "d0ada7e1d0fb7d08cde6e34fd4fadd14373ccae...",
"metadata": [
{
"key": "country",
"value": "Spain"
}
]
}
],
"smart_check_merkle_id": "63c0004fb48e545d74c2851d"
}
Campos:
| Campo | Tipo | Descripción |
|---|---|---|
| item_hashes_and_metadata | Array | Conjunto de elementos que se va a certificar. |
| item_hash | string | Huella hash del dato o documento que se quiere registrar. |
| metadata (Opcioanal) | Array | Conjunto de metadatos que acompañan a la huella Hash. |
| key | String | Clave que identifica al metadato. |
| value | String | Valor del metadato. |
Respuesta de ejemplo:
HTTP/1.1 200 OK
Content-Type: application/json
{
"merkle_root": "348255a43aa858444d3630a6d5ead0af...",
"merkle_root_id": "63c0004fb48e545d74c2851d"
}
Campos:
| Campo | Tipo | Descripción |
|---|---|---|
| merkle_root | String | Merkle Root registrado en la cadena de bloques. |
| merkle_root_id | String | Identificador del Merkle Root. |
5.2.3. POST /print-reports
Devuelve un archivo zip que contiene los certificados.
Una vez que se recibe la respuesta, el archivo zip se puede descomprimir para acceder a los certificados. Ten en cuenta que el archivo zip puede contener varios certificados.
Petición de ejemplo:
POST /smart-check/print-reports HTTP/1.1
Authorization: Bearer myaccesstoken
{
"merkle_root_id": "63c0004fb48e545d74c2851d"
}
Campos:
| Campo | Tipo | Descripción |
|---|---|---|
| merkle_root | String | Identificador del Merkle Root. |
Respuesta de ejemplo:
HTTP/1.1 200 OK
Content-Type: application/zip