Saltar al contenido principal

Comprobación de una cadena de datos

Este método permitirá verificar la trazabilidad de la cadena de bloques de información a partir de un código de transacción de cualquiera de estos bloques.

Método de la API

El endpoint de la API sobre el que se realiza la llamada es /api/proof/verify sobre la que se realiza una operación de tipo POST.

Input

Código de transacción del bloque de información: Se enviará el código de transacción de cualquiera de los bloques de información enviado.

  • tx: Código de la transacción a partir de la cual queremos conocer toda la cadena de datos.
  • data: Datos enviados en la creación de la transacción para comprobar la integridad de los datos guardados en la red de Blockchain.

Este realiza los siguientes pasos:

  1. Obtener la información de la transacción de la red de Blockchain.
  2. Certificar que dicha transacción pertenece al usuario que solicita la verificación.
  3. De la información guardada en la transacción de Blockchain se obtiene la firma hash (sha-1) de los datos enviados
  4. Se compara la firma de los datos enviados en la transacción con los datos enviados en esta llamada
  5. Si coinciden las firmas se verifica la transacción.

Ejemplos de envío

curl https://TRACEMATE-URL/api/proof/verify
-X POST
-H "Content-Type: application/json"
-H "X-Tracemate-APIKey: TRACEMATE-API-KEY"
-H "X-Tracemate-Locale: TRACEMATE_ISO_CODE"
--data '{
"tx": "fc238483ecef71926983ec3ffabd6cdf7bf82be106454e694531c38139f9f7c5",
"data": {"data": "Una prueba de envio de datos", "data2": "Otros datos enviados"}
}'

caution

Se deberían sustituir las siguientes variables:

  • TRACEMATE_URL: Con la URL de Tracemate según el modo de funcionamiento (Por ej: api-test.tracemate.cloud para el entorno de pruebas)
  • TRACEMATE-API-KEY: Con la API Key de la licencia de uso.
  • TRACEMATE_ISO_CODE: Con el código ISO del idioma con el que se desea operar con Tracemate.
info

El sistema verificará que el código de transacción es válido y pertenece a una cadena del cliente que solicita la llamada a este servicio.

Output

Listado de bloques de información: se enviará un listado con los bloques de información registrados hasta el bloque enviado como input en este servicio.

Ejemplo de respuesta

El sistema enviará la siguiente información de respuesta:

{
"code": 200,
"data": {
"dataHash": "322948144e20c69370a3f0707505346fe275f1b5",
"verified": true,
"confirmations": 3194
},
"payload": {},
"timestamp": "2023-10-24T14:24:46.565Z"
}

donde:

  • dataHash: Es la firma hash (sha-1) localizada en la transacción de Blockchain y que ha sido comparada con la firma hash del payload enviado en esta llamada.
  • verified: Indicará true o false en caso de que se verifique la transacción o no.
  • confirmations: Número de confirmaciones de la transacción en la red de Blockchain.
tip

Se entenderá que una transacción ha sido confirmada y por tanto fiable a partir de 3 confirmaciones en la red de Blockchain.