DevVersPA
Documentation API
Retour

Intégration dans Windev®

Guide pas à pas pour intégrer l'API DevVersPA dans vos projets Windev®, toutes versions compatibles SOAP.

Prérequis

  • Windev® version 22 ou supérieure (recommandé), toutes versions avec support SOAP acceptées.
  • Windev® version antérieure à 22 possible, nous consulter.
  • Un compte DevVersPA actif (email + mot de passe fournis par SEALOG).
  • Accès réseau sortant vers https://devverspa.fr (port 443).

Étape 1 — Importer le WSDL dans l'IDE

Dans Windev®, importez le service web pour générer automatiquement les fonctions proxy :

  1. Ouvrez votre projet Windev®.
  2. Dans l'explorateur de projet, faites un clic droit sur « Webservices importés », puis choisissez Utiliser un Webservice SOAP…
  3. Collez l'URL du WSDL dans le champ prévu :
    https://devverspa.fr/DEVVERSPA_WEB/awws/DevVersPA.awws?wsdl
  4. Cliquez sur Suivant — Windev® analyse le WSDL et détecte les 8 opérations.
  5. Validez avec Terminer. Windev® génère les fonctions WLangage correspondantes.
Menu Windev® — clic droit Utiliser un Webservice SOAP
Clic droit → Utiliser un Webservice SOAP…
Assistant Windev® — saisie de l'URL WSDL DevVersPA
Coller l'URL WSDL puis cliquer sur Terminer

Après l'import, les fonctions WS_1_ConnexionDevVersPA, WS_2_CreerFacturX, etc. sont directement disponibles dans votre code WLangage, comme des fonctions Windev® natives.

Étape 2 — Connexion et obtention du token

Toutes les opérations nécessitent un token obtenu via WS_1_ConnexionDevVersPA. À effectuer en début de session, ou lorsqu'un appel renvoie une erreur de token expiré.

// ── Connexion DevVersPA ──────────────────────────────────
// Variables globales recommandées (déclarées dans une procédure globale)
gsTokenDevVersPA est chaîne   // Token de session

// Procédure de connexion
PROCÉDURE ConnexionDevVersPA()

gsTokenDevVersPA = WS_1_ConnexionDevVersPA( ­
    "votre_email@exemple.com",       ­// P_Login
    "votre_motdepasse_crypté"        ­// P_MotDePasse (fourni par SEALOG)
)

SI Gauche(gsTokenDevVersPA, 5) = "ERREUR" ALORS
    Erreur("Connexion DevVersPA échouée :" + RC + gsTokenDevVersPA)
    gsTokenDevVersPA = ""
    RENVOYER Faux
FIN

RENVOYER Vrai   // Connexion réussie

Sécurité : ne stockez jamais le mot de passe en clair dans votre code source. Utilisez les paramètres Windev® ou une table de configuration chiffrée pour le conserver.

Étape 3 — Exemple complet : envoyer une facture de vente

Cet exemple illustre le flux complet : connexion → création Factur-X → envoi. Les exemples détaillés de chaque paramètre (JSON de facture, etc.) seront complétés prochainement.

// ── Envoi d'une facture de vente ─────────────────────────
PROCÉDURE EnvoyerFactureVente()

// 1. Connexion si nécessaire
SI gsTokenDevVersPA = "" ALORS
    SI PAS ConnexionDevVersPA() ALORS RETOUR FIN
FIN

// 2. Préparer les données de la facture
sJsonFacture est chaîne
// sJsonFacture = ... (structure JSON DevVersPA, voir documentation WS_2)
// À compléter selon votre modèle de données

// 3. Lire le PDF source (votre facture au format PDF classique)
sCheminPDF   est chaîne = "C:\Factures\FAC_2026_001.pdf"
bufFichierPDF  est buffer = fChargeBuffer(sCheminPDF, fUnicode)
// Encodage Base64 du PDF
sContenuPDF  est chaîne = Encodage(bufFichierPDF, encodageBase64URL)

// 4. Créer le Factur-X
sFacturX est chaîne
sFacturX = WS_2_CreerFacturX( ­
    gsTokenDevVersPA,  ­// Token
    sJsonFacture,      ­// JSON de la facture
    sContenuPDF        ­// PDF en Base64
)

SI Gauche(sFacturX, 5) = "Erreur" ALORS
    Erreur("Création Factur-X échouée :" + RC + sFacturX)
    RETOUR
FIN

// 5. Envoyer à la Plateforme Agréée
sResultat est chaîne
sResultat = WS_8_EnvoyerFactureDeVente( ­
    gsTokenDevVersPA,  ­// Token
    sFacturX           ­// Factur-X en Base64
)

SI Gauche(sResultat, 5) = "Erreur" ALORS
    Erreur("Envoi échoué :" + RC + sResultat)
SINON
    // sResultat contient l'identifiant DevVersPA de la facture, à enregistrer dans votre base de données
    Info("Facture envoyée. ID DevVersPA : " + sResultat)
FIN

Étape 4 — Vérifier le statut d'une facture émise

// ── Lecture du statut ────────────────────────────────────
PROCÉDURE LireStatutFacture(nIdFacture est entier)

sStatuts est chaîne
sStatuts = WS_5_LectureStatut( ­
    gsTokenDevVersPA,  ­// Token
    nIdFacture,        ­// ID retourné par WS_8
    0                  ­// IdEvenementDebut : 0 = tous les événements
)

SI Gauche(sStatuts, 5) = "Erreur" ALORS
    Erreur("Erreur lecture statut :" + RC + sStatuts)
SINON
    // sStatuts est un JSON contenant la liste des événements
    Info(sStatuts)
FIN

Gestion des erreurs

Toutes les fonctions DevVersPA retournent une chaîne. En cas d'erreur, cette chaîne commence par Erreur:. Il est recommandé de systématiquement tester ce préfixe avant tout traitement.

// Pattern de gestion d'erreur générique
sRetour est chaîne = WS_X_NomDeLaFonction(...)

SI Gauche(sRetour, 5) = "Erreur" ALORS
    // Journaliser l'erreur
    TraceErreur("DevVersPA WS_X : " + sRetour)
    // Afficher un message utilisateur
    Erreur("Une erreur est survenue lors de l'appel à l'API DevVersPA.")
SINON
    // Traitement normal
    ...
FIN

Exemples supplémentaires

Des exemples concrets supplémentaires (structure JSON de facture, cas d'usage complets) seront ajoutés prochainement dans cette page.