SmartCheck es una funcionalidad de Code Contract que te permite generar evidencias digitales únicas, seguras e inalterables en cuestión de segundos y a un costo accesible.
Entre sus aplicaciones, una de las más habituales es la certificación de contenido de Google Spreedsheet. A continuación detallamos como podrás realizar estos registros:
Paso 1: Obtener el token de autenticación
Para utilizar la API de SmartCheck, primero debes autenticarte mediante una solicitud POST para obtener un Token JWT.
Petición de autenticación (HTTP Request)
http
POST /login HTTP/1.1
Host: api.codecontract.io
Content-Type: application/json
{
"email": "[email protected]",
"password": "tu_contraseña"
}
Respuesta esperada
http
HTTP/1.1 200 OK
Content-Type: application/json
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}
Importante:
✔️ El token devuelto debe almacenarse y enviarse en cada petición posterior como Bearer Token en la cabecera de autorización.
✔️ Si Google Sheets usa OAuth para autenticarse, primero debes obtener un token OAuth y enviarlo a SmartCheck.
Paso 2: Leer datos de google Sheets y certificarlos con SmartCheck
Puedes usar la Google Sheets API para extraer los datos de una hoja de cálculo y enviarlos a SmartCheck.
Ejemplo: Obtener datos de Google Sheets y certificarlos en Blockchain
A continuación, se muestra cómo leer los datos de una hoja de cálculo y enviarlos a SmartCheck.
1️⃣ Obtener los datos de Google Sheets (Ejemplo en Python)
python
import gspread
from google.oauth2.service_account import Credentials
SCOPES = ["https://www.googleapis.com/auth/spreadsheets.readonly"]
SERVICE_ACCOUNT_FILE = "credenciales.json"
def get_google_sheets_data(sheet_id, range_name):
""" Obtiene datos de Google Sheets """
creds = Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = gspread.authorize(creds)
sheet = client.open_by_key(sheet_id).sheet1
data = sheet.get(range_name)
return data
# Reemplaza con tu ID de Google Sheet y el rango de datos que deseas leer
SHEET_ID = "TU_SHEET_ID"
RANGE_NAME = "A1:D10"
spreadsheet_data = get_google_sheets_data(SHEET_ID, RANGE_NAME)
print("Datos obtenidos de Google Sheets:", spreadsheet_data)
2️⃣ Enviar los datos de Google Sheets a SmartCheck
python
import requests
def certify_google_sheets_data(data):
""" Envía los datos de Google Sheets a SmartCheck para certificación """
url = "https://api.codecontract.io/smartcheck/createTreeAndRegisterMerkleRoot"
headers = {
"Authorization": "Bearer TU_TOKEN",
"Content-Type": "application/json"
}
payload = {
"data": data
}
response = requests.post(url, json=payload, headers=headers)
return response.json()
# Certificar los datos obtenidos de Google Sheets
certification_response = certify_google_sheets_data(spreadsheet_data)
print("Certificación realizada:", certification_response)
Respuesta esperada
json
CopyEdit{
"merkleRoot": "abc123...",
"transactionId": "tx123...",
"status": "success"
}
¿Qué significa esto?
✔️ merkleRoot: Raíz de Merkle generada a partir de los datos.
✔️ transactionId: ID de la transacción en la blockchain.
✔️ status: Indica si la certificación fue exitosa.
Paso 3: Verificar datos certificados en Google Sheets
Si necesitas verificar que los datos han sido certificados, puedes consultar la prueba en SmartCheck.
Petición para obtener detalles de la certificación
http
GET /smartcheck/reportsProofDetail?reportId=tu_report_id HTTP/1.1
Host: api.codecontract.io
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
Respuesta esperada
json
{
"reportId": "tu_report_id",
"merkleRoot": "abc123...",
"data": [
["ID", "Nombre", "Monto", "Fecha"],
["1", "Juan Pérez", "500", "2024-02-10"],
["2", "María López", "750", "2024-02-11"]
],
"status": "verified"
}
Resumen
✔️ Paso 1: Obtén el Token JWT mediante autenticación con tu cuenta de Google Sheets.
✔️ Paso 2: Usa la API de Google Sheets para recuperar los datos almacenados.
✔️ Paso 3: Envía los datos a SmartCheck para certificarlos en blockchain.
✔️ Paso 4: Verifica la certificación cuando sea necesario.
Si necesitas más información o soporte, contacta con el equipo de Code Contract. 🚀
