Aller au contenu principal

Documentation API

Intégrez l'analyse PDF dans vos applications grâce à notre API REST

Démarrage rapide

1

Créer un compte

Inscrivez-vous pour obtenir un compte PDFCheck gratuit.

2

Générer un jeton API

Rendez-vous sur Jetons API et créez un nouveau jeton.

3

Effectuer votre première requête

Utilisez votre jeton pour authentifier les requêtes API.

Authentification

Toutes les requêtes API nécessitent une authentification à l'aide d'un jeton Bearer dans l'en-tête Authorization.

Authorization: Bearer YOUR_API_TOKEN

URL de base

https://pdf.businesspress.io/api/v1

Limites de débit

Les comptes gratuits sont limités à 50 analyses PDF par jour. Le nombre de vérifications restantes est inclus dans chaque réponse API.

Points de terminaison

GET /user

Obtenez les informations sur l'utilisateur authentifié, y compris les limites d'utilisation quotidiennes.

Exemple de réponse

{
  "success": true,
  "data": {
    "name": "John Doe",
    "email": "john@example.com",
    "daily_limit": 50,
    "remaining_checks": 47,
    "checks_used_today": 3
  }
}
POST /pdf/analyze

Téléversez et analysez un fichier PDF. Renvoie les métadonnées détaillées extraites du PDF.

Corps de la requête

Nom Type Requis Description
file file Requis Fichier PDF à analyser (100 Mo max.)

Exemple de requête

curl -X POST https://pdf.businesspress.io/api/v1/pdf/analyze \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@document.pdf"

Exemple de réponse

{
  "success": true,
  "data": {
    "id": "abc123xyz789",
    "filename": "document.pdf",
    "file_size": 1048576,
    "file_size_formatted": "1.00 MB",
    "metadata": {
      "title": "My Document",
      "author": "John Doe",
      "creator": "Microsoft Word",
      "producer": "Adobe PDF Library",
      "page_count": 10,
      "pdf_version": "1.7",
      "dates": {
        "created": "2025-01-15T10:30:00Z",
        "modified": "2025-01-16T14:22:00Z",
        "was_modified": true
      }
    },
    "analyzed_at": "2025-01-17T18:00:00Z"
  },
  "remaining_checks": 46
}
GET /pdf

Listez toutes les analyses PDF de l'utilisateur authentifié avec pagination.

Paramètres de requête

Nom Type Par défaut Description
per_page integer 20 Nombre de résultats par page (1-100)

Exemple de réponse

{
  "success": true,
  "data": [
    {
      "id": "abc123xyz789",
      "filename": "document.pdf",
      "file_size": 1048576,
      "file_size_formatted": "1.00 MB",
      "analyzed_at": "2025-01-17T18:00:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 20,
    "total": 1
  }
}
GET /pdf/{id}

Obtenez les résultats d'analyse détaillés par identifiant d'analyse (jeton de partage).

Exemple de requête

curl https://pdf.businesspress.io/api/v1/pdf/abc123xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Gestion des jetons

GET /tokens

Listez tous les jetons API de l'utilisateur authentifié.

POST /tokens

Créez un nouveau jeton API. Le jeton n'est affiché qu'une seule fois dans la réponse.

Corps de la requête

Nom Type Requis Description
name string Requis Un nom descriptif pour le jeton
DELETE /tokens/{id}

Révoquez (supprimez) un jeton API de manière permanente.

Codes d'erreur

Code HTTP Code d'erreur Description
401 unauthenticated Jeton API invalide ou manquant
404 not_found Ressource introuvable ou accès refusé
422 analysis_failed Le PDF n'a pas pu être traité (fichier invalide ou corrompu)
429 daily_limit_exceeded Limite quotidienne dépassée, réessayez demain

Exemples de code

cURL

# Analyze a PDF
curl -X POST https://pdf.businesspress.io/api/v1/pdf/analyze \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@/path/to/document.pdf"

# Get analysis result
curl https://pdf.businesspress.io/api/v1/pdf/abc123xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN"

# List all analyses
curl https://pdf.businesspress.io/api/v1/pdf \
  -H "Authorization: Bearer YOUR_API_TOKEN"

PHP

<?php
$apiToken = 'YOUR_API_TOKEN';
$filePath = '/path/to/document.pdf';

// Analyze PDF
$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'https://pdf.businesspress.io/api/v1/pdf/analyze',
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiToken,
    ],
    CURLOPT_POSTFIELDS => [
        'file' => new CURLFile($filePath, 'application/pdf'),
    ],
]);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo "Analysis ID: " . $result['data']['id'] . "\n";
    echo "Pages: " . $result['data']['metadata']['page_count'] . "\n";
    echo "Remaining checks: " . $result['remaining_checks'] . "\n";
}

curl_close($ch);

Python

import requests

API_TOKEN = 'YOUR_API_TOKEN'
BASE_URL = 'https://pdf.businesspress.io/api/v1'

headers = {
    'Authorization': f'Bearer {API_TOKEN}'
}

# Analyze PDF
with open('/path/to/document.pdf', 'rb') as f:
    response = requests.post(
        f'{BASE_URL}/pdf/analyze',
        headers=headers,
        files={'file': ('document.pdf', f, 'application/pdf')}
    )

result = response.json()

if result['success']:
    print(f"Analysis ID: {result['data']['id']}")
    print(f"Pages: {result['data']['metadata']['page_count']}")
    print(f"Remaining checks: {result['remaining_checks']}")

# Get analysis by ID
response = requests.get(
    f"{BASE_URL}/pdf/{result['data']['id']}",
    headers=headers
)
print(response.json())

JavaScript (Node.js)

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

const API_TOKEN = 'YOUR_API_TOKEN';
const BASE_URL = 'https://pdf.businesspress.io/api/v1';

async function analyzePdf(filePath) {
    const form = new FormData();
    form.append('file', fs.createReadStream(filePath));

    const response = await fetch(`${BASE_URL}/pdf/analyze`, {
        method: 'POST',
        headers: {
            'Authorization': `Bearer ${API_TOKEN}`,
        },
        body: form
    });

    const result = await response.json();
    
    if (result.success) {
        console.log(`Analysis ID: ${result.data.id}`);
        console.log(`Pages: ${result.data.metadata.page_count}`);
        console.log(`Remaining checks: ${result.remaining_checks}`);
    }
    
    return result;
}

// Usage
analyzePdf('/path/to/document.pdf');

Prêt à commencer ?

Créez un compte gratuit et générez votre premier jeton API pour commencer l'intégration.