Quickstart

Générez votre premier PDF rempli en 5 minutes avec DocFlow.

Prérequis

  • Un compte DocFlow (inscription gratuite)
  • Un formulaire PDF avec des champs de formulaire (AcroForm)
  • curl ou un client HTTP

Étape 1 : Créer une clé API

  1. Connectez-vous à votre tableau de bord
  2. Allez dans API Keys
  3. Cliquez sur Créer une clé
  4. Copiez la clé générée (elle ne sera affichée qu'une seule fois)
# Votre clé ressemble à ceci :
df_abc123xyz789...

Étape 2 : Télécharger un template

Uploadez votre formulaire PDF pour créer un template :

curl -X POST https://api.docflow.io/v1/templates \
  -H "Authorization: Bearer df_votre_cle_api" \
  -F "file=@/chemin/vers/formulaire.pdf" \
  -F "name=Mon premier template"

Réponse :

{
  "data": {
    "id": "tpl_abc123",
    "name": "Mon premier template",
    "fileName": "formulaire.pdf",
    "fileSize": 102400,
    "fieldCount": 5,
    "version": 1,
    "createdAt": "2024-01-15T10:30:00Z"
  }
}

Étape 3 : Récupérer le schéma

Consultez le schéma du template pour connaître les champs disponibles :

curl https://api.docflow.io/v1/templates/tpl_abc123/schema \
  -H "Authorization: Bearer df_votre_cle_api"

Réponse :

{
  "data": {
    "templateId": "tpl_abc123",
    "templateName": "Mon premier template",
    "version": 1,
    "schema": {
      "fields": [
        {
          "name": "first_name",
          "type": "text",
          "required": false,
          "maxLength": 100,
          "pdfMeta": {
            "originalName": "Text1",
            "page": 1
          }
        },
        {
          "name": "last_name",
          "type": "text",
          "required": false,
          "pdfMeta": {
            "originalName": "Text2",
            "page": 1
          }
        },
        {
          "name": "accept_terms",
          "type": "checkbox",
          "required": false,
          "pdfMeta": {
            "originalName": "CheckBox1",
            "page": 1
          }
        }
      ],
      "pageCount": 1
    }
  }
}

Étape 4 : Générer un PDF

Envoyez vos données pour remplir le PDF :

curl -X POST https://api.docflow.io/v1/renders \
  -H "Authorization: Bearer df_votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "tpl_abc123",
    "data": {
      "first_name": "Jean",
      "last_name": "Dupont",
      "accept_terms": true
    }
  }'

Réponse :

{
  "data": {
    "renderId": "rnd_xyz789",
    "status": "completed",
    "downloadUrl": "https://storage.docflow.io/renders/rnd_xyz789.pdf?token=...",
    "expiresIn": 900,
    "fileSize": 105000,
    "durationMs": 250
  }
}

Étape 5 : Télécharger le PDF

Utilisez l'URL de téléchargement pour récupérer votre PDF rempli :

curl -o document_rempli.pdf "https://storage.docflow.io/renders/rnd_xyz789.pdf?token=..."

🎉 Félicitations ! Vous venez de générer votre premier PDF avec DocFlow.

Prochaines étapes

Exemples de code

JavaScript / Node.js

const response = await fetch('https://api.docflow.io/v1/renders', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer df_votre_cle_api',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    templateId: 'tpl_abc123',
    data: {
      first_name: 'Jean',
      last_name: 'Dupont'
    }
  })
});

const { data } = await response.json();
console.log('PDF URL:', data.downloadUrl);

Python

import requests

response = requests.post(
    'https://api.docflow.io/v1/renders',
    headers={
        'Authorization': 'Bearer df_votre_cle_api',
        'Content-Type': 'application/json'
    },
    json={
        'templateId': 'tpl_abc123',
        'data': {
            'first_name': 'Jean',
            'last_name': 'Dupont'
        }
    }
)

data = response.json()['data']
print(f"PDF URL: {data['downloadUrl']}")

PHP

<?php
$ch = curl_init('https://api.docflow.io/v1/renders');

curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer df_votre_cle_api',
        'Content-Type: application/json'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'templateId' => 'tpl_abc123',
        'data' => [
            'first_name' => 'Jean',
            'last_name' => 'Dupont'
        ]
    ])
]);

$response = curl_exec($ch);
$data = json_decode($response, true)['data'];

echo "PDF URL: " . $data['downloadUrl'];