Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.deepxl.ai/llms.txt

Use this file to discover all available pages before exploring further.

La API de Detección de fraude utiliza IA forense para detectar documentos e imágenes manipulados, alterados y generados por IA en tiempo real.

Modelos disponibles

ModeloCaso de usoTipos de archivo compatibles
documentDetecta documentos e identificaciones generados por IA o alterados (extractos bancarios, facturas, pasaportes, licencias de conducir)jpg, jpeg, png, webp, pdf
objectDetecta imágenes generadas por IA o manipuladas (fotos, evidencia de reclamaciones, recibos)jpg, jpeg, png, webp
Recupera la lista completa de modelos mediante programación:
curl https://api.deepxl.ai/v1/detection-models \
  -H "x-api-key: YOUR_API_KEY"

Tipos de documentos compatibles

El modelo document clasifica los archivos cargados en 71 tipos mediante la verificación DOCUMENT_CLASSIFIER, organizados en 8 categorías:

Identidad (11 tipos)

TipoDescripción
driver_licenseLicencia de conducir
national_idDocumento nacional de identidad
municipal_idDocumento de identidad municipal / del gobierno local
passportLibreta de pasaporte
passport_cardTarjeta de pasaporte (tamaño billetera)
residence_cardTarjeta de permiso de residencia
work_authorizationAutorización / permiso de trabajo
military_idIdentificación militar
professional_idLicencia / identificación profesional
voter_registration_cardTarjeta de registro electoral
social_security_cardTarjeta del Seguro Social

Financiero (19 tipos)

TipoDescripción
bank_statementEstado de cuenta bancaria
business_bank_statementEstado de cuenta bancaria empresarial
checkCheque personal
list_of_checks_cashedLista de cheques cobrados
check_registerRegistro de cheques
investment_statementEstado de cuenta de inversión / corretaje
retirement_account_statementEstado de cuenta de jubilación
pension_statementEstado de pensión
annuity_award_letterCarta de concesión de anualidad
social_security_statementEstado del Seguro Social
social_security_cola_noticeAviso COLA del Seguro Social
disability_income_verificationVerificación de ingresos por discapacidad
credit_card_statementEstado de cuenta de tarjeta de crédito
mortgage_statementEstado hipotecario
auto_loan_statementEstado de préstamo de auto
student_loan_statementEstado de préstamo estudiantil
personal_loan_statementEstado de préstamo personal
heloc_statementEstado de línea de crédito con garantía hipotecaria
loan_statementEstado de préstamo (genérico)

Fiscal (9 tipos)

TipoDescripción
form_1040Formulario 1040 del IRS (declaración personal de impuestos)
form_1120Formulario 1120 del IRS (corporación C)
form_1120sFormulario 1120S del IRS (corporación S)
form_1065Formulario 1065 del IRS (sociedad)
w2_formDeclaración salarial y de impuestos W-2
form_1099Formulario fiscal 1099
schedule_cAnexo C del IRS (ingresos comerciales)
schedule_eAnexo E del IRS (ingresos por alquiler)
tax_returnDeclaración de impuestos (genérica)

Empleo (7 tipos)

TipoDescripción
pay_stubRecibo de nómina / comprobante de ingresos
employment_verification_letterCarta de verificación de empleo
direct_deposit_verificationVerificación de depósito directo
unemployment_benefits_documentDocumento de prestaciones por desempleo
military_lesEstado de licencia e ingresos militares
offer_letterCarta de oferta
self_employment_ledgerLibro contable de trabajo por cuenta propia

Propiedad (6 tipos)

TipoDescripción
property_deedEscritura de propiedad
property_tax_receiptRecibo de impuestos sobre la propiedad
hoa_dues_statementEstado de cuotas de HOA / condominio
lease_agreementContrato de arrendamiento
rental_receiptRecibo de alquiler
title_insurance_policyPóliza de seguro de título

Seguros (6 tipos)

TipoDescripción
homeowners_insurance_declarations_pagePágina de declaraciones del seguro de propietarios
homeowners_insurance_binderCertificado provisional del seguro de propietarios
flood_insurance_declarations_pagePágina de declaraciones del seguro contra inundaciones
auto_insurance_declarations_pagePágina de declaraciones del seguro de auto
insurance_cardTarjeta de seguro
insurance_documentDocumento de póliza de seguro

Comercial (6 tipos)

TipoDescripción
business_licenseLicencia comercial
articles_of_incorporationEstatutos de constitución
profit_and_loss_statementEstado de pérdidas y ganancias
utility_billFactura de servicios públicos (electricidad, agua, gas, etc.)
phone_billFactura telefónica
petty_cash_receiptRecibo de caja chica
TipoDescripción
government_letterCarta gubernamental (IRS, DMV, SSA, etc.)
vehicle_registrationRegistro del vehículo
vehicle_titleTítulo del vehículo
court_orderOrden judicial
power_of_attorneyPoder notarial
death_certificateCertificado de defunción
marriage_certificateCertificado de matrimonio
Los archivos que no coincidan con un tipo conocido se clasifican como other.

Análisis de un archivo

Envíe un archivo para la detección de fraude mediante POST /v1/detection:
curl -X POST https://api.deepxl.ai/v1/detection \
  -H "x-api-key: YOUR_API_KEY" \
  -F "model=document" \
  -F "file=@invoice.pdf" \
  -F 'tags={"customerId":"9999","customerName":"Acme Corp","documentId":"INV-001","companyName":"DeepXL","companyId":"COMP-001"}'

Parámetros

ParámetroTipoObligatorioDescripción
modelstringdocument o object
filefileEl archivo a analizar (máx. 50 MB)
tagsstringNoObjeto JSON con pares clave-valor de metadatos
countrystringNoSugerencia opcional de país. Valores admitidos: us, mx, br. Los valores ausentes, vacíos o no válidos usan us de forma predeterminada.
El tamaño máximo de archivo es de 50 MB. Los archivos que superen este límite serán rechazados con un error 413.

Comportamiento de la sugerencia de país

Use el parámetro opcional country cuando quiera que la API enrute o anote la solicitud con una sugerencia de mercado explícita.
  • Valores admitidos: us, mx, br
  • La coincidencia no distingue entre mayúsculas y minúsculas
  • Se ignoran los espacios en blanco iniciales y finales
  • Los valores ausentes, vacíos o no válidos recurren a us
Esto es una sugerencia de solicitud, no una afirmación detectada sobre el país emisor. El servicio almacena el valor normalizado en los metadatos y lo devuelve en la respuesta cuando está disponible. Ejemplo:
curl -X POST https://api.deepxl.ai/v1/detection \
  -H "x-api-key: YOUR_API_KEY" \
  -F "model=document" \
  -F "file=@invoice.pdf" \
  -F "country=mx" \
  -F 'tags={"customerId":"9999","customerName":"Acme Corp","documentId":"INV-001","companyName":"DeepXL","companyId":"COMP-001"}'

Estructura de la respuesta

Una respuesta de detección contiene los siguientes campos:
{
  "result": {
    "detectionId": 42,
    "mediaType": "document",
    "fileType": "pdf",
    "fileName": "bank_statement.pdf",
    "fileSize": 245678,
    "timestamp": 1725795600,
    "timestampISO": "2024-09-08T10:00:00.000000",
    "model": "document",
    "modelVersion": "1.1.0",
    "likelihood": 85.2,
    "fraudSeverity": "high",
    "classification": "verified",
    "reasoning": [
      "Potential manipulation detected in text region",
      "Font inconsistencies found"
    ],
    "modelResults": {
      "technicalChecks": [
        {
          "type": "DOCUMENT_CLASSIFIER",
          "status": "PASS",
          "details": "Classified as bank statement",
          "likelihood": 0.02
        },
        {
          "type": "SEMANTIC_FRAUD",
          "status": "FAIL",
          "details": "Detected inconsistencies in text formatting",
          "likelihood": 0.85
        }
      ]
    },
    "tags": [
      { "name": "customerId", "value": "9999" },
      { "name": "customerName", "value": "Acme Corp" },
      { "name": "documentId", "value": "INV-001" },
      { "name": "companyName", "value": "DeepXL" },
      { "name": "companyId", "value": "COMP-001" }
    ],
    "files": [
      {
        "category": "original_file",
        "fileName": "fd_42_bank_statement.pdf",
        "fileSize": 245678,
        "contentType": "application/pdf",
        "timestamp": 1725795600,
        "timestampISO": "2024-09-08T10:00:00.000000",
        "url": "https://api.deepxl.ai/v1/files/fd_42_bank_statement.pdf"
      },
      {
        "category": "heatmap",
        "fileName": "fd_42_heatmap_1.png",
        "fileSize": 45678,
        "contentType": "image/png",
        "timestamp": 1725795600,
        "timestampISO": "2024-09-08T10:00:00.000000",
        "url": "https://api.deepxl.ai/v1/files/fd_42_heatmap_1.png"
      }
    ]
  }
}

Referencia de campos

CampoTipoDescripción
detectionIdintegerIdentificador único del registro de detección
mediaTypestringCategoría de tipo de medio (image o document)
fileTypestringExtensión de archivo (jpeg, png, pdf, webp)
fileNamestringNombre original del archivo cargado
fileSizeintegerTamaño del archivo en bytes
timestampintegerMarca de tiempo Unix del análisis
timestampISOstringMarca de tiempo ISO 8601 del análisis
modelstringModelo utilizado (document o object)
modelVersionstringVersión del modelo utilizada para el análisis
likelihoodfloatProbabilidad de fraude como porcentaje (0–100)
fraudSeveritystringNivel de gravedad: low, medium o high
classificationstringEvaluación de calidad: verified, unverified o rejected
reasoningstring[]Explicaciones en lenguaje natural de los hallazgos del análisis
modelResultsobjectContiene el arreglo technicalChecks con resultados detallados de las verificaciones
tagsobject[]Etiquetas de metadatos adjuntas a esta detección
filesobject[]Archivos asociados (carga original, mapas de calor)

Comprender los resultados

Puntuación de probabilidad

El campo likelihood es una puntuación de 0–100 % que indica la probabilidad de fraude o manipulación:
RangoGravedadInterpretación
0–29%lowNo hay indicadores significativos de manipulación
30–69%mediumSe detectaron algunos indicadores de manipulación
70–100%highSe detectaron fuertes indicadores de fraude

Clasificación

El campo classification indica la evaluación de calidad del documento: si el documento superó todas las puertas de calidad y pudo analizarse correctamente. Esto es independiente del resultado de fraude (likelihood / fraudSeverity).
ClasificaciónSignificado
verifiedLa calidad del documento es buena: superó todas las puertas de calidad y se analizó por completo
unverifiedLa calidad del documento es insuficiente: la imagen está borrosa, las esquinas están recortadas o fallaron las verificaciones de calidad semántica
rejectedEl tipo de documento no es compatible, el contenido de texto es insuficiente o se enviaron varios documentos en un solo archivo

Razonamiento

El arreglo reasoning contiene explicaciones en lenguaje natural de los hallazgos del análisis. Cada entrada describe una observación o conclusión específica del análisis forense.

Verificaciones técnicas

El arreglo modelResults.technicalChecks contiene las verificaciones forenses individuales realizadas en el archivo. El número y el tipo de verificaciones varían según el modelo, el tipo de archivo y el contenido del documento. Cada objeto de verificación incluye:
CampoTipoDescripción
typestringIdentificador de la verificación
statusstringPASS, FAIL, WARNING o NOT_PRESENT
detailsstringExplicación legible del resultado de la verificación
likelihoodfloatPuntuación de confianza para esta verificación específica (0.0–1.0)

Valores de estado

EstadoSignificado
PASSVerificación superada: no se encontraron problemas
FAILVerificación fallida: se detectó un problema
WARNINGPosible preocupación: no es concluyente, pero vale la pena señalarla
NOT_PRESENTNo se pudo realizar la verificación: los datos requeridos no estaban disponibles en el archivo

Modelo de documentos

El modelo document ejecuta una canalización de varias etapas. Primero, una serie de puertas de calidad determina la classification (si el documento puede analizarse correctamente). Luego, las verificaciones paralelas de fraude analizan el documento en busca de manipulación y determinan la puntuación likelihood. Pueden ejecutarse verificaciones adicionales según el tipo de archivo y la categoría del documento.

Modelo de objetos

El modelo object devuelve los resultados de detección de fraude mediante los campos de nivel superior likelihood, fraudSeverity e reasoning. El arreglo technicalChecks estará vacío para el modelo de objetos. Cuando se detecta generación o manipulación por IA, se incluye un mapa de calor en el arreglo files que resalta las regiones sospechosas.
{
  "files": [
    {
      "category": "original_file",
      "fileName": "fd_42_bank_statement.pdf",
      "url": "https://api.deepxl.ai/v1/files/fd_42_bank_statement.pdf"
    },
    {
      "category": "heatmap",
      "fileName": "fd_42_heatmap_1.png",
      "url": "https://api.deepxl.ai/v1/files/fd_42_heatmap_1.png"
    },
    {
      "category": "heatmap",
      "fileName": "fd_42_heatmap_2.png",
      "url": "https://api.deepxl.ai/v1/files/fd_42_heatmap_2.png"
    }
  ]
}
Descarga un mapa de calor usando el endpoint de recuperación de archivos:
curl https://api.deepxl.ai/v1/files/fd_42_heatmap_1.png \
  -H "x-api-key: YOUR_API_KEY" \
  --output heatmap_page1.png

Categorías de archivos

CategoríaDescripción
original_fileEl archivo que subiste originalmente
heatmapMapa de calor generado que resalta las regiones de manipulación detectadas

Códigos de error

EstadoErrorDescripción
400Solicitud incorrectaNombre de modelo inválido, parámetro de ordenación inválido, JSON malformado en las etiquetas o parámetros de consulta inválidos
401No autorizadoClave de API faltante o inválida
404No encontradoNo se encontró el registro de detección
413Carga útil demasiado grandeEl archivo supera el tamaño máximo de 50 MB
415Tipo de medio no compatibleEl tipo de archivo no es compatible con el modelo seleccionado
500Error interno del servidorError inesperado del servidor — contacta con soporte si persiste
502Puerta de enlace incorrectaEl servicio de análisis ascendente no está disponible temporalmente — reintenta después de un breve retraso

Etiquetas y filtrado

Pasa un objeto JSON en el parámetro tags para adjuntar metadatos a tu análisis:
{
  "customerId": "9999",
  "customerName": "Acme Corp",
  "documentId": "DOC-2024-001",
  "companyName": "DeepXL",
  "companyId": "COMP-001"
}
Filtra tu historial de detecciones por etiquetas:
curl "https://api.deepxl.ai/v1/detection?tagFilter=customerId=9999" \
  -H "x-api-key: YOUR_API_KEY"
Recupera resultados paginados de detección con ordenación y filtrado:
curl "https://api.deepxl.ai/v1/detection?limit=25&offset=0&sortBy=createdOn&direction=desc" \
  -H "x-api-key: YOUR_API_KEY"

Parámetros de consulta

ParámetroTipoDescripción
limitintegerNúmero de resultados por página (predeterminado: 25)
offsetintegerNúmero de resultados a omitir
sortBystringCampo por el que ordenar (ver opciones abajo)
directionstringasc o desc
minLikelihoodfloatFiltro de probabilidad mínima (0–100)
maxLikelihoodfloatFiltro de probabilidad máxima (0–100)
fraudSeveritystringFiltrar por severidad: low, medium o high
classificationstringFiltrar por clasificación: verified, unverified o rejected
tagFilterstringFiltrar por etiqueta (formato: key=value)
minTimestampintegerMarca de tiempo Unix mínima
maxTimestampintegerMarca de tiempo Unix máxima

Opciones de ordenación

fraudDetectionId, fileName, fileSize, fileType, model, likelihood, createdOn Recupere resultados de detección paginados con ordenación y filtrado:
curl "https://api.deepxl.ai/v1/detection?limit=25&offset=0&sortBy=createdOn&direction=desc" \
  -H "x-api-key: YOUR_API_KEY"

Parámetros de consulta

ParámetroTipoDescripción
limitintegerNúmero de resultados por página (predeterminado: 25)
offsetintegerNúmero de resultados que se omiten
sortBystringCampo por el que se ordena (vea las opciones a continuación)
directionstringasc o desc
minLikelihoodfloatFiltro de probabilidad mínima (0–100)
maxLikelihoodfloatFiltro de probabilidad máxima (0–100)
fraudSeveritystringFiltrar por gravedad: low, medium o high
classificationstringFiltrar por clasificación: verified, unverified o rejected
tagFilterstringFiltrar por etiqueta (formato: key=value)
minTimestampintegerMarca de tiempo Unix mínima
maxTimestampintegerMarca de tiempo Unix máxima

Opciones de ordenación

fraudDetectionId, fileName, fileSize, fileType, model, likelihood, createdOn