Recent Changes - Search:

APIS

Antes de empezar

  • El proceso de anclar un hash en una cadena de bloques se llama estampar.
  • Un hash representa la evidencia digital de la existencia de una secuencia de datos o documento.
  • Para calcular el hash de un documento se requiere codificarlo en base64, y utilizar un algoritmo de SHA-256.
  • Cada vez que se ancle un hash en nuestro Blockchain se devuelve el identificador de la transacción (txtId), es muy recomendable que almacene ese valor en su sistema origen, ese código le permite probar la existencia e integridad de los datos estampados.
  • Probar la existencia o validez de una transacción, significa demostrar que un recibo es válido y, por lo tanto, el archivo o conjunto de datos a partir del cual se calculó el hash ya existía en el momento en que se hizo el sellado de tiempo.

Si desea conocer más acerca del algoritmo criptográfico SHA256 puede ingresar a la siguiente ruta: https://es.wikipedia.org/wiki/SHA-2

Calcular el valor de la evidencia para un documento

Para estampar la existencia de un documento en la Blockchain se debe calcular el hash de tipo SHA256 del documento que se desea estampar, tal como se muestra en la siguiente formula:

   evidencia = SHA256(Base64("http://stamping.io/docs/doctest.pdf"))  

Ese valor es el que deberá enviarse como evidencia a stamping.io, recuerde que únicamente ese documento es quien genera ese valor HASH, por lo que cualquier cambio por mínimo que sea en el documento original, daría como resultado un valor de evidencia completamente distinto al original.

Programando con PHP - Usando librerías

Para empezar a trabajar con stamping.io usando nuestras librerías php, debe seguir los siguientes pasos:

Código de ejemplo:

<?php

    include 'stampclass.php';

    $data = new stampData;
    $data->evidence="281b6657c64072aa811cf79d80ab05ba26d7c6f930e62235b60f77f450e54893";
    $data->reference="CodeReference";
    $data->subject="A test transaction From GitLab";
    $data->transactionType="Stamping.io|FromGitLab";

    $stamp = new stamp; 
    $stamp->token="MTUzNzc2MDg2Nzk1NjpRaEJCdEZUb2NnYVMwZXNpMWZRNlo4ZTJzTkU="; // Enter your token, you can generate a token from http://www.stamping.io/login
    $result = $stamp->setStamp($data); // is a object of stampResult

?>

Resultado

Cuando se ejecuta el método setStamp(), el retorno es un objeto de la clase stampResult, el cual contiene los siguientes atributos:

  • result->code Contiene el código de error (200, 201 ó 202, Indican que la evidencia ha sido endosada satisfactoriamente en la Blockchain).
  • $result->message Contiene el mensaje de error.

Si la transacción es satisfactoria, ademas retorna estos valores:

  • $result->trxid Identificador de la transacción de estampado en la Blockchain.
  • $result->url URL Pública para validar el estado del estampado en la Blockchain.

Errores comunes

CODE: 409

Message: Process: set-A02 Error: 409 id: 22 - The requested URL returned error: 409 CONFLICT Significado: La evidencia ya se encuentra registrada y esta haciendo conflicto en la Blockchain.

Programando con PHP - Usando API REST

Si desea hacer sin nuestras librerías sino usando nuestra API REST puede hacerlo de la siguiente forma:

<?php

        $ch = curl_init();
        $evidence="cab514ec63e84beb86c89162dd0cd5c622867a30eb965d8341d2602598ca5a53";
        $data = array('evidence' => $evidence);

        curl_setopt($ch, CURLOPT_URL, "https://api.stamping.io/stamp/?evidence=".$evidence);
        curl_setopt($ch, CURLOPT_POST, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, FALSE);

        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
          "Content-Type: application/json",
          "Authorization: Basic MTUzNzc2MDg2Nzk1NjpRaEJCdEZUb2NnYVMwZXNpMWZRNlo4ZTJzTkU="
        ));

        $response = curl_exec($ch);
        curl_close($ch);
        echo ($response);

?>

Resultado

Devuelve un string en formato JSON contiene los siguientes datos

{

 "code":"<código de error>", 
 "message":"<Mensaje de error>", 
 "trxid":"<Dirección de ubicación en la Blockchain (Buscar en http://www.stamping.io/q/?<trxid>&lang=en)>",
 "timestamp":Fecha y Hora en formato UNIX

}

Ejemplo: {"code":"200", "message":"ok", "trxid":"ea5cc0e144326b2ec92877fd6ffa089ddc317208","timestamp":1542261154000}

Edit - History - Print - Recent Changes - Search
Page last modified on November 15, 2018, at 06:19 AM