DevVersPA
Documentation API
Retour
SOAP

WS_3_ValidationFacturX

Valide la conformité d'un fichier Factur-X (PDF ou XML) vis-à-vis des règles du standard Factur-X et des exigences réglementaires.

Résumé

Ce point d'entrée analyse un fichier Factur-X ou XML fourni en Base64 et retourne un rapport de validation indiquant si le fichier est conforme, et le cas échéant, la liste des erreurs ou avertissements détectés.

Utilisez ce WS pour valider un Factur-X produit par votre ERP, ou pour vérifier un fichier produit par WS_2_CreerFacturX avant envoi.

Syntaxe

sResultat est chaîne = WS_3_ValidationFacturX(Token, TypeFichier, ContenuFichierFacture, FormatResultat)

Paramètres

NomTypeDescriptionObligatoire
Token chaîne Token de session obtenu via WS_1_ConnexionDevVersPA. Oui
TypeFichier chaîne Type du fichier à valider. Valeurs acceptées : "PDF" (Factur-X PDF/A-3), "XML" (XML Factur-X seul). Oui
ContenuFichierFacture chaîne Contenu du fichier à valider, encodé en Base64. Peut être un PDF Factur-X complet ou un fichier XML standalone. Oui
FormatResultat chaîne Format du rapport retourné. Valeurs acceptées : "JSON" (structuré, recommandé), "TEXT" (texte brut lisible). Oui

Valeur de retour

CasValeur retournée
Fichier valide JSON ou texte indiquant la conformité, le profil Factur-X détecté, et l'absence d'erreur.
Fichier invalide JSON ou texte listant les erreurs de conformité et les champs concernés.
Erreur d'appel Chaîne commençant par Erreur : (token expiré, fichier illisible, type inconnu…).

Exemple WLangage

// ── Valider un fichier Factur-X ──────────────────────────
PROCÉDURE ValiderFacturX(sCheminFichier est chaîne, sType est chaîne)
// sType : "PDF" ou "XML"

// Lire et encoder le fichier en Base64
sContenu est chaîne = Encodage( ­
    fChargeBuffer(sCheminFichier), ­
    encodageBase64URL ­
)

// Appel WS_3
sResultat est chaîne = WS_3_ValidationFacturX( ­
    gsToken,    ­// Token
    sType,      ­// "PDF" ou "XML"
    sContenu,   ­// Fichier en Base64
    "JSON"      ­// Format du rapport
)

// Contrôle de l'appel
SI Gauche(sResultat, 6) = "Erreur" ALORS
    Erreur("Erreur d'appel WS_3 :" + RC + sResultat)
    RETOUR
FIN

// Analyser le rapport JSON retourné
// Exemple : détecter si la validation est OK
SI Position(sResultat, """valide"":true") > 0 ALORS
    Info("Fichier Factur-X conforme ✓")
SINON
    // Afficher les erreurs
    Info("Fichier non conforme :" + RC + sResultat)
FIN

La validation porte sur la conformité structurelle du XML Factur-X (schéma XSD) et les règles métier du profil (EN 16931 + Factur-X).