API documentation
Connecting your device to our REST API is very easy !!
Notarize data
Just call the tssApi function, personalizing its 4 parameters: userId, apiKey, network and data. In javascript/nodejs, just copy and paste this code:// you only have to personalize these 4 values: const userId = '10'; // get your API User Number at https://console.timestampserver.com const apiKey = '76d90aa07f4e44a233a756bc47cb5215dc3329ca7e1f7be33a2dad68990bb94b'; // get your API key at https://console.timestampserver.com const network = 'testnet'; // 'mainnet' or 'testnet' const data = 'this is the data string you want to upload to the Blockchain'; // data string // call the API function: tssApi(userId, apiKey, network, data); // function definition async function tssApi(userId, apiKey, network, data) { try { // token const jwt = require("jsonwebtoken"); const token = 'Bearer ' + jwt.sign({"network":network, "data": data}, apiKey, { algorithm: 'HS256', expiresIn: '10m'}); // http request const axios = require('axios'); let obj = {}; obj.url = 'https://api.timestampserver.com/v1/post'; obj.port = 3000; obj.method = 'post'; obj.headers = {}; obj.headers.User = '' + userId; obj.headers.Authorization = '' + token; obj.headers["Content-Type"] = 'application/json'; obj.data = {}; const response = await axios(obj); // do whatever you want with the response, i.e.: console.log(response.data); return response; } catch (error) { // do whatever you want to catch the response error, i.e.: console.log(error); } }If everything goes right, the function will return a response object with the "txid" (the Bitcoin transaction ID) in the response.data.txid property.
If any error happened, the function will return a response object with the details of the error.
In this example we have used 2 external modules:
- "jsonwebtoken" for the generation of the JWT token, and
- "axios" for the HTTP request.
You can install them calling NPM in your command line:
npm install jsonwebtoken axios
You can upload up to 5555 bytes of data in each HTTP request to our API.
If you need bigger data size, please contact us !!
------------------------------------------------------------------
Check notarization
You can check the notarized data sending a HTTPS GET request to the endpoint https://api.timestampserver.com/v1/get/txid
setting the parameter txid to <txid> (the txid of the notarization you want to check).
// you only have to personalize 1 parameter: const txid = 'cf5aafbd3b14fa3a69ae1bd1a4d71465a04337ff44b76ea0e6133239ff7752a0'; // call the function: checkNotarization(txid); // function definition async function checkNotarization(txid) { try { // http request const axios = require('axios'); let obj = {}; obj.url = 'https://api.timestampserver.com/v1/get/txid/?txid=' + txid; obj.port = 3000; obj.method = 'GET'; const response = await axios(obj); // do whatever you want with the response, i.e.: console.log(response.data); //[ // { // txid: 'cf5aafbd3b14fa3a69ae1bd1a4d71465a04337ff44b76ea0e6133239ff7752a0', // network: 'mainnet', // datetime: '2022-09-06T18:42:02.000Z', // data: '7b896d3bc9654981de44087f907090b54ed1e2d562e3d377a6143f6354eb1fdd 543426369119' // } //] return response; } catch (error) { // do whatever you want to catch the response error, i.e.: console.log(error); } }
You can also check the notarized data of a transaction ID (txid) from your browser.
For example, to get the data from txid cf5aafbd3b14fa3a69ae1bd1a4d71465a04337ff44b76ea0e6133239ff7752a0, type:
https://api.timestampserver.com/v1/get/txid/?txid=cf5aafbd3b14fa3a69ae1bd1a4d71465a04337ff44b76ea0e6133239ff7752a0
------------------------------------------------------------------
Ping
You can check if the TimeStampServer REST API endpoint is running
sending a HTTPS GET request to
(or accessing from your browser to):
https://api.timestampserver.com/v1/ping
------------------------------------------------------------------
Last notarization
You can check the last transaction submitted from TimeStampServer REST API to the nodes network
sending a HTTPS GET request to
(or accessing from your browser to):
https://api.timestampserver.com/v1/get/lastTx
------------------------------------------------------------------