400 unsupported_media_type
Extension non supportée (docx, zip).
💡 Filtrer les uploads côté CLI et imposer pdf/xml uniquement.
requests + retry, async possible via httpx, parfait pour orchestrer vos batchs EN16931.
Compatible scripts CLI, worker Celery, pipelines Airflow ou FastAPI.
curl -X POST https://api.facturxapi.com/api/v1/validate \
-H "Authorization: Bearer $FACTURX_API_KEY" \
-F "file=@facture-x.pdf" \
-F "lang=fr" import os
import requests
API_KEY = os.environ['FACTURX_API_KEY']
API_URL = 'https://api.facturxapi.com/api/v1/validate'
files = {
'file': open('invoices/FX-2024-0001.pdf', 'rb'),
}
response = requests.post(
API_URL,
headers={'Authorization': f'Bearer {API_KEY}'},
files=files,
data={'lang': 'fr'}
)
data = response.json()
if not data.get('valid'):
print('Erreurs détectées:', data.get('errors', [])) Mêmes headers d'auth, mêmes codes d'erreur, même pipeline PDF/A-3 + Schematron EN16931.
Valide un PDF Factur-X ou un XML CII. Retourne un rapport JSON structuré avec codes BR-* par ligne/champ.
curl -X POST https://api.facturxapi.com/api/v1/validate \
-H "Authorization: Bearer $KEY" \
-F "file=@facture.pdf" Extrait le XML CII d'un PDF Factur-X reçu. Paramètre validate=true combine extraction + validation en une requête.
curl -X POST https://api.facturxapi.com/api/v1/extract \
-H "Authorization: Bearer $KEY" \
-F "file=@facture-recue.pdf" \
-F "validate=true" Convertit un PDF visuel + données ERP (mode invoice_data JSON) en Factur-X PDF/A-3 conforme. veraPDF-certifié.
curl -X POST https://api.facturxapi.com/api/v1/convert \
-H "Authorization: Bearer $KEY" \
-F "file=@facture.pdf" \
-F 'invoice_data={"invoiceNumber":"FA-001",...}' Corrige automatiquement les erreurs réparables d'un XML CII (dates, décimaux, namespaces, schemeID). Retour : diff + XML réparé.
curl -X POST https://api.facturxapi.com/api/v1/repair \
-H "Authorization: Bearer $KEY" \
-F "file=@facture-invalide.xml" Uploader depuis un dossier temporaire protégé (pas de /tmp partagé)
Utiliser retrying ou tenacity pour gérer 429/500
Anonymiser les logs (pas de PDF complet en clair)
Utilisez tenacity ou httpx.Retry avec jitter pour protéger vos workers.
Mappez vos logs aux codes pour des corrections rapides.
Extension non supportée (docx, zip).
💡 Filtrer les uploads côté CLI et imposer pdf/xml uniquement.
Validation lourde (PDF + Schematron) > 30 s.
💡 Découper le lot et relancer plus tard (queue Celery + countdown).
Seuil mensuel dépassé.
💡 Abonner un handler Celery pour déclencher Analytics.quota_exceeded et alerter votre équipe.
Oui, bouclez sur vos lignes et envoyez les fichiers un par un (max 3 en parallèle).
Sauvegardez le JSON de réponse dans S3 ou Postgres avec le hash de la facture.
Comprendre les profils et règles
Uploader rapidement un échantillon
Anticiper vos lots mensuels
Et après ?
Choisissez l'étape suivante pour activer FacturX API sur votre stack. Tous les liens sont internes pour garder le suivi clair.
10 validations gratuites + clés distinctes pour dev/staging.
Free, Pro ou Scale selon vos appels mensuels et SLA requis.
Endpoints détaillés + schémas JSON pour parser les réponses.
Uploader un fichier depuis l'UI pour comparer avec la réponse API.