Documentación de la API recursos

¿Qué es la API recursos?

Encontrará una descripción completa en la página de producto de API Ressources.

¿Cómo se envían los documentos?

Formatos aceptados

El formato aceptado es PDF.

Número de páginas por llamada

El número de ficheros aceptados depende del tipo de documento:

  • FR impuesto sobre la renta: 1 expediente único
  • nómina de los funcionarios FR: 1 expediente único
  • Certificado de pago CAF FR: varios ficheros

Solicitudes de recursos API

Parámetros

El sistema API permite automatizar la validación de credenciales de recursos mediante una simple solicitud HTTP POST.
Los parámetros aceptados se enumeran en la tabla siguiente:

ParámetroTipoFormatoObligatorioDescripción
clave_apiCadenaSu clave API
formatoCadenaNo
archivo_impuestos_ingresosArchivoPDFNoDocumento del impuesto sobre la renta
es_civil_servant_payslip_fileArchivoPDFNoDocumento de nómina de funcionario
es_caf_archivo_certificado_de_pagoArchivo[]PDFNoUno o varios certificados de pago CAF

Ejemplos en distintos idiomas

curl
-X POST 
-F "format={{ json or xml }}" 
-F "api_key={{ YOUR_API_KEY }}" 
-F "fr_****_file=@"{{ PATH_TO_FILE }}"" 

https://api.app.trustdochub.com/api/resources/v1
public String sendIdFileAndGetResults(MultipartFile file) {

WebClient client = WebClient.create();

MultipartBodyBuilder builder = new MultipartBodyBuilder();
builder.part("fr_****_file", file.getResource());
builder.part("api_key", {{ YOUR_API_KEY }});

return client.post()
.uri(URI.create("https://api.app.trustdochub.com/api/resources/v1"))
.contentType(MediaType.MULTIPART_FORM_DATA)
.body(BodyInserters.fromMultipartData(builder.build()))
.retrieve()
.bodyToMono(String.class)
.block();
}
import requests

url = 'https://api.app.trustdochub.com/api/resources/v1'
data = {'api_key': '{{ YOUR_API_KEY }}'}

with open('file.txt', 'rb') as file:
    response = requests.post(url, data=data, files={'fr_****_file': file})

print(response.text)
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

const form = new FormData();

// Chemin vers le fichier que vous souhaitez envoyer
const filePath = 'pathToFile';

// Vérifier si le fichier existe
if (!fs.existsSync(filePath)) {
  console.error('Le fichier spécifié est introuvable :', filePath);
  process.exit(1);
}

// Ajouter le fichier au formulaire
form.append('fr_****_file', fs.createReadStream(filePath));

// Ajouter le paramètre api_key
form.append('api_key', 'votre_clé_api'); // Remplacez par votre clé API réelle

(async () => {
  try {
    const response = await axios.post(
      'https://api.app.trustdochub.com/api/resources/v1',
      form,
      {
        headers: {
          ...form.getHeaders(),
          // Si l'API nécessite une autorisation supplémentaire, ajoutez-la ici
          // 'Authorization': 'Bearer votre_token',
        },
      }
    );

    console.log('Réponse du serveur :', response.data);
  } catch (error) {
    if (error.response) {
      // La requête a été faite et le serveur a répondu avec un statut d'erreur
      console.error('Erreur du serveur :', error.response.status);
      console.error('Détails de l'erreur :', error.response.data);
    } else if (error.request) {
      // La requête a été faite mais aucune réponse n'a été reçue
      console.error('Aucune réponse reçue :', error.request);
    } else {
      // Erreur lors de la configuration de la requête
      console.error('Erreur lors de la configuration de la requête :', error.message);
    }
  }
})();
<?php require 'vendor/autoload.php'; 
use GuzzleHttpClient; 
use GuzzleHttpExceptionRequestException;

// URL cible 
$url = 'https://api.app.trustdochub.com/api/resources/v1'; 

// Chemin vers le fichier à envoyer 
$filePath = '{{ path_to_file }}'; 

// Vérifier si le fichier existe 
if (!file_exists($filePath)) {     die('Fichier introuvable : ' . $filePath); } 

// Clé API 
$apiKey = 'votre_clé_api'; // Remplacez par votre clé API 

// Créer un client Guzzle 
$client = new Client(); try {     $response = $client->post($url, [
        'multipart' => [
            [
                'name'     => 'fr_****_file',
                'contents' => fopen($filePath, 'r'),
                'filename' => 'specimen_passeport.webp',
                'headers'  => ['Content-Type' => 'image/webp']
            ],
            [
                'name'     => 'api_key',
                'contents' => $apiKey
            ]
        ],
        'verify' => true // Vérifier le certificat SSL
    ]);

    // Afficher le code de statut HTTP
    echo 'Code HTTP : ' . $response->getStatusCode() . "n";
    
    // Afficher la réponse du serveur
    echo 'Réponse du serveur : ' . $response->getBody();
} catch (RequestException $e) {
    if ($e->hasResponse()) {
        echo 'Erreur du serveur : ' . $e->getResponse()->getStatusCode() . "n";
        echo 'Réponse du serveur : ' . $e->getResponse()->getBody();
    } else {
        echo 'Erreur lors de la requête : ' . $e->getMessage();
    }
}

Interfaz web

Elemento central del paquete, la interfaz web permite :

  • Ver los detalles de su suscripción
  • Sepa cuántos cheques le quedan de cada abono
  • Acceda a su historial de llamadas a la API
  • Descarga de informes JSON y XML para cada llamada del historial
  • Borrar los datos correspondientes

Idiomas disponibles

La interfaz web está disponible en los siguientes idiomas:

  • Francés
  • Inglés

Ficha Suscripciones

Encontrará la lista de sus suscripciones en la página de inicio de la interfaz web de la API de Recursos, con la siguiente información:

  • Tipo de plan (PRO, BUSINESS, CORPORATE)
  • Frecuencia (mensual o anual)
  • Suscripción activa: ¿su suscripción está activa o no?
  • Clave API: la clave API para su suscripción
  • Verificaciones restantes: número de verificaciones restantes en su suscripción, durante el periodo
abonnement api resources trustdochub.com

Ficha Recursos

La pestaña de recursos (accesible si está activa la suscripción a Recursos) le da acceso a una serie de información y herramientas.

Historia

El historial de llamadas a la API le permite ver el historial completo de las llamadas realizadas, con la siguiente información:

  • fecha de la llamada a la API
  • tipo de documento controlado
  • descargar el informe en formato PDF / JSON / XML
  • Supresión de la llamada a la API y de los datos correspondientes
interface web api ressources localisée trustdochub.com

Herramienta «Comprobar documento

La herramienta «Comprobar un documento» permite enviar documentos para su comprobación directamente desde la interfaz web, por lo que no es necesario realizar llamadas a la API.

Ambos enfoques son complementarios, en función de las necesidades.

El número de archivos que pueden enviarse (por envío) varía en función del documento:

  • impuesto sobre la renta: 1 expediente único
  • nómina de funcionario: 1 expediente único
  • Aviso de pago CAF: varios expedientes

A continuación, los resultados estarán disponibles en el historial y podrán descargarse en forma de informe PDF, JSON o XML.

outil vérifier un document api ressources trustdochub.com

Respuestas de la API

Formato JSON

Puede obtener los resultados en formato JSON.

Para ello, basta con añadir el parámetro «format=json» a la solicitud, u omitir el parámetro «format».

He aquí las posibles respuestas basadas en los documentos:

Impuesto sobre la renta

Impuesto sobre la renta

{
    "documentInfos": {
        "publicationDate": null,
        "signatureDate": "2022-06-13",
        "taxableIncomeReference": "44444",
        "sharesNumber": "1",
        "noticeReference": "2222222222222",
        "incomeYear": "2021",
        "declarante1": "XXXXXX YYYYYY",
        "taxNumberDeclarant1": "777777777777",
        "declarante2": null,
        "taxNumberDeclarant2": "null",
        "collectionDate": "2022-07-31"
    },
    "certificado": {
        "validityStartDate": "2022-06-21",
        "validityEndDate": "2024-06-21",
        "issuerReference": "FR04",
        "issuerName": "AriadNEXT",
        "subjectReference": "FPE3",
        "issuer": "DIRECTION GENERALE DES FINANCES PUBLIQUES",
        "datesConsistency": true,
        "digitalSignature": true
    }
}
Nómina de funcionario

Nómina de funcionario

{
    "documentInfos": {
        "fullName": "MR XXXX YYYY",
        "employerSiret": "55555555555555",
        "periodStartDate": "2021-11-01",
        "periodEndDate": "2021-11-30",
        "contractStartDate": "1111-11-11",
        "netTaxableSalary": "2290.3",
        "netTaxableAccumulatedSalary": "27138.31"
    },
    "certificado": {
        "validityStartDate": "2020-03-30",
        "validityEndDate": "2023-03-31",
        "issuerReference": "FR04",
        "issuerName": "AriadNEXT",
        "subjectReference": "FPE1",
        "issuer": "DIRECTION GENERALE DES FINANCES PUBLIQUES",
        "datesConsistency": true,
        "digitalSignature": true
    }
}
Certificado de pago del CAF (1 único archivo / documento de 2 páginas)

Certificado de pago del CAF (1 único archivo / documento de 2 páginas)

{
"cafPaymentCertificates": [
{
"documentInfos": {
"documentDate": "2020-02-05",
"dateOfBirth": "1980-08-14",
"numberOfPages": 2,
"beneficiaryNumberHeader": "8888888 M",
"dateHourFooter": [
"050220202336",
"050220202336"
],
"beneficiaryNumberFooter": [
"8888888 M",
"8888888 M"
],
"barcodeNumber": [
"88888888888800000000",
"88888888888800000000"
],
"barcodeNumberDecoded": [
"88888888888800000000",
"88888888888800000000"
]
},
"documentInfosValidation": {
"datesHeaderFooterValid": true,
"beneficiaryNumberHeaderFooterValid": true,
"beneficiaryNumberBarcodeNumberValid": true,
"barcodeNumberBarcodeValid": true,
"datesHeaderMetasValid": true,
"datesFooterMetasValid": true
}
}
],
"documentsValidation": null
}
Certificado de pago CAF (2 ficheros / documentos de 2 páginas)

Certificado de pago CAF (2 ficheros / documentos de 2 páginas)

{
"cafPaymentCertificates": [
{
"documentInfos": {
"documentDate": "2020-02-05",
"dateOfBirth": "1980-08-14",
"numberOfPages": 2,
"beneficiaryNumberHeader": "8888888 M",
"dateHourFooter": [
"050220202336",
"050220202336"
],
"beneficiaryNumberFooter": [
"8888888 M",
"8888888 M"
],
"barcodeNumber": [
"88888888888800000000",
"88888888888800000000"
],
"barcodeNumberDecoded": [
"88888888888800000000",
"88888888888800000000"
]
},
"documentInfosValidation": {
"datesHeaderFooterValid": true,
"beneficiaryNumberHeaderFooterValid": true,
"beneficiaryNumberBarcodeNumberValid": true,
"barcodeNumberBarcodeValid": true,
"datesHeaderMetasValid": true,
"datesFooterMetasValid": true
}
},
{
"documentInfos": {
"documentDate": "2021-02-05",
"dateOfBirth": "1980-08-14",
"numberOfPages": 2,
"beneficiaryNumberHeader": "8888888 M",
"dateHourFooter": [
"050220212336",
"050220212336"
],
"beneficiaryNumberFooter": [
"8888888 M",
"8888888 M"
],
"barcodeNumber": [
"88888888888800000000",
"88888888888800000000"
],
"barcodeNumberDecoded": [
"88888888888800000000",
"88888888888800000000"
]
},
"documentInfosValidation": {
"datesHeaderFooterValid": true,
"beneficiaryNumberHeaderFooterValid": true,
"beneficiaryNumberBarcodeNumberValid": true,
"barcodeNumberBarcodeValid": true,
"datesHeaderMetasValid": true,
"datesFooterMetasValid": true
}
}
],
"documentsValidation": {
"datesOfBirthValid": true,
"datesHeaderFooterValid": true,
"beneficiaryNumberHeaderFooterValid": true,
"beneficiaryNumberBarcodeNumberValid": true,
"barcodeNumberBarcodeValid": true,
"datesHeaderMetasValid": true,
"datesFooterMetasValid": true,
"modificationDateMetasValid": true
}
}

Formato XML

El segundo tipo de formato disponible para las respuestas es XML.

Para ello, basta con añadir el parámetro «format» «xml» a la solicitud.

He aquí las posibles respuestas basadas en los documentos:

Impuesto sobre la renta

Impuesto sobre la renta




2022-06-13
44444
1
2222222222222
2021
XXXXX YYYYYY
777777777777

null
2022-07-31


2022-06-21
2024-06-21
FR04
AriadNEXT
FPE3
DIRECCIÓN GENERAL DE FINANZAS PÚBLICAS
verdadero
verdadero

Nómina de funcionario

Nómina de funcionario



MR XXXX YYYY
55555555555555
2021-11-01
2021-11-30
1111-11-11
2290.3
27138.31


2020-03-30
2023-03-31
FR04
AriadNEXT
FPE1
DIRECCIÓN GENERAL DE FINANZAS PÚBLICAS
verdadero
verdadero

Certificado de pago del CAF (1 único archivo / documento de 2 páginas)

Certificado de pago del CAF (1 único archivo / documento de 2 páginas)





2020-02-05
1980-08-14
2
8888888 M

050220202336
050220202336


8888888 M
8888888 M


88888888888800000000
88888888888800000000


88888888888800000000
88888888888800000000



verdadero
verdadero
true
verdadero
verdadero
verdadero




Certificado de pago CAF (2 ficheros / documentos de 2 páginas)

Certificado de pago CAF (2 ficheros / documentos de 2 páginas)





2020-02-05
1980-08-14
2
8888888 M

050220202336
050220202336


8888888 M
8888888 M


88888888888800000000
88888888888800000000


88888888888800000000
88888888888800000000



verdadero
verdadero
true
verdadero
verdadero
verdadero




2021-02-05
1980-08-14
2
8888888 M

050220212336
050220212336


8888888 M
8888888 M


88888888888800000000
88888888888800000000


88888888888800000000
88888888888800000000



verdadero
verdadero
true
verdadero
verdadero
verdadero




verdadero
verdadero
verdadero
verdadero
verdadero
verdadero
verdadero
verdadero

Códigos de estado del PLC

La API devuelve los siguientes códigos:

CódigoTipoDescripción
200Comprobar okLa comprobación fue bien
401No autorizadaLa clave API no es correcta
402Crédito insuficienteNo hay más créditos de auditoría para el período dado
422Documento ilegibleEl documento no se reconoce o es incorrecto

Controles efectuados en cada tipo de documento

A continuación encontrará una lista y una descripción de los distintos campos y controles efectuados en cada tipo de documento de identidad compatible con nuestros productos.

Impuesto sobre la renta

Impuesto sobre la renta

Nombre del parámetroTipoDescripción
documentInfos
fecha de publicaciónCadenaFecha de publicación (puede ser nula)
fechafirmaCadenaFecha de firma del documento
taxableIncomeReferenceCadenaIngresos fiscales de referencia
accionesNúmeroCadenaNúmero de unidades en el hogar fiscal
avisoReferenciaCadenaAviso de referencia
ingresosAñoCadenaAño de ingresos
declarante1CadenaDeclarante 1
númerodeimpuestoDeclarante1CadenaNúmero de identificación fiscal que declara 1
declarante2CadenaDeclarante 2
declarante2CadenaNúmero de identificación fiscal del declarante 2
collectionDateCadenaFecha de recogida
certificado
validityStartDateCadenaFecha de inicio de validez del certificado de firma digital
validityEndDateCadenaFecha de fin de validez del certificado de firma digital
emisorReferenciaCadenaReferencia del emisor del certificado de firma digital
issuerNameCadenaNombre del emisor del certificado de firma digital
asuntoReferenciaCadenaReferencia sobre el certificado de firma digital
emisorCadenaEmisor del certificado de firma digital
fechasConsistenciaBooleano¿Coinciden las fechas de inicio y fin de validez con la fecha de emisión del documento?
firma digitalBooleano¿Es válido el certificado de firma digital?
Nómina de funcionario

Nómina de funcionario

Nombre del parámetroTipoDescripción
documentInfos
fullNameCadenaNombre y apellidos del beneficiario
employSiretCadenaSIRET del empleador
periodStartDateCadenaFecha de inicio del período del documento
periodEndDateCadenaFecha de finalización del período del documento
contractStartDateMatrizFecha de inicio del contrato del beneficiario (no suele cumplimentarse)
salario neto imponibleCadenaSueldo neto del mes
netTaxableAccumulatedSalaryCadenaTotal neto del año
certificado
validityStartDateCadenaFecha de inicio de validez del certificado de firma digital
validityEndDateCadenaFecha de fin de validez del certificado de firma digital
emisorReferenciaCadenaReferencia del emisor del certificado de firma digital
issuerNameCadenaNombre del emisor del certificado de firma digital
asuntoReferenciaCadenaReferencia sobre el certificado de firma digital
emisorCadenaEmisor del certificado de firma digital
fechasConsistenciaBooleano¿Coinciden las fechas de inicio y fin de validez con la fecha de emisión del documento?
firma digitalBooleano¿Es válido el certificado de firma digital?

Certificado de pago CAF (sólo 1 expediente)

Certificado de pago CAF (sólo 1 expediente)

Nombre del parámetroTipoDescripción
documentInfos
fechaDocumentoCadenaFecha del documento
fechaDeNacimientoCadenaFecha de nacimiento del beneficiario
númeroDePáginasCadenaNúmero de páginas del fichero
beneficiaryNumberHeaderCadenaNúmero de prestación de cabecera
fechaHoraPieCadenaFechas y horas al final de la página
barcodeNumberCadenaNúmero bajo el código de barras
barcodeNumberDecodedCadenaNúmero de código de barras descodificado
documentoInfosValidación
datesHeaderFooterValidBooleano¿Fechas coherentes entre la cabecera y el pie de página?
beneficiaryNumberHeaderFooterValidBooleano¿Es coherente el número de destinatario entre la cabecera y el pie de página?
beneficiaryNumberBarcodeNumberValidBooleano¿Es coherente el número de destinatario entre la cabecera y el número bajo el código de barras?
barcodeNumberBarcodeValidBooleano¿Coinciden el número que figura bajo el código de barras y el número del código de barras descodificado?
datesHeaderMetasValidBooleano¿Son coherentes las fechas en el encabezamiento y las metas?
datesFooterMetasValidBooleano¿Fechas en el pie de página y en metas coherentes?

Certificado de pago CAF (varios ficheros)

Certificado de pago CAF (varios ficheros)

Nombre del parámetroTipoDescripción
documentInfos
fechaDocumentoCadenaFecha del documento
fechaDeNacimientoCadenaFecha de nacimiento del beneficiario
númeroDePáginasCadenaNúmero de páginas del fichero
beneficiaryNumberHeaderCadenaNúmero de prestación de cabecera
fechaHoraPieCadenaFechas y horas al final de la página
barcodeNumberCadenaNúmero bajo el código de barras
barcodeNumberDecodedCadenaNúmero de código de barras descodificado
documentoInfosValidación
datesHeaderFooterValidBooleano¿Fechas coherentes entre la cabecera y el pie de página?
beneficiaryNumberHeaderFooterValidBooleano¿Es coherente el número de destinatario entre la cabecera y el pie de página?
beneficiaryNumberBarcodeNumberValidBooleano¿Es coherente el número de destinatario entre la cabecera y el número bajo el código de barras?
barcodeNumberBarcodeValidBooleano¿Coinciden el número que figura bajo el código de barras y el número del código de barras descodificado?
datesHeaderMetasValidBooleano¿Son coherentes las fechas en el encabezamiento y las metas?
datesFooterMetasValidBooleano¿Fechas en el pie de página y en metas coherentes?
documentosValidación
datesOfBirthValidBooleano¿Las fechas de nacimiento coinciden en todos los expedientes?
datesHeaderFooterValidBooleano¿Las fechas de encabezado y pie de página son coherentes entre archivos?
beneficiaryNumberHeaderFooterValidBooleano¿Los números de destinatario de cabecera y pie de página son coherentes entre archivos?
beneficiaryNumberBarcodeNumberValidBooleano¿Es coherente el número de beneficiario entre la cabecera y el número bajo el código de barras entre los ficheros?
barcodeNumberBarcodeValidBooleano¿Coinciden entre sí el número que figura bajo el código de barras y el número del código de barras descodificado?
datesHeaderMetasValidBooleano¿Coinciden las fechas de la cabecera y las metas de un archivo a otro?
datesFooterMetasValidBooleano¿Las fechas del pie de página y los metadatos son coherentes entre archivos?
modificationDateMetasValidBooleano¿La fecha de modificación de las metaetiquetas del documento PDF es cero?
Carrito de compra
Scroll al inicio