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 Office:
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 Outlook usa OAuth para autenticarse, primero debes obtener 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 Outlook
Para ello, puedes utilizar la API de Microsoft Graph para obtener el contenido de un correo y enviarlo a SmartCheck.
1️⃣ Obtener el Correo desde Microsoft Graph API (Ejemplo en Python)
python
import requests
def get_outlook_email(access_token, email_id):
""" Obtiene un correo de Outlook por su ID """
url = f"https://graph.microsoft.com/v1.0/me/messages/{email_id}"
headers = {
"Authorization": f"Bearer {access_token}",
"Accept": "application/json"
}
response = requests.get(url, headers=headers)
email_data = response.json()
return email_data.get("body", {}).get("content", "")
# Reemplazar con un token válido de Microsoft Graph
access_token = "TU_ACCESS_TOKEN_DE_OUTLOOK"
email_id = "ID_DEL_CORREO"
email_content = get_outlook_email(access_token, email_id)
print("Correo obtenido:", email_content)
2️⃣ Enviar el correo a SmartCheck para certificación
python
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 Outlook y certificarlo
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 lbtener 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 Outlook.
✔️ Paso 2: Usa la API de Microsoft Graph 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. 🚀
