factpulse 2.0.4 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -3
- data/Gemfile.lock +1 -1
- data/docs/LigneDeTVA.md +1 -1
- data/docs/MontantTotal.md +1 -1
- data/docs/{DirectionFlux.md → MontantTvaLigne.md} +2 -2
- data/docs/{SyntaxeFlux.md → MontantTvaTotal.md} +2 -2
- data/docs/{TypeFlux.md → StatutCelery.md} +2 -2
- data/docs/StatutTache.md +1 -1
- data/docs/TraitementFactureApi.md +1 -1
- data/factpulse.gemspec +2 -2
- data/lib/factpulse/api/afnorpdppa_api.rb +1 -1
- data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +1 -1
- data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +1 -1
- data/lib/factpulse/api/chorus_pro_api.rb +1 -1
- data/lib/factpulse/api/sant_api.rb +1 -1
- data/lib/factpulse/api/traitement_facture_api.rb +3 -3
- data/lib/factpulse/api/utilisateur_api.rb +1 -1
- data/lib/factpulse/api_client.rb +1 -1
- data/lib/factpulse/api_error.rb +1 -1
- data/lib/factpulse/api_model_base.rb +1 -1
- data/lib/factpulse/configuration.rb +1 -1
- data/lib/factpulse/models/adresse_electronique.rb +1 -1
- data/lib/factpulse/models/adresse_postale.rb +1 -1
- data/lib/factpulse/models/body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post.rb +1 -1
- data/lib/factpulse/models/body_completer_facture_api_v1_chorus_pro_factures_completer_post.rb +1 -1
- data/lib/factpulse/models/body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get.rb +1 -1
- data/lib/factpulse/models/body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post.rb +1 -1
- data/lib/factpulse/models/body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post.rb +1 -1
- data/lib/factpulse/models/body_recycler_facture_api_v1_chorus_pro_factures_recycler_post.rb +1 -1
- data/lib/factpulse/models/body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post.rb +1 -1
- data/lib/factpulse/models/body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post.rb +1 -1
- data/lib/factpulse/models/body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post.rb +1 -1
- data/lib/factpulse/models/body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post.rb +1 -1
- data/lib/factpulse/models/body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post.rb +1 -1
- data/lib/factpulse/models/cadre_de_facturation.rb +1 -1
- data/lib/factpulse/models/categorie_tva.rb +11 -11
- data/lib/factpulse/models/certificate_info_response.rb +1 -1
- data/lib/factpulse/models/chorus_pro_credentials.rb +1 -1
- data/lib/factpulse/models/code_cadre_facturation.rb +1 -1
- data/lib/factpulse/models/code_raison_reduction.rb +9 -9
- data/lib/factpulse/models/consulter_facture_request.rb +1 -1
- data/lib/factpulse/models/consulter_facture_response.rb +1 -1
- data/lib/factpulse/models/consulter_structure_request.rb +1 -1
- data/lib/factpulse/models/consulter_structure_response.rb +1 -1
- data/lib/factpulse/models/credentials_afnor.rb +1 -1
- data/lib/factpulse/models/credentials_chorus_pro.rb +1 -1
- data/lib/factpulse/models/destinataire.rb +1 -1
- data/lib/factpulse/models/destination.rb +1 -1
- data/lib/factpulse/models/destination_afnor.rb +1 -1
- data/lib/factpulse/models/destination_chorus_pro.rb +1 -1
- data/lib/factpulse/models/donnees_facture_simplifiees.rb +1 -1
- data/lib/factpulse/models/facture_enrichie_info_input.rb +1 -1
- data/lib/factpulse/models/facture_enrichie_info_output.rb +1 -1
- data/lib/factpulse/models/facture_factur_x.rb +1 -1
- data/lib/factpulse/models/format_sortie.rb +1 -1
- data/lib/factpulse/models/fournisseur.rb +1 -1
- data/lib/factpulse/models/generate_certificate_request.rb +1 -1
- data/lib/factpulse/models/generate_certificate_response.rb +1 -1
- data/lib/factpulse/models/http_validation_error.rb +1 -1
- data/lib/factpulse/models/information_signature_api.rb +1 -1
- data/lib/factpulse/models/ligne_de_poste.rb +1 -1
- data/lib/factpulse/models/ligne_de_poste_montant_remise_ht.rb +1 -1
- data/lib/factpulse/models/ligne_de_poste_taux_tva_manuel.rb +1 -1
- data/lib/factpulse/models/ligne_de_tva.rb +2 -2
- data/lib/factpulse/models/mode_depot.rb +1 -1
- data/lib/factpulse/models/mode_paiement.rb +1 -1
- data/lib/factpulse/models/montant_a_payer.rb +1 -1
- data/lib/factpulse/models/montant_base_ht.rb +1 -1
- data/lib/factpulse/models/montant_ht_total.rb +1 -1
- data/lib/factpulse/models/montant_ht_total1.rb +1 -1
- data/lib/factpulse/models/montant_remise_globale_ttc.rb +1 -1
- data/lib/factpulse/models/montant_total.rb +2 -2
- data/lib/factpulse/models/montant_total_acompte.rb +1 -1
- data/lib/factpulse/models/montant_total_ligne_ht.rb +1 -1
- data/lib/factpulse/models/montant_ttc_total.rb +1 -1
- data/lib/factpulse/models/montant_ttc_total1.rb +1 -1
- data/lib/factpulse/models/montant_tva.rb +1 -2
- data/lib/factpulse/models/montant_tva1.rb +2 -2
- data/lib/factpulse/models/montant_tva_ligne.rb +104 -0
- data/lib/factpulse/models/montant_tva_total.rb +104 -0
- data/lib/factpulse/models/montant_unitaire_ht.rb +1 -1
- data/lib/factpulse/models/obtenir_id_chorus_pro_request.rb +1 -1
- data/lib/factpulse/models/obtenir_id_chorus_pro_response.rb +1 -1
- data/lib/factpulse/models/options_processing.rb +1 -1
- data/lib/factpulse/models/parametres_signature.rb +1 -1
- data/lib/factpulse/models/parametres_structure.rb +1 -1
- data/lib/factpulse/models/pdf_factur_x_info.rb +1 -1
- data/lib/factpulse/models/piece_jointe_complementaire.rb +1 -1
- data/lib/factpulse/models/profil_api.rb +1 -1
- data/lib/factpulse/models/quantite.rb +1 -1
- data/lib/factpulse/models/quota_info.rb +1 -1
- data/lib/factpulse/models/rechercher_services_response.rb +1 -1
- data/lib/factpulse/models/rechercher_structure_request.rb +1 -1
- data/lib/factpulse/models/rechercher_structure_response.rb +1 -1
- data/lib/factpulse/models/references.rb +1 -1
- data/lib/factpulse/models/reponse_tache.rb +1 -1
- data/lib/factpulse/models/reponse_validation_erreur.rb +1 -1
- data/lib/factpulse/models/reponse_validation_succes.rb +1 -1
- data/lib/factpulse/models/resultat_afnor.rb +1 -1
- data/lib/factpulse/models/resultat_chorus_pro.rb +1 -1
- data/lib/factpulse/models/resultat_validation_pdfapi.rb +1 -1
- data/lib/factpulse/models/scheme_id.rb +7 -7
- data/lib/factpulse/models/service_structure.rb +1 -1
- data/lib/factpulse/models/signature_info.rb +1 -1
- data/lib/factpulse/models/soumettre_facture_complete_request.rb +1 -1
- data/lib/factpulse/models/soumettre_facture_complete_response.rb +1 -1
- data/lib/factpulse/models/soumettre_facture_request.rb +1 -1
- data/lib/factpulse/models/soumettre_facture_response.rb +1 -1
- data/lib/factpulse/models/{direction_flux.rb → statut_celery.rb} +10 -7
- data/lib/factpulse/models/statut_facture.rb +1 -1
- data/lib/factpulse/models/statut_tache.rb +26 -3
- data/lib/factpulse/models/structure_info.rb +1 -1
- data/lib/factpulse/models/tauxmanuel.rb +1 -1
- data/lib/factpulse/models/type_facture.rb +1 -1
- data/lib/factpulse/models/type_tva.rb +1 -1
- data/lib/factpulse/models/unite.rb +1 -1
- data/lib/factpulse/models/utilisateur.rb +1 -1
- data/lib/factpulse/models/validation_error.rb +1 -1
- data/lib/factpulse/models/validation_error_loc_inner.rb +1 -1
- data/lib/factpulse/version.rb +2 -2
- data/lib/factpulse.rb +4 -13
- metadata +17 -27
- data/docs/FluxResume.md +0 -32
- data/docs/PDPCredentials.md +0 -26
- data/docs/ProfilFlux.md +0 -15
- data/docs/ReponseHealthcheckAFNOR.md +0 -22
- data/docs/ReponseRechercheFlux.md +0 -24
- data/docs/ReponseSoumissionFlux.md +0 -30
- data/docs/RequeteRechercheFlux.md +0 -34
- data/docs/RequeteSoumissionFlux.md +0 -28
- data/docs/StatutAcquittement.md +0 -15
- data/lib/factpulse/models/flux_resume.rb +0 -251
- data/lib/factpulse/models/pdp_credentials.rb +0 -257
- data/lib/factpulse/models/profil_flux.rb +0 -41
- data/lib/factpulse/models/reponse_healthcheck_afnor.rb +0 -220
- data/lib/factpulse/models/reponse_recherche_flux.rb +0 -249
- data/lib/factpulse/models/reponse_soumission_flux.rb +0 -294
- data/lib/factpulse/models/requete_recherche_flux.rb +0 -306
- data/lib/factpulse/models/requete_soumission_flux.rb +0 -238
- data/lib/factpulse/models/statut_acquittement.rb +0 -41
- data/lib/factpulse/models/syntaxe_flux.rb +0 -43
- data/lib/factpulse/models/type_flux.rb +0 -43
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#API REST FactPulse
|
|
3
3
|
|
|
4
|
-
# 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 :** `https://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 : https://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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\" }' ``` **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 :** https://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 : https://www.factpulse.fr/documentation-api/
|
|
4
|
+
# 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 :** `https://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 : https://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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"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 :** https://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 : https://www.factpulse.fr/documentation-api/
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
|
7
7
|
|
data/lib/factpulse/version.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#API REST FactPulse
|
|
3
3
|
|
|
4
|
-
# 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 :** `https://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 : https://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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\" }' ``` **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 :** https://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 : https://www.factpulse.fr/documentation-api/
|
|
4
|
+
# 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 :** `https://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 : https://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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"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 :** https://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 : https://www.factpulse.fr/documentation-api/
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
|
7
7
|
|
|
@@ -11,5 +11,5 @@ Generator version: 7.18.0-SNAPSHOT
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
module FactPulse
|
|
14
|
-
VERSION = '2.0.
|
|
14
|
+
VERSION = '2.0.6'
|
|
15
15
|
end
|
data/lib/factpulse.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#API REST FactPulse
|
|
3
3
|
|
|
4
|
-
# 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 :** `https://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 : https://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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\" }' ``` **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 :** https://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 : https://www.factpulse.fr/documentation-api/
|
|
4
|
+
# 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 :** `https://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 : https://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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"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 https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"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 :** https://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 : https://www.factpulse.fr/documentation-api/
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
|
7
7
|
|
|
@@ -47,12 +47,10 @@ require 'factpulse/models/destinataire'
|
|
|
47
47
|
require 'factpulse/models/destination'
|
|
48
48
|
require 'factpulse/models/destination_afnor'
|
|
49
49
|
require 'factpulse/models/destination_chorus_pro'
|
|
50
|
-
require 'factpulse/models/direction_flux'
|
|
51
50
|
require 'factpulse/models/donnees_facture_simplifiees'
|
|
52
51
|
require 'factpulse/models/facture_enrichie_info_input'
|
|
53
52
|
require 'factpulse/models/facture_enrichie_info_output'
|
|
54
53
|
require 'factpulse/models/facture_factur_x'
|
|
55
|
-
require 'factpulse/models/flux_resume'
|
|
56
54
|
require 'factpulse/models/format_sortie'
|
|
57
55
|
require 'factpulse/models/fournisseur'
|
|
58
56
|
require 'factpulse/models/generate_certificate_request'
|
|
@@ -77,31 +75,26 @@ require 'factpulse/models/montant_ttc_total'
|
|
|
77
75
|
require 'factpulse/models/montant_ttc_total1'
|
|
78
76
|
require 'factpulse/models/montant_tva'
|
|
79
77
|
require 'factpulse/models/montant_tva1'
|
|
78
|
+
require 'factpulse/models/montant_tva_ligne'
|
|
79
|
+
require 'factpulse/models/montant_tva_total'
|
|
80
80
|
require 'factpulse/models/montant_unitaire_ht'
|
|
81
81
|
require 'factpulse/models/obtenir_id_chorus_pro_request'
|
|
82
82
|
require 'factpulse/models/obtenir_id_chorus_pro_response'
|
|
83
83
|
require 'factpulse/models/options_processing'
|
|
84
84
|
require 'factpulse/models/pdf_factur_x_info'
|
|
85
|
-
require 'factpulse/models/pdp_credentials'
|
|
86
85
|
require 'factpulse/models/parametres_signature'
|
|
87
86
|
require 'factpulse/models/parametres_structure'
|
|
88
87
|
require 'factpulse/models/piece_jointe_complementaire'
|
|
89
88
|
require 'factpulse/models/profil_api'
|
|
90
|
-
require 'factpulse/models/profil_flux'
|
|
91
89
|
require 'factpulse/models/quantite'
|
|
92
90
|
require 'factpulse/models/quota_info'
|
|
93
91
|
require 'factpulse/models/rechercher_services_response'
|
|
94
92
|
require 'factpulse/models/rechercher_structure_request'
|
|
95
93
|
require 'factpulse/models/rechercher_structure_response'
|
|
96
94
|
require 'factpulse/models/references'
|
|
97
|
-
require 'factpulse/models/reponse_healthcheck_afnor'
|
|
98
|
-
require 'factpulse/models/reponse_recherche_flux'
|
|
99
|
-
require 'factpulse/models/reponse_soumission_flux'
|
|
100
95
|
require 'factpulse/models/reponse_tache'
|
|
101
96
|
require 'factpulse/models/reponse_validation_erreur'
|
|
102
97
|
require 'factpulse/models/reponse_validation_succes'
|
|
103
|
-
require 'factpulse/models/requete_recherche_flux'
|
|
104
|
-
require 'factpulse/models/requete_soumission_flux'
|
|
105
98
|
require 'factpulse/models/resultat_afnor'
|
|
106
99
|
require 'factpulse/models/resultat_chorus_pro'
|
|
107
100
|
require 'factpulse/models/resultat_validation_pdfapi'
|
|
@@ -112,14 +105,12 @@ require 'factpulse/models/soumettre_facture_complete_request'
|
|
|
112
105
|
require 'factpulse/models/soumettre_facture_complete_response'
|
|
113
106
|
require 'factpulse/models/soumettre_facture_request'
|
|
114
107
|
require 'factpulse/models/soumettre_facture_response'
|
|
115
|
-
require 'factpulse/models/
|
|
108
|
+
require 'factpulse/models/statut_celery'
|
|
116
109
|
require 'factpulse/models/statut_facture'
|
|
117
110
|
require 'factpulse/models/statut_tache'
|
|
118
111
|
require 'factpulse/models/structure_info'
|
|
119
|
-
require 'factpulse/models/syntaxe_flux'
|
|
120
112
|
require 'factpulse/models/tauxmanuel'
|
|
121
113
|
require 'factpulse/models/type_facture'
|
|
122
|
-
require 'factpulse/models/type_flux'
|
|
123
114
|
require 'factpulse/models/type_tva'
|
|
124
115
|
require 'factpulse/models/unite'
|
|
125
116
|
require 'factpulse/models/utilisateur'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: factpulse
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-11-
|
|
11
|
+
date: 2025-11-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: typhoeus
|
|
@@ -84,7 +84,15 @@ description: " API REST pour la facturation électronique en France : Factur-X,
|
|
|
84
84
|
Une fois le mot de passe créé, vous pourrez utiliser l'API **Exemple de requête
|
|
85
85
|
:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type:
|
|
86
86
|
application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\":
|
|
87
|
-
\"votre_mot_de_passe\" }' ``` **
|
|
87
|
+
\"votre_mot_de_passe\" }' ``` **Paramètre optionnel `client_uid` :** Pour sélectionner
|
|
88
|
+
les credentials d'un client spécifique (PA/PDP, Chorus Pro, certificats de signature),
|
|
89
|
+
ajoutez `client_uid` : ```bash curl -X POST https://www.factpulse.fr/api/token/
|
|
90
|
+
\\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\",
|
|
91
|
+
\ \"password\": \"votre_mot_de_passe\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\"
|
|
92
|
+
\ }' ``` Le `client_uid` sera inclus dans le JWT et permettra à l'API d'utiliser
|
|
93
|
+
automatiquement : - Les credentials AFNOR/PDP configurés pour ce client - Les credentials
|
|
94
|
+
Chorus Pro configurés pour ce client - Les certificats de signature électronique
|
|
95
|
+
configurés pour ce client **Réponse :** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\",
|
|
88
96
|
\ // Token d'accès (validité: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\"
|
|
89
97
|
\ // Token de rafraîchissement (validité: 7 jours) } ``` **Avantages :** - ✅ Automatisation
|
|
90
98
|
complète (CI/CD, scripts) - ✅ Gestion programmatique des tokens - ✅ Support du refresh
|
|
@@ -147,12 +155,10 @@ files:
|
|
|
147
155
|
- docs/Destination.md
|
|
148
156
|
- docs/DestinationAFNOR.md
|
|
149
157
|
- docs/DestinationChorusPro.md
|
|
150
|
-
- docs/DirectionFlux.md
|
|
151
158
|
- docs/DonneesFactureSimplifiees.md
|
|
152
159
|
- docs/FactureEnrichieInfoInput.md
|
|
153
160
|
- docs/FactureEnrichieInfoOutput.md
|
|
154
161
|
- docs/FactureFacturX.md
|
|
155
|
-
- docs/FluxResume.md
|
|
156
162
|
- docs/FormatSortie.md
|
|
157
163
|
- docs/Fournisseur.md
|
|
158
164
|
- docs/GenerateCertificateRequest.md
|
|
@@ -177,31 +183,26 @@ files:
|
|
|
177
183
|
- docs/MontantTtcTotal1.md
|
|
178
184
|
- docs/MontantTva.md
|
|
179
185
|
- docs/MontantTva1.md
|
|
186
|
+
- docs/MontantTvaLigne.md
|
|
187
|
+
- docs/MontantTvaTotal.md
|
|
180
188
|
- docs/MontantUnitaireHt.md
|
|
181
189
|
- docs/ObtenirIdChorusProRequest.md
|
|
182
190
|
- docs/ObtenirIdChorusProResponse.md
|
|
183
191
|
- docs/OptionsProcessing.md
|
|
184
192
|
- docs/PDFFacturXInfo.md
|
|
185
|
-
- docs/PDPCredentials.md
|
|
186
193
|
- docs/ParametresSignature.md
|
|
187
194
|
- docs/ParametresStructure.md
|
|
188
195
|
- docs/PieceJointeComplementaire.md
|
|
189
196
|
- docs/ProfilAPI.md
|
|
190
|
-
- docs/ProfilFlux.md
|
|
191
197
|
- docs/Quantite.md
|
|
192
198
|
- docs/QuotaInfo.md
|
|
193
199
|
- docs/RechercherServicesResponse.md
|
|
194
200
|
- docs/RechercherStructureRequest.md
|
|
195
201
|
- docs/RechercherStructureResponse.md
|
|
196
202
|
- docs/References.md
|
|
197
|
-
- docs/ReponseHealthcheckAFNOR.md
|
|
198
|
-
- docs/ReponseRechercheFlux.md
|
|
199
|
-
- docs/ReponseSoumissionFlux.md
|
|
200
203
|
- docs/ReponseTache.md
|
|
201
204
|
- docs/ReponseValidationErreur.md
|
|
202
205
|
- docs/ReponseValidationSucces.md
|
|
203
|
-
- docs/RequeteRechercheFlux.md
|
|
204
|
-
- docs/RequeteSoumissionFlux.md
|
|
205
206
|
- docs/ResultatAFNOR.md
|
|
206
207
|
- docs/ResultatChorusPro.md
|
|
207
208
|
- docs/ResultatValidationPDFAPI.md
|
|
@@ -213,15 +214,13 @@ files:
|
|
|
213
214
|
- docs/SoumettreFactureCompleteResponse.md
|
|
214
215
|
- docs/SoumettreFactureRequest.md
|
|
215
216
|
- docs/SoumettreFactureResponse.md
|
|
216
|
-
- docs/
|
|
217
|
+
- docs/StatutCelery.md
|
|
217
218
|
- docs/StatutFacture.md
|
|
218
219
|
- docs/StatutTache.md
|
|
219
220
|
- docs/StructureInfo.md
|
|
220
|
-
- docs/SyntaxeFlux.md
|
|
221
221
|
- docs/Tauxmanuel.md
|
|
222
222
|
- docs/TraitementFactureApi.md
|
|
223
223
|
- docs/TypeFacture.md
|
|
224
|
-
- docs/TypeFlux.md
|
|
225
224
|
- docs/TypeTVA.md
|
|
226
225
|
- docs/Unite.md
|
|
227
226
|
- docs/Utilisateur.md
|
|
@@ -271,12 +270,10 @@ files:
|
|
|
271
270
|
- lib/factpulse/models/destination.rb
|
|
272
271
|
- lib/factpulse/models/destination_afnor.rb
|
|
273
272
|
- lib/factpulse/models/destination_chorus_pro.rb
|
|
274
|
-
- lib/factpulse/models/direction_flux.rb
|
|
275
273
|
- lib/factpulse/models/donnees_facture_simplifiees.rb
|
|
276
274
|
- lib/factpulse/models/facture_enrichie_info_input.rb
|
|
277
275
|
- lib/factpulse/models/facture_enrichie_info_output.rb
|
|
278
276
|
- lib/factpulse/models/facture_factur_x.rb
|
|
279
|
-
- lib/factpulse/models/flux_resume.rb
|
|
280
277
|
- lib/factpulse/models/format_sortie.rb
|
|
281
278
|
- lib/factpulse/models/fournisseur.rb
|
|
282
279
|
- lib/factpulse/models/generate_certificate_request.rb
|
|
@@ -301,6 +298,8 @@ files:
|
|
|
301
298
|
- lib/factpulse/models/montant_ttc_total1.rb
|
|
302
299
|
- lib/factpulse/models/montant_tva.rb
|
|
303
300
|
- lib/factpulse/models/montant_tva1.rb
|
|
301
|
+
- lib/factpulse/models/montant_tva_ligne.rb
|
|
302
|
+
- lib/factpulse/models/montant_tva_total.rb
|
|
304
303
|
- lib/factpulse/models/montant_unitaire_ht.rb
|
|
305
304
|
- lib/factpulse/models/obtenir_id_chorus_pro_request.rb
|
|
306
305
|
- lib/factpulse/models/obtenir_id_chorus_pro_response.rb
|
|
@@ -308,24 +307,17 @@ files:
|
|
|
308
307
|
- lib/factpulse/models/parametres_signature.rb
|
|
309
308
|
- lib/factpulse/models/parametres_structure.rb
|
|
310
309
|
- lib/factpulse/models/pdf_factur_x_info.rb
|
|
311
|
-
- lib/factpulse/models/pdp_credentials.rb
|
|
312
310
|
- lib/factpulse/models/piece_jointe_complementaire.rb
|
|
313
311
|
- lib/factpulse/models/profil_api.rb
|
|
314
|
-
- lib/factpulse/models/profil_flux.rb
|
|
315
312
|
- lib/factpulse/models/quantite.rb
|
|
316
313
|
- lib/factpulse/models/quota_info.rb
|
|
317
314
|
- lib/factpulse/models/rechercher_services_response.rb
|
|
318
315
|
- lib/factpulse/models/rechercher_structure_request.rb
|
|
319
316
|
- lib/factpulse/models/rechercher_structure_response.rb
|
|
320
317
|
- lib/factpulse/models/references.rb
|
|
321
|
-
- lib/factpulse/models/reponse_healthcheck_afnor.rb
|
|
322
|
-
- lib/factpulse/models/reponse_recherche_flux.rb
|
|
323
|
-
- lib/factpulse/models/reponse_soumission_flux.rb
|
|
324
318
|
- lib/factpulse/models/reponse_tache.rb
|
|
325
319
|
- lib/factpulse/models/reponse_validation_erreur.rb
|
|
326
320
|
- lib/factpulse/models/reponse_validation_succes.rb
|
|
327
|
-
- lib/factpulse/models/requete_recherche_flux.rb
|
|
328
|
-
- lib/factpulse/models/requete_soumission_flux.rb
|
|
329
321
|
- lib/factpulse/models/resultat_afnor.rb
|
|
330
322
|
- lib/factpulse/models/resultat_chorus_pro.rb
|
|
331
323
|
- lib/factpulse/models/resultat_validation_pdfapi.rb
|
|
@@ -336,14 +328,12 @@ files:
|
|
|
336
328
|
- lib/factpulse/models/soumettre_facture_complete_response.rb
|
|
337
329
|
- lib/factpulse/models/soumettre_facture_request.rb
|
|
338
330
|
- lib/factpulse/models/soumettre_facture_response.rb
|
|
339
|
-
- lib/factpulse/models/
|
|
331
|
+
- lib/factpulse/models/statut_celery.rb
|
|
340
332
|
- lib/factpulse/models/statut_facture.rb
|
|
341
333
|
- lib/factpulse/models/statut_tache.rb
|
|
342
334
|
- lib/factpulse/models/structure_info.rb
|
|
343
|
-
- lib/factpulse/models/syntaxe_flux.rb
|
|
344
335
|
- lib/factpulse/models/tauxmanuel.rb
|
|
345
336
|
- lib/factpulse/models/type_facture.rb
|
|
346
|
-
- lib/factpulse/models/type_flux.rb
|
|
347
337
|
- lib/factpulse/models/type_tva.rb
|
|
348
338
|
- lib/factpulse/models/unite.rb
|
|
349
339
|
- lib/factpulse/models/utilisateur.rb
|
data/docs/FluxResume.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# FactPulse::FluxResume
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **flow_id** | **String** | | |
|
|
8
|
-
| **tracking_id** | **String** | | [optional] |
|
|
9
|
-
| **nom** | **String** | | |
|
|
10
|
-
| **type_flux** | **String** | | [optional] |
|
|
11
|
-
| **direction_flux** | **String** | | [optional] |
|
|
12
|
-
| **statut_acquittement** | **String** | | [optional] |
|
|
13
|
-
| **date_creation** | **String** | | [optional] |
|
|
14
|
-
| **date_maj** | **String** | | [optional] |
|
|
15
|
-
|
|
16
|
-
## Example
|
|
17
|
-
|
|
18
|
-
```ruby
|
|
19
|
-
require 'factpulse'
|
|
20
|
-
|
|
21
|
-
instance = FactPulse::FluxResume.new(
|
|
22
|
-
flow_id: null,
|
|
23
|
-
tracking_id: null,
|
|
24
|
-
nom: null,
|
|
25
|
-
type_flux: null,
|
|
26
|
-
direction_flux: null,
|
|
27
|
-
statut_acquittement: null,
|
|
28
|
-
date_creation: null,
|
|
29
|
-
date_maj: null
|
|
30
|
-
)
|
|
31
|
-
```
|
|
32
|
-
|
data/docs/PDPCredentials.md
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# FactPulse::PDPCredentials
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **flow_service_url** | **String** | URL de base du Flow Service AFNOR | |
|
|
8
|
-
| **directory_service_url** | **String** | | [optional] |
|
|
9
|
-
| **token_url** | **String** | URL du serveur OAuth2 | |
|
|
10
|
-
| **client_id** | **String** | Client ID OAuth2 | |
|
|
11
|
-
| **client_secret** | **String** | Client Secret OAuth2 (sensible) | |
|
|
12
|
-
|
|
13
|
-
## Example
|
|
14
|
-
|
|
15
|
-
```ruby
|
|
16
|
-
require 'factpulse'
|
|
17
|
-
|
|
18
|
-
instance = FactPulse::PDPCredentials.new(
|
|
19
|
-
flow_service_url: https://api.pdp-example.fr/flow/v1,
|
|
20
|
-
directory_service_url: null,
|
|
21
|
-
token_url: https://auth.pdp-example.fr/oauth/token,
|
|
22
|
-
client_id: factpulse_prod_abc123,
|
|
23
|
-
client_secret: secret_xyz789
|
|
24
|
-
)
|
|
25
|
-
```
|
|
26
|
-
|
data/docs/ProfilFlux.md
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# FactPulse::ReponseHealthcheckAFNOR
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **flow_service_ok** | **Boolean** | État du Flow Service API | |
|
|
8
|
-
| **directory_service_ok** | **Boolean** | État du Directory Service API | |
|
|
9
|
-
| **message** | **String** | Message descriptif de l'état | |
|
|
10
|
-
|
|
11
|
-
## Example
|
|
12
|
-
|
|
13
|
-
```ruby
|
|
14
|
-
require 'factpulse'
|
|
15
|
-
|
|
16
|
-
instance = FactPulse::ReponseHealthcheckAFNOR.new(
|
|
17
|
-
flow_service_ok: null,
|
|
18
|
-
directory_service_ok: null,
|
|
19
|
-
message: null
|
|
20
|
-
)
|
|
21
|
-
```
|
|
22
|
-
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# FactPulse::ReponseRechercheFlux
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **total** | **Integer** | Nombre total de résultats | |
|
|
8
|
-
| **offset** | **Integer** | Décalage appliqué | |
|
|
9
|
-
| **limit** | **Integer** | Limite de résultats | |
|
|
10
|
-
| **resultats** | [**Array<FluxResume>**](FluxResume.md) | Liste des flux trouvés | |
|
|
11
|
-
|
|
12
|
-
## Example
|
|
13
|
-
|
|
14
|
-
```ruby
|
|
15
|
-
require 'factpulse'
|
|
16
|
-
|
|
17
|
-
instance = FactPulse::ReponseRechercheFlux.new(
|
|
18
|
-
total: null,
|
|
19
|
-
offset: null,
|
|
20
|
-
limit: null,
|
|
21
|
-
resultats: null
|
|
22
|
-
)
|
|
23
|
-
```
|
|
24
|
-
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# FactPulse::ReponseSoumissionFlux
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **flow_id** | **String** | Identifiant unique du flux généré par la PDP | |
|
|
8
|
-
| **tracking_id** | **String** | | [optional] |
|
|
9
|
-
| **nom** | **String** | Nom du flux | |
|
|
10
|
-
| **syntaxe_flux** | **String** | Syntaxe du flux (CII, UBL, etc.) | |
|
|
11
|
-
| **profil_flux** | **String** | | [optional] |
|
|
12
|
-
| **sha256** | **String** | Hash SHA256 du fichier soumis | |
|
|
13
|
-
| **message** | **String** | Message de confirmation | |
|
|
14
|
-
|
|
15
|
-
## Example
|
|
16
|
-
|
|
17
|
-
```ruby
|
|
18
|
-
require 'factpulse'
|
|
19
|
-
|
|
20
|
-
instance = FactPulse::ReponseSoumissionFlux.new(
|
|
21
|
-
flow_id: null,
|
|
22
|
-
tracking_id: null,
|
|
23
|
-
nom: null,
|
|
24
|
-
syntaxe_flux: null,
|
|
25
|
-
profil_flux: null,
|
|
26
|
-
sha256: null,
|
|
27
|
-
message: null
|
|
28
|
-
)
|
|
29
|
-
```
|
|
30
|
-
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# FactPulse::RequeteRechercheFlux
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **date_maj_apres** | **Time** | | [optional] |
|
|
8
|
-
| **date_maj_avant** | **Time** | | [optional] |
|
|
9
|
-
| **type_flux** | [**Array<TypeFlux>**](TypeFlux.md) | | [optional] |
|
|
10
|
-
| **direction_flux** | [**Array<DirectionFlux>**](DirectionFlux.md) | | [optional] |
|
|
11
|
-
| **tracking_id** | **String** | | [optional] |
|
|
12
|
-
| **flow_id** | **String** | | [optional] |
|
|
13
|
-
| **statut_acquittement** | [**StatutAcquittement**](StatutAcquittement.md) | | [optional] |
|
|
14
|
-
| **offset** | **Integer** | Décalage pour la pagination | [optional][default to 0] |
|
|
15
|
-
| **limit** | **Integer** | Nombre maximum de résultats (max 100) | [optional][default to 25] |
|
|
16
|
-
|
|
17
|
-
## Example
|
|
18
|
-
|
|
19
|
-
```ruby
|
|
20
|
-
require 'factpulse'
|
|
21
|
-
|
|
22
|
-
instance = FactPulse::RequeteRechercheFlux.new(
|
|
23
|
-
date_maj_apres: null,
|
|
24
|
-
date_maj_avant: null,
|
|
25
|
-
type_flux: null,
|
|
26
|
-
direction_flux: null,
|
|
27
|
-
tracking_id: null,
|
|
28
|
-
flow_id: null,
|
|
29
|
-
statut_acquittement: null,
|
|
30
|
-
offset: null,
|
|
31
|
-
limit: null
|
|
32
|
-
)
|
|
33
|
-
```
|
|
34
|
-
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# FactPulse::RequeteSoumissionFlux
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **nom_flux** | **String** | Nom du flux (ex: 'Facture 2025-001') | |
|
|
8
|
-
| **syntaxe_flux** | [**SyntaxeFlux**](SyntaxeFlux.md) | Syntaxe du flux (CII pour Factur-X) | [optional] |
|
|
9
|
-
| **profil_flux** | [**ProfilFlux**](ProfilFlux.md) | | [optional] |
|
|
10
|
-
| **tracking_id** | **String** | | [optional] |
|
|
11
|
-
| **request_id** | **String** | | [optional] |
|
|
12
|
-
| **pdp_credentials** | [**PDPCredentials**](PDPCredentials.md) | | [optional] |
|
|
13
|
-
|
|
14
|
-
## Example
|
|
15
|
-
|
|
16
|
-
```ruby
|
|
17
|
-
require 'factpulse'
|
|
18
|
-
|
|
19
|
-
instance = FactPulse::RequeteSoumissionFlux.new(
|
|
20
|
-
nom_flux: Facture 2025-001,
|
|
21
|
-
syntaxe_flux: null,
|
|
22
|
-
profil_flux: null,
|
|
23
|
-
tracking_id: null,
|
|
24
|
-
request_id: null,
|
|
25
|
-
pdp_credentials: null
|
|
26
|
-
)
|
|
27
|
-
```
|
|
28
|
-
|
data/docs/StatutAcquittement.md
DELETED