Documentación de API

Documentación de la API DoDocs Matchpoint

Guía completa para integrar la API de procesamiento documental de DoDocs Matchpoint en tus aplicaciones. Extrae datos de facturas, recibos y documentos con simples llamadas a la API REST.

Descripción General de la API

La API de DoDocs Matchpoint proporciona acceso programático a nuestras capacidades de procesamiento documental, permitiéndote extraer datos estructurados de diversos tipos de documentos.

Tipos de Documentos

Procesa facturas, recibos, estados de cuenta bancarios, contratos y más.

Procesamiento en Tiempo Real

Obtén resultados vía webhooks o respuestas síncronas.

Seguro y Fiable

Seguridad de nivel empresarial con SLA de 99.9% de disponibilidad.

URLs Base

EntornoURL BasePropósito
URL de la APIhttps://api.dodocs.aiEntorno de producción en vivo
Panel de Controlhttps://dodocs.aiPanel web para gestión de claves API

Primeros Pasos

Paso 1: Crea Tu Cuenta

Regístrate para obtener una cuenta de DoDocs Matchpoint en workspace para comenzar.

Paso 2: Accede a Tu Panel de Control

Después de iniciar sesión, verás tu panel principal donde puedes gestionar documentos y claves API.

Panel de Control DoDocs Matchpoint

El panel de DoDocs Matchpoint mostrando tus documentos procesados

Paso 3: Genera una Clave API

Ve a la sección de Claves API en la barra lateral para crear y administrar tus claves API.

Página de Claves API

La página de gestión de Claves API

Haz clic en "Crear Clave API" para generar una nueva clave:

Importante: Tu clave API solo se mostrará una vez. Cópiala y guárdala de forma segura inmediatamente después de crearla.

Paso 4: Prueba Tu Clave API

Verifica que tu clave API funcione correctamente con esta prueba simple:

curl -X GET https://api.dodocs.ai/api/v1/health \
  -H "DoDocs-Matchpoint-API-Key: your_api_key_here"

Respuesta esperada:

{
  "status": "healthy",
  "timestamp": "2024-01-27T10:30:00Z"
}

Autenticación

Todas las solicitudes a la API deben incluir tu clave API en el encabezado DoDocs-Matchpoint-API-Key :

DoDocs-Matchpoint-API-Key: your_api_key_here

Formato de Clave API

  • Longitud: Típicamente entre 40 y 50 caracteres
  • Distingue mayúsculas y minúsculas: Las claves deben usarse exactamente como se proporcionan

Buenas Prácticas de Seguridad

Haz:
  • Guarda las claves API en variables de entorno
  • Usa claves distintas para desarrollo y producción
  • Rota las claves regularmente (cada 90 días es lo recomendado)
  • Usa HTTPS para todas las llamadas a la API
Evita:
  • Incluir claves API en el control de versiones
  • Incluir claves en código del lado del cliente
  • Compartir claves entre aplicaciones
  • Usar claves como parámetros en URLs

Realizando Llamadas a la API

Endpoint de Carga de Documentos

POST/api/v1/upload

Carga documentos para procesarlos usando multipart/form-data.

Parámetros de la Solicitud

ParámetroTipoRequeridoDescripción
metadataCadena JSONMUST be first field in request. DEBE ser el primer campo en la solicitud. Instrucciones de procesamiento y configuración (puede estar vacío: {})
fileArchivoEl archivo del documento a procesar
Important: El campo de metadatos siempre debe ser el primer campo en la solicitud multipart. El orden importa: agrega los metadatos primero y luego el archivo.

Opciones de Metadatos

{
  "clientReference": "ORDER-123",  // Optional: Your reference ID
  "urgent": true,                  // Optional: Priority processing
  "language": "en"                 // Optional: Document language
}

// Or can be empty:
{}

Requisitos del Archivo

FormatoExtensionesTamaño Máximo
PDF.pdf50 MB
Images.jpg, .jpeg, .png, .tiff25 MB
Word.doc, .docx25 MB
Excel.xls, .xlsx25 MB
Text.txt, .csv10 MB

Configuración de Webhooks

Los webhooks te permiten recibir notificaciones en tiempo real cuando se procesan tus documentos.

Configuración de Webhooks

Configura los webhooks a través de la configuración de claves API en tu panel de control.

Configuración de Webhook

Interfaz de configuración de webhooks

Eventos de Webhook

document.processed

Se envía cuando el procesamiento del documento se completa exitosamente.

{
  "requestId": "75193012-0885-4db7-b5ce-7506e169c80c",
  "documentData": "[{\"fileName\":\"Transaction_Summary.xls\",\"documentType\":\"Bank Statement\"}]",
  "errors": []
}

document.failed

Se envía cuando el procesamiento del documento falla.

{
  "requestId": "8b6683c7-e583-4fbc-aa23-5bf1d22d32eb",
  "documentData": "[]",
  "errors": [
    {
      "code": "EXTRACTION_FAILED",
      "message": "Unable to extract data from document",
      "details": "Poor image quality or unsupported format"
    }
  ]
}

Encabezados del Webhook

Cada solicitud de webhook incluye estos encabezados:

X-Webhook-Signature: sha256=abc123...
X-Webhook-Event: document.processed
X-Webhook-ID: unique-webhook-id
X-Webhook-Timestamp: 1706354400
Content-Type: application/json

Verificación de Firma

Verifica siempre las firmas de los webhooks para asegurarte de que provienen de DoDocs Matchpoint.

Python

import hmac
import hashlib

def verify_webhook(payload, signature, secret):
    expected_signature = hmac.new(
        secret.encode('utf-8'),
        payload.encode('utf-8'),
        hashlib.sha256
    ).hexdigest()

    expected = f"sha256={expected_signature}"
    return hmac.compare_digest(signature, expected)

Node.js

const crypto = require('crypto');

function verifyWebhook(payload, signature, secret) {
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');

  const expected = `sha256=${expectedSignature}`;

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Ejemplos de Código

Python — Cargar Documento

import requests
import json

url = "https://api.dodocs.ai/api/v1/upload"
api_key = "your_api_key_here"

# Prepare metadata (must come first in the request)
metadata = {'clientReference': 'INV-2024-001'}
data = {'metadata': json.dumps(metadata)}

# Prepare the file
files = {
    'file': ('invoice.pdf', open('invoice.pdf', 'rb'), 'application/pdf')
}

# Make the request
response = requests.post(
    url,
    headers={'DoDocs-Matchpoint-API-Key': api_key},
    data=data,
    files=files
)
print(response.json())

Python — Manejar Webhook

from flask import Flask, request

app = Flask(__name__)

@app.route('/webhook', methods=['POST'])
def handle_webhook():
    event = request.json
    if event['event'] == 'document.processed':
        handle_processed(event['data'])
    elif event['event'] == 'document.failed':
        handle_failed(event['data'])
    return '', 200

def handle_processed(data):
    print(f"Document processed: {data['extractedData']}")

def handle_failed(data):
    print(f"Processing failed: {data['errorMessage']}")

if __name__ == '__main__':
    app.run(port=3000)

Node.js — Cargar Documento

const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');

const form = new FormData();
// Metadata must come first
form.append('metadata', JSON.stringify({ clientReference: 'INV-2024-001' }));
form.append('file', fs.createReadStream('invoice.pdf'));

axios.post('https://api.dodocs.ai/api/v1/upload', form, {
  headers: {
    'DoDocs-Matchpoint-API-Key': 'your_api_key_here',
    ...form.getHeaders()
  }
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

cURL — Cargar Documento

curl -X POST https://api.dodocs.ai/api/v1/upload \
  -H "DoDocs-Matchpoint-API-Key: your_api_key_here" \
  -F 'metadata={"clientReference":"INV-2024-001"}' \
  -F "[email protected]"

cURL — Probar Webhook

# Use webhook.site for testing
# 1. Go to https://webhook.site
# 2. Copy your unique URL
# 3. Configure it in your DoDocs Matchpoint dashboard

# Or use ngrok for local testing:
npm install -g ngrok
ngrok http 3000

Soporte y Recursos

Documentación

Estás viendo nuestra documentación completa de la API.

Volver Arriba
Soporte por Correo

Obtén ayuda de nuestro equipo de soporte técnico.

Contactar Soporte
¿Necesitas Soporte Empresarial?

Para soporte empresarial con garantías de SLA, gestión de cuenta dedicada y soporte prioritario:

Contactar Ventas