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 correos. A continuación detallamos como podrás realizar estos registros con Google:
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 Gmail usa OAuth para autenticarse, deberás obtener primero un token OAuth y enviarlo a SmartCheck.
Paso 2: Certificar correos electrónicos con SmartCheck
Una vez autenticado, puedes enviar el contenido de un correo para certificarlo en la blockchain.
Ejemplo: Certificar un correo de Gmail
Para ello, puedes utilizar el API de Gmail para obtener el contenido de un correo y enviarlo a SmartCheck.
1️⃣ Obtener el Correo desde Gmail API (Ejemplo en Python)
python
from googleapiclient.discovery import build
from google.oauth2 import service_account
SCOPES = ["https://www.googleapis.com/auth/gmail.readonly"]
SERVICE_ACCOUNT_FILE = "credenciales.json"
def get_gmail_email(email_id):
""" Obtiene un correo de Gmail por su ID """
creds = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES
)
service = build("gmail", "v1", credentials=creds)
message = service.users().messages().get(userId="me", id=email_id).execute()
email_body = message["snippet"]
return email_body
2️⃣ Enviar el Correo a SmartCheck para Certificación
python
import requests
def certify_email(email_content):
""" Envía el contenido del correo a SmartCheck """
url = "https://api.codecontract.io/smartcheck/createTreeAndRegisterMerkleRoot"
headers = {
"Authorization": "Bearer TU_TOKEN",
"Content-Type": "application/json"
}
payload = {
"data": [email_content]
}
response = requests.post(url, json=payload, headers=headers)
return response.json()
# Obtener correo desde Gmail y certificarlo
email_content = get_gmail_email("ID_DEL_CORREO")
certification_response = certify_email(email_content)
print("Certificación realizada:", certification_response)
Respuesta Esperada
json
{
"merkleRoot": "abc123...",
"transactionId": "tx123...",
"status": "success"
}
¿Qué significa esto?
✔️ merkleRoot: Raíz de Merkle generada a partir del contenido del correo.
✔️ transactionId: ID de la transacción en la blockchain.
✔️ status: Indica si la certificación fue exitosa.
Paso 3: Verificar un Correo Certificado
Si necesitas verificar que un correo ya ha sido certificado, 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": [
"correo certificado"
],
"status": "verified"
}
Resumen
✔️ Paso 1: Obtén el Token JWT mediante autenticación con tu cuenta de Gmail.
✔️ Paso 2: Usa la API de Gmail para recuperar el contenido de un correo.
✔️ Paso 3: Envía el contenido del correo a SmartCheck para certificarlo 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. 🚀
