Aprende a usar Code Contract de forma sencilla
🤖 Trackline - Automatización proactiva
🔎 SmartCheck - Evidencias digitales
🚀 Ejemplos de uso por sector
Sector alimentario
Sector construcción
Sector industrial
Sector logístico
Sector Legal
👤 Ejemplos de uso por rol
📊 Ejemplos de uso por funcionalidad
🤝🏻 Partners
Integración de SmartCheck con Odoo
Certifica información de Odoo desde el servidor con SmartCheck

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 documentos e información en Odoo. A continuación, detallamos cómo podrás realizar estos registros de manera sencilla.

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)

POST /login HTTP/1.1
Host: api.codecontract.io
Content-Type: application/json

{
"email": "[email protected]",
"password": "tu_contraseña"
}

 

Respuesta esperada

{
"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 Odoo usa OAuth para autenticarse, deberás obtener primero un token OAuth y enviarlo a SmartCheck.

Paso 2: Certificar documentos y/o información desde Odoo con SmartCheck

Una vez autenticado, puedes enviar documentos y/o información desde Odoo para certificarlos en la blockchain.

1️⃣ Obtener el contenido del documento en Odoo

Ejemplo en Python (Odoo API):

import xmlrpc.client

URL = "https://tu-servidor-odoo.com"
DB = "nombre_de_base_de_datos"
USERNAME = "[email protected]"
PASSWORD = "tu_contraseña"

common = xmlrpc.client.ServerProxy(f'{URL}/xmlrpc/2/common')
uid = common.authenticate(DB, USERNAME, PASSWORD, {})

models = xmlrpc.client.ServerProxy(f'{URL}/xmlrpc/2/object')

def get_document_content(document_id):
""" Obtiene el contenido de un documento en Odoo """
document = models.execute_kw(DB, uid, PASSWORD, 'ir.attachment', 'read', [document_id], {'fields': ['datas']})
return document[0]['datas'] if document else None

2️⃣ Enviar el documento a SmartCheck para certificación

import requests
import base64

def certify_document(document_content):
""" Envía el contenido del documento a SmartCheck """
url = "https://api.codecontract.io/smartcheck/createTreeAndRegisterMerkleRoot"
headers = {
"Authorization": "Bearer TU_TOKEN",
"Content-Type": "application/json"
}
payload = {
"data": [document_content]
}

response = requests.post(url, json=payload, headers=headers)
return response.json()

# Obtener documento desde Odoo y certificarlo
document_content = get_document_content(123) # ID del documento en Odoo
certification_response = certify_document(document_content)

print("Certificación realizada:", certification_response)

 

Respuesta esperada:

{
"merkleRoot": "abc123...",
"transactionId": "tx123...",
"status": "success"
}

 

✔️ merkleRoot: Raíz de Merkle generada a partir del contenido del documento y/o información.

✔️ transactionId: ID de la transacción en la blockchain.

✔️ status: Indica si la certificación fue exitosa.

Paso 3: Verificar un documento certificado

Si necesitas verificar que un documento ya ha sido certificado, puedes consultar la prueba en SmartCheck.

 

Petición para obtener detalles de la certificación

 

GET /smartcheck/reportsProofDetail?reportId=tu_report_id HTTP/1.1
Host: api.codecontract.io
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...

 

Respuesta esperada:

{
"reportId": "tu_report_id",
"merkleRoot": "abc123...",
"data": [
"documento certificado"
],
"status": "verified"
}

 

Resumen

✔️ Paso 1: Obtén el Token JWT mediante autenticación con Odoo.

✔️ Paso 2: Usa la API de Odoo para recuperar el contenido de un documento y/o información.

✔️ Paso 3: Envía el contenido del documento 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. 🚀