Documentation API

Documentation API DoDocs Matchpoint

Guide complet pour intégrer l'API de traitement de documents DoDocs Matchpoint dans vos applications. Extrayez des données des factures, reçus et documents avec de simples appels API REST.

Aperçu de l'API

L'API DoDocs Matchpoint offre un accès programmatique à nos capacités de traitement de documents, vous permettant d'extraire des données structurées de divers types de documents.

Types de documents

Traitez les factures, reçus, relevés bancaires, contrats et plus.

Traitement en temps réel

Obtenez des résultats via webhooks ou réponses synchrones.

Sécurisé et fiable

Sécurité entreprise avec SLA de disponibilité à 99,9 %.

URL de base

EnvironnementURL de baseObjectif
URL APIhttps://api.dodocs.aiEnvironnement de production
Tableau de bordhttps://dodocs.aiTableau de bord web pour la gestion des clés API

Démarrage

Étape 1 : Créez votre compte

Inscrivez-vous sur DoDocs Matchpoint à workspace pour commencer.

Étape 2 : Accédez à votre tableau de bord

Après la connexion, vous verrez votre tableau de bord principal où vous pouvez gérer les documents et les clés API.

Tableau de bord DoDocs Matchpoint

Le tableau de bord DoDocs Matchpoint affichant vos documents traités

Étape 3 : Générez une clé API

Accédez à la section Clés API dans la barre latérale pour créer et gérer vos clés API.

Page des clés API

La page de gestion des clés API

Cliquez sur « Créer une clé API » pour générer une nouvelle clé :

Important : Votre clé API ne sera affichée qu'une seule fois. Copiez-la et stockez-la en lieu sûr immédiatement après la création.

Étape 4 : Testez votre clé API

Vérifiez que votre clé API fonctionne avec ce test simple :

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

Réponse attendue :

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

Authentification

Toutes les requêtes API doivent inclure votre clé API dans l'en-tête DoDocs-Matchpoint-API-Key  :

DoDocs-Matchpoint-API-Key: your_api_key_here

Format de la clé API

  • Longueur : Généralement 40–50 caractères
  • Sensible à la casse : Les clés doivent être utilisées exactement telles que fournies

Bonnes pratiques de sécurité

Faire :
  • Stocker les clés API dans des variables d'environnement
  • Utiliser des clés différentes pour le développement et la production
  • Faire tourner les clés régulièrement (tous les 90 jours recommandé)
  • Utiliser HTTPS pour tous les appels API
Ne pas :
  • Valider les clés API dans le contrôle de version
  • Inclure les clés dans le code côté client
  • Partager les clés entre applications
  • Utiliser les clés dans les paramètres d'URL

Appels API

Point de terminaison de téléchargement de documents

POST/api/v1/upload

Téléchargez des documents pour traitement en utilisant multipart/form-data.

Paramètres de la requête

ParamètreTypeRequisDescription
metadataChaîne JSONOuiMUST be first field in request. DOIT être le premier champ de la requête. Instructions de traitement et configuration (peut être vide : {})
fileFichierOuiLe fichier document à traiter
Important: Le champ métadonnées doit toujours être le premier champ de la requête multipart. L'ordre est important — ajoutez d'abord les métadonnées, puis le fichier.

Options de métadonnées

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

// Or can be empty:
{}

Exigences des fichiers

FormatExtensionsTaille max
PDF.pdf50 MB
Images.jpg, .jpeg, .png, .tiff25 MB
Word.doc, .docx25 MB
Excel.xls, .xlsx25 MB
Text.txt, .csv10 MB

Configuration des webhooks

Les webhooks vous permettent de recevoir des notifications en temps réel lorsque vos documents sont traités.

Configuration des webhooks

Configurez les webhooks via les paramètres des clés API dans votre tableau de bord.

Configuration des webhooks

Interface de configuration des webhooks

Événements webhook

document.processed

Envoyé lorsque le traitement de documents se termine avec succès.

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

document.failed

Envoyé lorsque le traitement de documents échoue.

{
  "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"
    }
  ]
}

En-têtes webhook

Chaque requête webhook inclut ces en-têtes :

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

Vérification de signature

Vérifiez toujours les signatures webhook pour vous assurer qu'elles proviennent 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)
  );
}

Exemples de code

Python — Télécharger un document

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 — Gérer un 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 — Télécharger un document

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 — Télécharger un document

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 — Tester un 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

Support et ressources

Documentation

Vous consultez notre documentation API complète.

Retour en haut
Support par e-mail

Obtenez de l'aide de notre équipe de support technique.

Contacter le support
Besoin d'un support entreprise ?

Pour un support entreprise avec garanties SLA, gestion de compte dédiée et support prioritaire :

Contacter le service commercial