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)
curlou un client HTTP
Étape 1 : Créer une clé API
- Connectez-vous à votre tableau de bord
- Allez dans API Keys
- Cliquez sur Créer une clé
- 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
- Consultez la référence API Templates pour toutes les options
- Configurez des webhooks pour les notifications asynchrones
- Explorez les bonnes pratiques de sécurité
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'];