La API REST de DeCaLogic permite que cualquier software de transporte o ERP emita automáticamente el Documento electrónico de Control Administrativo (DeCA), obtenga el código QR y descargue el PDF oficial con sellado criptográfico SHA-256.
Envíe su API Key en la cabecera HTTP X-API-KEY o Authorization: Bearer <token>.
Emite un nuevo documento DeCA o lo genera automáticamente a partir de una Carta de Porte enviando su carta_id.
{
"carta_id": 142
}
{
"cargador_nombre": "Frutas del Mediterráneo S.A.",
"cargador_nif": "A12345678",
"cargador_direccion": "Avda. de los Naranjos, 10",
"cargador_poblacion": "Valencia",
"cargador_cp": "46022",
"tractora_matricula": "1234-BBB",
"remolque_matricula": "R-5678-CCC",
"conductor_nombre": "Carlos Navarro",
"conductor_dni": "48392019K",
"origen_poblacion": "Valencia",
"destino_poblacion": "Madrid",
"fecha_inicio_transporte": "2026-09-04",
"hora_inicio_transporte": "08:30",
"naturaleza_mercancia": "Cítricos y Frutas Paletizadas",
"peso_bruto_kg": 18500.00,
"bultos": 33,
"tipo_bultos": "Palets"
}
{
"success": true,
"message": "Documento electrónico de Control Administrativo (DeCA) emitido con éxito.",
"data": {
"id": 42,
"codigo_deca": "DECA-2026-00042",
"version": 1,
"estado": "en_transito",
"hash_integridad": "7e781864e8f92c2b6b553146b56650048f7d4b76c0dedc0b2cd9979358fe380a",
"token_publico": "24d53b2a7000ccd78aa2b0ae67b102685a32d8c7c6ada8b5",
"url_verificacion_qr": "https://decalogic.es/decalogic/verificar.php?token=...",
"url_imagen_qr": "https://api.qrserver.com/v1/create-qr-code/?...",
"url_pdf_oficial": "https://decalogic.es/decalogic/imprimir.php?id=42",
"fecha_emision": "2026-09-04 00:57:10"
}
}
Código listo para incluir en controladores de Portia:
<?php
// Llamada cURL a DeCaLogic
$url = 'https://decalogic.es/decalogic/api/emitir.php';
$data = ['carta_id' => $carta['id']];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'X-API-KEY: decalogic_secret_key_2026'
]);
$response = curl_exec($ch);
$res = json_decode($response, true);
if (!empty($res['success'])) {
$codigoDeca = $res['data']['codigo_deca'];
$qrUrl = $res['data']['url_verificacion_qr'];
$pdfUrl = $res['data']['url_pdf_oficial'];
}
?>