factpulse 2.0.8__tar.gz
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.
Potentially problematic release.
This version of factpulse might be problematic. Click here for more details.
- factpulse-2.0.8/LICENSE +21 -0
- factpulse-2.0.8/PKG-INFO +400 -0
- factpulse-2.0.8/README.md +380 -0
- factpulse-2.0.8/factpulse/__init__.py +236 -0
- factpulse-2.0.8/factpulse/api/__init__.py +11 -0
- factpulse-2.0.8/factpulse/api/afnorpdppa_api.py +284 -0
- factpulse-2.0.8/factpulse/api/afnorpdppa_directory_service_api.py +5046 -0
- factpulse-2.0.8/factpulse/api/afnorpdppa_flow_service_api.py +1075 -0
- factpulse-2.0.8/factpulse/api/chorus_pro_api.py +4506 -0
- factpulse-2.0.8/factpulse/api/sant_api.py +281 -0
- factpulse-2.0.8/factpulse/api/traitement_facture_api.py +3437 -0
- factpulse-2.0.8/factpulse/api/utilisateur_api.py +282 -0
- factpulse-2.0.8/factpulse/api_client.py +804 -0
- factpulse-2.0.8/factpulse/api_response.py +21 -0
- factpulse-2.0.8/factpulse/configuration.py +585 -0
- factpulse-2.0.8/factpulse/exceptions.py +219 -0
- factpulse-2.0.8/factpulse/models/__init__.py +104 -0
- factpulse-2.0.8/factpulse/models/adresse_electronique.py +90 -0
- factpulse-2.0.8/factpulse/models/adresse_postale.py +120 -0
- factpulse-2.0.8/factpulse/models/body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_completer_facture_api_v1_chorus_pro_factures_completer_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get.py +102 -0
- factpulse-2.0.8/factpulse/models/body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_recycler_facture_api_v1_chorus_pro_factures_recycler_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post.py +104 -0
- factpulse-2.0.8/factpulse/models/body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post.py +104 -0
- factpulse-2.0.8/factpulse/models/cadre_de_facturation.py +102 -0
- factpulse-2.0.8/factpulse/models/categorie_tva.py +44 -0
- factpulse-2.0.8/factpulse/models/certificate_info_response.py +114 -0
- factpulse-2.0.8/factpulse/models/chorus_pro_credentials.py +95 -0
- factpulse-2.0.8/factpulse/models/code_cadre_facturation.py +39 -0
- factpulse-2.0.8/factpulse/models/code_raison_reduction.py +42 -0
- factpulse-2.0.8/factpulse/models/consulter_facture_request.py +98 -0
- factpulse-2.0.8/factpulse/models/consulter_facture_response.py +142 -0
- factpulse-2.0.8/factpulse/models/consulter_structure_request.py +100 -0
- factpulse-2.0.8/factpulse/models/consulter_structure_response.py +142 -0
- factpulse-2.0.8/factpulse/models/credentials_afnor.py +106 -0
- factpulse-2.0.8/factpulse/models/credentials_chorus_pro.py +115 -0
- factpulse-2.0.8/factpulse/models/destinataire.py +116 -0
- factpulse-2.0.8/factpulse/models/destination.py +140 -0
- factpulse-2.0.8/factpulse/models/destination_afnor.py +127 -0
- factpulse-2.0.8/factpulse/models/destination_chorus_pro.py +108 -0
- factpulse-2.0.8/factpulse/models/donnees_facture_simplifiees.py +124 -0
- factpulse-2.0.8/factpulse/models/facture_enrichie_info_input.py +123 -0
- factpulse-2.0.8/factpulse/models/facture_enrichie_info_output.py +133 -0
- factpulse-2.0.8/factpulse/models/facture_factur_x.py +173 -0
- factpulse-2.0.8/factpulse/models/format_sortie.py +37 -0
- factpulse-2.0.8/factpulse/models/fournisseur.py +146 -0
- factpulse-2.0.8/factpulse/models/generate_certificate_request.py +118 -0
- factpulse-2.0.8/factpulse/models/generate_certificate_response.py +106 -0
- factpulse-2.0.8/factpulse/models/http_validation_error.py +95 -0
- factpulse-2.0.8/factpulse/models/information_signature_api.py +122 -0
- factpulse-2.0.8/factpulse/models/ligne_de_poste.py +202 -0
- factpulse-2.0.8/factpulse/models/ligne_de_tva.py +131 -0
- factpulse-2.0.8/factpulse/models/mode_depot.py +38 -0
- factpulse-2.0.8/factpulse/models/mode_paiement.py +41 -0
- factpulse-2.0.8/factpulse/models/montant_ht_total.py +139 -0
- factpulse-2.0.8/factpulse/models/montant_ht_total1.py +139 -0
- factpulse-2.0.8/factpulse/models/montant_total.py +158 -0
- factpulse-2.0.8/factpulse/models/montant_ttc_total.py +139 -0
- factpulse-2.0.8/factpulse/models/montant_ttc_total1.py +139 -0
- factpulse-2.0.8/factpulse/models/montant_tva.py +139 -0
- factpulse-2.0.8/factpulse/models/montant_tva1.py +139 -0
- factpulse-2.0.8/factpulse/models/montant_unitaire_ht.py +139 -0
- factpulse-2.0.8/factpulse/models/obtenir_id_chorus_pro_request.py +100 -0
- factpulse-2.0.8/factpulse/models/obtenir_id_chorus_pro_response.py +98 -0
- factpulse-2.0.8/factpulse/models/options_processing.py +94 -0
- factpulse-2.0.8/factpulse/models/parametres_signature.py +133 -0
- factpulse-2.0.8/factpulse/models/parametres_structure.py +91 -0
- factpulse-2.0.8/factpulse/models/pdf_factur_x_info.py +91 -0
- factpulse-2.0.8/factpulse/models/piece_jointe_complementaire.py +95 -0
- factpulse-2.0.8/factpulse/models/profil_api.py +39 -0
- factpulse-2.0.8/factpulse/models/quantite.py +139 -0
- factpulse-2.0.8/factpulse/models/quota_info.py +95 -0
- factpulse-2.0.8/factpulse/models/rechercher_services_response.py +101 -0
- factpulse-2.0.8/factpulse/models/rechercher_structure_request.py +119 -0
- factpulse-2.0.8/factpulse/models/rechercher_structure_response.py +101 -0
- factpulse-2.0.8/factpulse/models/references.py +124 -0
- factpulse-2.0.8/factpulse/models/reponse_tache.py +87 -0
- factpulse-2.0.8/factpulse/models/reponse_validation_erreur.py +87 -0
- factpulse-2.0.8/factpulse/models/reponse_validation_succes.py +87 -0
- factpulse-2.0.8/factpulse/models/resultat_afnor.py +105 -0
- factpulse-2.0.8/factpulse/models/resultat_chorus_pro.py +101 -0
- factpulse-2.0.8/factpulse/models/resultat_validation_pdfapi.py +169 -0
- factpulse-2.0.8/factpulse/models/scheme_id.py +40 -0
- factpulse-2.0.8/factpulse/models/service_structure.py +93 -0
- factpulse-2.0.8/factpulse/models/signature_info.py +101 -0
- factpulse-2.0.8/factpulse/models/soumettre_facture_complete_request.py +116 -0
- factpulse-2.0.8/factpulse/models/soumettre_facture_complete_response.py +145 -0
- factpulse-2.0.8/factpulse/models/soumettre_facture_request.py +176 -0
- factpulse-2.0.8/factpulse/models/soumettre_facture_response.py +103 -0
- factpulse-2.0.8/factpulse/models/statut_celery.py +40 -0
- factpulse-2.0.8/factpulse/models/statut_facture.py +96 -0
- factpulse-2.0.8/factpulse/models/statut_tache.py +97 -0
- factpulse-2.0.8/factpulse/models/structure_info.py +95 -0
- factpulse-2.0.8/factpulse/models/type_facture.py +37 -0
- factpulse-2.0.8/factpulse/models/type_tva.py +39 -0
- factpulse-2.0.8/factpulse/models/unite.py +41 -0
- factpulse-2.0.8/factpulse/models/utilisateur.py +128 -0
- factpulse-2.0.8/factpulse/models/validation_error.py +99 -0
- factpulse-2.0.8/factpulse/models/validation_error_loc_inner.py +138 -0
- factpulse-2.0.8/factpulse/py.typed +0 -0
- factpulse-2.0.8/factpulse/rest.py +258 -0
- factpulse-2.0.8/factpulse.egg-info/PKG-INFO +400 -0
- factpulse-2.0.8/factpulse.egg-info/SOURCES.txt +209 -0
- factpulse-2.0.8/factpulse.egg-info/dependency_links.txt +1 -0
- factpulse-2.0.8/factpulse.egg-info/requires.txt +4 -0
- factpulse-2.0.8/factpulse.egg-info/top_level.txt +1 -0
- factpulse-2.0.8/pyproject.toml +94 -0
- factpulse-2.0.8/setup.cfg +7 -0
- factpulse-2.0.8/setup.py +49 -0
- factpulse-2.0.8/test/test_adresse_electronique.py +53 -0
- factpulse-2.0.8/test/test_adresse_postale.py +55 -0
- factpulse-2.0.8/test/test_afnorpdppa_api.py +38 -0
- factpulse-2.0.8/test/test_afnorpdppa_directory_service_api.py +164 -0
- factpulse-2.0.8/test/test_afnorpdppa_flow_service_api.py +59 -0
- factpulse-2.0.8/test/test_body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post.py +79 -0
- factpulse-2.0.8/test/test_body_completer_facture_api_v1_chorus_pro_factures_completer_post.py +79 -0
- factpulse-2.0.8/test/test_body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get.py +77 -0
- factpulse-2.0.8/test/test_body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post.py +79 -0
- factpulse-2.0.8/test/test_body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post.py +79 -0
- factpulse-2.0.8/test/test_body_recycler_facture_api_v1_chorus_pro_factures_recycler_post.py +79 -0
- factpulse-2.0.8/test/test_body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post.py +79 -0
- factpulse-2.0.8/test/test_body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post.py +79 -0
- factpulse-2.0.8/test/test_body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post.py +79 -0
- factpulse-2.0.8/test/test_body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post.py +79 -0
- factpulse-2.0.8/test/test_body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post.py +79 -0
- factpulse-2.0.8/test/test_cadre_de_facturation.py +54 -0
- factpulse-2.0.8/test/test_categorie_tva.py +33 -0
- factpulse-2.0.8/test/test_certificate_info_response.py +73 -0
- factpulse-2.0.8/test/test_chorus_pro_api.py +143 -0
- factpulse-2.0.8/test/test_chorus_pro_credentials.py +59 -0
- factpulse-2.0.8/test/test_code_cadre_facturation.py +33 -0
- factpulse-2.0.8/test/test_code_raison_reduction.py +33 -0
- factpulse-2.0.8/test/test_consulter_facture_request.py +53 -0
- factpulse-2.0.8/test/test_consulter_facture_response.py +64 -0
- factpulse-2.0.8/test/test_consulter_structure_request.py +54 -0
- factpulse-2.0.8/test/test_consulter_structure_response.py +64 -0
- factpulse-2.0.8/test/test_credentials_afnor.py +53 -0
- factpulse-2.0.8/test/test_credentials_chorus_pro.py +55 -0
- factpulse-2.0.8/test/test_destinataire.py +64 -0
- factpulse-2.0.8/test/test_destination.py +54 -0
- factpulse-2.0.8/test/test_destination_afnor.py +54 -0
- factpulse-2.0.8/test/test_destination_chorus_pro.py +52 -0
- factpulse-2.0.8/test/test_donnees_facture_simplifiees.py +67 -0
- factpulse-2.0.8/test/test_facture_enrichie_info_input.py +64 -0
- factpulse-2.0.8/test/test_facture_enrichie_info_output.py +64 -0
- factpulse-2.0.8/test/test_facture_factur_x.py +173 -0
- factpulse-2.0.8/test/test_format_sortie.py +33 -0
- factpulse-2.0.8/test/test_fournisseur.py +70 -0
- factpulse-2.0.8/test/test_generate_certificate_request.py +61 -0
- factpulse-2.0.8/test/test_generate_certificate_response.py +91 -0
- factpulse-2.0.8/test/test_http_validation_error.py +58 -0
- factpulse-2.0.8/test/test_information_signature_api.py +57 -0
- factpulse-2.0.8/test/test_ligne_de_poste.py +70 -0
- factpulse-2.0.8/test/test_ligne_de_tva.py +57 -0
- factpulse-2.0.8/test/test_mode_depot.py +33 -0
- factpulse-2.0.8/test/test_mode_paiement.py +33 -0
- factpulse-2.0.8/test/test_montant_ht_total.py +50 -0
- factpulse-2.0.8/test/test_montant_ht_total1.py +50 -0
- factpulse-2.0.8/test/test_montant_total.py +61 -0
- factpulse-2.0.8/test/test_montant_ttc_total.py +50 -0
- factpulse-2.0.8/test/test_montant_ttc_total1.py +50 -0
- factpulse-2.0.8/test/test_montant_tva.py +50 -0
- factpulse-2.0.8/test/test_montant_tva1.py +50 -0
- factpulse-2.0.8/test/test_montant_unitaire_ht.py +50 -0
- factpulse-2.0.8/test/test_obtenir_id_chorus_pro_request.py +54 -0
- factpulse-2.0.8/test/test_obtenir_id_chorus_pro_response.py +57 -0
- factpulse-2.0.8/test/test_options_processing.py +54 -0
- factpulse-2.0.8/test/test_parametres_signature.py +59 -0
- factpulse-2.0.8/test/test_parametres_structure.py +53 -0
- factpulse-2.0.8/test/test_pdf_factur_x_info.py +55 -0
- factpulse-2.0.8/test/test_piece_jointe_complementaire.py +60 -0
- factpulse-2.0.8/test/test_profil_api.py +33 -0
- factpulse-2.0.8/test/test_quantite.py +50 -0
- factpulse-2.0.8/test/test_quota_info.py +60 -0
- factpulse-2.0.8/test/test_rechercher_services_response.py +62 -0
- factpulse-2.0.8/test/test_rechercher_structure_request.py +55 -0
- factpulse-2.0.8/test/test_rechercher_structure_response.py +63 -0
- factpulse-2.0.8/test/test_references.py +61 -0
- factpulse-2.0.8/test/test_reponse_tache.py +52 -0
- factpulse-2.0.8/test/test_reponse_validation_erreur.py +56 -0
- factpulse-2.0.8/test/test_reponse_validation_succes.py +52 -0
- factpulse-2.0.8/test/test_resultat_afnor.py +58 -0
- factpulse-2.0.8/test/test_resultat_chorus_pro.py +54 -0
- factpulse-2.0.8/test/test_resultat_validation_pdfapi.py +99 -0
- factpulse-2.0.8/test/test_sant_api.py +38 -0
- factpulse-2.0.8/test/test_scheme_id.py +33 -0
- factpulse-2.0.8/test/test_service_structure.py +58 -0
- factpulse-2.0.8/test/test_signature_info.py +54 -0
- factpulse-2.0.8/test/test_soumettre_facture_complete_request.py +89 -0
- factpulse-2.0.8/test/test_soumettre_facture_complete_response.py +82 -0
- factpulse-2.0.8/test/test_soumettre_facture_request.py +71 -0
- factpulse-2.0.8/test/test_soumettre_facture_response.py +56 -0
- factpulse-2.0.8/test/test_statut_celery.py +33 -0
- factpulse-2.0.8/test/test_statut_facture.py +55 -0
- factpulse-2.0.8/test/test_statut_tache.py +55 -0
- factpulse-2.0.8/test/test_structure_info.py +60 -0
- factpulse-2.0.8/test/test_traitement_facture_api.py +108 -0
- factpulse-2.0.8/test/test_type_facture.py +33 -0
- factpulse-2.0.8/test/test_type_tva.py +33 -0
- factpulse-2.0.8/test/test_unite.py +33 -0
- factpulse-2.0.8/test/test_utilisateur.py +71 -0
- factpulse-2.0.8/test/test_utilisateur_api.py +38 -0
- factpulse-2.0.8/test/test_validation_error.py +60 -0
- factpulse-2.0.8/test/test_validation_error_loc_inner.py +50 -0
factpulse-2.0.8/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 FactPulse
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
factpulse-2.0.8/PKG-INFO
ADDED
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: factpulse
|
|
3
|
+
Version: 2.0.8
|
|
4
|
+
Summary: API REST FactPulse
|
|
5
|
+
Home-page: https://github.com/factpulse/sdk-python
|
|
6
|
+
Author: OpenAPI Generator community
|
|
7
|
+
Author-email: OpenAPI Generator Community <team@openapitools.org>
|
|
8
|
+
Project-URL: Repository, https://github.com/GIT_USER_ID/GIT_REPO_ID
|
|
9
|
+
Keywords: OpenAPI,OpenAPI-Generator,API REST FactPulse
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: urllib3<3.0.0,>=2.1.0
|
|
14
|
+
Requires-Dist: python-dateutil>=2.8.2
|
|
15
|
+
Requires-Dist: pydantic>=2
|
|
16
|
+
Requires-Dist: typing-extensions>=4.7.1
|
|
17
|
+
Dynamic: author
|
|
18
|
+
Dynamic: home-page
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
# factpulse-sdk
|
|
22
|
+
|
|
23
|
+
API REST pour la facturation électronique en France : Factur-X, AFNOR PDP/PA, signatures électroniques.
|
|
24
|
+
|
|
25
|
+
## 🎯 Fonctionnalités principales
|
|
26
|
+
|
|
27
|
+
### 📄 Génération de factures Factur-X
|
|
28
|
+
- **Formats** : XML seul ou PDF/A-3 avec XML embarqué
|
|
29
|
+
- **Profils** : MINIMUM, BASIC, EN16931, EXTENDED
|
|
30
|
+
- **Normes** : EN 16931 (directive UE 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT)
|
|
31
|
+
- **🆕 Format simplifié** : Génération à partir de SIRET + auto-enrichissement (API Chorus Pro + Recherche Entreprises)
|
|
32
|
+
|
|
33
|
+
### ✅ Validation et conformité
|
|
34
|
+
- **Validation XML** : Schematron (45 à 210+ règles selon profil)
|
|
35
|
+
- **Validation PDF** : PDF/A-3, métadonnées XMP Factur-X, signatures électroniques
|
|
36
|
+
- **VeraPDF** : Validation stricte PDF/A (146+ règles ISO 19005-3)
|
|
37
|
+
- **Traitement asynchrone** : Support Celery pour validations lourdes (VeraPDF)
|
|
38
|
+
|
|
39
|
+
### 📡 Intégration AFNOR PDP/PA (XP Z12-013)
|
|
40
|
+
- **Soumission de flux** : Envoi de factures vers Plateformes de Dématérialisation Partenaires
|
|
41
|
+
- **Recherche de flux** : Consultation des factures soumises
|
|
42
|
+
- **Téléchargement** : Récupération des PDF/A-3 avec XML
|
|
43
|
+
- **Directory Service** : Recherche d'entreprises (SIREN/SIRET)
|
|
44
|
+
- **Multi-client** : Support de plusieurs configs PDP par utilisateur (stored credentials ou zero-storage)
|
|
45
|
+
|
|
46
|
+
### ✍️ Signature électronique PDF
|
|
47
|
+
- **Standards** : PAdES-B-B, PAdES-B-T (horodatage RFC 3161), PAdES-B-LT (archivage long terme)
|
|
48
|
+
- **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO)
|
|
49
|
+
- **Validation** : Vérification intégrité cryptographique et certificats
|
|
50
|
+
- **Génération de certificats** : Certificats X.509 auto-signés pour tests
|
|
51
|
+
|
|
52
|
+
### 🔄 Traitement asynchrone
|
|
53
|
+
- **Celery** : Génération, validation et signature asynchrones
|
|
54
|
+
- **Polling** : Suivi d'état via `/taches/{id_tache}/statut`
|
|
55
|
+
- **Pas de timeout** : Idéal pour gros fichiers ou validations lourdes
|
|
56
|
+
|
|
57
|
+
## 🔒 Authentification
|
|
58
|
+
|
|
59
|
+
Toutes les requêtes nécessitent un **token JWT** dans le header Authorization :
|
|
60
|
+
```
|
|
61
|
+
Authorization: Bearer YOUR_JWT_TOKEN
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Comment obtenir un token JWT ?
|
|
65
|
+
|
|
66
|
+
#### 🔑 Méthode 1 : API `/api/token/` (Recommandée)
|
|
67
|
+
|
|
68
|
+
**URL :** `https://www.factpulse.fr/api/token/`
|
|
69
|
+
|
|
70
|
+
Cette méthode est **recommandée** pour l'intégration dans vos applications et workflows CI/CD.
|
|
71
|
+
|
|
72
|
+
**Prérequis :** Avoir défini un mot de passe sur votre compte
|
|
73
|
+
|
|
74
|
+
**Pour les utilisateurs inscrits via email/password :**
|
|
75
|
+
- Vous avez déjà un mot de passe, utilisez-le directement
|
|
76
|
+
|
|
77
|
+
**Pour les utilisateurs inscrits via OAuth (Google/GitHub) :**
|
|
78
|
+
- Vous devez d'abord définir un mot de passe sur : https://www.factpulse.fr/accounts/password/set/
|
|
79
|
+
- Une fois le mot de passe créé, vous pourrez utiliser l'API
|
|
80
|
+
|
|
81
|
+
**Exemple de requête :**
|
|
82
|
+
```bash
|
|
83
|
+
curl -X POST https://www.factpulse.fr/api/token/ \\
|
|
84
|
+
-H \"Content-Type: application/json\" \\
|
|
85
|
+
-d '{
|
|
86
|
+
\"username\": \"votre_email@example.com\",
|
|
87
|
+
\"password\": \"votre_mot_de_passe\"
|
|
88
|
+
}'
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Paramètre optionnel `client_uid` :**
|
|
92
|
+
|
|
93
|
+
Pour sélectionner les credentials d'un client spécifique (PA/PDP, Chorus Pro, certificats de signature), ajoutez `client_uid` :
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
curl -X POST https://www.factpulse.fr/api/token/ \\
|
|
97
|
+
-H \"Content-Type: application/json\" \\
|
|
98
|
+
-d '{
|
|
99
|
+
\"username\": \"votre_email@example.com\",
|
|
100
|
+
\"password\": \"votre_mot_de_passe\",
|
|
101
|
+
\"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\"
|
|
102
|
+
}'
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Le `client_uid` sera inclus dans le JWT et permettra à l'API d'utiliser automatiquement :
|
|
106
|
+
- Les credentials AFNOR/PDP configurés pour ce client
|
|
107
|
+
- Les credentials Chorus Pro configurés pour ce client
|
|
108
|
+
- Les certificats de signature électronique configurés pour ce client
|
|
109
|
+
|
|
110
|
+
**Réponse :**
|
|
111
|
+
```json
|
|
112
|
+
{
|
|
113
|
+
\"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Token d'accès (validité: 30 min)
|
|
114
|
+
\"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Token de rafraîchissement (validité: 7 jours)
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Avantages :**
|
|
119
|
+
- ✅ Automatisation complète (CI/CD, scripts)
|
|
120
|
+
- ✅ Gestion programmatique des tokens
|
|
121
|
+
- ✅ Support du refresh token pour renouveler automatiquement l'accès
|
|
122
|
+
- ✅ Intégration facile dans n'importe quel langage/outil
|
|
123
|
+
|
|
124
|
+
#### 🖥️ Méthode 2 : Génération via Dashboard (Alternative)
|
|
125
|
+
|
|
126
|
+
**URL :** https://www.factpulse.fr/dashboard/
|
|
127
|
+
|
|
128
|
+
Cette méthode convient pour des tests rapides ou une utilisation occasionnelle via l'interface graphique.
|
|
129
|
+
|
|
130
|
+
**Fonctionnement :**
|
|
131
|
+
- Connectez-vous au dashboard
|
|
132
|
+
- Utilisez les boutons \"Generate Test Token\" ou \"Generate Production Token\"
|
|
133
|
+
- Fonctionne pour **tous** les utilisateurs (OAuth et email/password), sans nécessiter de mot de passe
|
|
134
|
+
|
|
135
|
+
**Types de tokens :**
|
|
136
|
+
- **Token Test** : Validité 24h, quota 1000 appels/jour (gratuit)
|
|
137
|
+
- **Token Production** : Validité 7 jours, quota selon votre forfait
|
|
138
|
+
|
|
139
|
+
**Avantages :**
|
|
140
|
+
- ✅ Rapide pour tester l'API
|
|
141
|
+
- ✅ Aucun mot de passe requis
|
|
142
|
+
- ✅ Interface visuelle simple
|
|
143
|
+
|
|
144
|
+
**Inconvénients :**
|
|
145
|
+
- ❌ Nécessite une action manuelle
|
|
146
|
+
- ❌ Pas de refresh token
|
|
147
|
+
- ❌ Moins adapté pour l'automatisation
|
|
148
|
+
|
|
149
|
+
### 📚 Documentation complète
|
|
150
|
+
|
|
151
|
+
Pour plus d'informations sur l'authentification et l'utilisation de l'API :
|
|
152
|
+
https://www.factpulse.fr/documentation-api/
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
156
|
+
|
|
157
|
+
- API version: 1.0.0
|
|
158
|
+
- Package version: 2.0.8
|
|
159
|
+
- Generator version: 7.18.0-SNAPSHOT
|
|
160
|
+
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
|
161
|
+
|
|
162
|
+
## Requirements.
|
|
163
|
+
|
|
164
|
+
Python 3.9+
|
|
165
|
+
|
|
166
|
+
## Installation & Usage
|
|
167
|
+
### pip install
|
|
168
|
+
|
|
169
|
+
If the python package is hosted on a repository, you can install directly using:
|
|
170
|
+
|
|
171
|
+
```sh
|
|
172
|
+
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
|
|
173
|
+
```
|
|
174
|
+
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)
|
|
175
|
+
|
|
176
|
+
Then import the package:
|
|
177
|
+
```python
|
|
178
|
+
import factpulse
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Setuptools
|
|
182
|
+
|
|
183
|
+
Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
|
|
184
|
+
|
|
185
|
+
```sh
|
|
186
|
+
python setup.py install --user
|
|
187
|
+
```
|
|
188
|
+
(or `sudo python setup.py install` to install the package for all users)
|
|
189
|
+
|
|
190
|
+
Then import the package:
|
|
191
|
+
```python
|
|
192
|
+
import factpulse
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Tests
|
|
196
|
+
|
|
197
|
+
Execute `pytest` to run the tests.
|
|
198
|
+
|
|
199
|
+
## Getting Started
|
|
200
|
+
|
|
201
|
+
Please follow the [installation procedure](#installation--usage) and then run the following:
|
|
202
|
+
|
|
203
|
+
```python
|
|
204
|
+
|
|
205
|
+
import factpulse
|
|
206
|
+
from factpulse.rest import ApiException
|
|
207
|
+
from pprint import pprint
|
|
208
|
+
|
|
209
|
+
# Defining the host is optional and defaults to http://localhost
|
|
210
|
+
# See configuration.py for a list of all supported configuration parameters.
|
|
211
|
+
configuration = factpulse.Configuration(
|
|
212
|
+
host = "http://localhost"
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
# Enter a context with an instance of the API client
|
|
218
|
+
with factpulse.ApiClient(configuration) as api_client:
|
|
219
|
+
# Create an instance of the API class
|
|
220
|
+
api_instance = factpulse.AFNORPDPPAApi(api_client)
|
|
221
|
+
|
|
222
|
+
try:
|
|
223
|
+
# Endpoint OAuth2 pour authentification AFNOR
|
|
224
|
+
api_response = api_instance.oauth_token_proxy_api_v1_afnor_oauth_token_post()
|
|
225
|
+
print("The response of AFNORPDPPAApi->oauth_token_proxy_api_v1_afnor_oauth_token_post:\n")
|
|
226
|
+
pprint(api_response)
|
|
227
|
+
except ApiException as e:
|
|
228
|
+
print("Exception when calling AFNORPDPPAApi->oauth_token_proxy_api_v1_afnor_oauth_token_post: %s\n" % e)
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Documentation for API Endpoints
|
|
233
|
+
|
|
234
|
+
All URIs are relative to *http://localhost*
|
|
235
|
+
|
|
236
|
+
Class | Method | HTTP request | Description
|
|
237
|
+
------------ | ------------- | ------------- | -------------
|
|
238
|
+
*AFNORPDPPAApi* | [**oauth_token_proxy_api_v1_afnor_oauth_token_post**](docs/AFNORPDPPAApi.md#oauth_token_proxy_api_v1_afnor_oauth_token_post) | **POST** /api/v1/afnor/oauth/token | Endpoint OAuth2 pour authentification AFNOR
|
|
239
|
+
*AFNORPDPPADirectoryServiceApi* | [**create_directory_line_proxy_api_v1_afnor_directory_v1_directory_line_post**](docs/AFNORPDPPADirectoryServiceApi.md#create_directory_line_proxy_api_v1_afnor_directory_v1_directory_line_post) | **POST** /api/v1/afnor/directory/v1/directory-line | Creating a directory line
|
|
240
|
+
*AFNORPDPPADirectoryServiceApi* | [**create_routing_code_proxy_api_v1_afnor_directory_v1_routing_code_post**](docs/AFNORPDPPADirectoryServiceApi.md#create_routing_code_proxy_api_v1_afnor_directory_v1_routing_code_post) | **POST** /api/v1/afnor/directory/v1/routing-code | Create a routing code
|
|
241
|
+
*AFNORPDPPADirectoryServiceApi* | [**delete_directory_line_proxy_api_v1_afnor_directory_v1_directory_line_id_instance_id_instance_delete**](docs/AFNORPDPPADirectoryServiceApi.md#delete_directory_line_proxy_api_v1_afnor_directory_v1_directory_line_id_instance_id_instance_delete) | **DELETE** /api/v1/afnor/directory/v1/directory-line/id-instance:{id_instance} | Delete a directory line
|
|
242
|
+
*AFNORPDPPADirectoryServiceApi* | [**directory_healthcheck_proxy_api_v1_afnor_directory_v1_healthcheck_get**](docs/AFNORPDPPADirectoryServiceApi.md#directory_healthcheck_proxy_api_v1_afnor_directory_v1_healthcheck_get) | **GET** /api/v1/afnor/directory/v1/healthcheck | Healthcheck Directory Service
|
|
243
|
+
*AFNORPDPPADirectoryServiceApi* | [**get_directory_line_by_code_proxy_api_v1_afnor_directory_v1_directory_line_code_addressing_identifier_get**](docs/AFNORPDPPADirectoryServiceApi.md#get_directory_line_by_code_proxy_api_v1_afnor_directory_v1_directory_line_code_addressing_identifier_get) | **GET** /api/v1/afnor/directory/v1/directory-line/code:{addressing_identifier} | Get a directory line
|
|
244
|
+
*AFNORPDPPADirectoryServiceApi* | [**get_directory_line_by_id_instance_proxy_api_v1_afnor_directory_v1_directory_line_id_instance_id_instance_get**](docs/AFNORPDPPADirectoryServiceApi.md#get_directory_line_by_id_instance_proxy_api_v1_afnor_directory_v1_directory_line_id_instance_id_instance_get) | **GET** /api/v1/afnor/directory/v1/directory-line/id-instance:{id_instance} | Get a directory line
|
|
245
|
+
*AFNORPDPPADirectoryServiceApi* | [**get_routing_code_by_id_instance_proxy_api_v1_afnor_directory_v1_routing_code_id_instance_id_instance_get**](docs/AFNORPDPPADirectoryServiceApi.md#get_routing_code_by_id_instance_proxy_api_v1_afnor_directory_v1_routing_code_id_instance_id_instance_get) | **GET** /api/v1/afnor/directory/v1/routing-code/id-instance:{id_instance} | Get a routing code by instance-id
|
|
246
|
+
*AFNORPDPPADirectoryServiceApi* | [**get_routing_code_by_siret_and_code_proxy_api_v1_afnor_directory_v1_routing_code_siret_siret_code_routing_identifier_get**](docs/AFNORPDPPADirectoryServiceApi.md#get_routing_code_by_siret_and_code_proxy_api_v1_afnor_directory_v1_routing_code_siret_siret_code_routing_identifier_get) | **GET** /api/v1/afnor/directory/v1/routing-code/siret:{siret}/code:{routing_identifier} | Get a routing code by SIRET and routing identifier
|
|
247
|
+
*AFNORPDPPADirectoryServiceApi* | [**get_siren_by_code_insee_proxy_api_v1_afnor_directory_v1_siren_code_insee_siren_get**](docs/AFNORPDPPADirectoryServiceApi.md#get_siren_by_code_insee_proxy_api_v1_afnor_directory_v1_siren_code_insee_siren_get) | **GET** /api/v1/afnor/directory/v1/siren/code-insee:{siren} | Consult a siren (legal unit) by SIREN number
|
|
248
|
+
*AFNORPDPPADirectoryServiceApi* | [**get_siren_by_id_instance_proxy_api_v1_afnor_directory_v1_siren_id_instance_id_instance_get**](docs/AFNORPDPPADirectoryServiceApi.md#get_siren_by_id_instance_proxy_api_v1_afnor_directory_v1_siren_id_instance_id_instance_get) | **GET** /api/v1/afnor/directory/v1/siren/id-instance:{id_instance} | Gets a siren (legal unit) by instance ID
|
|
249
|
+
*AFNORPDPPADirectoryServiceApi* | [**get_siret_by_code_insee_proxy_api_v1_afnor_directory_v1_siret_code_insee_siret_get**](docs/AFNORPDPPADirectoryServiceApi.md#get_siret_by_code_insee_proxy_api_v1_afnor_directory_v1_siret_code_insee_siret_get) | **GET** /api/v1/afnor/directory/v1/siret/code-insee:{siret} | Gets a siret (facility) by SIRET number
|
|
250
|
+
*AFNORPDPPADirectoryServiceApi* | [**get_siret_by_id_instance_proxy_api_v1_afnor_directory_v1_siret_id_instance_id_instance_get**](docs/AFNORPDPPADirectoryServiceApi.md#get_siret_by_id_instance_proxy_api_v1_afnor_directory_v1_siret_id_instance_id_instance_get) | **GET** /api/v1/afnor/directory/v1/siret/id-instance:{id_instance} | Gets a siret (facility) by id-instance
|
|
251
|
+
*AFNORPDPPADirectoryServiceApi* | [**patch_directory_line_proxy_api_v1_afnor_directory_v1_directory_line_id_instance_id_instance_patch**](docs/AFNORPDPPADirectoryServiceApi.md#patch_directory_line_proxy_api_v1_afnor_directory_v1_directory_line_id_instance_id_instance_patch) | **PATCH** /api/v1/afnor/directory/v1/directory-line/id-instance:{id_instance} | Partially updates a directory line
|
|
252
|
+
*AFNORPDPPADirectoryServiceApi* | [**patch_routing_code_proxy_api_v1_afnor_directory_v1_routing_code_id_instance_id_instance_patch**](docs/AFNORPDPPADirectoryServiceApi.md#patch_routing_code_proxy_api_v1_afnor_directory_v1_routing_code_id_instance_id_instance_patch) | **PATCH** /api/v1/afnor/directory/v1/routing-code/id-instance:{id_instance} | Partially update a private routing code
|
|
253
|
+
*AFNORPDPPADirectoryServiceApi* | [**put_routing_code_proxy_api_v1_afnor_directory_v1_routing_code_id_instance_id_instance_put**](docs/AFNORPDPPADirectoryServiceApi.md#put_routing_code_proxy_api_v1_afnor_directory_v1_routing_code_id_instance_id_instance_put) | **PUT** /api/v1/afnor/directory/v1/routing-code/id-instance:{id_instance} | Completely update a private routing code
|
|
254
|
+
*AFNORPDPPADirectoryServiceApi* | [**search_directory_line_proxy_api_v1_afnor_directory_v1_directory_line_search_post**](docs/AFNORPDPPADirectoryServiceApi.md#search_directory_line_proxy_api_v1_afnor_directory_v1_directory_line_search_post) | **POST** /api/v1/afnor/directory/v1/directory-line/search | Search for a directory line
|
|
255
|
+
*AFNORPDPPADirectoryServiceApi* | [**search_routing_code_proxy_api_v1_afnor_directory_v1_routing_code_search_post**](docs/AFNORPDPPADirectoryServiceApi.md#search_routing_code_proxy_api_v1_afnor_directory_v1_routing_code_search_post) | **POST** /api/v1/afnor/directory/v1/routing-code/search | Search for a routing code
|
|
256
|
+
*AFNORPDPPADirectoryServiceApi* | [**search_siren_proxy_api_v1_afnor_directory_v1_siren_search_post**](docs/AFNORPDPPADirectoryServiceApi.md#search_siren_proxy_api_v1_afnor_directory_v1_siren_search_post) | **POST** /api/v1/afnor/directory/v1/siren/search | SIREN search (or legal unit)
|
|
257
|
+
*AFNORPDPPADirectoryServiceApi* | [**search_siret_proxy_api_v1_afnor_directory_v1_siret_search_post**](docs/AFNORPDPPADirectoryServiceApi.md#search_siret_proxy_api_v1_afnor_directory_v1_siret_search_post) | **POST** /api/v1/afnor/directory/v1/siret/search | Search for a SIRET (facility)
|
|
258
|
+
*AFNORPDPPAFlowServiceApi* | [**download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get**](docs/AFNORPDPPAFlowServiceApi.md#download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get) | **GET** /api/v1/afnor/flow/v1/flows/{flowId} | Télécharger un flux
|
|
259
|
+
*AFNORPDPPAFlowServiceApi* | [**flow_healthcheck_proxy_api_v1_afnor_flow_v1_healthcheck_get**](docs/AFNORPDPPAFlowServiceApi.md#flow_healthcheck_proxy_api_v1_afnor_flow_v1_healthcheck_get) | **GET** /api/v1/afnor/flow/v1/healthcheck | Healthcheck Flow Service
|
|
260
|
+
*AFNORPDPPAFlowServiceApi* | [**search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post**](docs/AFNORPDPPAFlowServiceApi.md#search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post) | **POST** /api/v1/afnor/flow/v1/flows/search | Rechercher des flux
|
|
261
|
+
*AFNORPDPPAFlowServiceApi* | [**submit_flow_proxy_api_v1_afnor_flow_v1_flows_post**](docs/AFNORPDPPAFlowServiceApi.md#submit_flow_proxy_api_v1_afnor_flow_v1_flows_post) | **POST** /api/v1/afnor/flow/v1/flows | Soumettre un flux de facturation
|
|
262
|
+
*ChorusProApi* | [**ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post**](docs/ChorusProApi.md#ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post) | **POST** /api/v1/chorus-pro/transverses/ajouter-fichier | Ajouter une pièce jointe
|
|
263
|
+
*ChorusProApi* | [**completer_facture_api_v1_chorus_pro_factures_completer_post**](docs/ChorusProApi.md#completer_facture_api_v1_chorus_pro_factures_completer_post) | **POST** /api/v1/chorus-pro/factures/completer | Compléter une facture suspendue (Fournisseur)
|
|
264
|
+
*ChorusProApi* | [**consulter_facture_api_v1_chorus_pro_factures_consulter_post**](docs/ChorusProApi.md#consulter_facture_api_v1_chorus_pro_factures_consulter_post) | **POST** /api/v1/chorus-pro/factures/consulter | Consulter le statut d'une facture
|
|
265
|
+
*ChorusProApi* | [**consulter_structure_api_v1_chorus_pro_structures_consulter_post**](docs/ChorusProApi.md#consulter_structure_api_v1_chorus_pro_structures_consulter_post) | **POST** /api/v1/chorus-pro/structures/consulter | Consulter les détails d'une structure
|
|
266
|
+
*ChorusProApi* | [**lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get**](docs/ChorusProApi.md#lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get) | **GET** /api/v1/chorus-pro/structures/{id_structure_cpp}/services | Lister les services d'une structure
|
|
267
|
+
*ChorusProApi* | [**obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post**](docs/ChorusProApi.md#obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post) | **POST** /api/v1/chorus-pro/structures/obtenir-id-depuis-siret | Utilitaire : Obtenir l'ID Chorus Pro depuis un SIRET
|
|
268
|
+
*ChorusProApi* | [**rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post**](docs/ChorusProApi.md#rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post) | **POST** /api/v1/chorus-pro/factures/rechercher-destinataire | Rechercher factures reçues (Destinataire)
|
|
269
|
+
*ChorusProApi* | [**rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post**](docs/ChorusProApi.md#rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post) | **POST** /api/v1/chorus-pro/factures/rechercher-fournisseur | Rechercher factures émises (Fournisseur)
|
|
270
|
+
*ChorusProApi* | [**rechercher_structures_api_v1_chorus_pro_structures_rechercher_post**](docs/ChorusProApi.md#rechercher_structures_api_v1_chorus_pro_structures_rechercher_post) | **POST** /api/v1/chorus-pro/structures/rechercher | Rechercher des structures Chorus Pro
|
|
271
|
+
*ChorusProApi* | [**recycler_facture_api_v1_chorus_pro_factures_recycler_post**](docs/ChorusProApi.md#recycler_facture_api_v1_chorus_pro_factures_recycler_post) | **POST** /api/v1/chorus-pro/factures/recycler | Recycler une facture (Fournisseur)
|
|
272
|
+
*ChorusProApi* | [**soumettre_facture_api_v1_chorus_pro_factures_soumettre_post**](docs/ChorusProApi.md#soumettre_facture_api_v1_chorus_pro_factures_soumettre_post) | **POST** /api/v1/chorus-pro/factures/soumettre | Soumettre une facture à Chorus Pro
|
|
273
|
+
*ChorusProApi* | [**telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post**](docs/ChorusProApi.md#telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post) | **POST** /api/v1/chorus-pro/factures/telecharger-groupe | Télécharger un groupe de factures
|
|
274
|
+
*ChorusProApi* | [**traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post**](docs/ChorusProApi.md#traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post) | **POST** /api/v1/chorus-pro/factures/traiter-facture-recue | Traiter une facture reçue (Destinataire)
|
|
275
|
+
*ChorusProApi* | [**valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post**](docs/ChorusProApi.md#valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post) | **POST** /api/v1/chorus-pro/factures/valideur/consulter | Consulter une facture (Valideur)
|
|
276
|
+
*ChorusProApi* | [**valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post**](docs/ChorusProApi.md#valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post) | **POST** /api/v1/chorus-pro/factures/valideur/rechercher | Rechercher factures à valider (Valideur)
|
|
277
|
+
*ChorusProApi* | [**valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post**](docs/ChorusProApi.md#valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post) | **POST** /api/v1/chorus-pro/factures/valideur/traiter | Valider ou refuser une facture (Valideur)
|
|
278
|
+
*SantApi* | [**racine_get**](docs/SantApi.md#racine_get) | **GET** / | Vérifier l'état de l'API
|
|
279
|
+
*TraitementFactureApi* | [**generer_certificat_test_api_v1_traitement_generer_certificat_test_post**](docs/TraitementFactureApi.md#generer_certificat_test_api_v1_traitement_generer_certificat_test_post) | **POST** /api/v1/traitement/generer-certificat-test | Générer un certificat X.509 auto-signé de test
|
|
280
|
+
*TraitementFactureApi* | [**generer_facture_api_v1_traitement_generer_facture_post**](docs/TraitementFactureApi.md#generer_facture_api_v1_traitement_generer_facture_post) | **POST** /api/v1/traitement/generer-facture | Générer une facture Factur-X
|
|
281
|
+
*TraitementFactureApi* | [**obtenir_statut_tache_api_v1_traitement_taches_id_tache_statut_get**](docs/TraitementFactureApi.md#obtenir_statut_tache_api_v1_traitement_taches_id_tache_statut_get) | **GET** /api/v1/traitement/taches/{id_tache}/statut | Obtenir le statut d'une tâche de génération
|
|
282
|
+
*TraitementFactureApi* | [**signer_pdf_api_v1_traitement_signer_pdf_post**](docs/TraitementFactureApi.md#signer_pdf_api_v1_traitement_signer_pdf_post) | **POST** /api/v1/traitement/signer-pdf | Signer un PDF avec le certificat du client (PAdES-B-LT)
|
|
283
|
+
*TraitementFactureApi* | [**signer_pdf_async_api_v1_traitement_signer_pdf_async_post**](docs/TraitementFactureApi.md#signer_pdf_async_api_v1_traitement_signer_pdf_async_post) | **POST** /api/v1/traitement/signer-pdf-async | Signer un PDF de manière asynchrone (Celery)
|
|
284
|
+
*TraitementFactureApi* | [**soumettre_facture_complete_api_v1_traitement_factures_soumettre_complete_post**](docs/TraitementFactureApi.md#soumettre_facture_complete_api_v1_traitement_factures_soumettre_complete_post) | **POST** /api/v1/traitement/factures/soumettre-complete | Soumettre une facture complète (génération + signature + soumission)
|
|
285
|
+
*TraitementFactureApi* | [**soumettre_facture_complete_async_api_v1_traitement_factures_soumettre_complete_async_post**](docs/TraitementFactureApi.md#soumettre_facture_complete_async_api_v1_traitement_factures_soumettre_complete_async_post) | **POST** /api/v1/traitement/factures/soumettre-complete-async | Soumettre une facture complète (asynchrone avec Celery)
|
|
286
|
+
*TraitementFactureApi* | [**valider_pdf_facturx_api_v1_traitement_valider_pdf_facturx_post**](docs/TraitementFactureApi.md#valider_pdf_facturx_api_v1_traitement_valider_pdf_facturx_post) | **POST** /api/v1/traitement/valider-pdf-facturx | Valider un PDF Factur-X complet
|
|
287
|
+
*TraitementFactureApi* | [**valider_pdf_facturx_async_api_v1_traitement_valider_facturx_async_post**](docs/TraitementFactureApi.md#valider_pdf_facturx_async_api_v1_traitement_valider_facturx_async_post) | **POST** /api/v1/traitement/valider-facturx-async | Valider un PDF Factur-X (asynchrone avec polling)
|
|
288
|
+
*TraitementFactureApi* | [**valider_signature_pdf_endpoint_api_v1_traitement_valider_signature_pdf_post**](docs/TraitementFactureApi.md#valider_signature_pdf_endpoint_api_v1_traitement_valider_signature_pdf_post) | **POST** /api/v1/traitement/valider-signature-pdf | Valider les signatures électroniques d'un PDF
|
|
289
|
+
*TraitementFactureApi* | [**valider_xml_api_v1_traitement_valider_xml_post**](docs/TraitementFactureApi.md#valider_xml_api_v1_traitement_valider_xml_post) | **POST** /api/v1/traitement/valider-xml | Valider un XML Factur-X existant
|
|
290
|
+
*UtilisateurApi* | [**obtenir_infos_utilisateur_api_v1_moi_get**](docs/UtilisateurApi.md#obtenir_infos_utilisateur_api_v1_moi_get) | **GET** /api/v1/moi | Obtenir les informations de l'utilisateur connecté
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
## Documentation For Models
|
|
294
|
+
|
|
295
|
+
- [AdresseElectronique](docs/AdresseElectronique.md)
|
|
296
|
+
- [AdressePostale](docs/AdressePostale.md)
|
|
297
|
+
- [BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost](docs/BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost.md)
|
|
298
|
+
- [BodyCompleterFactureApiV1ChorusProFacturesCompleterPost](docs/BodyCompleterFactureApiV1ChorusProFacturesCompleterPost.md)
|
|
299
|
+
- [BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet](docs/BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet.md)
|
|
300
|
+
- [BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost](docs/BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost.md)
|
|
301
|
+
- [BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost](docs/BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost.md)
|
|
302
|
+
- [BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost](docs/BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost.md)
|
|
303
|
+
- [BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost](docs/BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost.md)
|
|
304
|
+
- [BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost](docs/BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost.md)
|
|
305
|
+
- [BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost](docs/BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost.md)
|
|
306
|
+
- [BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost](docs/BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost.md)
|
|
307
|
+
- [BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost](docs/BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost.md)
|
|
308
|
+
- [CadreDeFacturation](docs/CadreDeFacturation.md)
|
|
309
|
+
- [CategorieTVA](docs/CategorieTVA.md)
|
|
310
|
+
- [CertificateInfoResponse](docs/CertificateInfoResponse.md)
|
|
311
|
+
- [ChorusProCredentials](docs/ChorusProCredentials.md)
|
|
312
|
+
- [CodeCadreFacturation](docs/CodeCadreFacturation.md)
|
|
313
|
+
- [CodeRaisonReduction](docs/CodeRaisonReduction.md)
|
|
314
|
+
- [ConsulterFactureRequest](docs/ConsulterFactureRequest.md)
|
|
315
|
+
- [ConsulterFactureResponse](docs/ConsulterFactureResponse.md)
|
|
316
|
+
- [ConsulterStructureRequest](docs/ConsulterStructureRequest.md)
|
|
317
|
+
- [ConsulterStructureResponse](docs/ConsulterStructureResponse.md)
|
|
318
|
+
- [CredentialsAFNOR](docs/CredentialsAFNOR.md)
|
|
319
|
+
- [CredentialsChorusPro](docs/CredentialsChorusPro.md)
|
|
320
|
+
- [Destinataire](docs/Destinataire.md)
|
|
321
|
+
- [Destination](docs/Destination.md)
|
|
322
|
+
- [DestinationAFNOR](docs/DestinationAFNOR.md)
|
|
323
|
+
- [DestinationChorusPro](docs/DestinationChorusPro.md)
|
|
324
|
+
- [DonneesFactureSimplifiees](docs/DonneesFactureSimplifiees.md)
|
|
325
|
+
- [FactureEnrichieInfoInput](docs/FactureEnrichieInfoInput.md)
|
|
326
|
+
- [FactureEnrichieInfoOutput](docs/FactureEnrichieInfoOutput.md)
|
|
327
|
+
- [FactureFacturX](docs/FactureFacturX.md)
|
|
328
|
+
- [FormatSortie](docs/FormatSortie.md)
|
|
329
|
+
- [Fournisseur](docs/Fournisseur.md)
|
|
330
|
+
- [GenerateCertificateRequest](docs/GenerateCertificateRequest.md)
|
|
331
|
+
- [GenerateCertificateResponse](docs/GenerateCertificateResponse.md)
|
|
332
|
+
- [HTTPValidationError](docs/HTTPValidationError.md)
|
|
333
|
+
- [InformationSignatureAPI](docs/InformationSignatureAPI.md)
|
|
334
|
+
- [LigneDePoste](docs/LigneDePoste.md)
|
|
335
|
+
- [LigneDeTVA](docs/LigneDeTVA.md)
|
|
336
|
+
- [ModeDepot](docs/ModeDepot.md)
|
|
337
|
+
- [ModePaiement](docs/ModePaiement.md)
|
|
338
|
+
- [MontantHtTotal](docs/MontantHtTotal.md)
|
|
339
|
+
- [MontantHtTotal1](docs/MontantHtTotal1.md)
|
|
340
|
+
- [MontantTotal](docs/MontantTotal.md)
|
|
341
|
+
- [MontantTtcTotal](docs/MontantTtcTotal.md)
|
|
342
|
+
- [MontantTtcTotal1](docs/MontantTtcTotal1.md)
|
|
343
|
+
- [MontantTva](docs/MontantTva.md)
|
|
344
|
+
- [MontantTva1](docs/MontantTva1.md)
|
|
345
|
+
- [MontantUnitaireHt](docs/MontantUnitaireHt.md)
|
|
346
|
+
- [ObtenirIdChorusProRequest](docs/ObtenirIdChorusProRequest.md)
|
|
347
|
+
- [ObtenirIdChorusProResponse](docs/ObtenirIdChorusProResponse.md)
|
|
348
|
+
- [OptionsProcessing](docs/OptionsProcessing.md)
|
|
349
|
+
- [PDFFacturXInfo](docs/PDFFacturXInfo.md)
|
|
350
|
+
- [ParametresSignature](docs/ParametresSignature.md)
|
|
351
|
+
- [ParametresStructure](docs/ParametresStructure.md)
|
|
352
|
+
- [PieceJointeComplementaire](docs/PieceJointeComplementaire.md)
|
|
353
|
+
- [ProfilAPI](docs/ProfilAPI.md)
|
|
354
|
+
- [Quantite](docs/Quantite.md)
|
|
355
|
+
- [QuotaInfo](docs/QuotaInfo.md)
|
|
356
|
+
- [RechercherServicesResponse](docs/RechercherServicesResponse.md)
|
|
357
|
+
- [RechercherStructureRequest](docs/RechercherStructureRequest.md)
|
|
358
|
+
- [RechercherStructureResponse](docs/RechercherStructureResponse.md)
|
|
359
|
+
- [References](docs/References.md)
|
|
360
|
+
- [ReponseTache](docs/ReponseTache.md)
|
|
361
|
+
- [ReponseValidationErreur](docs/ReponseValidationErreur.md)
|
|
362
|
+
- [ReponseValidationSucces](docs/ReponseValidationSucces.md)
|
|
363
|
+
- [ResultatAFNOR](docs/ResultatAFNOR.md)
|
|
364
|
+
- [ResultatChorusPro](docs/ResultatChorusPro.md)
|
|
365
|
+
- [ResultatValidationPDFAPI](docs/ResultatValidationPDFAPI.md)
|
|
366
|
+
- [SchemeID](docs/SchemeID.md)
|
|
367
|
+
- [ServiceStructure](docs/ServiceStructure.md)
|
|
368
|
+
- [SignatureInfo](docs/SignatureInfo.md)
|
|
369
|
+
- [SoumettreFactureCompleteRequest](docs/SoumettreFactureCompleteRequest.md)
|
|
370
|
+
- [SoumettreFactureCompleteResponse](docs/SoumettreFactureCompleteResponse.md)
|
|
371
|
+
- [SoumettreFactureRequest](docs/SoumettreFactureRequest.md)
|
|
372
|
+
- [SoumettreFactureResponse](docs/SoumettreFactureResponse.md)
|
|
373
|
+
- [StatutCelery](docs/StatutCelery.md)
|
|
374
|
+
- [StatutFacture](docs/StatutFacture.md)
|
|
375
|
+
- [StatutTache](docs/StatutTache.md)
|
|
376
|
+
- [StructureInfo](docs/StructureInfo.md)
|
|
377
|
+
- [TypeFacture](docs/TypeFacture.md)
|
|
378
|
+
- [TypeTVA](docs/TypeTVA.md)
|
|
379
|
+
- [Unite](docs/Unite.md)
|
|
380
|
+
- [Utilisateur](docs/Utilisateur.md)
|
|
381
|
+
- [ValidationError](docs/ValidationError.md)
|
|
382
|
+
- [ValidationErrorLocInner](docs/ValidationErrorLocInner.md)
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
<a id="documentation-for-authorization"></a>
|
|
386
|
+
## Documentation For Authorization
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
Authentication schemes defined for the API:
|
|
390
|
+
<a id="HTTPBearer"></a>
|
|
391
|
+
### HTTPBearer
|
|
392
|
+
|
|
393
|
+
- **Type**: Bearer authentication
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
## Author
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|