Support Horizon/Octane, Observabilité intégrée (events, logs, notifications).

FacturX API pour Laravel

Utilisez les facades Http, Jobs et Notifications pour monitorer vos validations.

Http::withToken prêt à l'emploi
Compatible Storage + Notifications
Idéal pour automatiser la réforme 2026

Exemple curl

multipart/form-data
curl -X POST https://api.facturxapi.com/api/v1/validate \
  -H "Authorization: Bearer $FACTURX_API_KEY" \
  -F "[email protected]" \
  -F "lang=fr"

Snippet Laravel

Auth + appel /api/v1/validate
use Illuminate\Support\Facades\Http;

$response = Http::withToken(config('services.facturx.key'))
    ->timeout(20)
    ->attach('file', fopen($path, 'r'), basename($path))
    ->post('https://api.facturxapi.com/api/v1/validate', [
        'lang' => 'fr',
    ]);

$payload = $response->json();

if (! $payload['valid']) {
    Notification::route('slack', config('services.facturx.slack'))
        ->notify(new FacturxSchemaError($payload));
}

Checklist intégration

  • Centraliser la clé dans config/services.php

  • Programmer un job hebdo pour monitorer les quotas

  • Envoyer les erreurs Schematron sur Slack/Teams

Retries & timeouts

Utilisez retryUntil dans vos jobs + backoff progressif.

  • • Timeout HTTP : 20 s
  • • Limiter la concurrence via rate limiting Laravel
  • • Utiliser une job chain pour post-traiter les rapports

Erreurs fréquentes

Mappez vos logs aux codes pour des corrections rapides.

validation_start_failed

Fichier manquant (Storage path incorrect).

💡 Vérifier les disques et la visibilité des fichiers temporaires.

402 quota_exceeded

Plan Free saturé.

💡 Afficher une bannière upgrade + déclencher Analytics.quota_exceeded.

schema_incomplete

XML compressé ou encodé ISO-8859-1.

💡 Convertir en UTF-8 avant upload (Str::of($xml)->squish()).

FAQ

Peut-on lancer les validations via Scheduler ?

Oui, déclenchez un batch de jobs (up to 3 simultanés) toutes les minutes.

Puis-je stocker le rapport en base ?

Stockez uniquement le JSON (colonne JSONB) + le hash du fichier pour rester RGPD.

Obtenir une clé

Activation en 30 secondes

Méthodologie

Comprendre la pipeline complète

Tarifs

Scale sans surprise