DevVersPA
Documentation API
Retour
SOAP

WS_5_LectureStatut

Lit l'historique des statuts de traitement des factures, depuis la réception ou l'émission par la Plateforme Agréée jusqu'à l'accusé de réception du destinataire.

Résumé

Après l'envoi d'une facture via WS_8, ce point d'entrée permet de suivre son cycle de vie : dépôt sur la PA, transmission au destinataire, accusé de réception, statut de paiement, rejet éventuel, etc.

Ce point d'entrée permet aussi de recevoir les statuts des factures d'achats reçues pour ensuite récupérer les factures d'achat via WS_6:

Le paramètre IdEvenementDebut permet une interrogation incrémentale : en mémorisant le dernier ID d'événement lu, on ne récupère que les nouveaux événements à chaque appel.

Syntaxe

sStatuts est chaîne = WS_5_LectureStatut(Token, IdFacture, IdEvenementDebut)

Paramètres

NomTypeDescriptionObligatoire
Token chaîne Token de session obtenu via WS_1. Oui
IdFacture entier Identifiant DevVersPA de la facture, retourné par WS_8_EnvoyerFactureDeVente. Oui
IdEvenementDebut entier ID du premier événement à retourner. Passer 0 pour récupérer tous les événements depuis le début. Passer le dernier ID connu pour n'obtenir que les nouveaux événements. Oui

Valeur de retour

CasValeur retournée
Succès JSON contenant la liste des événements de statut (ID événement, date, code statut, libellé, acteur).
Aucun événement JSON vide ou tableau vide [].
Erreur Chaîne commençant par Erreur :.

Exemple WLangage

// ── Lecture du statut d'une facture ──────────────────────
// Variables de suivi (à stocker en base de données)
nIdFacture       est entier = 42         // ID retourné par WS_8
nDernierEvt      est entier = 0          // Dernier événement connu

PROCÉDURE SuivreFacture()

sStatuts est chaîne = WS_5_LectureStatut( ­
    gsToken,       ­// Token
    nIdFacture,    ­// ID de la facture
    nDernierEvt    ­// 0 = tous, ou dernier ID connu
)

SI Gauche(sStatuts, 6) = "Erreur" ALORS
    Erreur("Erreur lecture statut :" + RC + sStatuts)
    RETOUR
FIN

SI sStatuts = "[]" OU sStatuts = "" ALORS
    Info("Aucun nouvel événement.")
    RETOUR
FIN

// Traiter le JSON des événements
// Exemple : parcourir les événements avec gJSONExtraitChaîne()
// et mettre à jour nDernierEvt avec le dernier ID reçu
Info("Statuts reçus :" + RC + sStatuts)

// ── Polling recommandé ────────────────────────────────────
// Appeler ce WS toutes les 5 à 15 minutes via un TIMER ou une tâche planifiée
// jusqu'à réception d'un statut terminal (ex: "ACCEPTÉE", "REJETÉE")

Polling : il n'y a pas de webhook actuellement — interrogez ce WS périodiquement (toutes les 5 à 30 minutes selon votre besoin) pour détecter les changements de statut. Mémorisez IdEvenementDebut en base pour n'interroger que les nouveaux événements.