Module: FactPulse
- Defined in:
- lib/factpulse/version.rb,
lib/factpulse.rb,
lib/factpulse/api_error.rb,
lib/factpulse/api_client.rb,
lib/factpulse/models/note.rb,
lib/factpulse/api/sant_api.rb,
lib/factpulse/models/unite.rb,
lib/factpulse/configuration.rb,
lib/factpulse/api_model_base.rb,
lib/factpulse/models/quantite.rb,
lib/factpulse/models/type_tva.rb,
lib/factpulse/models/scheme_id.rb,
lib/factpulse/models/mode_depot.rb,
lib/factpulse/models/profil_api.rb,
lib/factpulse/models/quota_info.rb,
lib/factpulse/models/references.rb,
lib/factpulse/api/afnorpdppa_api.rb,
lib/factpulse/api/chorus_pro_api.rb,
lib/factpulse/models/destination.rb,
lib/factpulse/models/fournisseur.rb,
lib/factpulse/models/montant_tva.rb,
lib/factpulse/models/utilisateur.rb,
lib/factpulse/api/utilisateur_api.rb,
lib/factpulse/models/destinataire.rb,
lib/factpulse/models/ligne_de_tva.rb,
lib/factpulse/models/montant_tva1.rb,
lib/factpulse/models/statut_tache.rb,
lib/factpulse/models/type_facture.rb,
lib/factpulse/models/categorie_tva.rb,
lib/factpulse/models/format_sortie.rb,
lib/factpulse/models/mode_paiement.rb,
lib/factpulse/models/montant_total.rb,
lib/factpulse/models/reponse_tache.rb,
lib/factpulse/models/statut_celery.rb,
lib/factpulse/models/ligne_de_poste.rb,
lib/factpulse/models/resultat_afnor.rb,
lib/factpulse/models/signature_info.rb,
lib/factpulse/models/statut_facture.rb,
lib/factpulse/models/structure_info.rb,
lib/factpulse/models/adresse_postale.rb,
lib/factpulse/models/facture_factur_x.rb,
lib/factpulse/models/montant_ht_total.rb,
lib/factpulse/models/validation_error.rb,
lib/factpulse/models/credentials_afnor.rb,
lib/factpulse/models/destination_afnor.rb,
lib/factpulse/models/montant_ht_total1.rb,
lib/factpulse/models/montant_ttc_total.rb,
lib/factpulse/models/pdf_factur_x_info.rb,
lib/factpulse/models/service_structure.rb,
lib/factpulse/models/montant_ttc_total1.rb,
lib/factpulse/models/options_processing.rb,
lib/factpulse/api/traitement_facture_api.rb,
lib/factpulse/models/montant_unitaire_ht.rb,
lib/factpulse/models/resultat_chorus_pro.rb,
lib/factpulse/models/adresse_electronique.rb,
lib/factpulse/models/cadre_de_facturation.rb,
lib/factpulse/models/parametres_signature.rb,
lib/factpulse/models/parametres_structure.rb,
lib/factpulse/models/code_raison_reduction.rb,
lib/factpulse/models/http_validation_error.rb,
lib/factpulse/models/chorus_pro_credentials.rb,
lib/factpulse/models/code_cadre_facturation.rb,
lib/factpulse/models/credentials_chorus_pro.rb,
lib/factpulse/models/destination_chorus_pro.rb,
lib/factpulse/api/afnorpdppa_flow_service_api.rb,
lib/factpulse/models/certificate_info_response.rb,
lib/factpulse/models/consulter_facture_request.rb,
lib/factpulse/models/information_signature_api.rb,
lib/factpulse/models/reponse_validation_erreur.rb,
lib/factpulse/models/reponse_validation_succes.rb,
lib/factpulse/models/soumettre_facture_request.rb,
lib/factpulse/models/consulter_facture_response.rb,
lib/factpulse/models/resultat_validation_pdfapi.rb,
lib/factpulse/models/soumettre_facture_response.rb,
lib/factpulse/models/validation_error_loc_inner.rb,
lib/factpulse/models/consulter_structure_request.rb,
lib/factpulse/models/donnees_facture_simplifiees.rb,
lib/factpulse/models/facture_enrichie_info_input.rb,
lib/factpulse/models/piece_jointe_complementaire.rb,
lib/factpulse/models/consulter_structure_response.rb,
lib/factpulse/models/facture_enrichie_info_output.rb,
lib/factpulse/models/generate_certificate_request.rb,
lib/factpulse/models/rechercher_services_response.rb,
lib/factpulse/models/rechercher_structure_request.rb,
lib/factpulse/api/afnorpdppa_directory_service_api.rb,
lib/factpulse/models/generate_certificate_response.rb,
lib/factpulse/models/obtenir_id_chorus_pro_request.rb,
lib/factpulse/models/rechercher_structure_response.rb,
lib/factpulse/models/obtenir_id_chorus_pro_response.rb,
lib/factpulse/models/soumettre_facture_complete_request.rb,
lib/factpulse/models/soumettre_facture_complete_response.rb,
lib/factpulse/models/body_recycler_facture_api_v1_chorus_pro_factures_recycler_post.rb,
lib/factpulse/models/body_completer_facture_api_v1_chorus_pro_factures_completer_post.rb,
lib/factpulse/models/body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post.rb,
lib/factpulse/models/body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post.rb,
lib/factpulse/models/body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post.rb,
lib/factpulse/models/body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post.rb,
lib/factpulse/models/body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post.rb,
lib/factpulse/models/body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post.rb,
lib/factpulse/models/body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get.rb,
lib/factpulse/models/body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post.rb,
lib/factpulse/models/body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post.rb
Overview
#API REST FactPulse
# API REST pour la facturation électronique en France : Factur-X, AFNOR PDP/PA, signatures électroniques. ## 🎯 Fonctionnalités principales ### 📄 Génération de factures Factur-X - Formats : XML seul ou PDF/A-3 avec XML embarqué - Profils : MINIMUM, BASIC, EN16931, EXTENDED - Normes : EN 16931 (directive UE 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Format simplifié** : Génération à partir de SIRET + auto-enrichissement (API Chorus Pro + Recherche Entreprises) ### ✅ Validation et conformité - **Validation XML** : Schematron (45 à 210+ règles selon profil) - **Validation PDF** : PDF/A-3, métadonnées XMP Factur-X, signatures électroniques - VeraPDF : Validation stricte PDF/A (146+ règles ISO 19005-3) - **Traitement asynchrone** : Support Celery pour validations lourdes (VeraPDF) ### 📡 Intégration AFNOR PDP/PA (XP Z12-013) - **Soumission de flux** : Envoi de factures vers Plateformes de Dématérialisation Partenaires - **Recherche de flux** : Consultation des factures soumises - **Téléchargement** : Récupération des PDF/A-3 avec XML - **Directory Service** : Recherche d’entreprises (SIREN/SIRET) - Multi-client : Support de plusieurs configs PDP par utilisateur (stored credentials ou zero-storage) ### ✍️ Signature électronique PDF - Standards : PAdES-B-B, PAdES-B-T (horodatage RFC 3161), PAdES-B-LT (archivage long terme) - **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO) - Validation : Vérification intégrité cryptographique et certificats - **Génération de certificats** : Certificats X.509 auto-signés pour tests ### 🔄 Traitement asynchrone - Celery : Génération, validation et signature asynchrones - Polling : Suivi d’état via ‘/taches/id_tache/statut` - **Pas de timeout** : Idéal pour gros fichiers ou validations lourdes ## 🔒 Authentification Toutes les requêtes nécessitent un **token JWT** dans le header Authorization : “` Authorization: Bearer YOUR_JWT_TOKEN “` ### Comment obtenir un token JWT ? #### 🔑 Méthode 1 : API `/api/token/` (Recommandée) **URL :** `www.factpulse.fr/api/token/` Cette méthode est **recommandée** pour l’intégration dans vos applications et workflows CI/CD. **Prérequis :** Avoir défini un mot de passe sur votre compte **Pour les utilisateurs inscrits via email/password :** - Vous avez déjà un mot de passe, utilisez-le directement **Pour les utilisateurs inscrits via OAuth (Google/GitHub) :** - Vous devez d’abord définir un mot de passe sur : www.factpulse.fr/accounts/password/set/ - Une fois le mot de passe créé, vous pourrez utiliser l’API **Exemple de requête :** “‘bash curl -X POST www.factpulse.fr/api/token/ \ -H "Content-Type: application/json" \ -d ’{ "username": "[email protected]", "password": "votre_mot_de_passe" }‘ “` **Paramètre optionnel `client_uid` :** Pour sélectionner les credentials d’un client spécifique (PA/PDP, Chorus Pro, certificats de signature), ajoutez ‘client_uid` : “`bash curl -X POST www.factpulse.fr/api/token/ \ -H "Content-Type: application/json" \ -d ’{ "username": "[email protected]", "password": "votre_mot_de_passe", "client_uid": "550e8400-e29b-41d4-a716-446655440000" }‘ “` Le `client_uid` sera inclus dans le JWT et permettra à l’API d’utiliser automatiquement : - Les credentials AFNOR/PDP configurés pour ce client - Les credentials Chorus Pro configurés pour ce client - Les certificats de signature électronique configurés pour ce client **Réponse :** “‘json { "access": "eyJ0eXAiOiJKV1QiLCJhbGc…", // Token d’accès (validité: 30 min) "refresh": "eyJ0eXAiOiJKV1QiLCJhbGc…" // Token de rafraîchissement (validité: 7 jours) } “‘ **Avantages :** - ✅ Automatisation complète (CI/CD, scripts) - ✅ Gestion programmatique des tokens - ✅ Support du refresh token pour renouveler automatiquement l’accès - ✅ Intégration facile dans n’importe quel langage/outil #### 🖥️ Méthode 2 : Génération via Dashboard (Alternative) **URL :** www.factpulse.fr/dashboard/ Cette méthode convient pour des tests rapides ou une utilisation occasionnelle via l’interface graphique. **Fonctionnement :** - Connectez-vous au dashboard - Utilisez les boutons "Generate Test Token" ou "Generate Production Token" - Fonctionne pour tous les utilisateurs (OAuth et email/password), sans nécessiter de mot de passe **Types de tokens :** - **Token Test** : Validité 24h, quota 1000 appels/jour (gratuit) - **Token Production** : Validité 7 jours, quota selon votre forfait **Avantages :** - ✅ Rapide pour tester l’API - ✅ Aucun mot de passe requis - ✅ Interface visuelle simple **Inconvénients :** - ❌ Nécessite une action manuelle - ❌ Pas de refresh token - ❌ Moins adapté pour l’automatisation ### 📚 Documentation complète Pour plus d’informations sur l’authentification et l’utilisation de l’API : www.factpulse.fr/documentation-api/
The version of the OpenAPI document: 1.0.0
Generated by: openapi-generator.tech Generator version: 7.18.0-SNAPSHOT
Defined Under Namespace
Modules: Destination, MontantHtTotal, MontantHtTotal1, MontantTtcTotal, MontantTtcTotal1, MontantTva, MontantTva1, MontantUnitaireHt, Quantite, ValidationErrorLocInner Classes: AFNORPDPPAApi, AFNORPDPPADirectoryServiceApi, AFNORPDPPAFlowServiceApi, AdresseElectronique, AdressePostale, ApiClient, ApiError, ApiModelBase, BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost, BodyCompleterFactureApiV1ChorusProFacturesCompleterPost, BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet, BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost, BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost, BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost, BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost, BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost, BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost, BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost, BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost, CadreDeFacturation, CategorieTVA, CertificateInfoResponse, ChorusProApi, ChorusProCredentials, CodeCadreFacturation, CodeRaisonReduction, Configuration, ConsulterFactureRequest, ConsulterFactureResponse, ConsulterStructureRequest, ConsulterStructureResponse, CredentialsAFNOR, CredentialsChorusPro, Destinataire, DestinationAFNOR, DestinationChorusPro, DonneesFactureSimplifiees, FactureEnrichieInfoInput, FactureEnrichieInfoOutput, FactureFacturX, FormatSortie, Fournisseur, GenerateCertificateRequest, GenerateCertificateResponse, HTTPValidationError, InformationSignatureAPI, LigneDePoste, LigneDeTVA, ModeDepot, ModePaiement, MontantTotal, Note, ObtenirIdChorusProRequest, ObtenirIdChorusProResponse, OptionsProcessing, PDFFacturXInfo, ParametresSignature, ParametresStructure, PieceJointeComplementaire, ProfilAPI, QuotaInfo, RechercherServicesResponse, RechercherStructureRequest, RechercherStructureResponse, References, ReponseTache, ReponseValidationErreur, ReponseValidationSucces, ResultatAFNOR, ResultatChorusPro, ResultatValidationPDFAPI, SantApi, SchemeID, ServiceStructure, SignatureInfo, SoumettreFactureCompleteRequest, SoumettreFactureCompleteResponse, SoumettreFactureRequest, SoumettreFactureResponse, StatutCelery, StatutFacture, StatutTache, StructureInfo, TraitementFactureApi, TypeFacture, TypeTVA, Unite, Utilisateur, UtilisateurApi, ValidationError
Constant Summary collapse
- VERSION =
'2.0.10'
Class Method Summary collapse
-
.configure ⇒ Object
Customize default settings for the SDK using block.
Class Method Details
.configure ⇒ Object
Customize default settings for the SDK using block.
FactPulse.configure do |config|
config.username = "xxx"
config.password = "xxx"
end
If no block given, return the default Configuration object.
128 129 130 131 132 133 134 |
# File 'lib/factpulse.rb', line 128 def configure if block_given? yield(Configuration.default) else Configuration.default end end |