factpulse 2.0.37__py3-none-any.whl → 3.0.7__py3-none-any.whl

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.

Files changed (262) hide show
  1. factpulse/__init__.py +265 -197
  2. factpulse/api/__init__.py +5 -4
  3. factpulse/api/afnorpdppa_api.py +34 -34
  4. factpulse/api/afnorpdppa_directory_service_api.py +59 -59
  5. factpulse/api/afnorpdppa_flow_service_api.py +23 -23
  6. factpulse/api/chorus_pro_api.py +211 -211
  7. factpulse/api/document_conversion_api.py +1506 -0
  8. factpulse/api/{sant_api.py → health_api.py} +22 -22
  9. factpulse/api/invoice_processing_api.py +3437 -0
  10. factpulse/api/{vrification_pdfxml_api.py → pdfxml_verification_api.py} +240 -240
  11. factpulse/api/{utilisateur_api.py → user_api.py} +17 -17
  12. factpulse/api_client.py +3 -3
  13. factpulse/configuration.py +3 -3
  14. factpulse/exceptions.py +2 -2
  15. factpulse/models/__init__.py +128 -95
  16. factpulse/models/acknowledgment_status.py +38 -0
  17. factpulse/models/additional_document.py +115 -0
  18. factpulse/models/afnor_credentials.py +106 -0
  19. factpulse/models/afnor_destination.py +127 -0
  20. factpulse/models/afnor_health_check_response.py +91 -0
  21. factpulse/models/afnor_result.py +105 -0
  22. factpulse/models/allowance_charge.py +147 -0
  23. factpulse/models/allowance_reason_code.py +42 -0
  24. factpulse/models/allowance_total_amount.py +145 -0
  25. factpulse/models/amount.py +139 -0
  26. factpulse/models/amount_due.py +139 -0
  27. factpulse/models/api_error.py +5 -5
  28. factpulse/models/async_task_status.py +97 -0
  29. factpulse/models/base_amount.py +145 -0
  30. factpulse/models/bounding_box_schema.py +10 -10
  31. factpulse/models/celery_status.py +40 -0
  32. factpulse/models/certificate_info_response.py +24 -24
  33. factpulse/models/charge_total_amount.py +145 -0
  34. factpulse/models/chorus_pro_destination.py +108 -0
  35. factpulse/models/chorus_pro_result.py +101 -0
  36. factpulse/models/contact.py +113 -0
  37. factpulse/models/convert_error_response.py +105 -0
  38. factpulse/models/convert_pending_input_response.py +114 -0
  39. factpulse/models/convert_resume_request.py +87 -0
  40. factpulse/models/convert_success_response.py +126 -0
  41. factpulse/models/convert_validation_failed_response.py +120 -0
  42. factpulse/models/delivery_party.py +121 -0
  43. factpulse/models/destination.py +27 -27
  44. factpulse/models/document_type_info.py +91 -0
  45. factpulse/models/electronic_address.py +90 -0
  46. factpulse/models/enriched_invoice_info.py +133 -0
  47. factpulse/models/error_level.py +2 -2
  48. factpulse/models/error_source.py +2 -2
  49. factpulse/models/extraction_info.py +93 -0
  50. factpulse/models/factur_x_invoice.py +320 -0
  51. factpulse/models/factur_x_profile.py +39 -0
  52. factpulse/models/factur_xpdf_info.py +91 -0
  53. factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.py +95 -0
  54. factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.py +115 -0
  55. factpulse/models/field_status.py +40 -0
  56. factpulse/models/file_info.py +94 -0
  57. factpulse/models/files_info.py +106 -0
  58. factpulse/models/flow_direction.py +37 -0
  59. factpulse/models/flow_profile.py +38 -0
  60. factpulse/models/flow_summary.py +131 -0
  61. factpulse/models/flow_syntax.py +40 -0
  62. factpulse/models/flow_type.py +40 -0
  63. factpulse/models/generate_certificate_request.py +26 -26
  64. factpulse/models/generate_certificate_response.py +15 -15
  65. factpulse/models/get_chorus_pro_id_request.py +100 -0
  66. factpulse/models/get_chorus_pro_id_response.py +98 -0
  67. factpulse/models/get_invoice_request.py +98 -0
  68. factpulse/models/get_invoice_response.py +142 -0
  69. factpulse/models/get_structure_request.py +100 -0
  70. factpulse/models/get_structure_response.py +142 -0
  71. factpulse/models/global_allowance_amount.py +139 -0
  72. factpulse/models/gross_unit_price.py +145 -0
  73. factpulse/models/http_validation_error.py +2 -2
  74. factpulse/models/incoming_invoice.py +196 -0
  75. factpulse/models/incoming_supplier.py +144 -0
  76. factpulse/models/invoice_format.py +38 -0
  77. factpulse/models/invoice_line.py +354 -0
  78. factpulse/models/invoice_line_allowance_amount.py +145 -0
  79. factpulse/models/invoice_note.py +94 -0
  80. factpulse/models/invoice_references.py +194 -0
  81. factpulse/models/invoice_status.py +96 -0
  82. factpulse/models/invoice_totals.py +177 -0
  83. factpulse/models/invoice_totals_prepayment.py +145 -0
  84. factpulse/models/invoice_type_code.py +51 -0
  85. factpulse/models/invoicing_framework.py +110 -0
  86. factpulse/models/invoicing_framework_code.py +39 -0
  87. factpulse/models/line_net_amount.py +145 -0
  88. factpulse/models/line_total_amount.py +145 -0
  89. factpulse/models/mandatory_note_schema.py +124 -0
  90. factpulse/models/manual_rate.py +139 -0
  91. factpulse/models/manual_vat_rate.py +139 -0
  92. factpulse/models/missing_field.py +107 -0
  93. factpulse/models/operation_nature.py +49 -0
  94. factpulse/models/output_format.py +37 -0
  95. factpulse/models/page_dimensions_schema.py +89 -0
  96. factpulse/models/payee.py +168 -0
  97. factpulse/models/payment_card.py +99 -0
  98. factpulse/models/payment_means.py +41 -0
  99. factpulse/models/pdf_validation_result_api.py +169 -0
  100. factpulse/models/pdp_credentials.py +15 -15
  101. factpulse/models/percentage.py +145 -0
  102. factpulse/models/postal_address.py +134 -0
  103. factpulse/models/price_allowance_amount.py +145 -0
  104. factpulse/models/price_basis_quantity.py +145 -0
  105. factpulse/models/processing_options.py +94 -0
  106. factpulse/models/product_characteristic.py +89 -0
  107. factpulse/models/product_classification.py +101 -0
  108. factpulse/models/quantity.py +139 -0
  109. factpulse/models/recipient.py +167 -0
  110. factpulse/models/rounding_amount.py +145 -0
  111. factpulse/models/scheme_id.py +10 -4
  112. factpulse/models/search_flow_request.py +143 -0
  113. factpulse/models/search_flow_response.py +101 -0
  114. factpulse/models/search_services_response.py +101 -0
  115. factpulse/models/search_structure_request.py +119 -0
  116. factpulse/models/search_structure_response.py +101 -0
  117. factpulse/models/signature_info.py +6 -6
  118. factpulse/models/signature_info_api.py +122 -0
  119. factpulse/models/signature_parameters.py +133 -0
  120. factpulse/models/simplified_invoice_data.py +124 -0
  121. factpulse/models/structure_info.py +14 -14
  122. factpulse/models/structure_parameters.py +91 -0
  123. factpulse/models/structure_service.py +93 -0
  124. factpulse/models/submission_mode.py +38 -0
  125. factpulse/models/submit_complete_invoice_request.py +116 -0
  126. factpulse/models/submit_complete_invoice_response.py +145 -0
  127. factpulse/models/submit_flow_request.py +123 -0
  128. factpulse/models/submit_flow_response.py +109 -0
  129. factpulse/models/submit_gross_amount.py +139 -0
  130. factpulse/models/submit_invoice_request.py +176 -0
  131. factpulse/models/submit_invoice_response.py +103 -0
  132. factpulse/models/submit_net_amount.py +139 -0
  133. factpulse/models/submit_vat_amount.py +139 -0
  134. factpulse/models/supplementary_attachment.py +95 -0
  135. factpulse/models/supplier.py +225 -0
  136. factpulse/models/task_response.py +87 -0
  137. factpulse/models/tax_representative.py +95 -0
  138. factpulse/models/taxable_amount.py +139 -0
  139. factpulse/models/total_gross_amount.py +139 -0
  140. factpulse/models/total_net_amount.py +139 -0
  141. factpulse/models/total_vat_amount.py +139 -0
  142. factpulse/models/unit_net_price.py +139 -0
  143. factpulse/models/unit_of_measure.py +41 -0
  144. factpulse/models/validation_error.py +2 -2
  145. factpulse/models/validation_error_detail.py +6 -6
  146. factpulse/models/validation_error_loc_inner.py +2 -2
  147. factpulse/models/validation_error_response.py +87 -0
  148. factpulse/models/validation_info.py +105 -0
  149. factpulse/models/validation_success_response.py +87 -0
  150. factpulse/models/vat_accounting_code.py +39 -0
  151. factpulse/models/vat_amount.py +139 -0
  152. factpulse/models/vat_category.py +44 -0
  153. factpulse/models/vat_line.py +140 -0
  154. factpulse/models/vat_point_date_code.py +38 -0
  155. factpulse/models/vat_rate.py +145 -0
  156. factpulse/models/verification_success_response.py +135 -0
  157. factpulse/models/verified_field_schema.py +129 -0
  158. factpulse/rest.py +2 -2
  159. factpulse-3.0.7.dist-info/METADATA +292 -0
  160. factpulse-3.0.7.dist-info/RECORD +168 -0
  161. factpulse_helpers/__init__.py +34 -34
  162. factpulse_helpers/client.py +1019 -795
  163. factpulse_helpers/exceptions.py +68 -68
  164. factpulse/api/traitement_facture_api.py +0 -3437
  165. factpulse/models/adresse_electronique.py +0 -90
  166. factpulse/models/adresse_postale.py +0 -120
  167. factpulse/models/cadre_de_facturation.py +0 -110
  168. factpulse/models/categorie_tva.py +0 -44
  169. factpulse/models/champ_verifie_schema.py +0 -129
  170. factpulse/models/chorus_pro_credentials.py +0 -95
  171. factpulse/models/code_cadre_facturation.py +0 -39
  172. factpulse/models/code_raison_reduction.py +0 -42
  173. factpulse/models/consulter_facture_request.py +0 -98
  174. factpulse/models/consulter_facture_response.py +0 -142
  175. factpulse/models/consulter_structure_request.py +0 -100
  176. factpulse/models/consulter_structure_response.py +0 -142
  177. factpulse/models/credentials_afnor.py +0 -106
  178. factpulse/models/credentials_chorus_pro.py +0 -115
  179. factpulse/models/destinataire.py +0 -130
  180. factpulse/models/destination_afnor.py +0 -127
  181. factpulse/models/destination_chorus_pro.py +0 -108
  182. factpulse/models/dimension_page_schema.py +0 -89
  183. factpulse/models/direction_flux.py +0 -37
  184. factpulse/models/donnees_facture_simplifiees.py +0 -124
  185. factpulse/models/facture_enrichie_info.py +0 -133
  186. factpulse/models/facture_entrante.py +0 -196
  187. factpulse/models/facture_factur_x.py +0 -183
  188. factpulse/models/flux_resume.py +0 -131
  189. factpulse/models/format_facture.py +0 -38
  190. factpulse/models/format_sortie.py +0 -37
  191. factpulse/models/fournisseur.py +0 -153
  192. factpulse/models/fournisseur_entrant.py +0 -144
  193. factpulse/models/information_signature_api.py +0 -122
  194. factpulse/models/ligne_de_poste.py +0 -183
  195. factpulse/models/ligne_de_poste_montant_remise_ht.py +0 -145
  196. factpulse/models/ligne_de_poste_taux_tva_manuel.py +0 -145
  197. factpulse/models/ligne_de_tva.py +0 -132
  198. factpulse/models/mode_depot.py +0 -38
  199. factpulse/models/mode_paiement.py +0 -41
  200. factpulse/models/montant_a_payer.py +0 -139
  201. factpulse/models/montant_base_ht.py +0 -139
  202. factpulse/models/montant_ht_total.py +0 -139
  203. factpulse/models/montant_remise_globale_ttc.py +0 -139
  204. factpulse/models/montant_total.py +0 -133
  205. factpulse/models/montant_total_acompte.py +0 -145
  206. factpulse/models/montant_total_ligne_ht.py +0 -139
  207. factpulse/models/montant_ttc_total.py +0 -139
  208. factpulse/models/montant_tva.py +0 -139
  209. factpulse/models/montant_tva_ligne.py +0 -139
  210. factpulse/models/montant_tva_total.py +0 -139
  211. factpulse/models/montant_unitaire_ht.py +0 -139
  212. factpulse/models/nature_operation.py +0 -49
  213. factpulse/models/note.py +0 -94
  214. factpulse/models/note_obligatoire_schema.py +0 -124
  215. factpulse/models/obtenir_id_chorus_pro_request.py +0 -100
  216. factpulse/models/obtenir_id_chorus_pro_response.py +0 -98
  217. factpulse/models/options_processing.py +0 -94
  218. factpulse/models/parametres_signature.py +0 -133
  219. factpulse/models/parametres_structure.py +0 -91
  220. factpulse/models/pdf_factur_x_info.py +0 -91
  221. factpulse/models/piece_jointe_complementaire.py +0 -95
  222. factpulse/models/profil_api.py +0 -39
  223. factpulse/models/profil_flux.py +0 -38
  224. factpulse/models/quantite.py +0 -139
  225. factpulse/models/rechercher_services_response.py +0 -101
  226. factpulse/models/rechercher_structure_request.py +0 -119
  227. factpulse/models/rechercher_structure_response.py +0 -101
  228. factpulse/models/references.py +0 -124
  229. factpulse/models/reponse_healthcheck_afnor.py +0 -91
  230. factpulse/models/reponse_recherche_flux.py +0 -101
  231. factpulse/models/reponse_soumission_flux.py +0 -109
  232. factpulse/models/reponse_tache.py +0 -87
  233. factpulse/models/reponse_validation_erreur.py +0 -87
  234. factpulse/models/reponse_validation_succes.py +0 -87
  235. factpulse/models/reponse_verification_succes.py +0 -135
  236. factpulse/models/requete_recherche_flux.py +0 -143
  237. factpulse/models/requete_soumission_flux.py +0 -123
  238. factpulse/models/resultat_afnor.py +0 -105
  239. factpulse/models/resultat_chorus_pro.py +0 -101
  240. factpulse/models/resultat_validation_pdfapi.py +0 -169
  241. factpulse/models/service_structure.py +0 -93
  242. factpulse/models/soumettre_facture_complete_request.py +0 -116
  243. factpulse/models/soumettre_facture_complete_response.py +0 -145
  244. factpulse/models/soumettre_facture_request.py +0 -176
  245. factpulse/models/soumettre_facture_response.py +0 -103
  246. factpulse/models/statut_acquittement.py +0 -38
  247. factpulse/models/statut_celery.py +0 -40
  248. factpulse/models/statut_champ_api.py +0 -40
  249. factpulse/models/statut_facture.py +0 -96
  250. factpulse/models/statut_tache.py +0 -97
  251. factpulse/models/syntaxe_flux.py +0 -40
  252. factpulse/models/tauxmanuel.py +0 -139
  253. factpulse/models/type_document.py +0 -40
  254. factpulse/models/type_facture.py +0 -37
  255. factpulse/models/type_flux.py +0 -40
  256. factpulse/models/type_tva.py +0 -39
  257. factpulse/models/unite.py +0 -41
  258. factpulse-2.0.37.dist-info/METADATA +0 -292
  259. factpulse-2.0.37.dist-info/RECORD +0 -134
  260. {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/WHEEL +0 -0
  261. {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/licenses/LICENSE +0 -0
  262. {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,9 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- API REST FactPulse
4
+ FactPulse REST API
5
5
 
6
- 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/
6
+ REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
7
7
 
8
8
  The version of the OpenAPI document: 1.0.0
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -18,17 +18,17 @@ from typing_extensions import Annotated
18
18
 
19
19
  from pydantic import StrictInt
20
20
  from typing import Any, Dict
21
- from factpulse.models.consulter_facture_request import ConsulterFactureRequest
22
- from factpulse.models.consulter_facture_response import ConsulterFactureResponse
23
- from factpulse.models.consulter_structure_request import ConsulterStructureRequest
24
- from factpulse.models.consulter_structure_response import ConsulterStructureResponse
25
- from factpulse.models.obtenir_id_chorus_pro_request import ObtenirIdChorusProRequest
26
- from factpulse.models.obtenir_id_chorus_pro_response import ObtenirIdChorusProResponse
27
- from factpulse.models.rechercher_services_response import RechercherServicesResponse
28
- from factpulse.models.rechercher_structure_request import RechercherStructureRequest
29
- from factpulse.models.rechercher_structure_response import RechercherStructureResponse
30
- from factpulse.models.soumettre_facture_request import SoumettreFactureRequest
31
- from factpulse.models.soumettre_facture_response import SoumettreFactureResponse
21
+ from factpulse.models.get_chorus_pro_id_request import GetChorusProIdRequest
22
+ from factpulse.models.get_chorus_pro_id_response import GetChorusProIdResponse
23
+ from factpulse.models.get_invoice_request import GetInvoiceRequest
24
+ from factpulse.models.get_invoice_response import GetInvoiceResponse
25
+ from factpulse.models.get_structure_request import GetStructureRequest
26
+ from factpulse.models.get_structure_response import GetStructureResponse
27
+ from factpulse.models.search_services_response import SearchServicesResponse
28
+ from factpulse.models.search_structure_request import SearchStructureRequest
29
+ from factpulse.models.search_structure_response import SearchStructureResponse
30
+ from factpulse.models.submit_invoice_request import SubmitInvoiceRequest
31
+ from factpulse.models.submit_invoice_response import SubmitInvoiceResponse
32
32
 
33
33
  from factpulse.api_client import ApiClient, RequestSerialized
34
34
  from factpulse.api_response import ApiResponse
@@ -65,9 +65,9 @@ class ChorusProApi:
65
65
  _headers: Optional[Dict[StrictStr, Any]] = None,
66
66
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
67
67
  ) -> object:
68
- """Ajouter une pièce jointe
68
+ """Add an attachment
69
69
 
70
- Ajoute une pièce jointe au compte utilisateur courant. **Taille max** : 10 Mo par fichier **Payload exemple** : ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"bon_commande.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Retour** : L'ID de la pièce jointe (`pieceJointeIdFichier`) à utiliser ensuite dans `/factures/completer`. **Extensions acceptées** : PDF, JPG, PNG, ZIP, XML, etc.
70
+ Add an attachment to the current user account. **Max size**: 10 MB per file **Example payload**: ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"purchase_order.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Returns**: The attachment ID (`pieceJointeIdFichier`) to use in `/factures/completer`. **Accepted extensions**: PDF, JPG, PNG, ZIP, XML, etc.
71
71
 
72
72
  :param request_body: (required)
73
73
  :type request_body: Dict[str, object]
@@ -133,9 +133,9 @@ class ChorusProApi:
133
133
  _headers: Optional[Dict[StrictStr, Any]] = None,
134
134
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
135
135
  ) -> ApiResponse[object]:
136
- """Ajouter une pièce jointe
136
+ """Add an attachment
137
137
 
138
- Ajoute une pièce jointe au compte utilisateur courant. **Taille max** : 10 Mo par fichier **Payload exemple** : ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"bon_commande.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Retour** : L'ID de la pièce jointe (`pieceJointeIdFichier`) à utiliser ensuite dans `/factures/completer`. **Extensions acceptées** : PDF, JPG, PNG, ZIP, XML, etc.
138
+ Add an attachment to the current user account. **Max size**: 10 MB per file **Example payload**: ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"purchase_order.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Returns**: The attachment ID (`pieceJointeIdFichier`) to use in `/factures/completer`. **Accepted extensions**: PDF, JPG, PNG, ZIP, XML, etc.
139
139
 
140
140
  :param request_body: (required)
141
141
  :type request_body: Dict[str, object]
@@ -201,9 +201,9 @@ class ChorusProApi:
201
201
  _headers: Optional[Dict[StrictStr, Any]] = None,
202
202
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
203
203
  ) -> RESTResponseType:
204
- """Ajouter une pièce jointe
204
+ """Add an attachment
205
205
 
206
- Ajoute une pièce jointe au compte utilisateur courant. **Taille max** : 10 Mo par fichier **Payload exemple** : ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"bon_commande.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Retour** : L'ID de la pièce jointe (`pieceJointeIdFichier`) à utiliser ensuite dans `/factures/completer`. **Extensions acceptées** : PDF, JPG, PNG, ZIP, XML, etc.
206
+ Add an attachment to the current user account. **Max size**: 10 MB per file **Example payload**: ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"purchase_order.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Returns**: The attachment ID (`pieceJointeIdFichier`) to use in `/factures/completer`. **Accepted extensions**: PDF, JPG, PNG, ZIP, XML, etc.
207
207
 
208
208
  :param request_body: (required)
209
209
  :type request_body: Dict[str, object]
@@ -342,9 +342,9 @@ class ChorusProApi:
342
342
  _headers: Optional[Dict[StrictStr, Any]] = None,
343
343
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
344
344
  ) -> object:
345
- """Compléter une facture suspendue (Fournisseur)
345
+ """Complete a suspended invoice (Supplier)
346
346
 
347
- Complète une facture au statut SUSPENDUE en ajoutant des pièces jointes ou un commentaire. **Statut requis** : SUSPENDUE **Actions possibles** : - Ajouter des pièces jointes (justificatifs, bons de commande, etc.) - Modifier le commentaire **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Voici les justificatifs demandés\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"bon_commande.pdf\" } ] } ``` **Note** : Les pièces jointes doivent d'abord être uploadées via `/transverses/ajouter-fichier`. **Après complétion** : La facture repasse au statut MISE_A_DISPOSITION.
347
+ Complete a SUSPENDUE status invoice by adding attachments or a comment. **Required status**: SUSPENDUE **Possible actions**: - Add attachments (supporting documents, purchase orders, etc.) - Modify comment **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Here are the requested documents\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"purchase_order.pdf\" } ] } ``` **Note**: Attachments must first be uploaded via `/transverses/ajouter-fichier`. **After completion**: The invoice returns to MISE_A_DISPOSITION status.
348
348
 
349
349
  :param request_body: (required)
350
350
  :type request_body: Dict[str, object]
@@ -410,9 +410,9 @@ class ChorusProApi:
410
410
  _headers: Optional[Dict[StrictStr, Any]] = None,
411
411
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
412
412
  ) -> ApiResponse[object]:
413
- """Compléter une facture suspendue (Fournisseur)
413
+ """Complete a suspended invoice (Supplier)
414
414
 
415
- Complète une facture au statut SUSPENDUE en ajoutant des pièces jointes ou un commentaire. **Statut requis** : SUSPENDUE **Actions possibles** : - Ajouter des pièces jointes (justificatifs, bons de commande, etc.) - Modifier le commentaire **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Voici les justificatifs demandés\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"bon_commande.pdf\" } ] } ``` **Note** : Les pièces jointes doivent d'abord être uploadées via `/transverses/ajouter-fichier`. **Après complétion** : La facture repasse au statut MISE_A_DISPOSITION.
415
+ Complete a SUSPENDUE status invoice by adding attachments or a comment. **Required status**: SUSPENDUE **Possible actions**: - Add attachments (supporting documents, purchase orders, etc.) - Modify comment **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Here are the requested documents\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"purchase_order.pdf\" } ] } ``` **Note**: Attachments must first be uploaded via `/transverses/ajouter-fichier`. **After completion**: The invoice returns to MISE_A_DISPOSITION status.
416
416
 
417
417
  :param request_body: (required)
418
418
  :type request_body: Dict[str, object]
@@ -478,9 +478,9 @@ class ChorusProApi:
478
478
  _headers: Optional[Dict[StrictStr, Any]] = None,
479
479
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
480
480
  ) -> RESTResponseType:
481
- """Compléter une facture suspendue (Fournisseur)
481
+ """Complete a suspended invoice (Supplier)
482
482
 
483
- Complète une facture au statut SUSPENDUE en ajoutant des pièces jointes ou un commentaire. **Statut requis** : SUSPENDUE **Actions possibles** : - Ajouter des pièces jointes (justificatifs, bons de commande, etc.) - Modifier le commentaire **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Voici les justificatifs demandés\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"bon_commande.pdf\" } ] } ``` **Note** : Les pièces jointes doivent d'abord être uploadées via `/transverses/ajouter-fichier`. **Après complétion** : La facture repasse au statut MISE_A_DISPOSITION.
483
+ Complete a SUSPENDUE status invoice by adding attachments or a comment. **Required status**: SUSPENDUE **Possible actions**: - Add attachments (supporting documents, purchase orders, etc.) - Modify comment **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Here are the requested documents\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"purchase_order.pdf\" } ] } ``` **Note**: Attachments must first be uploaded via `/transverses/ajouter-fichier`. **After completion**: The invoice returns to MISE_A_DISPOSITION status.
484
484
 
485
485
  :param request_body: (required)
486
486
  :type request_body: Dict[str, object]
@@ -605,7 +605,7 @@ class ChorusProApi:
605
605
  @validate_call
606
606
  def consulter_facture_api_v1_chorus_pro_factures_consulter_post(
607
607
  self,
608
- consulter_facture_request: ConsulterFactureRequest,
608
+ get_invoice_request: GetInvoiceRequest,
609
609
  _request_timeout: Union[
610
610
  None,
611
611
  Annotated[StrictFloat, Field(gt=0)],
@@ -618,13 +618,13 @@ class ChorusProApi:
618
618
  _content_type: Optional[StrictStr] = None,
619
619
  _headers: Optional[Dict[StrictStr, Any]] = None,
620
620
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
621
- ) -> ConsulterFactureResponse:
622
- """Consulter le statut d'une facture
621
+ ) -> GetInvoiceResponse:
622
+ """Consult invoice status
623
623
 
624
- Récupère les informations et le statut actuel d'une facture soumise à Chorus Pro. **Retour** : - Numéro et date de facture - Montant TTC - **Statut courant** : SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Structure destinataire **Cas d'usage** : - Suivre l'évolution du traitement d'une facture - Vérifier si une facture a été validée ou rejetée - Obtenir la date de mise en paiement **Polling** : Appelez cet endpoint régulièrement pour suivre l'évolution du statut.
624
+ Retrieves the information and current status of an invoice submitted to Chorus Pro. **Returns**: - Invoice number and date - Total gross amount - **Current status**: SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Recipient structure **Use cases**: - Track the processing progress of an invoice - Check if an invoice has been validated or rejected - Get the payment date **Polling**: Call this endpoint regularly to track status changes.
625
625
 
626
- :param consulter_facture_request: (required)
627
- :type consulter_facture_request: ConsulterFactureRequest
626
+ :param get_invoice_request: (required)
627
+ :type get_invoice_request: GetInvoiceRequest
628
628
  :param _request_timeout: timeout setting for this request. If one
629
629
  number provided, it will be total request
630
630
  timeout. It can also be a pair (tuple) of
@@ -648,7 +648,7 @@ class ChorusProApi:
648
648
  """ # noqa: E501
649
649
 
650
650
  _param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
651
- consulter_facture_request=consulter_facture_request,
651
+ get_invoice_request=get_invoice_request,
652
652
  _request_auth=_request_auth,
653
653
  _content_type=_content_type,
654
654
  _headers=_headers,
@@ -656,7 +656,7 @@ class ChorusProApi:
656
656
  )
657
657
 
658
658
  _response_types_map: Dict[str, Optional[str]] = {
659
- '200': "ConsulterFactureResponse",
659
+ '200': "GetInvoiceResponse",
660
660
  '422': "HTTPValidationError",
661
661
  }
662
662
  response_data = self.api_client.call_api(
@@ -673,7 +673,7 @@ class ChorusProApi:
673
673
  @validate_call
674
674
  def consulter_facture_api_v1_chorus_pro_factures_consulter_post_with_http_info(
675
675
  self,
676
- consulter_facture_request: ConsulterFactureRequest,
676
+ get_invoice_request: GetInvoiceRequest,
677
677
  _request_timeout: Union[
678
678
  None,
679
679
  Annotated[StrictFloat, Field(gt=0)],
@@ -686,13 +686,13 @@ class ChorusProApi:
686
686
  _content_type: Optional[StrictStr] = None,
687
687
  _headers: Optional[Dict[StrictStr, Any]] = None,
688
688
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
689
- ) -> ApiResponse[ConsulterFactureResponse]:
690
- """Consulter le statut d'une facture
689
+ ) -> ApiResponse[GetInvoiceResponse]:
690
+ """Consult invoice status
691
691
 
692
- Récupère les informations et le statut actuel d'une facture soumise à Chorus Pro. **Retour** : - Numéro et date de facture - Montant TTC - **Statut courant** : SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Structure destinataire **Cas d'usage** : - Suivre l'évolution du traitement d'une facture - Vérifier si une facture a été validée ou rejetée - Obtenir la date de mise en paiement **Polling** : Appelez cet endpoint régulièrement pour suivre l'évolution du statut.
692
+ Retrieves the information and current status of an invoice submitted to Chorus Pro. **Returns**: - Invoice number and date - Total gross amount - **Current status**: SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Recipient structure **Use cases**: - Track the processing progress of an invoice - Check if an invoice has been validated or rejected - Get the payment date **Polling**: Call this endpoint regularly to track status changes.
693
693
 
694
- :param consulter_facture_request: (required)
695
- :type consulter_facture_request: ConsulterFactureRequest
694
+ :param get_invoice_request: (required)
695
+ :type get_invoice_request: GetInvoiceRequest
696
696
  :param _request_timeout: timeout setting for this request. If one
697
697
  number provided, it will be total request
698
698
  timeout. It can also be a pair (tuple) of
@@ -716,7 +716,7 @@ class ChorusProApi:
716
716
  """ # noqa: E501
717
717
 
718
718
  _param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
719
- consulter_facture_request=consulter_facture_request,
719
+ get_invoice_request=get_invoice_request,
720
720
  _request_auth=_request_auth,
721
721
  _content_type=_content_type,
722
722
  _headers=_headers,
@@ -724,7 +724,7 @@ class ChorusProApi:
724
724
  )
725
725
 
726
726
  _response_types_map: Dict[str, Optional[str]] = {
727
- '200': "ConsulterFactureResponse",
727
+ '200': "GetInvoiceResponse",
728
728
  '422': "HTTPValidationError",
729
729
  }
730
730
  response_data = self.api_client.call_api(
@@ -741,7 +741,7 @@ class ChorusProApi:
741
741
  @validate_call
742
742
  def consulter_facture_api_v1_chorus_pro_factures_consulter_post_without_preload_content(
743
743
  self,
744
- consulter_facture_request: ConsulterFactureRequest,
744
+ get_invoice_request: GetInvoiceRequest,
745
745
  _request_timeout: Union[
746
746
  None,
747
747
  Annotated[StrictFloat, Field(gt=0)],
@@ -755,12 +755,12 @@ class ChorusProApi:
755
755
  _headers: Optional[Dict[StrictStr, Any]] = None,
756
756
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
757
757
  ) -> RESTResponseType:
758
- """Consulter le statut d'une facture
758
+ """Consult invoice status
759
759
 
760
- Récupère les informations et le statut actuel d'une facture soumise à Chorus Pro. **Retour** : - Numéro et date de facture - Montant TTC - **Statut courant** : SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Structure destinataire **Cas d'usage** : - Suivre l'évolution du traitement d'une facture - Vérifier si une facture a été validée ou rejetée - Obtenir la date de mise en paiement **Polling** : Appelez cet endpoint régulièrement pour suivre l'évolution du statut.
760
+ Retrieves the information and current status of an invoice submitted to Chorus Pro. **Returns**: - Invoice number and date - Total gross amount - **Current status**: SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Recipient structure **Use cases**: - Track the processing progress of an invoice - Check if an invoice has been validated or rejected - Get the payment date **Polling**: Call this endpoint regularly to track status changes.
761
761
 
762
- :param consulter_facture_request: (required)
763
- :type consulter_facture_request: ConsulterFactureRequest
762
+ :param get_invoice_request: (required)
763
+ :type get_invoice_request: GetInvoiceRequest
764
764
  :param _request_timeout: timeout setting for this request. If one
765
765
  number provided, it will be total request
766
766
  timeout. It can also be a pair (tuple) of
@@ -784,7 +784,7 @@ class ChorusProApi:
784
784
  """ # noqa: E501
785
785
 
786
786
  _param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
787
- consulter_facture_request=consulter_facture_request,
787
+ get_invoice_request=get_invoice_request,
788
788
  _request_auth=_request_auth,
789
789
  _content_type=_content_type,
790
790
  _headers=_headers,
@@ -792,7 +792,7 @@ class ChorusProApi:
792
792
  )
793
793
 
794
794
  _response_types_map: Dict[str, Optional[str]] = {
795
- '200': "ConsulterFactureResponse",
795
+ '200': "GetInvoiceResponse",
796
796
  '422': "HTTPValidationError",
797
797
  }
798
798
  response_data = self.api_client.call_api(
@@ -804,7 +804,7 @@ class ChorusProApi:
804
804
 
805
805
  def _consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
806
806
  self,
807
- consulter_facture_request,
807
+ get_invoice_request,
808
808
  _request_auth,
809
809
  _content_type,
810
810
  _headers,
@@ -830,8 +830,8 @@ class ChorusProApi:
830
830
  # process the header parameters
831
831
  # process the form parameters
832
832
  # process the body parameter
833
- if consulter_facture_request is not None:
834
- _body_params = consulter_facture_request
833
+ if get_invoice_request is not None:
834
+ _body_params = get_invoice_request
835
835
 
836
836
 
837
837
  # set the HTTP header `Accept`
@@ -882,7 +882,7 @@ class ChorusProApi:
882
882
  @validate_call
883
883
  def consulter_structure_api_v1_chorus_pro_structures_consulter_post(
884
884
  self,
885
- consulter_structure_request: ConsulterStructureRequest,
885
+ get_structure_request: GetStructureRequest,
886
886
  _request_timeout: Union[
887
887
  None,
888
888
  Annotated[StrictFloat, Field(gt=0)],
@@ -895,13 +895,13 @@ class ChorusProApi:
895
895
  _content_type: Optional[StrictStr] = None,
896
896
  _headers: Optional[Dict[StrictStr, Any]] = None,
897
897
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
898
- ) -> ConsulterStructureResponse:
899
- """Consulter les détails d'une structure
898
+ ) -> GetStructureResponse:
899
+ """Consult structure details
900
900
 
901
- Récupère les informations détaillées d'une structure Chorus Pro. **Retour** : - Raison sociale - Numéro de TVA intracommunautaire - Email de contact - **Paramètres obligatoires** : Indique si le code service et/ou numéro d'engagement sont requis pour soumettre une facture **Étape typique** : Appelée après `rechercher-structures` pour savoir quels champs sont obligatoires avant de soumettre une facture.
901
+ Retrieves detailed information about a Chorus Pro structure. **Returns**: - Company name - Intra-EU VAT number - Contact email - **Required parameters**: Indicates if service code and/or engagement number are required to submit an invoice **Typical step**: Called after `search-structures` to know which fields are mandatory before submitting an invoice.
902
902
 
903
- :param consulter_structure_request: (required)
904
- :type consulter_structure_request: ConsulterStructureRequest
903
+ :param get_structure_request: (required)
904
+ :type get_structure_request: GetStructureRequest
905
905
  :param _request_timeout: timeout setting for this request. If one
906
906
  number provided, it will be total request
907
907
  timeout. It can also be a pair (tuple) of
@@ -925,7 +925,7 @@ class ChorusProApi:
925
925
  """ # noqa: E501
926
926
 
927
927
  _param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
928
- consulter_structure_request=consulter_structure_request,
928
+ get_structure_request=get_structure_request,
929
929
  _request_auth=_request_auth,
930
930
  _content_type=_content_type,
931
931
  _headers=_headers,
@@ -933,7 +933,7 @@ class ChorusProApi:
933
933
  )
934
934
 
935
935
  _response_types_map: Dict[str, Optional[str]] = {
936
- '200': "ConsulterStructureResponse",
936
+ '200': "GetStructureResponse",
937
937
  '422': "HTTPValidationError",
938
938
  }
939
939
  response_data = self.api_client.call_api(
@@ -950,7 +950,7 @@ class ChorusProApi:
950
950
  @validate_call
951
951
  def consulter_structure_api_v1_chorus_pro_structures_consulter_post_with_http_info(
952
952
  self,
953
- consulter_structure_request: ConsulterStructureRequest,
953
+ get_structure_request: GetStructureRequest,
954
954
  _request_timeout: Union[
955
955
  None,
956
956
  Annotated[StrictFloat, Field(gt=0)],
@@ -963,13 +963,13 @@ class ChorusProApi:
963
963
  _content_type: Optional[StrictStr] = None,
964
964
  _headers: Optional[Dict[StrictStr, Any]] = None,
965
965
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
966
- ) -> ApiResponse[ConsulterStructureResponse]:
967
- """Consulter les détails d'une structure
966
+ ) -> ApiResponse[GetStructureResponse]:
967
+ """Consult structure details
968
968
 
969
- Récupère les informations détaillées d'une structure Chorus Pro. **Retour** : - Raison sociale - Numéro de TVA intracommunautaire - Email de contact - **Paramètres obligatoires** : Indique si le code service et/ou numéro d'engagement sont requis pour soumettre une facture **Étape typique** : Appelée après `rechercher-structures` pour savoir quels champs sont obligatoires avant de soumettre une facture.
969
+ Retrieves detailed information about a Chorus Pro structure. **Returns**: - Company name - Intra-EU VAT number - Contact email - **Required parameters**: Indicates if service code and/or engagement number are required to submit an invoice **Typical step**: Called after `search-structures` to know which fields are mandatory before submitting an invoice.
970
970
 
971
- :param consulter_structure_request: (required)
972
- :type consulter_structure_request: ConsulterStructureRequest
971
+ :param get_structure_request: (required)
972
+ :type get_structure_request: GetStructureRequest
973
973
  :param _request_timeout: timeout setting for this request. If one
974
974
  number provided, it will be total request
975
975
  timeout. It can also be a pair (tuple) of
@@ -993,7 +993,7 @@ class ChorusProApi:
993
993
  """ # noqa: E501
994
994
 
995
995
  _param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
996
- consulter_structure_request=consulter_structure_request,
996
+ get_structure_request=get_structure_request,
997
997
  _request_auth=_request_auth,
998
998
  _content_type=_content_type,
999
999
  _headers=_headers,
@@ -1001,7 +1001,7 @@ class ChorusProApi:
1001
1001
  )
1002
1002
 
1003
1003
  _response_types_map: Dict[str, Optional[str]] = {
1004
- '200': "ConsulterStructureResponse",
1004
+ '200': "GetStructureResponse",
1005
1005
  '422': "HTTPValidationError",
1006
1006
  }
1007
1007
  response_data = self.api_client.call_api(
@@ -1018,7 +1018,7 @@ class ChorusProApi:
1018
1018
  @validate_call
1019
1019
  def consulter_structure_api_v1_chorus_pro_structures_consulter_post_without_preload_content(
1020
1020
  self,
1021
- consulter_structure_request: ConsulterStructureRequest,
1021
+ get_structure_request: GetStructureRequest,
1022
1022
  _request_timeout: Union[
1023
1023
  None,
1024
1024
  Annotated[StrictFloat, Field(gt=0)],
@@ -1032,12 +1032,12 @@ class ChorusProApi:
1032
1032
  _headers: Optional[Dict[StrictStr, Any]] = None,
1033
1033
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1034
1034
  ) -> RESTResponseType:
1035
- """Consulter les détails d'une structure
1035
+ """Consult structure details
1036
1036
 
1037
- Récupère les informations détaillées d'une structure Chorus Pro. **Retour** : - Raison sociale - Numéro de TVA intracommunautaire - Email de contact - **Paramètres obligatoires** : Indique si le code service et/ou numéro d'engagement sont requis pour soumettre une facture **Étape typique** : Appelée après `rechercher-structures` pour savoir quels champs sont obligatoires avant de soumettre une facture.
1037
+ Retrieves detailed information about a Chorus Pro structure. **Returns**: - Company name - Intra-EU VAT number - Contact email - **Required parameters**: Indicates if service code and/or engagement number are required to submit an invoice **Typical step**: Called after `search-structures` to know which fields are mandatory before submitting an invoice.
1038
1038
 
1039
- :param consulter_structure_request: (required)
1040
- :type consulter_structure_request: ConsulterStructureRequest
1039
+ :param get_structure_request: (required)
1040
+ :type get_structure_request: GetStructureRequest
1041
1041
  :param _request_timeout: timeout setting for this request. If one
1042
1042
  number provided, it will be total request
1043
1043
  timeout. It can also be a pair (tuple) of
@@ -1061,7 +1061,7 @@ class ChorusProApi:
1061
1061
  """ # noqa: E501
1062
1062
 
1063
1063
  _param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
1064
- consulter_structure_request=consulter_structure_request,
1064
+ get_structure_request=get_structure_request,
1065
1065
  _request_auth=_request_auth,
1066
1066
  _content_type=_content_type,
1067
1067
  _headers=_headers,
@@ -1069,7 +1069,7 @@ class ChorusProApi:
1069
1069
  )
1070
1070
 
1071
1071
  _response_types_map: Dict[str, Optional[str]] = {
1072
- '200': "ConsulterStructureResponse",
1072
+ '200': "GetStructureResponse",
1073
1073
  '422': "HTTPValidationError",
1074
1074
  }
1075
1075
  response_data = self.api_client.call_api(
@@ -1081,7 +1081,7 @@ class ChorusProApi:
1081
1081
 
1082
1082
  def _consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
1083
1083
  self,
1084
- consulter_structure_request,
1084
+ get_structure_request,
1085
1085
  _request_auth,
1086
1086
  _content_type,
1087
1087
  _headers,
@@ -1107,8 +1107,8 @@ class ChorusProApi:
1107
1107
  # process the header parameters
1108
1108
  # process the form parameters
1109
1109
  # process the body parameter
1110
- if consulter_structure_request is not None:
1111
- _body_params = consulter_structure_request
1110
+ if get_structure_request is not None:
1111
+ _body_params = get_structure_request
1112
1112
 
1113
1113
 
1114
1114
  # set the HTTP header `Accept`
@@ -1172,10 +1172,10 @@ class ChorusProApi:
1172
1172
  _content_type: Optional[StrictStr] = None,
1173
1173
  _headers: Optional[Dict[StrictStr, Any]] = None,
1174
1174
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1175
- ) -> RechercherServicesResponse:
1176
- """Lister les services d'une structure
1175
+ ) -> SearchServicesResponse:
1176
+ """List structure services
1177
1177
 
1178
- Récupère la liste des services actifs d'une structure publique. **Cas d'usage** : - Lister les services disponibles pour une administration - Vérifier qu'un code service existe avant de soumettre une facture **Retour** : - Liste des services avec leur code, libellé et statut (actif/inactif)
1178
+ Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
1179
1179
 
1180
1180
  :param id_structure_cpp: (required)
1181
1181
  :type id_structure_cpp: int
@@ -1210,7 +1210,7 @@ class ChorusProApi:
1210
1210
  )
1211
1211
 
1212
1212
  _response_types_map: Dict[str, Optional[str]] = {
1213
- '200': "RechercherServicesResponse",
1213
+ '200': "SearchServicesResponse",
1214
1214
  '422': "HTTPValidationError",
1215
1215
  }
1216
1216
  response_data = self.api_client.call_api(
@@ -1240,10 +1240,10 @@ class ChorusProApi:
1240
1240
  _content_type: Optional[StrictStr] = None,
1241
1241
  _headers: Optional[Dict[StrictStr, Any]] = None,
1242
1242
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1243
- ) -> ApiResponse[RechercherServicesResponse]:
1244
- """Lister les services d'une structure
1243
+ ) -> ApiResponse[SearchServicesResponse]:
1244
+ """List structure services
1245
1245
 
1246
- Récupère la liste des services actifs d'une structure publique. **Cas d'usage** : - Lister les services disponibles pour une administration - Vérifier qu'un code service existe avant de soumettre une facture **Retour** : - Liste des services avec leur code, libellé et statut (actif/inactif)
1246
+ Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
1247
1247
 
1248
1248
  :param id_structure_cpp: (required)
1249
1249
  :type id_structure_cpp: int
@@ -1278,7 +1278,7 @@ class ChorusProApi:
1278
1278
  )
1279
1279
 
1280
1280
  _response_types_map: Dict[str, Optional[str]] = {
1281
- '200': "RechercherServicesResponse",
1281
+ '200': "SearchServicesResponse",
1282
1282
  '422': "HTTPValidationError",
1283
1283
  }
1284
1284
  response_data = self.api_client.call_api(
@@ -1309,9 +1309,9 @@ class ChorusProApi:
1309
1309
  _headers: Optional[Dict[StrictStr, Any]] = None,
1310
1310
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1311
1311
  ) -> RESTResponseType:
1312
- """Lister les services d'une structure
1312
+ """List structure services
1313
1313
 
1314
- Récupère la liste des services actifs d'une structure publique. **Cas d'usage** : - Lister les services disponibles pour une administration - Vérifier qu'un code service existe avant de soumettre une facture **Retour** : - Liste des services avec leur code, libellé et statut (actif/inactif)
1314
+ Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
1315
1315
 
1316
1316
  :param id_structure_cpp: (required)
1317
1317
  :type id_structure_cpp: int
@@ -1346,7 +1346,7 @@ class ChorusProApi:
1346
1346
  )
1347
1347
 
1348
1348
  _response_types_map: Dict[str, Optional[str]] = {
1349
- '200': "RechercherServicesResponse",
1349
+ '200': "SearchServicesResponse",
1350
1350
  '422': "HTTPValidationError",
1351
1351
  }
1352
1352
  response_data = self.api_client.call_api(
@@ -1423,7 +1423,7 @@ class ChorusProApi:
1423
1423
  @validate_call
1424
1424
  def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post(
1425
1425
  self,
1426
- obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest,
1426
+ get_chorus_pro_id_request: GetChorusProIdRequest,
1427
1427
  _request_timeout: Union[
1428
1428
  None,
1429
1429
  Annotated[StrictFloat, Field(gt=0)],
@@ -1436,13 +1436,13 @@ class ChorusProApi:
1436
1436
  _content_type: Optional[StrictStr] = None,
1437
1437
  _headers: Optional[Dict[StrictStr, Any]] = None,
1438
1438
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1439
- ) -> ObtenirIdChorusProResponse:
1440
- """Utilitaire : Obtenir l'ID Chorus Pro depuis un SIRET
1439
+ ) -> GetChorusProIdResponse:
1440
+ """Utility: Get Chorus Pro ID from SIRET
1441
1441
 
1442
- **Utilitaire pratique** pour obtenir l'ID Chorus Pro d'une structure à partir de son SIRET. Cette fonction wrapper combine : 1. Recherche de la structure par SIRET 2. Extraction de l'`id_structure_cpp` si une seule structure est trouvée **Retour** : - `id_structure_cpp` : ID Chorus Pro (0 si non trouvé ou si plusieurs résultats) - `designation_structure` : Nom de la structure (si trouvée) - `message` : Message explicatif **Cas d'usage** : - Raccourci pour obtenir directement l'ID Chorus Pro avant de soumettre une facture - Alternative simplifiée à `rechercher-structures` + extraction manuelle de l'ID **Note** : Si plusieurs structures correspondent au SIRET (rare), retourne 0 et un message d'erreur.
1442
+ **Convenient utility** to get a structure's Chorus Pro ID from its SIRET. This wrapper function combines: 1. Searching for the structure by SIRET 2. Extracting the `id_structure_cpp` if a single structure is found **Returns**: - `id_structure_cpp`: Chorus Pro ID (0 if not found or multiple results) - `designation_structure`: Structure name (if found) - `message`: Explanatory message **Use cases**: - Shortcut to directly get the Chorus Pro ID before submitting an invoice - Simplified alternative to `search-structures` + manual ID extraction **Note**: If multiple structures match the SIRET (rare), returns 0 and an error message.
1443
1443
 
1444
- :param obtenir_id_chorus_pro_request: (required)
1445
- :type obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest
1444
+ :param get_chorus_pro_id_request: (required)
1445
+ :type get_chorus_pro_id_request: GetChorusProIdRequest
1446
1446
  :param _request_timeout: timeout setting for this request. If one
1447
1447
  number provided, it will be total request
1448
1448
  timeout. It can also be a pair (tuple) of
@@ -1466,7 +1466,7 @@ class ChorusProApi:
1466
1466
  """ # noqa: E501
1467
1467
 
1468
1468
  _param = self._obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
1469
- obtenir_id_chorus_pro_request=obtenir_id_chorus_pro_request,
1469
+ get_chorus_pro_id_request=get_chorus_pro_id_request,
1470
1470
  _request_auth=_request_auth,
1471
1471
  _content_type=_content_type,
1472
1472
  _headers=_headers,
@@ -1474,7 +1474,7 @@ class ChorusProApi:
1474
1474
  )
1475
1475
 
1476
1476
  _response_types_map: Dict[str, Optional[str]] = {
1477
- '200': "ObtenirIdChorusProResponse",
1477
+ '200': "GetChorusProIdResponse",
1478
1478
  '422': "HTTPValidationError",
1479
1479
  }
1480
1480
  response_data = self.api_client.call_api(
@@ -1491,7 +1491,7 @@ class ChorusProApi:
1491
1491
  @validate_call
1492
1492
  def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_with_http_info(
1493
1493
  self,
1494
- obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest,
1494
+ get_chorus_pro_id_request: GetChorusProIdRequest,
1495
1495
  _request_timeout: Union[
1496
1496
  None,
1497
1497
  Annotated[StrictFloat, Field(gt=0)],
@@ -1504,13 +1504,13 @@ class ChorusProApi:
1504
1504
  _content_type: Optional[StrictStr] = None,
1505
1505
  _headers: Optional[Dict[StrictStr, Any]] = None,
1506
1506
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1507
- ) -> ApiResponse[ObtenirIdChorusProResponse]:
1508
- """Utilitaire : Obtenir l'ID Chorus Pro depuis un SIRET
1507
+ ) -> ApiResponse[GetChorusProIdResponse]:
1508
+ """Utility: Get Chorus Pro ID from SIRET
1509
1509
 
1510
- **Utilitaire pratique** pour obtenir l'ID Chorus Pro d'une structure à partir de son SIRET. Cette fonction wrapper combine : 1. Recherche de la structure par SIRET 2. Extraction de l'`id_structure_cpp` si une seule structure est trouvée **Retour** : - `id_structure_cpp` : ID Chorus Pro (0 si non trouvé ou si plusieurs résultats) - `designation_structure` : Nom de la structure (si trouvée) - `message` : Message explicatif **Cas d'usage** : - Raccourci pour obtenir directement l'ID Chorus Pro avant de soumettre une facture - Alternative simplifiée à `rechercher-structures` + extraction manuelle de l'ID **Note** : Si plusieurs structures correspondent au SIRET (rare), retourne 0 et un message d'erreur.
1510
+ **Convenient utility** to get a structure's Chorus Pro ID from its SIRET. This wrapper function combines: 1. Searching for the structure by SIRET 2. Extracting the `id_structure_cpp` if a single structure is found **Returns**: - `id_structure_cpp`: Chorus Pro ID (0 if not found or multiple results) - `designation_structure`: Structure name (if found) - `message`: Explanatory message **Use cases**: - Shortcut to directly get the Chorus Pro ID before submitting an invoice - Simplified alternative to `search-structures` + manual ID extraction **Note**: If multiple structures match the SIRET (rare), returns 0 and an error message.
1511
1511
 
1512
- :param obtenir_id_chorus_pro_request: (required)
1513
- :type obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest
1512
+ :param get_chorus_pro_id_request: (required)
1513
+ :type get_chorus_pro_id_request: GetChorusProIdRequest
1514
1514
  :param _request_timeout: timeout setting for this request. If one
1515
1515
  number provided, it will be total request
1516
1516
  timeout. It can also be a pair (tuple) of
@@ -1534,7 +1534,7 @@ class ChorusProApi:
1534
1534
  """ # noqa: E501
1535
1535
 
1536
1536
  _param = self._obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
1537
- obtenir_id_chorus_pro_request=obtenir_id_chorus_pro_request,
1537
+ get_chorus_pro_id_request=get_chorus_pro_id_request,
1538
1538
  _request_auth=_request_auth,
1539
1539
  _content_type=_content_type,
1540
1540
  _headers=_headers,
@@ -1542,7 +1542,7 @@ class ChorusProApi:
1542
1542
  )
1543
1543
 
1544
1544
  _response_types_map: Dict[str, Optional[str]] = {
1545
- '200': "ObtenirIdChorusProResponse",
1545
+ '200': "GetChorusProIdResponse",
1546
1546
  '422': "HTTPValidationError",
1547
1547
  }
1548
1548
  response_data = self.api_client.call_api(
@@ -1559,7 +1559,7 @@ class ChorusProApi:
1559
1559
  @validate_call
1560
1560
  def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_without_preload_content(
1561
1561
  self,
1562
- obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest,
1562
+ get_chorus_pro_id_request: GetChorusProIdRequest,
1563
1563
  _request_timeout: Union[
1564
1564
  None,
1565
1565
  Annotated[StrictFloat, Field(gt=0)],
@@ -1573,12 +1573,12 @@ class ChorusProApi:
1573
1573
  _headers: Optional[Dict[StrictStr, Any]] = None,
1574
1574
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1575
1575
  ) -> RESTResponseType:
1576
- """Utilitaire : Obtenir l'ID Chorus Pro depuis un SIRET
1576
+ """Utility: Get Chorus Pro ID from SIRET
1577
1577
 
1578
- **Utilitaire pratique** pour obtenir l'ID Chorus Pro d'une structure à partir de son SIRET. Cette fonction wrapper combine : 1. Recherche de la structure par SIRET 2. Extraction de l'`id_structure_cpp` si une seule structure est trouvée **Retour** : - `id_structure_cpp` : ID Chorus Pro (0 si non trouvé ou si plusieurs résultats) - `designation_structure` : Nom de la structure (si trouvée) - `message` : Message explicatif **Cas d'usage** : - Raccourci pour obtenir directement l'ID Chorus Pro avant de soumettre une facture - Alternative simplifiée à `rechercher-structures` + extraction manuelle de l'ID **Note** : Si plusieurs structures correspondent au SIRET (rare), retourne 0 et un message d'erreur.
1578
+ **Convenient utility** to get a structure's Chorus Pro ID from its SIRET. This wrapper function combines: 1. Searching for the structure by SIRET 2. Extracting the `id_structure_cpp` if a single structure is found **Returns**: - `id_structure_cpp`: Chorus Pro ID (0 if not found or multiple results) - `designation_structure`: Structure name (if found) - `message`: Explanatory message **Use cases**: - Shortcut to directly get the Chorus Pro ID before submitting an invoice - Simplified alternative to `search-structures` + manual ID extraction **Note**: If multiple structures match the SIRET (rare), returns 0 and an error message.
1579
1579
 
1580
- :param obtenir_id_chorus_pro_request: (required)
1581
- :type obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest
1580
+ :param get_chorus_pro_id_request: (required)
1581
+ :type get_chorus_pro_id_request: GetChorusProIdRequest
1582
1582
  :param _request_timeout: timeout setting for this request. If one
1583
1583
  number provided, it will be total request
1584
1584
  timeout. It can also be a pair (tuple) of
@@ -1602,7 +1602,7 @@ class ChorusProApi:
1602
1602
  """ # noqa: E501
1603
1603
 
1604
1604
  _param = self._obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
1605
- obtenir_id_chorus_pro_request=obtenir_id_chorus_pro_request,
1605
+ get_chorus_pro_id_request=get_chorus_pro_id_request,
1606
1606
  _request_auth=_request_auth,
1607
1607
  _content_type=_content_type,
1608
1608
  _headers=_headers,
@@ -1610,7 +1610,7 @@ class ChorusProApi:
1610
1610
  )
1611
1611
 
1612
1612
  _response_types_map: Dict[str, Optional[str]] = {
1613
- '200': "ObtenirIdChorusProResponse",
1613
+ '200': "GetChorusProIdResponse",
1614
1614
  '422': "HTTPValidationError",
1615
1615
  }
1616
1616
  response_data = self.api_client.call_api(
@@ -1622,7 +1622,7 @@ class ChorusProApi:
1622
1622
 
1623
1623
  def _obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
1624
1624
  self,
1625
- obtenir_id_chorus_pro_request,
1625
+ get_chorus_pro_id_request,
1626
1626
  _request_auth,
1627
1627
  _content_type,
1628
1628
  _headers,
@@ -1648,8 +1648,8 @@ class ChorusProApi:
1648
1648
  # process the header parameters
1649
1649
  # process the form parameters
1650
1650
  # process the body parameter
1651
- if obtenir_id_chorus_pro_request is not None:
1652
- _body_params = obtenir_id_chorus_pro_request
1651
+ if get_chorus_pro_id_request is not None:
1652
+ _body_params = get_chorus_pro_id_request
1653
1653
 
1654
1654
 
1655
1655
  # set the HTTP header `Accept`
@@ -1714,9 +1714,9 @@ class ChorusProApi:
1714
1714
  _headers: Optional[Dict[StrictStr, Any]] = None,
1715
1715
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1716
1716
  ) -> object:
1717
- """Rechercher factures reçues (Destinataire)
1717
+ """Search received invoices (Recipient)
1718
1718
 
1719
- Recherche les factures reçues par le destinataire connecté. **Filtres** : - Téléchargée / non téléchargée - Dates de réception - Statut (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Fournisseur **Indicateur utile** : `factureTelechargeeParDestinataire` permet de savoir si la facture a déjà été téléchargée.
1719
+ Search invoices received by the connected recipient. **Filters**: - Downloaded / not downloaded - Reception dates - Status (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Supplier **Useful indicator**: `factureTelechargeeParDestinataire` indicates whether the invoice has already been downloaded.
1720
1720
 
1721
1721
  :param request_body: (required)
1722
1722
  :type request_body: Dict[str, object]
@@ -1782,9 +1782,9 @@ class ChorusProApi:
1782
1782
  _headers: Optional[Dict[StrictStr, Any]] = None,
1783
1783
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1784
1784
  ) -> ApiResponse[object]:
1785
- """Rechercher factures reçues (Destinataire)
1785
+ """Search received invoices (Recipient)
1786
1786
 
1787
- Recherche les factures reçues par le destinataire connecté. **Filtres** : - Téléchargée / non téléchargée - Dates de réception - Statut (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Fournisseur **Indicateur utile** : `factureTelechargeeParDestinataire` permet de savoir si la facture a déjà été téléchargée.
1787
+ Search invoices received by the connected recipient. **Filters**: - Downloaded / not downloaded - Reception dates - Status (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Supplier **Useful indicator**: `factureTelechargeeParDestinataire` indicates whether the invoice has already been downloaded.
1788
1788
 
1789
1789
  :param request_body: (required)
1790
1790
  :type request_body: Dict[str, object]
@@ -1850,9 +1850,9 @@ class ChorusProApi:
1850
1850
  _headers: Optional[Dict[StrictStr, Any]] = None,
1851
1851
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1852
1852
  ) -> RESTResponseType:
1853
- """Rechercher factures reçues (Destinataire)
1853
+ """Search received invoices (Recipient)
1854
1854
 
1855
- Recherche les factures reçues par le destinataire connecté. **Filtres** : - Téléchargée / non téléchargée - Dates de réception - Statut (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Fournisseur **Indicateur utile** : `factureTelechargeeParDestinataire` permet de savoir si la facture a déjà été téléchargée.
1855
+ Search invoices received by the connected recipient. **Filters**: - Downloaded / not downloaded - Reception dates - Status (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Supplier **Useful indicator**: `factureTelechargeeParDestinataire` indicates whether the invoice has already been downloaded.
1856
1856
 
1857
1857
  :param request_body: (required)
1858
1858
  :type request_body: Dict[str, object]
@@ -1991,9 +1991,9 @@ class ChorusProApi:
1991
1991
  _headers: Optional[Dict[StrictStr, Any]] = None,
1992
1992
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1993
1993
  ) -> object:
1994
- """Rechercher factures émises (Fournisseur)
1994
+ """Search issued invoices (Supplier)
1995
1995
 
1996
- Recherche les factures émises par le fournisseur connecté. **Filtres disponibles** : - Numéro de facture - Dates (début/fin) - Statut - Structure destinataire - Montant **Cas d'usage** : - Suivi des factures émises - Vérification des statuts - Export pour comptabilité
1996
+ Search invoices issued by the connected supplier. **Available filters**: - Invoice number - Dates (start/end) - Status - Recipient structure - Amount **Use cases**: - Track issued invoices - Verify statuses - Export for accounting
1997
1997
 
1998
1998
  :param request_body: (required)
1999
1999
  :type request_body: Dict[str, object]
@@ -2059,9 +2059,9 @@ class ChorusProApi:
2059
2059
  _headers: Optional[Dict[StrictStr, Any]] = None,
2060
2060
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2061
2061
  ) -> ApiResponse[object]:
2062
- """Rechercher factures émises (Fournisseur)
2062
+ """Search issued invoices (Supplier)
2063
2063
 
2064
- Recherche les factures émises par le fournisseur connecté. **Filtres disponibles** : - Numéro de facture - Dates (début/fin) - Statut - Structure destinataire - Montant **Cas d'usage** : - Suivi des factures émises - Vérification des statuts - Export pour comptabilité
2064
+ Search invoices issued by the connected supplier. **Available filters**: - Invoice number - Dates (start/end) - Status - Recipient structure - Amount **Use cases**: - Track issued invoices - Verify statuses - Export for accounting
2065
2065
 
2066
2066
  :param request_body: (required)
2067
2067
  :type request_body: Dict[str, object]
@@ -2127,9 +2127,9 @@ class ChorusProApi:
2127
2127
  _headers: Optional[Dict[StrictStr, Any]] = None,
2128
2128
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2129
2129
  ) -> RESTResponseType:
2130
- """Rechercher factures émises (Fournisseur)
2130
+ """Search issued invoices (Supplier)
2131
2131
 
2132
- Recherche les factures émises par le fournisseur connecté. **Filtres disponibles** : - Numéro de facture - Dates (début/fin) - Statut - Structure destinataire - Montant **Cas d'usage** : - Suivi des factures émises - Vérification des statuts - Export pour comptabilité
2132
+ Search invoices issued by the connected supplier. **Available filters**: - Invoice number - Dates (start/end) - Status - Recipient structure - Amount **Use cases**: - Track issued invoices - Verify statuses - Export for accounting
2133
2133
 
2134
2134
  :param request_body: (required)
2135
2135
  :type request_body: Dict[str, object]
@@ -2254,7 +2254,7 @@ class ChorusProApi:
2254
2254
  @validate_call
2255
2255
  def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post(
2256
2256
  self,
2257
- rechercher_structure_request: RechercherStructureRequest,
2257
+ search_structure_request: SearchStructureRequest,
2258
2258
  _request_timeout: Union[
2259
2259
  None,
2260
2260
  Annotated[StrictFloat, Field(gt=0)],
@@ -2267,13 +2267,13 @@ class ChorusProApi:
2267
2267
  _content_type: Optional[StrictStr] = None,
2268
2268
  _headers: Optional[Dict[StrictStr, Any]] = None,
2269
2269
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2270
- ) -> RechercherStructureResponse:
2271
- """Rechercher des structures Chorus Pro
2270
+ ) -> SearchStructureResponse:
2271
+ """Search Chorus Pro structures
2272
2272
 
2273
- Recherche des structures (entreprises, administrations) enregistrées sur Chorus Pro. **Cas d'usage** : - Trouver l'ID Chorus Pro d'une structure à partir de son SIRET - Vérifier si une structure est enregistrée sur Chorus Pro - Lister les structures correspondant à des critères **Filtres disponibles** : - Identifiant (SIRET, SIREN, etc.) - Raison sociale - Type d'identifiant - Structures privées uniquement **Étape typique** : Appelée avant `soumettre-facture` pour obtenir l'`id_structure_cpp` du destinataire.
2273
+ Search for structures (companies, administrations) registered on Chorus Pro. **Use cases**: - Find the Chorus Pro ID of a structure from its SIRET - Check if a structure is registered on Chorus Pro - List structures matching criteria **Available filters**: - Identifier (SIRET, SIREN, etc.) - Company name - Identifier type - Private structures only **Typical step**: Called before `submit-invoice` to get the recipient's `id_structure_cpp`.
2274
2274
 
2275
- :param rechercher_structure_request: (required)
2276
- :type rechercher_structure_request: RechercherStructureRequest
2275
+ :param search_structure_request: (required)
2276
+ :type search_structure_request: SearchStructureRequest
2277
2277
  :param _request_timeout: timeout setting for this request. If one
2278
2278
  number provided, it will be total request
2279
2279
  timeout. It can also be a pair (tuple) of
@@ -2297,7 +2297,7 @@ class ChorusProApi:
2297
2297
  """ # noqa: E501
2298
2298
 
2299
2299
  _param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
2300
- rechercher_structure_request=rechercher_structure_request,
2300
+ search_structure_request=search_structure_request,
2301
2301
  _request_auth=_request_auth,
2302
2302
  _content_type=_content_type,
2303
2303
  _headers=_headers,
@@ -2305,7 +2305,7 @@ class ChorusProApi:
2305
2305
  )
2306
2306
 
2307
2307
  _response_types_map: Dict[str, Optional[str]] = {
2308
- '200': "RechercherStructureResponse",
2308
+ '200': "SearchStructureResponse",
2309
2309
  '422': "HTTPValidationError",
2310
2310
  }
2311
2311
  response_data = self.api_client.call_api(
@@ -2322,7 +2322,7 @@ class ChorusProApi:
2322
2322
  @validate_call
2323
2323
  def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_with_http_info(
2324
2324
  self,
2325
- rechercher_structure_request: RechercherStructureRequest,
2325
+ search_structure_request: SearchStructureRequest,
2326
2326
  _request_timeout: Union[
2327
2327
  None,
2328
2328
  Annotated[StrictFloat, Field(gt=0)],
@@ -2335,13 +2335,13 @@ class ChorusProApi:
2335
2335
  _content_type: Optional[StrictStr] = None,
2336
2336
  _headers: Optional[Dict[StrictStr, Any]] = None,
2337
2337
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2338
- ) -> ApiResponse[RechercherStructureResponse]:
2339
- """Rechercher des structures Chorus Pro
2338
+ ) -> ApiResponse[SearchStructureResponse]:
2339
+ """Search Chorus Pro structures
2340
2340
 
2341
- Recherche des structures (entreprises, administrations) enregistrées sur Chorus Pro. **Cas d'usage** : - Trouver l'ID Chorus Pro d'une structure à partir de son SIRET - Vérifier si une structure est enregistrée sur Chorus Pro - Lister les structures correspondant à des critères **Filtres disponibles** : - Identifiant (SIRET, SIREN, etc.) - Raison sociale - Type d'identifiant - Structures privées uniquement **Étape typique** : Appelée avant `soumettre-facture` pour obtenir l'`id_structure_cpp` du destinataire.
2341
+ Search for structures (companies, administrations) registered on Chorus Pro. **Use cases**: - Find the Chorus Pro ID of a structure from its SIRET - Check if a structure is registered on Chorus Pro - List structures matching criteria **Available filters**: - Identifier (SIRET, SIREN, etc.) - Company name - Identifier type - Private structures only **Typical step**: Called before `submit-invoice` to get the recipient's `id_structure_cpp`.
2342
2342
 
2343
- :param rechercher_structure_request: (required)
2344
- :type rechercher_structure_request: RechercherStructureRequest
2343
+ :param search_structure_request: (required)
2344
+ :type search_structure_request: SearchStructureRequest
2345
2345
  :param _request_timeout: timeout setting for this request. If one
2346
2346
  number provided, it will be total request
2347
2347
  timeout. It can also be a pair (tuple) of
@@ -2365,7 +2365,7 @@ class ChorusProApi:
2365
2365
  """ # noqa: E501
2366
2366
 
2367
2367
  _param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
2368
- rechercher_structure_request=rechercher_structure_request,
2368
+ search_structure_request=search_structure_request,
2369
2369
  _request_auth=_request_auth,
2370
2370
  _content_type=_content_type,
2371
2371
  _headers=_headers,
@@ -2373,7 +2373,7 @@ class ChorusProApi:
2373
2373
  )
2374
2374
 
2375
2375
  _response_types_map: Dict[str, Optional[str]] = {
2376
- '200': "RechercherStructureResponse",
2376
+ '200': "SearchStructureResponse",
2377
2377
  '422': "HTTPValidationError",
2378
2378
  }
2379
2379
  response_data = self.api_client.call_api(
@@ -2390,7 +2390,7 @@ class ChorusProApi:
2390
2390
  @validate_call
2391
2391
  def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_without_preload_content(
2392
2392
  self,
2393
- rechercher_structure_request: RechercherStructureRequest,
2393
+ search_structure_request: SearchStructureRequest,
2394
2394
  _request_timeout: Union[
2395
2395
  None,
2396
2396
  Annotated[StrictFloat, Field(gt=0)],
@@ -2404,12 +2404,12 @@ class ChorusProApi:
2404
2404
  _headers: Optional[Dict[StrictStr, Any]] = None,
2405
2405
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2406
2406
  ) -> RESTResponseType:
2407
- """Rechercher des structures Chorus Pro
2407
+ """Search Chorus Pro structures
2408
2408
 
2409
- Recherche des structures (entreprises, administrations) enregistrées sur Chorus Pro. **Cas d'usage** : - Trouver l'ID Chorus Pro d'une structure à partir de son SIRET - Vérifier si une structure est enregistrée sur Chorus Pro - Lister les structures correspondant à des critères **Filtres disponibles** : - Identifiant (SIRET, SIREN, etc.) - Raison sociale - Type d'identifiant - Structures privées uniquement **Étape typique** : Appelée avant `soumettre-facture` pour obtenir l'`id_structure_cpp` du destinataire.
2409
+ Search for structures (companies, administrations) registered on Chorus Pro. **Use cases**: - Find the Chorus Pro ID of a structure from its SIRET - Check if a structure is registered on Chorus Pro - List structures matching criteria **Available filters**: - Identifier (SIRET, SIREN, etc.) - Company name - Identifier type - Private structures only **Typical step**: Called before `submit-invoice` to get the recipient's `id_structure_cpp`.
2410
2410
 
2411
- :param rechercher_structure_request: (required)
2412
- :type rechercher_structure_request: RechercherStructureRequest
2411
+ :param search_structure_request: (required)
2412
+ :type search_structure_request: SearchStructureRequest
2413
2413
  :param _request_timeout: timeout setting for this request. If one
2414
2414
  number provided, it will be total request
2415
2415
  timeout. It can also be a pair (tuple) of
@@ -2433,7 +2433,7 @@ class ChorusProApi:
2433
2433
  """ # noqa: E501
2434
2434
 
2435
2435
  _param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
2436
- rechercher_structure_request=rechercher_structure_request,
2436
+ search_structure_request=search_structure_request,
2437
2437
  _request_auth=_request_auth,
2438
2438
  _content_type=_content_type,
2439
2439
  _headers=_headers,
@@ -2441,7 +2441,7 @@ class ChorusProApi:
2441
2441
  )
2442
2442
 
2443
2443
  _response_types_map: Dict[str, Optional[str]] = {
2444
- '200': "RechercherStructureResponse",
2444
+ '200': "SearchStructureResponse",
2445
2445
  '422': "HTTPValidationError",
2446
2446
  }
2447
2447
  response_data = self.api_client.call_api(
@@ -2453,7 +2453,7 @@ class ChorusProApi:
2453
2453
 
2454
2454
  def _rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
2455
2455
  self,
2456
- rechercher_structure_request,
2456
+ search_structure_request,
2457
2457
  _request_auth,
2458
2458
  _content_type,
2459
2459
  _headers,
@@ -2479,8 +2479,8 @@ class ChorusProApi:
2479
2479
  # process the header parameters
2480
2480
  # process the form parameters
2481
2481
  # process the body parameter
2482
- if rechercher_structure_request is not None:
2483
- _body_params = rechercher_structure_request
2482
+ if search_structure_request is not None:
2483
+ _body_params = search_structure_request
2484
2484
 
2485
2485
 
2486
2486
  # set the HTTP header `Accept`
@@ -2545,9 +2545,9 @@ class ChorusProApi:
2545
2545
  _headers: Optional[Dict[StrictStr, Any]] = None,
2546
2546
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2547
2547
  ) -> object:
2548
- """Recycler une facture (Fournisseur)
2548
+ """Recycle an invoice (Supplier)
2549
2549
 
2550
- Recycle une facture au statut A_RECYCLER en modifiant les données d'acheminement. **Statut requis** : A_RECYCLER **Champs modifiables** : - Destinataire (`idStructureCPP`) - Code service - Numéro d'engagement **Cas d'usage** : - Erreur de destinataire - Changement de service facturation - Mise à jour du numéro d'engagement **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note** : La facture conserve son numéro et ses montants, seuls les champs d'acheminement changent.
2550
+ Recycle an invoice with A_RECYCLER status by modifying routing data. **Required status**: A_RECYCLER **Modifiable fields**: - Recipient (`idStructureCPP`) - Service code - Engagement number **Use cases**: - Wrong recipient - Change of billing service - Update engagement number **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note**: The invoice keeps its number and amounts, only routing fields change.
2551
2551
 
2552
2552
  :param request_body: (required)
2553
2553
  :type request_body: Dict[str, object]
@@ -2613,9 +2613,9 @@ class ChorusProApi:
2613
2613
  _headers: Optional[Dict[StrictStr, Any]] = None,
2614
2614
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2615
2615
  ) -> ApiResponse[object]:
2616
- """Recycler une facture (Fournisseur)
2616
+ """Recycle an invoice (Supplier)
2617
2617
 
2618
- Recycle une facture au statut A_RECYCLER en modifiant les données d'acheminement. **Statut requis** : A_RECYCLER **Champs modifiables** : - Destinataire (`idStructureCPP`) - Code service - Numéro d'engagement **Cas d'usage** : - Erreur de destinataire - Changement de service facturation - Mise à jour du numéro d'engagement **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note** : La facture conserve son numéro et ses montants, seuls les champs d'acheminement changent.
2618
+ Recycle an invoice with A_RECYCLER status by modifying routing data. **Required status**: A_RECYCLER **Modifiable fields**: - Recipient (`idStructureCPP`) - Service code - Engagement number **Use cases**: - Wrong recipient - Change of billing service - Update engagement number **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note**: The invoice keeps its number and amounts, only routing fields change.
2619
2619
 
2620
2620
  :param request_body: (required)
2621
2621
  :type request_body: Dict[str, object]
@@ -2681,9 +2681,9 @@ class ChorusProApi:
2681
2681
  _headers: Optional[Dict[StrictStr, Any]] = None,
2682
2682
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2683
2683
  ) -> RESTResponseType:
2684
- """Recycler une facture (Fournisseur)
2684
+ """Recycle an invoice (Supplier)
2685
2685
 
2686
- Recycle une facture au statut A_RECYCLER en modifiant les données d'acheminement. **Statut requis** : A_RECYCLER **Champs modifiables** : - Destinataire (`idStructureCPP`) - Code service - Numéro d'engagement **Cas d'usage** : - Erreur de destinataire - Changement de service facturation - Mise à jour du numéro d'engagement **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note** : La facture conserve son numéro et ses montants, seuls les champs d'acheminement changent.
2686
+ Recycle an invoice with A_RECYCLER status by modifying routing data. **Required status**: A_RECYCLER **Modifiable fields**: - Recipient (`idStructureCPP`) - Service code - Engagement number **Use cases**: - Wrong recipient - Change of billing service - Update engagement number **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note**: The invoice keeps its number and amounts, only routing fields change.
2687
2687
 
2688
2688
  :param request_body: (required)
2689
2689
  :type request_body: Dict[str, object]
@@ -2808,7 +2808,7 @@ class ChorusProApi:
2808
2808
  @validate_call
2809
2809
  def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post(
2810
2810
  self,
2811
- soumettre_facture_request: SoumettreFactureRequest,
2811
+ submit_invoice_request: SubmitInvoiceRequest,
2812
2812
  _request_timeout: Union[
2813
2813
  None,
2814
2814
  Annotated[StrictFloat, Field(gt=0)],
@@ -2821,13 +2821,13 @@ class ChorusProApi:
2821
2821
  _content_type: Optional[StrictStr] = None,
2822
2822
  _headers: Optional[Dict[StrictStr, Any]] = None,
2823
2823
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2824
- ) -> SoumettreFactureResponse:
2825
- """Soumettre une facture à Chorus Pro
2824
+ ) -> SubmitInvoiceResponse:
2825
+ """Submit an invoice to Chorus Pro
2826
2826
 
2827
- Soumet une facture électronique à une structure publique via Chorus Pro. **📋 Workflow complet** : 1. **Uploader le PDF Factur-X** via `/transverses/ajouter-fichier` → récupérer `pieceJointeId` 2. **Obtenir l'ID structure** via `/structures/rechercher` ou `/structures/obtenir-id-depuis-siret` 3. **Vérifier les paramètres obligatoires** via `/structures/consulter` 4. **Soumettre la facture** avec le `piece_jointe_principale_id` obtenu à l'étape 1 **Pré-requis** : 1. Avoir l'`id_structure_cpp` du destinataire (via `/structures/rechercher`) 2. Connaître les paramètres obligatoires (via `/structures/consulter`) : - Code service si `code_service_doit_etre_renseigne=true` - Numéro d'engagement si `numero_ej_doit_etre_renseigne=true` 3. Avoir uploadé le PDF Factur-X (via `/transverses/ajouter-fichier`) **Format attendu** : - `piece_jointe_principale_id` : ID retourné par `/transverses/ajouter-fichier` - Montants : Chaînes de caractères avec 2 décimales (ex: \"1250.50\") - Dates : Format ISO 8601 (YYYY-MM-DD) **Retour** : - `identifiant_facture_cpp` : ID Chorus Pro de la facture créée - `numero_flux_depot` : Numéro de suivi du dépôt **Statuts possibles après soumission** : - SOUMISE : En attente de validation - VALIDEE : Validée par le destinataire - REJETEE : Rejetée (erreur de données ou refus métier) - SUSPENDUE : En attente d'informations complémentaires **Note** : Utilisez `/factures/consulter` pour suivre l'évolution du statut.
2827
+ Submits an electronic invoice to a public structure via Chorus Pro. **Complete workflow**: 1. **Upload the Factur-X PDF** via `/transverses/ajouter-fichier` → retrieve `pieceJointeId` 2. **Get the structure ID** via `/structures/rechercher` or `/structures/obtenir-id-depuis-siret` 3. **Check mandatory parameters** via `/structures/consulter` 4. **Submit the invoice** with the `piece_jointe_principale_id` obtained in step 1 **Prerequisites**: 1. Have the recipient's `id_structure_cpp` (via `/structures/rechercher`) 2. Know the mandatory parameters (via `/structures/consulter`): - Service code if `code_service_doit_etre_renseigne=true` - Engagement number if `numero_ej_doit_etre_renseigne=true` 3. Have uploaded the Factur-X PDF (via `/transverses/ajouter-fichier`) **Expected format**: - `piece_jointe_principale_id`: ID returned by `/transverses/ajouter-fichier` - Amounts: Strings with 2 decimals (e.g., \"1250.50\") - Dates: ISO 8601 format (YYYY-MM-DD) **Returns**: - `identifiant_facture_cpp`: Chorus Pro ID of the created invoice - `numero_flux_depot`: Deposit tracking number **Possible statuses after submission**: - SOUMISE: Pending validation - VALIDEE: Validated by recipient - REJETEE: Rejected (data error or business refusal) - SUSPENDUE: Pending additional information **Note**: Use `/factures/consulter` to track status changes.
2828
2828
 
2829
- :param soumettre_facture_request: (required)
2830
- :type soumettre_facture_request: SoumettreFactureRequest
2829
+ :param submit_invoice_request: (required)
2830
+ :type submit_invoice_request: SubmitInvoiceRequest
2831
2831
  :param _request_timeout: timeout setting for this request. If one
2832
2832
  number provided, it will be total request
2833
2833
  timeout. It can also be a pair (tuple) of
@@ -2851,7 +2851,7 @@ class ChorusProApi:
2851
2851
  """ # noqa: E501
2852
2852
 
2853
2853
  _param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
2854
- soumettre_facture_request=soumettre_facture_request,
2854
+ submit_invoice_request=submit_invoice_request,
2855
2855
  _request_auth=_request_auth,
2856
2856
  _content_type=_content_type,
2857
2857
  _headers=_headers,
@@ -2859,7 +2859,7 @@ class ChorusProApi:
2859
2859
  )
2860
2860
 
2861
2861
  _response_types_map: Dict[str, Optional[str]] = {
2862
- '200': "SoumettreFactureResponse",
2862
+ '200': "SubmitInvoiceResponse",
2863
2863
  '422': "HTTPValidationError",
2864
2864
  }
2865
2865
  response_data = self.api_client.call_api(
@@ -2876,7 +2876,7 @@ class ChorusProApi:
2876
2876
  @validate_call
2877
2877
  def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_with_http_info(
2878
2878
  self,
2879
- soumettre_facture_request: SoumettreFactureRequest,
2879
+ submit_invoice_request: SubmitInvoiceRequest,
2880
2880
  _request_timeout: Union[
2881
2881
  None,
2882
2882
  Annotated[StrictFloat, Field(gt=0)],
@@ -2889,13 +2889,13 @@ class ChorusProApi:
2889
2889
  _content_type: Optional[StrictStr] = None,
2890
2890
  _headers: Optional[Dict[StrictStr, Any]] = None,
2891
2891
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2892
- ) -> ApiResponse[SoumettreFactureResponse]:
2893
- """Soumettre une facture à Chorus Pro
2892
+ ) -> ApiResponse[SubmitInvoiceResponse]:
2893
+ """Submit an invoice to Chorus Pro
2894
2894
 
2895
- Soumet une facture électronique à une structure publique via Chorus Pro. **📋 Workflow complet** : 1. **Uploader le PDF Factur-X** via `/transverses/ajouter-fichier` → récupérer `pieceJointeId` 2. **Obtenir l'ID structure** via `/structures/rechercher` ou `/structures/obtenir-id-depuis-siret` 3. **Vérifier les paramètres obligatoires** via `/structures/consulter` 4. **Soumettre la facture** avec le `piece_jointe_principale_id` obtenu à l'étape 1 **Pré-requis** : 1. Avoir l'`id_structure_cpp` du destinataire (via `/structures/rechercher`) 2. Connaître les paramètres obligatoires (via `/structures/consulter`) : - Code service si `code_service_doit_etre_renseigne=true` - Numéro d'engagement si `numero_ej_doit_etre_renseigne=true` 3. Avoir uploadé le PDF Factur-X (via `/transverses/ajouter-fichier`) **Format attendu** : - `piece_jointe_principale_id` : ID retourné par `/transverses/ajouter-fichier` - Montants : Chaînes de caractères avec 2 décimales (ex: \"1250.50\") - Dates : Format ISO 8601 (YYYY-MM-DD) **Retour** : - `identifiant_facture_cpp` : ID Chorus Pro de la facture créée - `numero_flux_depot` : Numéro de suivi du dépôt **Statuts possibles après soumission** : - SOUMISE : En attente de validation - VALIDEE : Validée par le destinataire - REJETEE : Rejetée (erreur de données ou refus métier) - SUSPENDUE : En attente d'informations complémentaires **Note** : Utilisez `/factures/consulter` pour suivre l'évolution du statut.
2895
+ Submits an electronic invoice to a public structure via Chorus Pro. **Complete workflow**: 1. **Upload the Factur-X PDF** via `/transverses/ajouter-fichier` → retrieve `pieceJointeId` 2. **Get the structure ID** via `/structures/rechercher` or `/structures/obtenir-id-depuis-siret` 3. **Check mandatory parameters** via `/structures/consulter` 4. **Submit the invoice** with the `piece_jointe_principale_id` obtained in step 1 **Prerequisites**: 1. Have the recipient's `id_structure_cpp` (via `/structures/rechercher`) 2. Know the mandatory parameters (via `/structures/consulter`): - Service code if `code_service_doit_etre_renseigne=true` - Engagement number if `numero_ej_doit_etre_renseigne=true` 3. Have uploaded the Factur-X PDF (via `/transverses/ajouter-fichier`) **Expected format**: - `piece_jointe_principale_id`: ID returned by `/transverses/ajouter-fichier` - Amounts: Strings with 2 decimals (e.g., \"1250.50\") - Dates: ISO 8601 format (YYYY-MM-DD) **Returns**: - `identifiant_facture_cpp`: Chorus Pro ID of the created invoice - `numero_flux_depot`: Deposit tracking number **Possible statuses after submission**: - SOUMISE: Pending validation - VALIDEE: Validated by recipient - REJETEE: Rejected (data error or business refusal) - SUSPENDUE: Pending additional information **Note**: Use `/factures/consulter` to track status changes.
2896
2896
 
2897
- :param soumettre_facture_request: (required)
2898
- :type soumettre_facture_request: SoumettreFactureRequest
2897
+ :param submit_invoice_request: (required)
2898
+ :type submit_invoice_request: SubmitInvoiceRequest
2899
2899
  :param _request_timeout: timeout setting for this request. If one
2900
2900
  number provided, it will be total request
2901
2901
  timeout. It can also be a pair (tuple) of
@@ -2919,7 +2919,7 @@ class ChorusProApi:
2919
2919
  """ # noqa: E501
2920
2920
 
2921
2921
  _param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
2922
- soumettre_facture_request=soumettre_facture_request,
2922
+ submit_invoice_request=submit_invoice_request,
2923
2923
  _request_auth=_request_auth,
2924
2924
  _content_type=_content_type,
2925
2925
  _headers=_headers,
@@ -2927,7 +2927,7 @@ class ChorusProApi:
2927
2927
  )
2928
2928
 
2929
2929
  _response_types_map: Dict[str, Optional[str]] = {
2930
- '200': "SoumettreFactureResponse",
2930
+ '200': "SubmitInvoiceResponse",
2931
2931
  '422': "HTTPValidationError",
2932
2932
  }
2933
2933
  response_data = self.api_client.call_api(
@@ -2944,7 +2944,7 @@ class ChorusProApi:
2944
2944
  @validate_call
2945
2945
  def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_without_preload_content(
2946
2946
  self,
2947
- soumettre_facture_request: SoumettreFactureRequest,
2947
+ submit_invoice_request: SubmitInvoiceRequest,
2948
2948
  _request_timeout: Union[
2949
2949
  None,
2950
2950
  Annotated[StrictFloat, Field(gt=0)],
@@ -2958,12 +2958,12 @@ class ChorusProApi:
2958
2958
  _headers: Optional[Dict[StrictStr, Any]] = None,
2959
2959
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2960
2960
  ) -> RESTResponseType:
2961
- """Soumettre une facture à Chorus Pro
2961
+ """Submit an invoice to Chorus Pro
2962
2962
 
2963
- Soumet une facture électronique à une structure publique via Chorus Pro. **📋 Workflow complet** : 1. **Uploader le PDF Factur-X** via `/transverses/ajouter-fichier` → récupérer `pieceJointeId` 2. **Obtenir l'ID structure** via `/structures/rechercher` ou `/structures/obtenir-id-depuis-siret` 3. **Vérifier les paramètres obligatoires** via `/structures/consulter` 4. **Soumettre la facture** avec le `piece_jointe_principale_id` obtenu à l'étape 1 **Pré-requis** : 1. Avoir l'`id_structure_cpp` du destinataire (via `/structures/rechercher`) 2. Connaître les paramètres obligatoires (via `/structures/consulter`) : - Code service si `code_service_doit_etre_renseigne=true` - Numéro d'engagement si `numero_ej_doit_etre_renseigne=true` 3. Avoir uploadé le PDF Factur-X (via `/transverses/ajouter-fichier`) **Format attendu** : - `piece_jointe_principale_id` : ID retourné par `/transverses/ajouter-fichier` - Montants : Chaînes de caractères avec 2 décimales (ex: \"1250.50\") - Dates : Format ISO 8601 (YYYY-MM-DD) **Retour** : - `identifiant_facture_cpp` : ID Chorus Pro de la facture créée - `numero_flux_depot` : Numéro de suivi du dépôt **Statuts possibles après soumission** : - SOUMISE : En attente de validation - VALIDEE : Validée par le destinataire - REJETEE : Rejetée (erreur de données ou refus métier) - SUSPENDUE : En attente d'informations complémentaires **Note** : Utilisez `/factures/consulter` pour suivre l'évolution du statut.
2963
+ Submits an electronic invoice to a public structure via Chorus Pro. **Complete workflow**: 1. **Upload the Factur-X PDF** via `/transverses/ajouter-fichier` → retrieve `pieceJointeId` 2. **Get the structure ID** via `/structures/rechercher` or `/structures/obtenir-id-depuis-siret` 3. **Check mandatory parameters** via `/structures/consulter` 4. **Submit the invoice** with the `piece_jointe_principale_id` obtained in step 1 **Prerequisites**: 1. Have the recipient's `id_structure_cpp` (via `/structures/rechercher`) 2. Know the mandatory parameters (via `/structures/consulter`): - Service code if `code_service_doit_etre_renseigne=true` - Engagement number if `numero_ej_doit_etre_renseigne=true` 3. Have uploaded the Factur-X PDF (via `/transverses/ajouter-fichier`) **Expected format**: - `piece_jointe_principale_id`: ID returned by `/transverses/ajouter-fichier` - Amounts: Strings with 2 decimals (e.g., \"1250.50\") - Dates: ISO 8601 format (YYYY-MM-DD) **Returns**: - `identifiant_facture_cpp`: Chorus Pro ID of the created invoice - `numero_flux_depot`: Deposit tracking number **Possible statuses after submission**: - SOUMISE: Pending validation - VALIDEE: Validated by recipient - REJETEE: Rejected (data error or business refusal) - SUSPENDUE: Pending additional information **Note**: Use `/factures/consulter` to track status changes.
2964
2964
 
2965
- :param soumettre_facture_request: (required)
2966
- :type soumettre_facture_request: SoumettreFactureRequest
2965
+ :param submit_invoice_request: (required)
2966
+ :type submit_invoice_request: SubmitInvoiceRequest
2967
2967
  :param _request_timeout: timeout setting for this request. If one
2968
2968
  number provided, it will be total request
2969
2969
  timeout. It can also be a pair (tuple) of
@@ -2987,7 +2987,7 @@ class ChorusProApi:
2987
2987
  """ # noqa: E501
2988
2988
 
2989
2989
  _param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
2990
- soumettre_facture_request=soumettre_facture_request,
2990
+ submit_invoice_request=submit_invoice_request,
2991
2991
  _request_auth=_request_auth,
2992
2992
  _content_type=_content_type,
2993
2993
  _headers=_headers,
@@ -2995,7 +2995,7 @@ class ChorusProApi:
2995
2995
  )
2996
2996
 
2997
2997
  _response_types_map: Dict[str, Optional[str]] = {
2998
- '200': "SoumettreFactureResponse",
2998
+ '200': "SubmitInvoiceResponse",
2999
2999
  '422': "HTTPValidationError",
3000
3000
  }
3001
3001
  response_data = self.api_client.call_api(
@@ -3007,7 +3007,7 @@ class ChorusProApi:
3007
3007
 
3008
3008
  def _soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
3009
3009
  self,
3010
- soumettre_facture_request,
3010
+ submit_invoice_request,
3011
3011
  _request_auth,
3012
3012
  _content_type,
3013
3013
  _headers,
@@ -3033,8 +3033,8 @@ class ChorusProApi:
3033
3033
  # process the header parameters
3034
3034
  # process the form parameters
3035
3035
  # process the body parameter
3036
- if soumettre_facture_request is not None:
3037
- _body_params = soumettre_facture_request
3036
+ if submit_invoice_request is not None:
3037
+ _body_params = submit_invoice_request
3038
3038
 
3039
3039
 
3040
3040
  # set the HTTP header `Accept`
@@ -3099,9 +3099,9 @@ class ChorusProApi:
3099
3099
  _headers: Optional[Dict[StrictStr, Any]] = None,
3100
3100
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3101
3101
  ) -> object:
3102
- """Télécharger un groupe de factures
3102
+ """Download a group of invoices
3103
3103
 
3104
- Télécharge une ou plusieurs factures (max 10 recommandé) avec leurs pièces jointes. **Formats disponibles** : - PDF : Fichier PDF uniquement - XML : Fichier XML uniquement - ZIP : Archive contenant PDF + XML + pièces jointes **Taille maximale** : 120 Mo par téléchargement **Payload exemple** : ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Retour** : Le fichier est encodé en base64 dans le champ `fichierBase64`. **Note** : Le flag `factureTelechargeeParDestinataire` est mis à jour automatiquement.
3104
+ Download one or more invoices (max 10 recommended) with their attachments. **Available formats**: - PDF: PDF file only - XML: XML file only - ZIP: Archive containing PDF + XML + attachments **Maximum size**: 120 MB per download **Example payload**: ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Returns**: The file is base64-encoded in the `fichierBase64` field. **Note**: The `factureTelechargeeParDestinataire` flag is automatically updated.
3105
3105
 
3106
3106
  :param request_body: (required)
3107
3107
  :type request_body: Dict[str, object]
@@ -3167,9 +3167,9 @@ class ChorusProApi:
3167
3167
  _headers: Optional[Dict[StrictStr, Any]] = None,
3168
3168
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3169
3169
  ) -> ApiResponse[object]:
3170
- """Télécharger un groupe de factures
3170
+ """Download a group of invoices
3171
3171
 
3172
- Télécharge une ou plusieurs factures (max 10 recommandé) avec leurs pièces jointes. **Formats disponibles** : - PDF : Fichier PDF uniquement - XML : Fichier XML uniquement - ZIP : Archive contenant PDF + XML + pièces jointes **Taille maximale** : 120 Mo par téléchargement **Payload exemple** : ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Retour** : Le fichier est encodé en base64 dans le champ `fichierBase64`. **Note** : Le flag `factureTelechargeeParDestinataire` est mis à jour automatiquement.
3172
+ Download one or more invoices (max 10 recommended) with their attachments. **Available formats**: - PDF: PDF file only - XML: XML file only - ZIP: Archive containing PDF + XML + attachments **Maximum size**: 120 MB per download **Example payload**: ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Returns**: The file is base64-encoded in the `fichierBase64` field. **Note**: The `factureTelechargeeParDestinataire` flag is automatically updated.
3173
3173
 
3174
3174
  :param request_body: (required)
3175
3175
  :type request_body: Dict[str, object]
@@ -3235,9 +3235,9 @@ class ChorusProApi:
3235
3235
  _headers: Optional[Dict[StrictStr, Any]] = None,
3236
3236
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3237
3237
  ) -> RESTResponseType:
3238
- """Télécharger un groupe de factures
3238
+ """Download a group of invoices
3239
3239
 
3240
- Télécharge une ou plusieurs factures (max 10 recommandé) avec leurs pièces jointes. **Formats disponibles** : - PDF : Fichier PDF uniquement - XML : Fichier XML uniquement - ZIP : Archive contenant PDF + XML + pièces jointes **Taille maximale** : 120 Mo par téléchargement **Payload exemple** : ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Retour** : Le fichier est encodé en base64 dans le champ `fichierBase64`. **Note** : Le flag `factureTelechargeeParDestinataire` est mis à jour automatiquement.
3240
+ Download one or more invoices (max 10 recommended) with their attachments. **Available formats**: - PDF: PDF file only - XML: XML file only - ZIP: Archive containing PDF + XML + attachments **Maximum size**: 120 MB per download **Example payload**: ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Returns**: The file is base64-encoded in the `fichierBase64` field. **Note**: The `factureTelechargeeParDestinataire` flag is automatically updated.
3241
3241
 
3242
3242
  :param request_body: (required)
3243
3243
  :type request_body: Dict[str, object]
@@ -3376,9 +3376,9 @@ class ChorusProApi:
3376
3376
  _headers: Optional[Dict[StrictStr, Any]] = None,
3377
3377
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3378
3378
  ) -> object:
3379
- """Traiter une facture reçue (Destinataire)
3379
+ """Process a received invoice (Recipient)
3380
3380
 
3381
- Change le statut d'une facture reçue. **Statuts possibles** : - MISE_A_DISPOSITION : Facture acceptée - SUSPENDUE : En attente d'informations complémentaires (motif obligatoire) - REJETEE : Facture refusée (motif obligatoire) - MANDATEE : Facture mandatée - MISE_EN_PAIEMENT : Facture en cours de paiement - COMPTABILISEE : Facture comptabilisée - MISE_A_DISPOSITION_COMPTABLE : Mise à disposition comptable - A_RECYCLER : À recycler - COMPLETEE : Complétée - SERVICE-FAIT : Service fait - PRISE_EN_COMPTE_DESTINATAIRE : Prise en compte - TRANSMISE_MOA : Transmise à la MOA **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Facture en double\", \"commentaire\": \"Facture déjà reçue sous la référence ABC123\" } ``` **Règles** : - Un motif est **obligatoire** pour SUSPENDUE et REJETEE - Seuls certains statuts sont autorisés selon le statut actuel de la facture
3381
+ Change the status of a received invoice. **Possible statuses**: - MISE_A_DISPOSITION: Invoice accepted - SUSPENDUE: Pending additional information (reason required) - REJETEE: Invoice refused (reason required) - MANDATEE: Invoice mandated - MISE_EN_PAIEMENT: Invoice being paid - COMPTABILISEE: Invoice accounted - MISE_A_DISPOSITION_COMPTABLE: Made available to accounting - A_RECYCLER: To be recycled - COMPLETEE: Completed - SERVICE-FAIT: Service rendered - PRISE_EN_COMPTE_DESTINATAIRE: Acknowledged - TRANSMISE_MOA: Transmitted to MOA **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Duplicate invoice\", \"commentaire\": \"Invoice already received under reference ABC123\" } ``` **Rules**: - A reason is **required** for SUSPENDUE and REJETEE - Only certain statuses are allowed depending on the invoice's current status
3382
3382
 
3383
3383
  :param request_body: (required)
3384
3384
  :type request_body: Dict[str, object]
@@ -3444,9 +3444,9 @@ class ChorusProApi:
3444
3444
  _headers: Optional[Dict[StrictStr, Any]] = None,
3445
3445
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3446
3446
  ) -> ApiResponse[object]:
3447
- """Traiter une facture reçue (Destinataire)
3447
+ """Process a received invoice (Recipient)
3448
3448
 
3449
- Change le statut d'une facture reçue. **Statuts possibles** : - MISE_A_DISPOSITION : Facture acceptée - SUSPENDUE : En attente d'informations complémentaires (motif obligatoire) - REJETEE : Facture refusée (motif obligatoire) - MANDATEE : Facture mandatée - MISE_EN_PAIEMENT : Facture en cours de paiement - COMPTABILISEE : Facture comptabilisée - MISE_A_DISPOSITION_COMPTABLE : Mise à disposition comptable - A_RECYCLER : À recycler - COMPLETEE : Complétée - SERVICE-FAIT : Service fait - PRISE_EN_COMPTE_DESTINATAIRE : Prise en compte - TRANSMISE_MOA : Transmise à la MOA **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Facture en double\", \"commentaire\": \"Facture déjà reçue sous la référence ABC123\" } ``` **Règles** : - Un motif est **obligatoire** pour SUSPENDUE et REJETEE - Seuls certains statuts sont autorisés selon le statut actuel de la facture
3449
+ Change the status of a received invoice. **Possible statuses**: - MISE_A_DISPOSITION: Invoice accepted - SUSPENDUE: Pending additional information (reason required) - REJETEE: Invoice refused (reason required) - MANDATEE: Invoice mandated - MISE_EN_PAIEMENT: Invoice being paid - COMPTABILISEE: Invoice accounted - MISE_A_DISPOSITION_COMPTABLE: Made available to accounting - A_RECYCLER: To be recycled - COMPLETEE: Completed - SERVICE-FAIT: Service rendered - PRISE_EN_COMPTE_DESTINATAIRE: Acknowledged - TRANSMISE_MOA: Transmitted to MOA **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Duplicate invoice\", \"commentaire\": \"Invoice already received under reference ABC123\" } ``` **Rules**: - A reason is **required** for SUSPENDUE and REJETEE - Only certain statuses are allowed depending on the invoice's current status
3450
3450
 
3451
3451
  :param request_body: (required)
3452
3452
  :type request_body: Dict[str, object]
@@ -3512,9 +3512,9 @@ class ChorusProApi:
3512
3512
  _headers: Optional[Dict[StrictStr, Any]] = None,
3513
3513
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3514
3514
  ) -> RESTResponseType:
3515
- """Traiter une facture reçue (Destinataire)
3515
+ """Process a received invoice (Recipient)
3516
3516
 
3517
- Change le statut d'une facture reçue. **Statuts possibles** : - MISE_A_DISPOSITION : Facture acceptée - SUSPENDUE : En attente d'informations complémentaires (motif obligatoire) - REJETEE : Facture refusée (motif obligatoire) - MANDATEE : Facture mandatée - MISE_EN_PAIEMENT : Facture en cours de paiement - COMPTABILISEE : Facture comptabilisée - MISE_A_DISPOSITION_COMPTABLE : Mise à disposition comptable - A_RECYCLER : À recycler - COMPLETEE : Complétée - SERVICE-FAIT : Service fait - PRISE_EN_COMPTE_DESTINATAIRE : Prise en compte - TRANSMISE_MOA : Transmise à la MOA **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Facture en double\", \"commentaire\": \"Facture déjà reçue sous la référence ABC123\" } ``` **Règles** : - Un motif est **obligatoire** pour SUSPENDUE et REJETEE - Seuls certains statuts sont autorisés selon le statut actuel de la facture
3517
+ Change the status of a received invoice. **Possible statuses**: - MISE_A_DISPOSITION: Invoice accepted - SUSPENDUE: Pending additional information (reason required) - REJETEE: Invoice refused (reason required) - MANDATEE: Invoice mandated - MISE_EN_PAIEMENT: Invoice being paid - COMPTABILISEE: Invoice accounted - MISE_A_DISPOSITION_COMPTABLE: Made available to accounting - A_RECYCLER: To be recycled - COMPLETEE: Completed - SERVICE-FAIT: Service rendered - PRISE_EN_COMPTE_DESTINATAIRE: Acknowledged - TRANSMISE_MOA: Transmitted to MOA **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Duplicate invoice\", \"commentaire\": \"Invoice already received under reference ABC123\" } ``` **Rules**: - A reason is **required** for SUSPENDUE and REJETEE - Only certain statuses are allowed depending on the invoice's current status
3518
3518
 
3519
3519
  :param request_body: (required)
3520
3520
  :type request_body: Dict[str, object]
@@ -3653,7 +3653,7 @@ class ChorusProApi:
3653
3653
  _headers: Optional[Dict[StrictStr, Any]] = None,
3654
3654
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3655
3655
  ) -> object:
3656
- """Consulter une facture (Valideur)
3656
+ """Consult an invoice (Validator)
3657
3657
 
3658
3658
 
3659
3659
  :param request_body: (required)
@@ -3720,7 +3720,7 @@ class ChorusProApi:
3720
3720
  _headers: Optional[Dict[StrictStr, Any]] = None,
3721
3721
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3722
3722
  ) -> ApiResponse[object]:
3723
- """Consulter une facture (Valideur)
3723
+ """Consult an invoice (Validator)
3724
3724
 
3725
3725
 
3726
3726
  :param request_body: (required)
@@ -3787,7 +3787,7 @@ class ChorusProApi:
3787
3787
  _headers: Optional[Dict[StrictStr, Any]] = None,
3788
3788
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3789
3789
  ) -> RESTResponseType:
3790
- """Consulter une facture (Valideur)
3790
+ """Consult an invoice (Validator)
3791
3791
 
3792
3792
 
3793
3793
  :param request_body: (required)
@@ -3927,9 +3927,9 @@ class ChorusProApi:
3927
3927
  _headers: Optional[Dict[StrictStr, Any]] = None,
3928
3928
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3929
3929
  ) -> object:
3930
- """Rechercher factures à valider (Valideur)
3930
+ """Search invoices to validate (Validator)
3931
3931
 
3932
- Recherche les factures en attente de validation par le valideur connecté. **Rôle** : Valideur dans le circuit de validation interne. **Filtres** : Dates, structure, service, etc.
3932
+ Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
3933
3933
 
3934
3934
  :param request_body: (required)
3935
3935
  :type request_body: Dict[str, object]
@@ -3995,9 +3995,9 @@ class ChorusProApi:
3995
3995
  _headers: Optional[Dict[StrictStr, Any]] = None,
3996
3996
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3997
3997
  ) -> ApiResponse[object]:
3998
- """Rechercher factures à valider (Valideur)
3998
+ """Search invoices to validate (Validator)
3999
3999
 
4000
- Recherche les factures en attente de validation par le valideur connecté. **Rôle** : Valideur dans le circuit de validation interne. **Filtres** : Dates, structure, service, etc.
4000
+ Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
4001
4001
 
4002
4002
  :param request_body: (required)
4003
4003
  :type request_body: Dict[str, object]
@@ -4063,9 +4063,9 @@ class ChorusProApi:
4063
4063
  _headers: Optional[Dict[StrictStr, Any]] = None,
4064
4064
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4065
4065
  ) -> RESTResponseType:
4066
- """Rechercher factures à valider (Valideur)
4066
+ """Search invoices to validate (Validator)
4067
4067
 
4068
- Recherche les factures en attente de validation par le valideur connecté. **Rôle** : Valideur dans le circuit de validation interne. **Filtres** : Dates, structure, service, etc.
4068
+ Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
4069
4069
 
4070
4070
  :param request_body: (required)
4071
4071
  :type request_body: Dict[str, object]
@@ -4204,9 +4204,9 @@ class ChorusProApi:
4204
4204
  _headers: Optional[Dict[StrictStr, Any]] = None,
4205
4205
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4206
4206
  ) -> object:
4207
- """Valider ou refuser une facture (Valideur)
4207
+ """Validate or reject an invoice (Validator)
4208
4208
 
4209
- Valide ou refuse une facture en attente de validation. **Actions** : - Valider : La facture passe au statut suivant du circuit - Refuser : La facture est rejetée (motif obligatoire)
4209
+ Validate or reject an invoice pending validation. **Actions**: - Validate: The invoice moves to the next status in the workflow - Reject: The invoice is rejected (reason required)
4210
4210
 
4211
4211
  :param request_body: (required)
4212
4212
  :type request_body: Dict[str, object]
@@ -4272,9 +4272,9 @@ class ChorusProApi:
4272
4272
  _headers: Optional[Dict[StrictStr, Any]] = None,
4273
4273
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4274
4274
  ) -> ApiResponse[object]:
4275
- """Valider ou refuser une facture (Valideur)
4275
+ """Validate or reject an invoice (Validator)
4276
4276
 
4277
- Valide ou refuse une facture en attente de validation. **Actions** : - Valider : La facture passe au statut suivant du circuit - Refuser : La facture est rejetée (motif obligatoire)
4277
+ Validate or reject an invoice pending validation. **Actions**: - Validate: The invoice moves to the next status in the workflow - Reject: The invoice is rejected (reason required)
4278
4278
 
4279
4279
  :param request_body: (required)
4280
4280
  :type request_body: Dict[str, object]
@@ -4340,9 +4340,9 @@ class ChorusProApi:
4340
4340
  _headers: Optional[Dict[StrictStr, Any]] = None,
4341
4341
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4342
4342
  ) -> RESTResponseType:
4343
- """Valider ou refuser une facture (Valideur)
4343
+ """Validate or reject an invoice (Validator)
4344
4344
 
4345
- Valide ou refuse une facture en attente de validation. **Actions** : - Valider : La facture passe au statut suivant du circuit - Refuser : La facture est rejetée (motif obligatoire)
4345
+ Validate or reject an invoice pending validation. **Actions**: - Validate: The invoice moves to the next status in the workflow - Reject: The invoice is rejected (reason required)
4346
4346
 
4347
4347
  :param request_body: (required)
4348
4348
  :type request_body: Dict[str, object]