Skip to main content

Envío de un bloque de datos

Este es el método principal de la API y permitirá enviar un bloque de datos en formato JSON y enlazarlo a otros bloques de datos permitiendo la trazabilidad de toda la cadena. Cada bloque de datos será persistido en Blockchain para garantizar su inmutabilidad y existencia.

Método de la API

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

Input

El método recogerá los siguientes parámetros:

  • tx (opcional): Código de transacción existente sobre la que enlazar el bloque de datos enviado.

  • payload: Bloque de datos en formato JSON a enviar.

tip

Si no se envía el parámetro tx, Tracemate entenderá que no se desea enlazar el bloque enviado con ningún otro por lo que se empezará una cadena nueva.

Ejemplos de envío

curl https://TRACEMATE-URL/api/proof 
-X POST
-H "Content-Type: application/json"
-H "X-Tracemate-APIKey: TRACEMATE-API-KEY"
-H "X-Tracemate-Locale: TRACEMATE_ISO_CODE"
--data '{"payload": {"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.

Ejemplos de envío con bloque enlazado

En los siguientes ejemplos la diferencia radica en el uso de la variable parentTX la cual apunta a una transacción Blockchain que queremos enlazar para generar trazabilidad:

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

info

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.

Output

La salida del método será compuesta por los siguientes parámetros:

note
  • tx: Código de transacción generada con el envío realizado.
  • hash: Hash generado de la información (payload) enviado en la llamada.
  • fee: Gasto en Euros empleado en la confirmación de la transacción de Blockchain.
  • payload: Información enviada en el cuerpo del mensaje.
  • confirmations: Número de confirmaciones de la comunidad de mineros sobre esta transacción.
  • createdAt: Fecha y hora de envío de esta transacción.

Ejemplos de respuesta

Se muestra a continuación un ejemplo de devolución en la llamada:

"tx": "fc238483ecef71926983ec3ffabd6cdf7bf82be106454e694531c38139f9f7c5",
"hash": "c9643118290dec1f6b887a8e1f0dacaf22d40428",
"payload": "{\"data\": \"Esto es una prueba de texto más largo.....Texto de prueba\"}",
"confirmations": 0,
"createdAt": "2023-10-20T10:35:14.530Z"
tip

Puedes comprobar siempre que la transacción es una transacción válida de la red de Bitcoin usando los exploradores de transacciones:

El significado de los parámetros es el siguiente:

  • tx: Código de la transacción Blockchain.
  • hash: Resumen hash del payload enviado.
  • payload: Datos enviados en la transacción generada.
  • confirmations: Número de confirmaciones de la transacción en la red de Blockchain.
  • createdAt: Fecha y hora de la transacción generada.
info

Es muy importante guardar el argumento tx para poder enlazar futuras transacciones tal como se especifica en el input de este documento.