factpulse 2.0.37__py3-none-any.whl → 3.0.23__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 (400) hide show
  1. factpulse/__init__.py +542 -197
  2. factpulse/api/__init__.py +7 -4
  3. factpulse/api/afnorpdppa_api.py +49 -47
  4. factpulse/api/afnorpdppa_directory_service_api.py +1225 -310
  5. factpulse/api/afnorpdppa_flow_service_api.py +212 -81
  6. factpulse/api/chorus_pro_api.py +271 -218
  7. factpulse/api/document_conversion_api.py +1222 -0
  8. factpulse/api/downloads_api.py +1171 -0
  9. factpulse/api/e_reporting_api.py +3254 -0
  10. factpulse/api/{sant_api.py → health_api.py} +29 -22
  11. factpulse/api/invoice_processing_api.py +3634 -0
  12. factpulse/api/{vrification_pdfxml_api.py → pdfxml_verification_api.py} +331 -252
  13. factpulse/api/{utilisateur_api.py → user_api.py} +21 -17
  14. factpulse/api_client.py +4 -3
  15. factpulse/configuration.py +11 -6
  16. factpulse/exceptions.py +3 -2
  17. factpulse/models/__init__.py +265 -95
  18. factpulse/models/accept_language.py +38 -0
  19. factpulse/models/acknowledgment_status.py +39 -0
  20. factpulse/models/additional_document.py +116 -0
  21. factpulse/models/afnor_acknowledgement.py +100 -0
  22. factpulse/models/afnor_acknowledgement_detail.py +105 -0
  23. factpulse/models/afnor_address_edit.py +111 -0
  24. factpulse/models/afnor_address_patch.py +141 -0
  25. factpulse/models/afnor_address_put.py +129 -0
  26. factpulse/models/afnor_address_read.py +113 -0
  27. factpulse/models/afnor_algorithm.py +41 -0
  28. factpulse/models/afnor_contains_operator.py +37 -0
  29. factpulse/models/afnor_create_directory_line_body.py +98 -0
  30. factpulse/models/afnor_create_directory_line_body_addressing_information.py +122 -0
  31. factpulse/models/afnor_create_directory_line_body_period.py +91 -0
  32. factpulse/models/afnor_create_routing_code_body.py +153 -0
  33. factpulse/models/afnor_credentials.py +107 -0
  34. factpulse/models/afnor_destination.py +127 -0
  35. factpulse/models/afnor_diffusion_status.py +38 -0
  36. factpulse/models/afnor_directory_line_field.py +42 -0
  37. factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.py +139 -0
  38. factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.py +92 -0
  39. factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.py +134 -0
  40. factpulse/models/afnor_directory_line_post201_response.py +94 -0
  41. factpulse/models/afnor_directory_line_search_post200_response.py +104 -0
  42. factpulse/models/afnor_entity_type.py +38 -0
  43. factpulse/models/afnor_error.py +97 -0
  44. factpulse/models/afnor_facility_administrative_status.py +38 -0
  45. factpulse/models/afnor_facility_nature.py +38 -0
  46. factpulse/models/afnor_facility_payload_history.py +140 -0
  47. factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.py +98 -0
  48. factpulse/models/afnor_facility_payload_included.py +134 -0
  49. factpulse/models/afnor_facility_type.py +38 -0
  50. factpulse/models/afnor_flow.py +129 -0
  51. factpulse/models/afnor_flow_ack_status.py +39 -0
  52. factpulse/models/afnor_flow_direction.py +38 -0
  53. factpulse/models/afnor_flow_info.py +112 -0
  54. factpulse/models/afnor_flow_profile.py +39 -0
  55. factpulse/models/afnor_flow_syntax.py +41 -0
  56. factpulse/models/afnor_flow_type.py +49 -0
  57. factpulse/models/afnor_full_flow_info.py +117 -0
  58. factpulse/models/afnor_health_check_response.py +92 -0
  59. factpulse/models/afnor_legal_unit_administrative_status.py +38 -0
  60. factpulse/models/afnor_legal_unit_payload_history.py +107 -0
  61. factpulse/models/afnor_legal_unit_payload_included.py +107 -0
  62. factpulse/models/afnor_legal_unit_payload_included_no_siren.py +95 -0
  63. factpulse/models/afnor_platform_status.py +38 -0
  64. factpulse/models/afnor_processing_rule.py +42 -0
  65. factpulse/models/afnor_reason_code.py +141 -0
  66. factpulse/models/afnor_reason_code_enum.py +51 -0
  67. factpulse/models/afnor_recipient_platform_type.py +38 -0
  68. factpulse/models/afnor_result.py +127 -0
  69. factpulse/models/afnor_routing_code_administrative_status.py +38 -0
  70. factpulse/models/afnor_routing_code_field.py +44 -0
  71. factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.py +158 -0
  72. factpulse/models/afnor_routing_code_post201_response.py +113 -0
  73. factpulse/models/afnor_routing_code_search.py +122 -0
  74. factpulse/models/afnor_routing_code_search_filters.py +128 -0
  75. factpulse/models/afnor_routing_code_search_filters_administrative_status.py +92 -0
  76. factpulse/models/afnor_routing_code_search_filters_routing_code_name.py +102 -0
  77. factpulse/models/afnor_routing_code_search_filters_routing_identifier.py +102 -0
  78. factpulse/models/afnor_routing_code_search_post200_response.py +104 -0
  79. factpulse/models/afnor_routing_code_search_sorting_inner.py +92 -0
  80. factpulse/models/afnor_search_directory_line.py +109 -0
  81. factpulse/models/afnor_search_directory_line_filters.py +116 -0
  82. factpulse/models/afnor_search_directory_line_filters_addressing_identifier.py +92 -0
  83. factpulse/models/afnor_search_directory_line_filters_addressing_suffix.py +92 -0
  84. factpulse/models/afnor_search_directory_line_sorting_inner.py +92 -0
  85. factpulse/models/afnor_search_flow_content.py +104 -0
  86. factpulse/models/afnor_search_flow_filters.py +106 -0
  87. factpulse/models/afnor_search_flow_params.py +95 -0
  88. factpulse/models/afnor_search_siren.py +109 -0
  89. factpulse/models/afnor_search_siren_filters.py +110 -0
  90. factpulse/models/afnor_search_siren_filters_administrative_status.py +92 -0
  91. factpulse/models/afnor_search_siren_filters_business_name.py +92 -0
  92. factpulse/models/afnor_search_siren_filters_entity_type.py +92 -0
  93. factpulse/models/afnor_search_siren_filters_siren.py +102 -0
  94. factpulse/models/afnor_search_siren_sorting_inner.py +92 -0
  95. factpulse/models/afnor_search_siret.py +122 -0
  96. factpulse/models/afnor_search_siret_filters.py +140 -0
  97. factpulse/models/afnor_search_siret_filters_address_lines.py +92 -0
  98. factpulse/models/afnor_search_siret_filters_administrative_status.py +92 -0
  99. factpulse/models/afnor_search_siret_filters_country_subdivision.py +92 -0
  100. factpulse/models/afnor_search_siret_filters_facility_type.py +92 -0
  101. factpulse/models/afnor_search_siret_filters_locality.py +92 -0
  102. factpulse/models/afnor_search_siret_filters_name.py +92 -0
  103. factpulse/models/afnor_search_siret_filters_postal_code.py +102 -0
  104. factpulse/models/afnor_search_siret_filters_siret.py +102 -0
  105. factpulse/models/afnor_search_siret_sorting_inner.py +92 -0
  106. factpulse/models/afnor_siren_field.py +41 -0
  107. factpulse/models/afnor_siren_search_post200_response.py +104 -0
  108. factpulse/models/afnor_siret_field.py +50 -0
  109. factpulse/models/afnor_siret_search_post200_response.py +104 -0
  110. factpulse/models/afnor_sorting_order.py +38 -0
  111. factpulse/models/afnor_strict_operator.py +37 -0
  112. factpulse/models/afnor_update_patch_directory_line_body.py +89 -0
  113. factpulse/models/afnor_update_patch_routing_code_body.py +120 -0
  114. factpulse/models/afnor_update_put_routing_code_body.py +114 -0
  115. factpulse/models/afnor_webhook_callback_content.py +92 -0
  116. factpulse/models/aggregated_payment_input.py +106 -0
  117. factpulse/models/aggregated_transaction_input.py +136 -0
  118. factpulse/models/allowance_charge.py +150 -0
  119. factpulse/models/allowance_charge_reason_code.py +74 -0
  120. factpulse/models/allowance_reason_code.py +43 -0
  121. factpulse/models/allowance_total_amount.py +146 -0
  122. factpulse/models/amount.py +140 -0
  123. factpulse/models/amount1.py +140 -0
  124. factpulse/models/amount_due.py +140 -0
  125. factpulse/models/api_error.py +6 -5
  126. factpulse/models/api_profile.py +41 -0
  127. factpulse/models/async_task_status.py +98 -0
  128. factpulse/models/base_amount.py +146 -0
  129. factpulse/models/bounding_box_schema.py +11 -10
  130. factpulse/models/buyercountry.py +137 -0
  131. factpulse/models/celery_status.py +41 -0
  132. factpulse/models/certificate_info_response.py +25 -24
  133. factpulse/models/charge_total_amount.py +146 -0
  134. factpulse/models/chorus_pro_credentials.py +14 -13
  135. factpulse/models/chorus_pro_destination.py +109 -0
  136. factpulse/models/chorus_pro_result.py +102 -0
  137. factpulse/models/contact.py +114 -0
  138. factpulse/models/convert_resume_request.py +88 -0
  139. factpulse/models/convert_success_response.py +127 -0
  140. factpulse/models/convert_validation_failed_response.py +121 -0
  141. factpulse/models/country_code.py +206 -0
  142. factpulse/models/create_aggregated_report_request.py +170 -0
  143. factpulse/models/create_e_reporting_request.py +173 -0
  144. factpulse/models/currency.py +137 -0
  145. factpulse/models/currency_code.py +89 -0
  146. factpulse/models/delivery_party.py +122 -0
  147. factpulse/models/destination.py +28 -27
  148. factpulse/models/directory_line_include.py +40 -0
  149. factpulse/models/doc_type.py +40 -0
  150. factpulse/models/document_type_info.py +92 -0
  151. factpulse/models/e_reporting_flow_type.py +40 -0
  152. factpulse/models/e_reporting_validation_error.py +97 -0
  153. factpulse/models/electronic_address.py +91 -0
  154. factpulse/models/enriched_invoice_info.py +134 -0
  155. factpulse/models/error_level.py +3 -2
  156. factpulse/models/error_source.py +3 -2
  157. factpulse/models/extraction_info.py +94 -0
  158. factpulse/models/factur_x_invoice.py +321 -0
  159. factpulse/models/factur_xpdf_info.py +92 -0
  160. factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.py +41 -0
  161. factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.py +116 -0
  162. factpulse/models/field_status.py +41 -0
  163. factpulse/models/file_info.py +95 -0
  164. factpulse/models/files_info.py +107 -0
  165. factpulse/models/flow_direction.py +38 -0
  166. factpulse/models/flow_profile.py +39 -0
  167. factpulse/models/flow_summary.py +132 -0
  168. factpulse/models/flow_syntax.py +41 -0
  169. factpulse/models/flow_type.py +49 -0
  170. factpulse/models/generate_aggregated_report_response.py +100 -0
  171. factpulse/models/generate_certificate_request.py +27 -26
  172. factpulse/models/generate_certificate_response.py +16 -15
  173. factpulse/models/generate_e_reporting_response.py +96 -0
  174. factpulse/models/get_chorus_pro_id_request.py +101 -0
  175. factpulse/models/get_chorus_pro_id_response.py +99 -0
  176. factpulse/models/get_invoice_request.py +99 -0
  177. factpulse/models/get_invoice_response.py +143 -0
  178. factpulse/models/get_structure_request.py +101 -0
  179. factpulse/models/get_structure_response.py +143 -0
  180. factpulse/models/global_allowance_amount.py +140 -0
  181. factpulse/models/gross_unit_price.py +146 -0
  182. factpulse/models/http_validation_error.py +3 -2
  183. factpulse/models/incoming_invoice.py +175 -0
  184. factpulse/models/incoming_supplier.py +145 -0
  185. factpulse/models/invoice_format.py +39 -0
  186. factpulse/models/invoice_input.py +179 -0
  187. factpulse/models/invoice_line.py +370 -0
  188. factpulse/models/invoice_line_allowance_amount.py +146 -0
  189. factpulse/models/invoice_note.py +95 -0
  190. factpulse/models/invoice_payment_input.py +110 -0
  191. factpulse/models/invoice_references.py +195 -0
  192. factpulse/models/invoice_status.py +97 -0
  193. factpulse/models/invoice_totals.py +178 -0
  194. factpulse/models/invoice_totals_prepayment.py +146 -0
  195. factpulse/models/invoice_type_code.py +52 -0
  196. factpulse/models/invoice_type_code_output.py +52 -0
  197. factpulse/models/invoicing_framework.py +111 -0
  198. factpulse/models/invoicing_framework_code.py +40 -0
  199. factpulse/models/line_net_amount.py +146 -0
  200. factpulse/models/line_sub_type.py +39 -0
  201. factpulse/models/line_total_amount.py +146 -0
  202. factpulse/models/location_inner.py +139 -0
  203. factpulse/models/mandatory_note_schema.py +125 -0
  204. factpulse/models/manual_rate.py +140 -0
  205. factpulse/models/manual_vat_rate.py +140 -0
  206. factpulse/models/missing_field.py +108 -0
  207. factpulse/models/operation_nature.py +50 -0
  208. factpulse/models/output_format.py +38 -0
  209. factpulse/models/page_dimensions_schema.py +90 -0
  210. factpulse/models/payee.py +169 -0
  211. factpulse/models/payment_amount_by_rate.py +98 -0
  212. factpulse/models/payment_card.py +100 -0
  213. factpulse/models/payment_means.py +42 -0
  214. factpulse/models/pdf_validation_result_api.py +170 -0
  215. factpulse/models/pdp_credentials.py +16 -15
  216. factpulse/models/percentage.py +146 -0
  217. factpulse/models/postal_address.py +135 -0
  218. factpulse/models/price_allowance_amount.py +146 -0
  219. factpulse/models/price_basis_quantity.py +146 -0
  220. factpulse/models/processing_options.py +95 -0
  221. factpulse/models/processing_rule.py +42 -0
  222. factpulse/models/product_characteristic.py +90 -0
  223. factpulse/models/product_classification.py +102 -0
  224. factpulse/models/quantity.py +140 -0
  225. factpulse/models/rate.py +140 -0
  226. factpulse/models/rate1.py +140 -0
  227. factpulse/models/recipient.py +168 -0
  228. factpulse/models/report_period.py +91 -0
  229. factpulse/models/report_sender.py +98 -0
  230. factpulse/models/rounding_amount.py +146 -0
  231. factpulse/models/routing_code_include.py +38 -0
  232. factpulse/models/schematron_validation_error.py +128 -0
  233. factpulse/models/scheme_id.py +18 -4
  234. factpulse/models/search_flow_request.py +144 -0
  235. factpulse/models/search_flow_response.py +102 -0
  236. factpulse/models/search_services_response.py +102 -0
  237. factpulse/models/search_structure_request.py +120 -0
  238. factpulse/models/search_structure_response.py +102 -0
  239. factpulse/models/sellercountry.py +137 -0
  240. factpulse/models/signature_info.py +7 -6
  241. factpulse/models/signature_info_api.py +123 -0
  242. factpulse/models/signature_parameters.py +134 -0
  243. factpulse/models/simplified_invoice_data.py +151 -0
  244. factpulse/models/siret_include.py +37 -0
  245. factpulse/models/structure_info.py +15 -14
  246. factpulse/models/structure_parameters.py +92 -0
  247. factpulse/models/structure_service.py +94 -0
  248. factpulse/models/submission_mode.py +39 -0
  249. factpulse/models/submit_aggregated_report_request.py +127 -0
  250. factpulse/models/submit_complete_invoice_request.py +117 -0
  251. factpulse/models/submit_complete_invoice_response.py +146 -0
  252. factpulse/models/submit_e_reporting_request.py +127 -0
  253. factpulse/models/submit_e_reporting_response.py +117 -0
  254. factpulse/models/submit_flow_request.py +124 -0
  255. factpulse/models/submit_flow_response.py +110 -0
  256. factpulse/models/submit_gross_amount.py +140 -0
  257. factpulse/models/submit_invoice_request.py +177 -0
  258. factpulse/models/submit_invoice_response.py +104 -0
  259. factpulse/models/submit_net_amount.py +140 -0
  260. factpulse/models/submit_vat_amount.py +140 -0
  261. factpulse/models/supplementary_attachment.py +96 -0
  262. factpulse/models/supplier.py +226 -0
  263. factpulse/models/task_response.py +88 -0
  264. factpulse/models/tax_breakdown_input.py +104 -0
  265. factpulse/models/tax_due_date_type.py +42 -0
  266. factpulse/models/tax_representative.py +96 -0
  267. factpulse/models/taxable_amount.py +140 -0
  268. factpulse/models/taxableamount.py +140 -0
  269. factpulse/models/taxamount.py +140 -0
  270. factpulse/models/taxamount1.py +140 -0
  271. factpulse/models/taxamount2.py +140 -0
  272. factpulse/models/taxexclusiveamount.py +140 -0
  273. factpulse/models/taxexclusiveamount1.py +140 -0
  274. factpulse/models/total_gross_amount.py +140 -0
  275. factpulse/models/total_net_amount.py +140 -0
  276. factpulse/models/total_vat_amount.py +140 -0
  277. factpulse/models/transaction_category.py +40 -0
  278. factpulse/models/transmission_type_code.py +38 -0
  279. factpulse/models/unit_net_price.py +140 -0
  280. factpulse/models/unit_of_measure.py +42 -0
  281. factpulse/models/validate_e_reporting_request.py +92 -0
  282. factpulse/models/validate_e_reporting_response.py +113 -0
  283. factpulse/models/validation_error.py +6 -5
  284. factpulse/models/validation_error_detail.py +7 -6
  285. factpulse/models/validation_error_response.py +88 -0
  286. factpulse/models/validation_info.py +106 -0
  287. factpulse/models/validation_success_response.py +88 -0
  288. factpulse/models/vat_accounting_code.py +40 -0
  289. factpulse/models/vat_amount.py +140 -0
  290. factpulse/models/vat_category.py +45 -0
  291. factpulse/models/vat_line.py +141 -0
  292. factpulse/models/vat_point_date_code.py +39 -0
  293. factpulse/models/vat_rate.py +146 -0
  294. factpulse/models/verification_success_response.py +136 -0
  295. factpulse/models/verified_field_schema.py +130 -0
  296. factpulse/rest.py +3 -2
  297. factpulse-3.0.23.dist-info/METADATA +294 -0
  298. factpulse-3.0.23.dist-info/RECORD +306 -0
  299. {factpulse-2.0.37.dist-info → factpulse-3.0.23.dist-info}/licenses/LICENSE +1 -1
  300. factpulse_helpers/__init__.py +34 -34
  301. factpulse_helpers/client.py +1020 -795
  302. factpulse_helpers/exceptions.py +68 -68
  303. factpulse/api/traitement_facture_api.py +0 -3437
  304. factpulse/models/adresse_electronique.py +0 -90
  305. factpulse/models/adresse_postale.py +0 -120
  306. factpulse/models/cadre_de_facturation.py +0 -110
  307. factpulse/models/categorie_tva.py +0 -44
  308. factpulse/models/champ_verifie_schema.py +0 -129
  309. factpulse/models/code_cadre_facturation.py +0 -39
  310. factpulse/models/code_raison_reduction.py +0 -42
  311. factpulse/models/consulter_facture_request.py +0 -98
  312. factpulse/models/consulter_facture_response.py +0 -142
  313. factpulse/models/consulter_structure_request.py +0 -100
  314. factpulse/models/consulter_structure_response.py +0 -142
  315. factpulse/models/credentials_afnor.py +0 -106
  316. factpulse/models/credentials_chorus_pro.py +0 -115
  317. factpulse/models/destinataire.py +0 -130
  318. factpulse/models/destination_afnor.py +0 -127
  319. factpulse/models/destination_chorus_pro.py +0 -108
  320. factpulse/models/dimension_page_schema.py +0 -89
  321. factpulse/models/direction_flux.py +0 -37
  322. factpulse/models/donnees_facture_simplifiees.py +0 -124
  323. factpulse/models/facture_enrichie_info.py +0 -133
  324. factpulse/models/facture_entrante.py +0 -196
  325. factpulse/models/facture_factur_x.py +0 -183
  326. factpulse/models/flux_resume.py +0 -131
  327. factpulse/models/format_facture.py +0 -38
  328. factpulse/models/format_sortie.py +0 -37
  329. factpulse/models/fournisseur.py +0 -153
  330. factpulse/models/fournisseur_entrant.py +0 -144
  331. factpulse/models/information_signature_api.py +0 -122
  332. factpulse/models/ligne_de_poste.py +0 -183
  333. factpulse/models/ligne_de_poste_montant_remise_ht.py +0 -145
  334. factpulse/models/ligne_de_poste_taux_tva_manuel.py +0 -145
  335. factpulse/models/ligne_de_tva.py +0 -132
  336. factpulse/models/mode_depot.py +0 -38
  337. factpulse/models/mode_paiement.py +0 -41
  338. factpulse/models/montant_a_payer.py +0 -139
  339. factpulse/models/montant_base_ht.py +0 -139
  340. factpulse/models/montant_ht_total.py +0 -139
  341. factpulse/models/montant_remise_globale_ttc.py +0 -139
  342. factpulse/models/montant_total.py +0 -133
  343. factpulse/models/montant_total_acompte.py +0 -145
  344. factpulse/models/montant_total_ligne_ht.py +0 -139
  345. factpulse/models/montant_ttc_total.py +0 -139
  346. factpulse/models/montant_tva.py +0 -139
  347. factpulse/models/montant_tva_ligne.py +0 -139
  348. factpulse/models/montant_tva_total.py +0 -139
  349. factpulse/models/montant_unitaire_ht.py +0 -139
  350. factpulse/models/nature_operation.py +0 -49
  351. factpulse/models/note.py +0 -94
  352. factpulse/models/note_obligatoire_schema.py +0 -124
  353. factpulse/models/obtenir_id_chorus_pro_request.py +0 -100
  354. factpulse/models/obtenir_id_chorus_pro_response.py +0 -98
  355. factpulse/models/options_processing.py +0 -94
  356. factpulse/models/parametres_signature.py +0 -133
  357. factpulse/models/parametres_structure.py +0 -91
  358. factpulse/models/pdf_factur_x_info.py +0 -91
  359. factpulse/models/piece_jointe_complementaire.py +0 -95
  360. factpulse/models/profil_api.py +0 -39
  361. factpulse/models/profil_flux.py +0 -38
  362. factpulse/models/quantite.py +0 -139
  363. factpulse/models/rechercher_services_response.py +0 -101
  364. factpulse/models/rechercher_structure_request.py +0 -119
  365. factpulse/models/rechercher_structure_response.py +0 -101
  366. factpulse/models/references.py +0 -124
  367. factpulse/models/reponse_healthcheck_afnor.py +0 -91
  368. factpulse/models/reponse_recherche_flux.py +0 -101
  369. factpulse/models/reponse_soumission_flux.py +0 -109
  370. factpulse/models/reponse_tache.py +0 -87
  371. factpulse/models/reponse_validation_erreur.py +0 -87
  372. factpulse/models/reponse_validation_succes.py +0 -87
  373. factpulse/models/reponse_verification_succes.py +0 -135
  374. factpulse/models/requete_recherche_flux.py +0 -143
  375. factpulse/models/requete_soumission_flux.py +0 -123
  376. factpulse/models/resultat_afnor.py +0 -105
  377. factpulse/models/resultat_chorus_pro.py +0 -101
  378. factpulse/models/resultat_validation_pdfapi.py +0 -169
  379. factpulse/models/service_structure.py +0 -93
  380. factpulse/models/soumettre_facture_complete_request.py +0 -116
  381. factpulse/models/soumettre_facture_complete_response.py +0 -145
  382. factpulse/models/soumettre_facture_request.py +0 -176
  383. factpulse/models/soumettre_facture_response.py +0 -103
  384. factpulse/models/statut_acquittement.py +0 -38
  385. factpulse/models/statut_celery.py +0 -40
  386. factpulse/models/statut_champ_api.py +0 -40
  387. factpulse/models/statut_facture.py +0 -96
  388. factpulse/models/statut_tache.py +0 -97
  389. factpulse/models/syntaxe_flux.py +0 -40
  390. factpulse/models/tauxmanuel.py +0 -139
  391. factpulse/models/type_document.py +0 -40
  392. factpulse/models/type_facture.py +0 -37
  393. factpulse/models/type_flux.py +0 -40
  394. factpulse/models/type_tva.py +0 -39
  395. factpulse/models/unite.py +0 -41
  396. factpulse/models/validation_error_loc_inner.py +0 -138
  397. factpulse-2.0.37.dist-info/METADATA +0 -292
  398. factpulse-2.0.37.dist-info/RECORD +0 -134
  399. {factpulse-2.0.37.dist-info → factpulse-3.0.23.dist-info}/WHEEL +0 -0
  400. {factpulse-2.0.37.dist-info → factpulse-3.0.23.dist-info}/top_level.txt +0 -0
@@ -1,11 +1,12 @@
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://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://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://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://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://factpulse.fr/api/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://factpulse.fr/documentation-api/
7
7
 
8
8
  The version of the OpenAPI document: 1.0.0
9
+ Contact: contact@factpulse.fr
9
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
11
 
11
12
  Do not edit the class manually.
@@ -16,19 +17,20 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
17
  from typing import Any, Dict, List, Optional, Tuple, Union
17
18
  from typing_extensions import Annotated
18
19
 
19
- from pydantic import StrictInt
20
+ from pydantic import Field, StrictInt
20
21
  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
22
+ from typing_extensions import Annotated
23
+ from factpulse.models.get_chorus_pro_id_request import GetChorusProIdRequest
24
+ from factpulse.models.get_chorus_pro_id_response import GetChorusProIdResponse
25
+ from factpulse.models.get_invoice_request import GetInvoiceRequest
26
+ from factpulse.models.get_invoice_response import GetInvoiceResponse
27
+ from factpulse.models.get_structure_request import GetStructureRequest
28
+ from factpulse.models.get_structure_response import GetStructureResponse
29
+ from factpulse.models.search_services_response import SearchServicesResponse
30
+ from factpulse.models.search_structure_request import SearchStructureRequest
31
+ from factpulse.models.search_structure_response import SearchStructureResponse
32
+ from factpulse.models.submit_invoice_request import SubmitInvoiceRequest
33
+ from factpulse.models.submit_invoice_response import SubmitInvoiceResponse
32
34
 
33
35
  from factpulse.api_client import ApiClient, RequestSerialized
34
36
  from factpulse.api_response import ApiResponse
@@ -65,9 +67,9 @@ class ChorusProApi:
65
67
  _headers: Optional[Dict[StrictStr, Any]] = None,
66
68
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
67
69
  ) -> object:
68
- """Ajouter une pièce jointe
70
+ """Add an attachment
69
71
 
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.
72
+ 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
73
 
72
74
  :param request_body: (required)
73
75
  :type request_body: Dict[str, object]
@@ -104,6 +106,7 @@ class ChorusProApi:
104
106
  _response_types_map: Dict[str, Optional[str]] = {
105
107
  '200': "object",
106
108
  '422': "HTTPValidationError",
109
+ '401': "APIError",
107
110
  }
108
111
  response_data = self.api_client.call_api(
109
112
  *_param,
@@ -133,9 +136,9 @@ class ChorusProApi:
133
136
  _headers: Optional[Dict[StrictStr, Any]] = None,
134
137
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
135
138
  ) -> ApiResponse[object]:
136
- """Ajouter une pièce jointe
139
+ """Add an attachment
137
140
 
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.
141
+ 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
142
 
140
143
  :param request_body: (required)
141
144
  :type request_body: Dict[str, object]
@@ -172,6 +175,7 @@ class ChorusProApi:
172
175
  _response_types_map: Dict[str, Optional[str]] = {
173
176
  '200': "object",
174
177
  '422': "HTTPValidationError",
178
+ '401': "APIError",
175
179
  }
176
180
  response_data = self.api_client.call_api(
177
181
  *_param,
@@ -201,9 +205,9 @@ class ChorusProApi:
201
205
  _headers: Optional[Dict[StrictStr, Any]] = None,
202
206
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
203
207
  ) -> RESTResponseType:
204
- """Ajouter une pièce jointe
208
+ """Add an attachment
205
209
 
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.
210
+ 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
211
 
208
212
  :param request_body: (required)
209
213
  :type request_body: Dict[str, object]
@@ -240,6 +244,7 @@ class ChorusProApi:
240
244
  _response_types_map: Dict[str, Optional[str]] = {
241
245
  '200': "object",
242
246
  '422': "HTTPValidationError",
247
+ '401': "APIError",
243
248
  }
244
249
  response_data = self.api_client.call_api(
245
250
  *_param,
@@ -342,9 +347,9 @@ class ChorusProApi:
342
347
  _headers: Optional[Dict[StrictStr, Any]] = None,
343
348
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
344
349
  ) -> object:
345
- """Compléter une facture suspendue (Fournisseur)
350
+ """Complete a suspended invoice (Supplier)
346
351
 
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.
352
+ 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
353
 
349
354
  :param request_body: (required)
350
355
  :type request_body: Dict[str, object]
@@ -381,6 +386,7 @@ class ChorusProApi:
381
386
  _response_types_map: Dict[str, Optional[str]] = {
382
387
  '200': "object",
383
388
  '422': "HTTPValidationError",
389
+ '401': "APIError",
384
390
  }
385
391
  response_data = self.api_client.call_api(
386
392
  *_param,
@@ -410,9 +416,9 @@ class ChorusProApi:
410
416
  _headers: Optional[Dict[StrictStr, Any]] = None,
411
417
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
412
418
  ) -> ApiResponse[object]:
413
- """Compléter une facture suspendue (Fournisseur)
419
+ """Complete a suspended invoice (Supplier)
414
420
 
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.
421
+ 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
422
 
417
423
  :param request_body: (required)
418
424
  :type request_body: Dict[str, object]
@@ -449,6 +455,7 @@ class ChorusProApi:
449
455
  _response_types_map: Dict[str, Optional[str]] = {
450
456
  '200': "object",
451
457
  '422': "HTTPValidationError",
458
+ '401': "APIError",
452
459
  }
453
460
  response_data = self.api_client.call_api(
454
461
  *_param,
@@ -478,9 +485,9 @@ class ChorusProApi:
478
485
  _headers: Optional[Dict[StrictStr, Any]] = None,
479
486
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
480
487
  ) -> RESTResponseType:
481
- """Compléter une facture suspendue (Fournisseur)
488
+ """Complete a suspended invoice (Supplier)
482
489
 
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.
490
+ 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
491
 
485
492
  :param request_body: (required)
486
493
  :type request_body: Dict[str, object]
@@ -517,6 +524,7 @@ class ChorusProApi:
517
524
  _response_types_map: Dict[str, Optional[str]] = {
518
525
  '200': "object",
519
526
  '422': "HTTPValidationError",
527
+ '401': "APIError",
520
528
  }
521
529
  response_data = self.api_client.call_api(
522
530
  *_param,
@@ -605,7 +613,7 @@ class ChorusProApi:
605
613
  @validate_call
606
614
  def consulter_facture_api_v1_chorus_pro_factures_consulter_post(
607
615
  self,
608
- consulter_facture_request: ConsulterFactureRequest,
616
+ get_invoice_request: GetInvoiceRequest,
609
617
  _request_timeout: Union[
610
618
  None,
611
619
  Annotated[StrictFloat, Field(gt=0)],
@@ -618,13 +626,13 @@ class ChorusProApi:
618
626
  _content_type: Optional[StrictStr] = None,
619
627
  _headers: Optional[Dict[StrictStr, Any]] = None,
620
628
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
621
- ) -> ConsulterFactureResponse:
622
- """Consulter le statut d'une facture
629
+ ) -> GetInvoiceResponse:
630
+ """Consult invoice status
623
631
 
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.
632
+ 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
633
 
626
- :param consulter_facture_request: (required)
627
- :type consulter_facture_request: ConsulterFactureRequest
634
+ :param get_invoice_request: (required)
635
+ :type get_invoice_request: GetInvoiceRequest
628
636
  :param _request_timeout: timeout setting for this request. If one
629
637
  number provided, it will be total request
630
638
  timeout. It can also be a pair (tuple) of
@@ -648,7 +656,7 @@ class ChorusProApi:
648
656
  """ # noqa: E501
649
657
 
650
658
  _param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
651
- consulter_facture_request=consulter_facture_request,
659
+ get_invoice_request=get_invoice_request,
652
660
  _request_auth=_request_auth,
653
661
  _content_type=_content_type,
654
662
  _headers=_headers,
@@ -656,8 +664,9 @@ class ChorusProApi:
656
664
  )
657
665
 
658
666
  _response_types_map: Dict[str, Optional[str]] = {
659
- '200': "ConsulterFactureResponse",
667
+ '200': "GetInvoiceResponse",
660
668
  '422': "HTTPValidationError",
669
+ '401': "APIError",
661
670
  }
662
671
  response_data = self.api_client.call_api(
663
672
  *_param,
@@ -673,7 +682,7 @@ class ChorusProApi:
673
682
  @validate_call
674
683
  def consulter_facture_api_v1_chorus_pro_factures_consulter_post_with_http_info(
675
684
  self,
676
- consulter_facture_request: ConsulterFactureRequest,
685
+ get_invoice_request: GetInvoiceRequest,
677
686
  _request_timeout: Union[
678
687
  None,
679
688
  Annotated[StrictFloat, Field(gt=0)],
@@ -686,13 +695,13 @@ class ChorusProApi:
686
695
  _content_type: Optional[StrictStr] = None,
687
696
  _headers: Optional[Dict[StrictStr, Any]] = None,
688
697
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
689
- ) -> ApiResponse[ConsulterFactureResponse]:
690
- """Consulter le statut d'une facture
698
+ ) -> ApiResponse[GetInvoiceResponse]:
699
+ """Consult invoice status
691
700
 
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.
701
+ 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
702
 
694
- :param consulter_facture_request: (required)
695
- :type consulter_facture_request: ConsulterFactureRequest
703
+ :param get_invoice_request: (required)
704
+ :type get_invoice_request: GetInvoiceRequest
696
705
  :param _request_timeout: timeout setting for this request. If one
697
706
  number provided, it will be total request
698
707
  timeout. It can also be a pair (tuple) of
@@ -716,7 +725,7 @@ class ChorusProApi:
716
725
  """ # noqa: E501
717
726
 
718
727
  _param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
719
- consulter_facture_request=consulter_facture_request,
728
+ get_invoice_request=get_invoice_request,
720
729
  _request_auth=_request_auth,
721
730
  _content_type=_content_type,
722
731
  _headers=_headers,
@@ -724,8 +733,9 @@ class ChorusProApi:
724
733
  )
725
734
 
726
735
  _response_types_map: Dict[str, Optional[str]] = {
727
- '200': "ConsulterFactureResponse",
736
+ '200': "GetInvoiceResponse",
728
737
  '422': "HTTPValidationError",
738
+ '401': "APIError",
729
739
  }
730
740
  response_data = self.api_client.call_api(
731
741
  *_param,
@@ -741,7 +751,7 @@ class ChorusProApi:
741
751
  @validate_call
742
752
  def consulter_facture_api_v1_chorus_pro_factures_consulter_post_without_preload_content(
743
753
  self,
744
- consulter_facture_request: ConsulterFactureRequest,
754
+ get_invoice_request: GetInvoiceRequest,
745
755
  _request_timeout: Union[
746
756
  None,
747
757
  Annotated[StrictFloat, Field(gt=0)],
@@ -755,12 +765,12 @@ class ChorusProApi:
755
765
  _headers: Optional[Dict[StrictStr, Any]] = None,
756
766
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
757
767
  ) -> RESTResponseType:
758
- """Consulter le statut d'une facture
768
+ """Consult invoice status
759
769
 
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.
770
+ 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
771
 
762
- :param consulter_facture_request: (required)
763
- :type consulter_facture_request: ConsulterFactureRequest
772
+ :param get_invoice_request: (required)
773
+ :type get_invoice_request: GetInvoiceRequest
764
774
  :param _request_timeout: timeout setting for this request. If one
765
775
  number provided, it will be total request
766
776
  timeout. It can also be a pair (tuple) of
@@ -784,7 +794,7 @@ class ChorusProApi:
784
794
  """ # noqa: E501
785
795
 
786
796
  _param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
787
- consulter_facture_request=consulter_facture_request,
797
+ get_invoice_request=get_invoice_request,
788
798
  _request_auth=_request_auth,
789
799
  _content_type=_content_type,
790
800
  _headers=_headers,
@@ -792,8 +802,9 @@ class ChorusProApi:
792
802
  )
793
803
 
794
804
  _response_types_map: Dict[str, Optional[str]] = {
795
- '200': "ConsulterFactureResponse",
805
+ '200': "GetInvoiceResponse",
796
806
  '422': "HTTPValidationError",
807
+ '401': "APIError",
797
808
  }
798
809
  response_data = self.api_client.call_api(
799
810
  *_param,
@@ -804,7 +815,7 @@ class ChorusProApi:
804
815
 
805
816
  def _consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
806
817
  self,
807
- consulter_facture_request,
818
+ get_invoice_request,
808
819
  _request_auth,
809
820
  _content_type,
810
821
  _headers,
@@ -830,8 +841,8 @@ class ChorusProApi:
830
841
  # process the header parameters
831
842
  # process the form parameters
832
843
  # process the body parameter
833
- if consulter_facture_request is not None:
834
- _body_params = consulter_facture_request
844
+ if get_invoice_request is not None:
845
+ _body_params = get_invoice_request
835
846
 
836
847
 
837
848
  # set the HTTP header `Accept`
@@ -882,7 +893,7 @@ class ChorusProApi:
882
893
  @validate_call
883
894
  def consulter_structure_api_v1_chorus_pro_structures_consulter_post(
884
895
  self,
885
- consulter_structure_request: ConsulterStructureRequest,
896
+ get_structure_request: GetStructureRequest,
886
897
  _request_timeout: Union[
887
898
  None,
888
899
  Annotated[StrictFloat, Field(gt=0)],
@@ -895,13 +906,13 @@ class ChorusProApi:
895
906
  _content_type: Optional[StrictStr] = None,
896
907
  _headers: Optional[Dict[StrictStr, Any]] = None,
897
908
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
898
- ) -> ConsulterStructureResponse:
899
- """Consulter les détails d'une structure
909
+ ) -> GetStructureResponse:
910
+ """Consult structure details
900
911
 
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.
912
+ 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
913
 
903
- :param consulter_structure_request: (required)
904
- :type consulter_structure_request: ConsulterStructureRequest
914
+ :param get_structure_request: (required)
915
+ :type get_structure_request: GetStructureRequest
905
916
  :param _request_timeout: timeout setting for this request. If one
906
917
  number provided, it will be total request
907
918
  timeout. It can also be a pair (tuple) of
@@ -925,7 +936,7 @@ class ChorusProApi:
925
936
  """ # noqa: E501
926
937
 
927
938
  _param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
928
- consulter_structure_request=consulter_structure_request,
939
+ get_structure_request=get_structure_request,
929
940
  _request_auth=_request_auth,
930
941
  _content_type=_content_type,
931
942
  _headers=_headers,
@@ -933,8 +944,9 @@ class ChorusProApi:
933
944
  )
934
945
 
935
946
  _response_types_map: Dict[str, Optional[str]] = {
936
- '200': "ConsulterStructureResponse",
947
+ '200': "GetStructureResponse",
937
948
  '422': "HTTPValidationError",
949
+ '401': "APIError",
938
950
  }
939
951
  response_data = self.api_client.call_api(
940
952
  *_param,
@@ -950,7 +962,7 @@ class ChorusProApi:
950
962
  @validate_call
951
963
  def consulter_structure_api_v1_chorus_pro_structures_consulter_post_with_http_info(
952
964
  self,
953
- consulter_structure_request: ConsulterStructureRequest,
965
+ get_structure_request: GetStructureRequest,
954
966
  _request_timeout: Union[
955
967
  None,
956
968
  Annotated[StrictFloat, Field(gt=0)],
@@ -963,13 +975,13 @@ class ChorusProApi:
963
975
  _content_type: Optional[StrictStr] = None,
964
976
  _headers: Optional[Dict[StrictStr, Any]] = None,
965
977
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
966
- ) -> ApiResponse[ConsulterStructureResponse]:
967
- """Consulter les détails d'une structure
978
+ ) -> ApiResponse[GetStructureResponse]:
979
+ """Consult structure details
968
980
 
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.
981
+ 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
982
 
971
- :param consulter_structure_request: (required)
972
- :type consulter_structure_request: ConsulterStructureRequest
983
+ :param get_structure_request: (required)
984
+ :type get_structure_request: GetStructureRequest
973
985
  :param _request_timeout: timeout setting for this request. If one
974
986
  number provided, it will be total request
975
987
  timeout. It can also be a pair (tuple) of
@@ -993,7 +1005,7 @@ class ChorusProApi:
993
1005
  """ # noqa: E501
994
1006
 
995
1007
  _param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
996
- consulter_structure_request=consulter_structure_request,
1008
+ get_structure_request=get_structure_request,
997
1009
  _request_auth=_request_auth,
998
1010
  _content_type=_content_type,
999
1011
  _headers=_headers,
@@ -1001,8 +1013,9 @@ class ChorusProApi:
1001
1013
  )
1002
1014
 
1003
1015
  _response_types_map: Dict[str, Optional[str]] = {
1004
- '200': "ConsulterStructureResponse",
1016
+ '200': "GetStructureResponse",
1005
1017
  '422': "HTTPValidationError",
1018
+ '401': "APIError",
1006
1019
  }
1007
1020
  response_data = self.api_client.call_api(
1008
1021
  *_param,
@@ -1018,7 +1031,7 @@ class ChorusProApi:
1018
1031
  @validate_call
1019
1032
  def consulter_structure_api_v1_chorus_pro_structures_consulter_post_without_preload_content(
1020
1033
  self,
1021
- consulter_structure_request: ConsulterStructureRequest,
1034
+ get_structure_request: GetStructureRequest,
1022
1035
  _request_timeout: Union[
1023
1036
  None,
1024
1037
  Annotated[StrictFloat, Field(gt=0)],
@@ -1032,12 +1045,12 @@ class ChorusProApi:
1032
1045
  _headers: Optional[Dict[StrictStr, Any]] = None,
1033
1046
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1034
1047
  ) -> RESTResponseType:
1035
- """Consulter les détails d'une structure
1048
+ """Consult structure details
1036
1049
 
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.
1050
+ 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
1051
 
1039
- :param consulter_structure_request: (required)
1040
- :type consulter_structure_request: ConsulterStructureRequest
1052
+ :param get_structure_request: (required)
1053
+ :type get_structure_request: GetStructureRequest
1041
1054
  :param _request_timeout: timeout setting for this request. If one
1042
1055
  number provided, it will be total request
1043
1056
  timeout. It can also be a pair (tuple) of
@@ -1061,7 +1074,7 @@ class ChorusProApi:
1061
1074
  """ # noqa: E501
1062
1075
 
1063
1076
  _param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
1064
- consulter_structure_request=consulter_structure_request,
1077
+ get_structure_request=get_structure_request,
1065
1078
  _request_auth=_request_auth,
1066
1079
  _content_type=_content_type,
1067
1080
  _headers=_headers,
@@ -1069,8 +1082,9 @@ class ChorusProApi:
1069
1082
  )
1070
1083
 
1071
1084
  _response_types_map: Dict[str, Optional[str]] = {
1072
- '200': "ConsulterStructureResponse",
1085
+ '200': "GetStructureResponse",
1073
1086
  '422': "HTTPValidationError",
1087
+ '401': "APIError",
1074
1088
  }
1075
1089
  response_data = self.api_client.call_api(
1076
1090
  *_param,
@@ -1081,7 +1095,7 @@ class ChorusProApi:
1081
1095
 
1082
1096
  def _consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
1083
1097
  self,
1084
- consulter_structure_request,
1098
+ get_structure_request,
1085
1099
  _request_auth,
1086
1100
  _content_type,
1087
1101
  _headers,
@@ -1107,8 +1121,8 @@ class ChorusProApi:
1107
1121
  # process the header parameters
1108
1122
  # process the form parameters
1109
1123
  # process the body parameter
1110
- if consulter_structure_request is not None:
1111
- _body_params = consulter_structure_request
1124
+ if get_structure_request is not None:
1125
+ _body_params = get_structure_request
1112
1126
 
1113
1127
 
1114
1128
  # set the HTTP header `Accept`
@@ -1159,7 +1173,7 @@ class ChorusProApi:
1159
1173
  @validate_call
1160
1174
  def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get(
1161
1175
  self,
1162
- id_structure_cpp: StrictInt,
1176
+ id_structure_cpp: Annotated[StrictInt, Field(description="Chorus Pro structure ID (idStructureCPP)")],
1163
1177
  _request_timeout: Union[
1164
1178
  None,
1165
1179
  Annotated[StrictFloat, Field(gt=0)],
@@ -1172,12 +1186,12 @@ class ChorusProApi:
1172
1186
  _content_type: Optional[StrictStr] = None,
1173
1187
  _headers: Optional[Dict[StrictStr, Any]] = None,
1174
1188
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1175
- ) -> RechercherServicesResponse:
1176
- """Lister les services d'une structure
1189
+ ) -> SearchServicesResponse:
1190
+ """List structure services
1177
1191
 
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)
1192
+ 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
1193
 
1180
- :param id_structure_cpp: (required)
1194
+ :param id_structure_cpp: Chorus Pro structure ID (idStructureCPP) (required)
1181
1195
  :type id_structure_cpp: int
1182
1196
  :param _request_timeout: timeout setting for this request. If one
1183
1197
  number provided, it will be total request
@@ -1210,8 +1224,9 @@ class ChorusProApi:
1210
1224
  )
1211
1225
 
1212
1226
  _response_types_map: Dict[str, Optional[str]] = {
1213
- '200': "RechercherServicesResponse",
1227
+ '200': "SearchServicesResponse",
1214
1228
  '422': "HTTPValidationError",
1229
+ '401': "APIError",
1215
1230
  }
1216
1231
  response_data = self.api_client.call_api(
1217
1232
  *_param,
@@ -1227,7 +1242,7 @@ class ChorusProApi:
1227
1242
  @validate_call
1228
1243
  def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(
1229
1244
  self,
1230
- id_structure_cpp: StrictInt,
1245
+ id_structure_cpp: Annotated[StrictInt, Field(description="Chorus Pro structure ID (idStructureCPP)")],
1231
1246
  _request_timeout: Union[
1232
1247
  None,
1233
1248
  Annotated[StrictFloat, Field(gt=0)],
@@ -1240,12 +1255,12 @@ class ChorusProApi:
1240
1255
  _content_type: Optional[StrictStr] = None,
1241
1256
  _headers: Optional[Dict[StrictStr, Any]] = None,
1242
1257
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1243
- ) -> ApiResponse[RechercherServicesResponse]:
1244
- """Lister les services d'une structure
1258
+ ) -> ApiResponse[SearchServicesResponse]:
1259
+ """List structure services
1245
1260
 
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)
1261
+ 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
1262
 
1248
- :param id_structure_cpp: (required)
1263
+ :param id_structure_cpp: Chorus Pro structure ID (idStructureCPP) (required)
1249
1264
  :type id_structure_cpp: int
1250
1265
  :param _request_timeout: timeout setting for this request. If one
1251
1266
  number provided, it will be total request
@@ -1278,8 +1293,9 @@ class ChorusProApi:
1278
1293
  )
1279
1294
 
1280
1295
  _response_types_map: Dict[str, Optional[str]] = {
1281
- '200': "RechercherServicesResponse",
1296
+ '200': "SearchServicesResponse",
1282
1297
  '422': "HTTPValidationError",
1298
+ '401': "APIError",
1283
1299
  }
1284
1300
  response_data = self.api_client.call_api(
1285
1301
  *_param,
@@ -1295,7 +1311,7 @@ class ChorusProApi:
1295
1311
  @validate_call
1296
1312
  def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_without_preload_content(
1297
1313
  self,
1298
- id_structure_cpp: StrictInt,
1314
+ id_structure_cpp: Annotated[StrictInt, Field(description="Chorus Pro structure ID (idStructureCPP)")],
1299
1315
  _request_timeout: Union[
1300
1316
  None,
1301
1317
  Annotated[StrictFloat, Field(gt=0)],
@@ -1309,11 +1325,11 @@ class ChorusProApi:
1309
1325
  _headers: Optional[Dict[StrictStr, Any]] = None,
1310
1326
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1311
1327
  ) -> RESTResponseType:
1312
- """Lister les services d'une structure
1328
+ """List structure services
1313
1329
 
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)
1330
+ 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
1331
 
1316
- :param id_structure_cpp: (required)
1332
+ :param id_structure_cpp: Chorus Pro structure ID (idStructureCPP) (required)
1317
1333
  :type id_structure_cpp: int
1318
1334
  :param _request_timeout: timeout setting for this request. If one
1319
1335
  number provided, it will be total request
@@ -1346,8 +1362,9 @@ class ChorusProApi:
1346
1362
  )
1347
1363
 
1348
1364
  _response_types_map: Dict[str, Optional[str]] = {
1349
- '200': "RechercherServicesResponse",
1365
+ '200': "SearchServicesResponse",
1350
1366
  '422': "HTTPValidationError",
1367
+ '401': "APIError",
1351
1368
  }
1352
1369
  response_data = self.api_client.call_api(
1353
1370
  *_param,
@@ -1423,7 +1440,7 @@ class ChorusProApi:
1423
1440
  @validate_call
1424
1441
  def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post(
1425
1442
  self,
1426
- obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest,
1443
+ get_chorus_pro_id_request: GetChorusProIdRequest,
1427
1444
  _request_timeout: Union[
1428
1445
  None,
1429
1446
  Annotated[StrictFloat, Field(gt=0)],
@@ -1436,13 +1453,13 @@ class ChorusProApi:
1436
1453
  _content_type: Optional[StrictStr] = None,
1437
1454
  _headers: Optional[Dict[StrictStr, Any]] = None,
1438
1455
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1439
- ) -> ObtenirIdChorusProResponse:
1440
- """Utilitaire : Obtenir l'ID Chorus Pro depuis un SIRET
1456
+ ) -> GetChorusProIdResponse:
1457
+ """Utility: Get Chorus Pro ID from SIRET
1441
1458
 
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.
1459
+ **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
1460
 
1444
- :param obtenir_id_chorus_pro_request: (required)
1445
- :type obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest
1461
+ :param get_chorus_pro_id_request: (required)
1462
+ :type get_chorus_pro_id_request: GetChorusProIdRequest
1446
1463
  :param _request_timeout: timeout setting for this request. If one
1447
1464
  number provided, it will be total request
1448
1465
  timeout. It can also be a pair (tuple) of
@@ -1466,7 +1483,7 @@ class ChorusProApi:
1466
1483
  """ # noqa: E501
1467
1484
 
1468
1485
  _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,
1486
+ get_chorus_pro_id_request=get_chorus_pro_id_request,
1470
1487
  _request_auth=_request_auth,
1471
1488
  _content_type=_content_type,
1472
1489
  _headers=_headers,
@@ -1474,8 +1491,9 @@ class ChorusProApi:
1474
1491
  )
1475
1492
 
1476
1493
  _response_types_map: Dict[str, Optional[str]] = {
1477
- '200': "ObtenirIdChorusProResponse",
1494
+ '200': "GetChorusProIdResponse",
1478
1495
  '422': "HTTPValidationError",
1496
+ '401': "APIError",
1479
1497
  }
1480
1498
  response_data = self.api_client.call_api(
1481
1499
  *_param,
@@ -1491,7 +1509,7 @@ class ChorusProApi:
1491
1509
  @validate_call
1492
1510
  def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_with_http_info(
1493
1511
  self,
1494
- obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest,
1512
+ get_chorus_pro_id_request: GetChorusProIdRequest,
1495
1513
  _request_timeout: Union[
1496
1514
  None,
1497
1515
  Annotated[StrictFloat, Field(gt=0)],
@@ -1504,13 +1522,13 @@ class ChorusProApi:
1504
1522
  _content_type: Optional[StrictStr] = None,
1505
1523
  _headers: Optional[Dict[StrictStr, Any]] = None,
1506
1524
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1507
- ) -> ApiResponse[ObtenirIdChorusProResponse]:
1508
- """Utilitaire : Obtenir l'ID Chorus Pro depuis un SIRET
1525
+ ) -> ApiResponse[GetChorusProIdResponse]:
1526
+ """Utility: Get Chorus Pro ID from SIRET
1509
1527
 
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.
1528
+ **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
1529
 
1512
- :param obtenir_id_chorus_pro_request: (required)
1513
- :type obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest
1530
+ :param get_chorus_pro_id_request: (required)
1531
+ :type get_chorus_pro_id_request: GetChorusProIdRequest
1514
1532
  :param _request_timeout: timeout setting for this request. If one
1515
1533
  number provided, it will be total request
1516
1534
  timeout. It can also be a pair (tuple) of
@@ -1534,7 +1552,7 @@ class ChorusProApi:
1534
1552
  """ # noqa: E501
1535
1553
 
1536
1554
  _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,
1555
+ get_chorus_pro_id_request=get_chorus_pro_id_request,
1538
1556
  _request_auth=_request_auth,
1539
1557
  _content_type=_content_type,
1540
1558
  _headers=_headers,
@@ -1542,8 +1560,9 @@ class ChorusProApi:
1542
1560
  )
1543
1561
 
1544
1562
  _response_types_map: Dict[str, Optional[str]] = {
1545
- '200': "ObtenirIdChorusProResponse",
1563
+ '200': "GetChorusProIdResponse",
1546
1564
  '422': "HTTPValidationError",
1565
+ '401': "APIError",
1547
1566
  }
1548
1567
  response_data = self.api_client.call_api(
1549
1568
  *_param,
@@ -1559,7 +1578,7 @@ class ChorusProApi:
1559
1578
  @validate_call
1560
1579
  def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_without_preload_content(
1561
1580
  self,
1562
- obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest,
1581
+ get_chorus_pro_id_request: GetChorusProIdRequest,
1563
1582
  _request_timeout: Union[
1564
1583
  None,
1565
1584
  Annotated[StrictFloat, Field(gt=0)],
@@ -1573,12 +1592,12 @@ class ChorusProApi:
1573
1592
  _headers: Optional[Dict[StrictStr, Any]] = None,
1574
1593
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1575
1594
  ) -> RESTResponseType:
1576
- """Utilitaire : Obtenir l'ID Chorus Pro depuis un SIRET
1595
+ """Utility: Get Chorus Pro ID from SIRET
1577
1596
 
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.
1597
+ **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
1598
 
1580
- :param obtenir_id_chorus_pro_request: (required)
1581
- :type obtenir_id_chorus_pro_request: ObtenirIdChorusProRequest
1599
+ :param get_chorus_pro_id_request: (required)
1600
+ :type get_chorus_pro_id_request: GetChorusProIdRequest
1582
1601
  :param _request_timeout: timeout setting for this request. If one
1583
1602
  number provided, it will be total request
1584
1603
  timeout. It can also be a pair (tuple) of
@@ -1602,7 +1621,7 @@ class ChorusProApi:
1602
1621
  """ # noqa: E501
1603
1622
 
1604
1623
  _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,
1624
+ get_chorus_pro_id_request=get_chorus_pro_id_request,
1606
1625
  _request_auth=_request_auth,
1607
1626
  _content_type=_content_type,
1608
1627
  _headers=_headers,
@@ -1610,8 +1629,9 @@ class ChorusProApi:
1610
1629
  )
1611
1630
 
1612
1631
  _response_types_map: Dict[str, Optional[str]] = {
1613
- '200': "ObtenirIdChorusProResponse",
1632
+ '200': "GetChorusProIdResponse",
1614
1633
  '422': "HTTPValidationError",
1634
+ '401': "APIError",
1615
1635
  }
1616
1636
  response_data = self.api_client.call_api(
1617
1637
  *_param,
@@ -1622,7 +1642,7 @@ class ChorusProApi:
1622
1642
 
1623
1643
  def _obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
1624
1644
  self,
1625
- obtenir_id_chorus_pro_request,
1645
+ get_chorus_pro_id_request,
1626
1646
  _request_auth,
1627
1647
  _content_type,
1628
1648
  _headers,
@@ -1648,8 +1668,8 @@ class ChorusProApi:
1648
1668
  # process the header parameters
1649
1669
  # process the form parameters
1650
1670
  # process the body parameter
1651
- if obtenir_id_chorus_pro_request is not None:
1652
- _body_params = obtenir_id_chorus_pro_request
1671
+ if get_chorus_pro_id_request is not None:
1672
+ _body_params = get_chorus_pro_id_request
1653
1673
 
1654
1674
 
1655
1675
  # set the HTTP header `Accept`
@@ -1714,9 +1734,9 @@ class ChorusProApi:
1714
1734
  _headers: Optional[Dict[StrictStr, Any]] = None,
1715
1735
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1716
1736
  ) -> object:
1717
- """Rechercher factures reçues (Destinataire)
1737
+ """Search received invoices (Recipient)
1718
1738
 
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.
1739
+ 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
1740
 
1721
1741
  :param request_body: (required)
1722
1742
  :type request_body: Dict[str, object]
@@ -1753,6 +1773,7 @@ class ChorusProApi:
1753
1773
  _response_types_map: Dict[str, Optional[str]] = {
1754
1774
  '200': "object",
1755
1775
  '422': "HTTPValidationError",
1776
+ '401': "APIError",
1756
1777
  }
1757
1778
  response_data = self.api_client.call_api(
1758
1779
  *_param,
@@ -1782,9 +1803,9 @@ class ChorusProApi:
1782
1803
  _headers: Optional[Dict[StrictStr, Any]] = None,
1783
1804
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1784
1805
  ) -> ApiResponse[object]:
1785
- """Rechercher factures reçues (Destinataire)
1806
+ """Search received invoices (Recipient)
1786
1807
 
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.
1808
+ 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
1809
 
1789
1810
  :param request_body: (required)
1790
1811
  :type request_body: Dict[str, object]
@@ -1821,6 +1842,7 @@ class ChorusProApi:
1821
1842
  _response_types_map: Dict[str, Optional[str]] = {
1822
1843
  '200': "object",
1823
1844
  '422': "HTTPValidationError",
1845
+ '401': "APIError",
1824
1846
  }
1825
1847
  response_data = self.api_client.call_api(
1826
1848
  *_param,
@@ -1850,9 +1872,9 @@ class ChorusProApi:
1850
1872
  _headers: Optional[Dict[StrictStr, Any]] = None,
1851
1873
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1852
1874
  ) -> RESTResponseType:
1853
- """Rechercher factures reçues (Destinataire)
1875
+ """Search received invoices (Recipient)
1854
1876
 
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.
1877
+ 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
1878
 
1857
1879
  :param request_body: (required)
1858
1880
  :type request_body: Dict[str, object]
@@ -1889,6 +1911,7 @@ class ChorusProApi:
1889
1911
  _response_types_map: Dict[str, Optional[str]] = {
1890
1912
  '200': "object",
1891
1913
  '422': "HTTPValidationError",
1914
+ '401': "APIError",
1892
1915
  }
1893
1916
  response_data = self.api_client.call_api(
1894
1917
  *_param,
@@ -1991,9 +2014,9 @@ class ChorusProApi:
1991
2014
  _headers: Optional[Dict[StrictStr, Any]] = None,
1992
2015
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1993
2016
  ) -> object:
1994
- """Rechercher factures émises (Fournisseur)
2017
+ """Search issued invoices (Supplier)
1995
2018
 
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é
2019
+ 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
2020
 
1998
2021
  :param request_body: (required)
1999
2022
  :type request_body: Dict[str, object]
@@ -2030,6 +2053,7 @@ class ChorusProApi:
2030
2053
  _response_types_map: Dict[str, Optional[str]] = {
2031
2054
  '200': "object",
2032
2055
  '422': "HTTPValidationError",
2056
+ '401': "APIError",
2033
2057
  }
2034
2058
  response_data = self.api_client.call_api(
2035
2059
  *_param,
@@ -2059,9 +2083,9 @@ class ChorusProApi:
2059
2083
  _headers: Optional[Dict[StrictStr, Any]] = None,
2060
2084
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2061
2085
  ) -> ApiResponse[object]:
2062
- """Rechercher factures émises (Fournisseur)
2086
+ """Search issued invoices (Supplier)
2063
2087
 
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é
2088
+ 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
2089
 
2066
2090
  :param request_body: (required)
2067
2091
  :type request_body: Dict[str, object]
@@ -2098,6 +2122,7 @@ class ChorusProApi:
2098
2122
  _response_types_map: Dict[str, Optional[str]] = {
2099
2123
  '200': "object",
2100
2124
  '422': "HTTPValidationError",
2125
+ '401': "APIError",
2101
2126
  }
2102
2127
  response_data = self.api_client.call_api(
2103
2128
  *_param,
@@ -2127,9 +2152,9 @@ class ChorusProApi:
2127
2152
  _headers: Optional[Dict[StrictStr, Any]] = None,
2128
2153
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2129
2154
  ) -> RESTResponseType:
2130
- """Rechercher factures émises (Fournisseur)
2155
+ """Search issued invoices (Supplier)
2131
2156
 
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é
2157
+ 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
2158
 
2134
2159
  :param request_body: (required)
2135
2160
  :type request_body: Dict[str, object]
@@ -2166,6 +2191,7 @@ class ChorusProApi:
2166
2191
  _response_types_map: Dict[str, Optional[str]] = {
2167
2192
  '200': "object",
2168
2193
  '422': "HTTPValidationError",
2194
+ '401': "APIError",
2169
2195
  }
2170
2196
  response_data = self.api_client.call_api(
2171
2197
  *_param,
@@ -2254,7 +2280,7 @@ class ChorusProApi:
2254
2280
  @validate_call
2255
2281
  def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post(
2256
2282
  self,
2257
- rechercher_structure_request: RechercherStructureRequest,
2283
+ search_structure_request: SearchStructureRequest,
2258
2284
  _request_timeout: Union[
2259
2285
  None,
2260
2286
  Annotated[StrictFloat, Field(gt=0)],
@@ -2267,13 +2293,13 @@ class ChorusProApi:
2267
2293
  _content_type: Optional[StrictStr] = None,
2268
2294
  _headers: Optional[Dict[StrictStr, Any]] = None,
2269
2295
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2270
- ) -> RechercherStructureResponse:
2271
- """Rechercher des structures Chorus Pro
2296
+ ) -> SearchStructureResponse:
2297
+ """Search Chorus Pro structures
2272
2298
 
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.
2299
+ 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
2300
 
2275
- :param rechercher_structure_request: (required)
2276
- :type rechercher_structure_request: RechercherStructureRequest
2301
+ :param search_structure_request: (required)
2302
+ :type search_structure_request: SearchStructureRequest
2277
2303
  :param _request_timeout: timeout setting for this request. If one
2278
2304
  number provided, it will be total request
2279
2305
  timeout. It can also be a pair (tuple) of
@@ -2297,7 +2323,7 @@ class ChorusProApi:
2297
2323
  """ # noqa: E501
2298
2324
 
2299
2325
  _param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
2300
- rechercher_structure_request=rechercher_structure_request,
2326
+ search_structure_request=search_structure_request,
2301
2327
  _request_auth=_request_auth,
2302
2328
  _content_type=_content_type,
2303
2329
  _headers=_headers,
@@ -2305,8 +2331,9 @@ class ChorusProApi:
2305
2331
  )
2306
2332
 
2307
2333
  _response_types_map: Dict[str, Optional[str]] = {
2308
- '200': "RechercherStructureResponse",
2334
+ '200': "SearchStructureResponse",
2309
2335
  '422': "HTTPValidationError",
2336
+ '401': "APIError",
2310
2337
  }
2311
2338
  response_data = self.api_client.call_api(
2312
2339
  *_param,
@@ -2322,7 +2349,7 @@ class ChorusProApi:
2322
2349
  @validate_call
2323
2350
  def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_with_http_info(
2324
2351
  self,
2325
- rechercher_structure_request: RechercherStructureRequest,
2352
+ search_structure_request: SearchStructureRequest,
2326
2353
  _request_timeout: Union[
2327
2354
  None,
2328
2355
  Annotated[StrictFloat, Field(gt=0)],
@@ -2335,13 +2362,13 @@ class ChorusProApi:
2335
2362
  _content_type: Optional[StrictStr] = None,
2336
2363
  _headers: Optional[Dict[StrictStr, Any]] = None,
2337
2364
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2338
- ) -> ApiResponse[RechercherStructureResponse]:
2339
- """Rechercher des structures Chorus Pro
2365
+ ) -> ApiResponse[SearchStructureResponse]:
2366
+ """Search Chorus Pro structures
2340
2367
 
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.
2368
+ 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
2369
 
2343
- :param rechercher_structure_request: (required)
2344
- :type rechercher_structure_request: RechercherStructureRequest
2370
+ :param search_structure_request: (required)
2371
+ :type search_structure_request: SearchStructureRequest
2345
2372
  :param _request_timeout: timeout setting for this request. If one
2346
2373
  number provided, it will be total request
2347
2374
  timeout. It can also be a pair (tuple) of
@@ -2365,7 +2392,7 @@ class ChorusProApi:
2365
2392
  """ # noqa: E501
2366
2393
 
2367
2394
  _param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
2368
- rechercher_structure_request=rechercher_structure_request,
2395
+ search_structure_request=search_structure_request,
2369
2396
  _request_auth=_request_auth,
2370
2397
  _content_type=_content_type,
2371
2398
  _headers=_headers,
@@ -2373,8 +2400,9 @@ class ChorusProApi:
2373
2400
  )
2374
2401
 
2375
2402
  _response_types_map: Dict[str, Optional[str]] = {
2376
- '200': "RechercherStructureResponse",
2403
+ '200': "SearchStructureResponse",
2377
2404
  '422': "HTTPValidationError",
2405
+ '401': "APIError",
2378
2406
  }
2379
2407
  response_data = self.api_client.call_api(
2380
2408
  *_param,
@@ -2390,7 +2418,7 @@ class ChorusProApi:
2390
2418
  @validate_call
2391
2419
  def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_without_preload_content(
2392
2420
  self,
2393
- rechercher_structure_request: RechercherStructureRequest,
2421
+ search_structure_request: SearchStructureRequest,
2394
2422
  _request_timeout: Union[
2395
2423
  None,
2396
2424
  Annotated[StrictFloat, Field(gt=0)],
@@ -2404,12 +2432,12 @@ class ChorusProApi:
2404
2432
  _headers: Optional[Dict[StrictStr, Any]] = None,
2405
2433
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2406
2434
  ) -> RESTResponseType:
2407
- """Rechercher des structures Chorus Pro
2435
+ """Search Chorus Pro structures
2408
2436
 
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.
2437
+ 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
2438
 
2411
- :param rechercher_structure_request: (required)
2412
- :type rechercher_structure_request: RechercherStructureRequest
2439
+ :param search_structure_request: (required)
2440
+ :type search_structure_request: SearchStructureRequest
2413
2441
  :param _request_timeout: timeout setting for this request. If one
2414
2442
  number provided, it will be total request
2415
2443
  timeout. It can also be a pair (tuple) of
@@ -2433,7 +2461,7 @@ class ChorusProApi:
2433
2461
  """ # noqa: E501
2434
2462
 
2435
2463
  _param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
2436
- rechercher_structure_request=rechercher_structure_request,
2464
+ search_structure_request=search_structure_request,
2437
2465
  _request_auth=_request_auth,
2438
2466
  _content_type=_content_type,
2439
2467
  _headers=_headers,
@@ -2441,8 +2469,9 @@ class ChorusProApi:
2441
2469
  )
2442
2470
 
2443
2471
  _response_types_map: Dict[str, Optional[str]] = {
2444
- '200': "RechercherStructureResponse",
2472
+ '200': "SearchStructureResponse",
2445
2473
  '422': "HTTPValidationError",
2474
+ '401': "APIError",
2446
2475
  }
2447
2476
  response_data = self.api_client.call_api(
2448
2477
  *_param,
@@ -2453,7 +2482,7 @@ class ChorusProApi:
2453
2482
 
2454
2483
  def _rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
2455
2484
  self,
2456
- rechercher_structure_request,
2485
+ search_structure_request,
2457
2486
  _request_auth,
2458
2487
  _content_type,
2459
2488
  _headers,
@@ -2479,8 +2508,8 @@ class ChorusProApi:
2479
2508
  # process the header parameters
2480
2509
  # process the form parameters
2481
2510
  # process the body parameter
2482
- if rechercher_structure_request is not None:
2483
- _body_params = rechercher_structure_request
2511
+ if search_structure_request is not None:
2512
+ _body_params = search_structure_request
2484
2513
 
2485
2514
 
2486
2515
  # set the HTTP header `Accept`
@@ -2545,9 +2574,9 @@ class ChorusProApi:
2545
2574
  _headers: Optional[Dict[StrictStr, Any]] = None,
2546
2575
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2547
2576
  ) -> object:
2548
- """Recycler une facture (Fournisseur)
2577
+ """Recycle an invoice (Supplier)
2549
2578
 
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.
2579
+ 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
2580
 
2552
2581
  :param request_body: (required)
2553
2582
  :type request_body: Dict[str, object]
@@ -2584,6 +2613,7 @@ class ChorusProApi:
2584
2613
  _response_types_map: Dict[str, Optional[str]] = {
2585
2614
  '200': "object",
2586
2615
  '422': "HTTPValidationError",
2616
+ '401': "APIError",
2587
2617
  }
2588
2618
  response_data = self.api_client.call_api(
2589
2619
  *_param,
@@ -2613,9 +2643,9 @@ class ChorusProApi:
2613
2643
  _headers: Optional[Dict[StrictStr, Any]] = None,
2614
2644
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2615
2645
  ) -> ApiResponse[object]:
2616
- """Recycler une facture (Fournisseur)
2646
+ """Recycle an invoice (Supplier)
2617
2647
 
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.
2648
+ 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
2649
 
2620
2650
  :param request_body: (required)
2621
2651
  :type request_body: Dict[str, object]
@@ -2652,6 +2682,7 @@ class ChorusProApi:
2652
2682
  _response_types_map: Dict[str, Optional[str]] = {
2653
2683
  '200': "object",
2654
2684
  '422': "HTTPValidationError",
2685
+ '401': "APIError",
2655
2686
  }
2656
2687
  response_data = self.api_client.call_api(
2657
2688
  *_param,
@@ -2681,9 +2712,9 @@ class ChorusProApi:
2681
2712
  _headers: Optional[Dict[StrictStr, Any]] = None,
2682
2713
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2683
2714
  ) -> RESTResponseType:
2684
- """Recycler une facture (Fournisseur)
2715
+ """Recycle an invoice (Supplier)
2685
2716
 
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.
2717
+ 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
2718
 
2688
2719
  :param request_body: (required)
2689
2720
  :type request_body: Dict[str, object]
@@ -2720,6 +2751,7 @@ class ChorusProApi:
2720
2751
  _response_types_map: Dict[str, Optional[str]] = {
2721
2752
  '200': "object",
2722
2753
  '422': "HTTPValidationError",
2754
+ '401': "APIError",
2723
2755
  }
2724
2756
  response_data = self.api_client.call_api(
2725
2757
  *_param,
@@ -2808,7 +2840,7 @@ class ChorusProApi:
2808
2840
  @validate_call
2809
2841
  def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post(
2810
2842
  self,
2811
- soumettre_facture_request: SoumettreFactureRequest,
2843
+ submit_invoice_request: SubmitInvoiceRequest,
2812
2844
  _request_timeout: Union[
2813
2845
  None,
2814
2846
  Annotated[StrictFloat, Field(gt=0)],
@@ -2821,13 +2853,13 @@ class ChorusProApi:
2821
2853
  _content_type: Optional[StrictStr] = None,
2822
2854
  _headers: Optional[Dict[StrictStr, Any]] = None,
2823
2855
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2824
- ) -> SoumettreFactureResponse:
2825
- """Soumettre une facture à Chorus Pro
2856
+ ) -> SubmitInvoiceResponse:
2857
+ """Submit an invoice to Chorus Pro
2826
2858
 
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.
2859
+ 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
2860
 
2829
- :param soumettre_facture_request: (required)
2830
- :type soumettre_facture_request: SoumettreFactureRequest
2861
+ :param submit_invoice_request: (required)
2862
+ :type submit_invoice_request: SubmitInvoiceRequest
2831
2863
  :param _request_timeout: timeout setting for this request. If one
2832
2864
  number provided, it will be total request
2833
2865
  timeout. It can also be a pair (tuple) of
@@ -2851,7 +2883,7 @@ class ChorusProApi:
2851
2883
  """ # noqa: E501
2852
2884
 
2853
2885
  _param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
2854
- soumettre_facture_request=soumettre_facture_request,
2886
+ submit_invoice_request=submit_invoice_request,
2855
2887
  _request_auth=_request_auth,
2856
2888
  _content_type=_content_type,
2857
2889
  _headers=_headers,
@@ -2859,8 +2891,9 @@ class ChorusProApi:
2859
2891
  )
2860
2892
 
2861
2893
  _response_types_map: Dict[str, Optional[str]] = {
2862
- '200': "SoumettreFactureResponse",
2894
+ '200': "SubmitInvoiceResponse",
2863
2895
  '422': "HTTPValidationError",
2896
+ '401': "APIError",
2864
2897
  }
2865
2898
  response_data = self.api_client.call_api(
2866
2899
  *_param,
@@ -2876,7 +2909,7 @@ class ChorusProApi:
2876
2909
  @validate_call
2877
2910
  def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_with_http_info(
2878
2911
  self,
2879
- soumettre_facture_request: SoumettreFactureRequest,
2912
+ submit_invoice_request: SubmitInvoiceRequest,
2880
2913
  _request_timeout: Union[
2881
2914
  None,
2882
2915
  Annotated[StrictFloat, Field(gt=0)],
@@ -2889,13 +2922,13 @@ class ChorusProApi:
2889
2922
  _content_type: Optional[StrictStr] = None,
2890
2923
  _headers: Optional[Dict[StrictStr, Any]] = None,
2891
2924
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2892
- ) -> ApiResponse[SoumettreFactureResponse]:
2893
- """Soumettre une facture à Chorus Pro
2925
+ ) -> ApiResponse[SubmitInvoiceResponse]:
2926
+ """Submit an invoice to Chorus Pro
2894
2927
 
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.
2928
+ 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
2929
 
2897
- :param soumettre_facture_request: (required)
2898
- :type soumettre_facture_request: SoumettreFactureRequest
2930
+ :param submit_invoice_request: (required)
2931
+ :type submit_invoice_request: SubmitInvoiceRequest
2899
2932
  :param _request_timeout: timeout setting for this request. If one
2900
2933
  number provided, it will be total request
2901
2934
  timeout. It can also be a pair (tuple) of
@@ -2919,7 +2952,7 @@ class ChorusProApi:
2919
2952
  """ # noqa: E501
2920
2953
 
2921
2954
  _param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
2922
- soumettre_facture_request=soumettre_facture_request,
2955
+ submit_invoice_request=submit_invoice_request,
2923
2956
  _request_auth=_request_auth,
2924
2957
  _content_type=_content_type,
2925
2958
  _headers=_headers,
@@ -2927,8 +2960,9 @@ class ChorusProApi:
2927
2960
  )
2928
2961
 
2929
2962
  _response_types_map: Dict[str, Optional[str]] = {
2930
- '200': "SoumettreFactureResponse",
2963
+ '200': "SubmitInvoiceResponse",
2931
2964
  '422': "HTTPValidationError",
2965
+ '401': "APIError",
2932
2966
  }
2933
2967
  response_data = self.api_client.call_api(
2934
2968
  *_param,
@@ -2944,7 +2978,7 @@ class ChorusProApi:
2944
2978
  @validate_call
2945
2979
  def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_without_preload_content(
2946
2980
  self,
2947
- soumettre_facture_request: SoumettreFactureRequest,
2981
+ submit_invoice_request: SubmitInvoiceRequest,
2948
2982
  _request_timeout: Union[
2949
2983
  None,
2950
2984
  Annotated[StrictFloat, Field(gt=0)],
@@ -2958,12 +2992,12 @@ class ChorusProApi:
2958
2992
  _headers: Optional[Dict[StrictStr, Any]] = None,
2959
2993
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2960
2994
  ) -> RESTResponseType:
2961
- """Soumettre une facture à Chorus Pro
2995
+ """Submit an invoice to Chorus Pro
2962
2996
 
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.
2997
+ 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
2998
 
2965
- :param soumettre_facture_request: (required)
2966
- :type soumettre_facture_request: SoumettreFactureRequest
2999
+ :param submit_invoice_request: (required)
3000
+ :type submit_invoice_request: SubmitInvoiceRequest
2967
3001
  :param _request_timeout: timeout setting for this request. If one
2968
3002
  number provided, it will be total request
2969
3003
  timeout. It can also be a pair (tuple) of
@@ -2987,7 +3021,7 @@ class ChorusProApi:
2987
3021
  """ # noqa: E501
2988
3022
 
2989
3023
  _param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
2990
- soumettre_facture_request=soumettre_facture_request,
3024
+ submit_invoice_request=submit_invoice_request,
2991
3025
  _request_auth=_request_auth,
2992
3026
  _content_type=_content_type,
2993
3027
  _headers=_headers,
@@ -2995,8 +3029,9 @@ class ChorusProApi:
2995
3029
  )
2996
3030
 
2997
3031
  _response_types_map: Dict[str, Optional[str]] = {
2998
- '200': "SoumettreFactureResponse",
3032
+ '200': "SubmitInvoiceResponse",
2999
3033
  '422': "HTTPValidationError",
3034
+ '401': "APIError",
3000
3035
  }
3001
3036
  response_data = self.api_client.call_api(
3002
3037
  *_param,
@@ -3007,7 +3042,7 @@ class ChorusProApi:
3007
3042
 
3008
3043
  def _soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
3009
3044
  self,
3010
- soumettre_facture_request,
3045
+ submit_invoice_request,
3011
3046
  _request_auth,
3012
3047
  _content_type,
3013
3048
  _headers,
@@ -3033,8 +3068,8 @@ class ChorusProApi:
3033
3068
  # process the header parameters
3034
3069
  # process the form parameters
3035
3070
  # process the body parameter
3036
- if soumettre_facture_request is not None:
3037
- _body_params = soumettre_facture_request
3071
+ if submit_invoice_request is not None:
3072
+ _body_params = submit_invoice_request
3038
3073
 
3039
3074
 
3040
3075
  # set the HTTP header `Accept`
@@ -3099,9 +3134,9 @@ class ChorusProApi:
3099
3134
  _headers: Optional[Dict[StrictStr, Any]] = None,
3100
3135
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3101
3136
  ) -> object:
3102
- """Télécharger un groupe de factures
3137
+ """Download a group of invoices
3103
3138
 
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.
3139
+ 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
3140
 
3106
3141
  :param request_body: (required)
3107
3142
  :type request_body: Dict[str, object]
@@ -3138,6 +3173,7 @@ class ChorusProApi:
3138
3173
  _response_types_map: Dict[str, Optional[str]] = {
3139
3174
  '200': "object",
3140
3175
  '422': "HTTPValidationError",
3176
+ '401': "APIError",
3141
3177
  }
3142
3178
  response_data = self.api_client.call_api(
3143
3179
  *_param,
@@ -3167,9 +3203,9 @@ class ChorusProApi:
3167
3203
  _headers: Optional[Dict[StrictStr, Any]] = None,
3168
3204
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3169
3205
  ) -> ApiResponse[object]:
3170
- """Télécharger un groupe de factures
3206
+ """Download a group of invoices
3171
3207
 
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.
3208
+ 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
3209
 
3174
3210
  :param request_body: (required)
3175
3211
  :type request_body: Dict[str, object]
@@ -3206,6 +3242,7 @@ class ChorusProApi:
3206
3242
  _response_types_map: Dict[str, Optional[str]] = {
3207
3243
  '200': "object",
3208
3244
  '422': "HTTPValidationError",
3245
+ '401': "APIError",
3209
3246
  }
3210
3247
  response_data = self.api_client.call_api(
3211
3248
  *_param,
@@ -3235,9 +3272,9 @@ class ChorusProApi:
3235
3272
  _headers: Optional[Dict[StrictStr, Any]] = None,
3236
3273
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3237
3274
  ) -> RESTResponseType:
3238
- """Télécharger un groupe de factures
3275
+ """Download a group of invoices
3239
3276
 
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.
3277
+ 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
3278
 
3242
3279
  :param request_body: (required)
3243
3280
  :type request_body: Dict[str, object]
@@ -3274,6 +3311,7 @@ class ChorusProApi:
3274
3311
  _response_types_map: Dict[str, Optional[str]] = {
3275
3312
  '200': "object",
3276
3313
  '422': "HTTPValidationError",
3314
+ '401': "APIError",
3277
3315
  }
3278
3316
  response_data = self.api_client.call_api(
3279
3317
  *_param,
@@ -3376,9 +3414,9 @@ class ChorusProApi:
3376
3414
  _headers: Optional[Dict[StrictStr, Any]] = None,
3377
3415
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3378
3416
  ) -> object:
3379
- """Traiter une facture reçue (Destinataire)
3417
+ """Process a received invoice (Recipient)
3380
3418
 
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
3419
+ 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
3420
 
3383
3421
  :param request_body: (required)
3384
3422
  :type request_body: Dict[str, object]
@@ -3415,6 +3453,7 @@ class ChorusProApi:
3415
3453
  _response_types_map: Dict[str, Optional[str]] = {
3416
3454
  '200': "object",
3417
3455
  '422': "HTTPValidationError",
3456
+ '401': "APIError",
3418
3457
  }
3419
3458
  response_data = self.api_client.call_api(
3420
3459
  *_param,
@@ -3444,9 +3483,9 @@ class ChorusProApi:
3444
3483
  _headers: Optional[Dict[StrictStr, Any]] = None,
3445
3484
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3446
3485
  ) -> ApiResponse[object]:
3447
- """Traiter une facture reçue (Destinataire)
3486
+ """Process a received invoice (Recipient)
3448
3487
 
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
3488
+ 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
3489
 
3451
3490
  :param request_body: (required)
3452
3491
  :type request_body: Dict[str, object]
@@ -3483,6 +3522,7 @@ class ChorusProApi:
3483
3522
  _response_types_map: Dict[str, Optional[str]] = {
3484
3523
  '200': "object",
3485
3524
  '422': "HTTPValidationError",
3525
+ '401': "APIError",
3486
3526
  }
3487
3527
  response_data = self.api_client.call_api(
3488
3528
  *_param,
@@ -3512,9 +3552,9 @@ class ChorusProApi:
3512
3552
  _headers: Optional[Dict[StrictStr, Any]] = None,
3513
3553
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3514
3554
  ) -> RESTResponseType:
3515
- """Traiter une facture reçue (Destinataire)
3555
+ """Process a received invoice (Recipient)
3516
3556
 
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
3557
+ 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
3558
 
3519
3559
  :param request_body: (required)
3520
3560
  :type request_body: Dict[str, object]
@@ -3551,6 +3591,7 @@ class ChorusProApi:
3551
3591
  _response_types_map: Dict[str, Optional[str]] = {
3552
3592
  '200': "object",
3553
3593
  '422': "HTTPValidationError",
3594
+ '401': "APIError",
3554
3595
  }
3555
3596
  response_data = self.api_client.call_api(
3556
3597
  *_param,
@@ -3653,8 +3694,9 @@ class ChorusProApi:
3653
3694
  _headers: Optional[Dict[StrictStr, Any]] = None,
3654
3695
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3655
3696
  ) -> object:
3656
- """Consulter une facture (Valideur)
3697
+ """Consult an invoice (Validator)
3657
3698
 
3699
+ Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
3658
3700
 
3659
3701
  :param request_body: (required)
3660
3702
  :type request_body: Dict[str, object]
@@ -3691,6 +3733,7 @@ class ChorusProApi:
3691
3733
  _response_types_map: Dict[str, Optional[str]] = {
3692
3734
  '200': "object",
3693
3735
  '422': "HTTPValidationError",
3736
+ '401': "APIError",
3694
3737
  }
3695
3738
  response_data = self.api_client.call_api(
3696
3739
  *_param,
@@ -3720,8 +3763,9 @@ class ChorusProApi:
3720
3763
  _headers: Optional[Dict[StrictStr, Any]] = None,
3721
3764
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3722
3765
  ) -> ApiResponse[object]:
3723
- """Consulter une facture (Valideur)
3766
+ """Consult an invoice (Validator)
3724
3767
 
3768
+ Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
3725
3769
 
3726
3770
  :param request_body: (required)
3727
3771
  :type request_body: Dict[str, object]
@@ -3758,6 +3802,7 @@ class ChorusProApi:
3758
3802
  _response_types_map: Dict[str, Optional[str]] = {
3759
3803
  '200': "object",
3760
3804
  '422': "HTTPValidationError",
3805
+ '401': "APIError",
3761
3806
  }
3762
3807
  response_data = self.api_client.call_api(
3763
3808
  *_param,
@@ -3787,8 +3832,9 @@ class ChorusProApi:
3787
3832
  _headers: Optional[Dict[StrictStr, Any]] = None,
3788
3833
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3789
3834
  ) -> RESTResponseType:
3790
- """Consulter une facture (Valideur)
3835
+ """Consult an invoice (Validator)
3791
3836
 
3837
+ Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
3792
3838
 
3793
3839
  :param request_body: (required)
3794
3840
  :type request_body: Dict[str, object]
@@ -3825,6 +3871,7 @@ class ChorusProApi:
3825
3871
  _response_types_map: Dict[str, Optional[str]] = {
3826
3872
  '200': "object",
3827
3873
  '422': "HTTPValidationError",
3874
+ '401': "APIError",
3828
3875
  }
3829
3876
  response_data = self.api_client.call_api(
3830
3877
  *_param,
@@ -3927,9 +3974,9 @@ class ChorusProApi:
3927
3974
  _headers: Optional[Dict[StrictStr, Any]] = None,
3928
3975
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3929
3976
  ) -> object:
3930
- """Rechercher factures à valider (Valideur)
3977
+ """Search invoices to validate (Validator)
3931
3978
 
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.
3979
+ Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
3933
3980
 
3934
3981
  :param request_body: (required)
3935
3982
  :type request_body: Dict[str, object]
@@ -3966,6 +4013,7 @@ class ChorusProApi:
3966
4013
  _response_types_map: Dict[str, Optional[str]] = {
3967
4014
  '200': "object",
3968
4015
  '422': "HTTPValidationError",
4016
+ '401': "APIError",
3969
4017
  }
3970
4018
  response_data = self.api_client.call_api(
3971
4019
  *_param,
@@ -3995,9 +4043,9 @@ class ChorusProApi:
3995
4043
  _headers: Optional[Dict[StrictStr, Any]] = None,
3996
4044
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3997
4045
  ) -> ApiResponse[object]:
3998
- """Rechercher factures à valider (Valideur)
4046
+ """Search invoices to validate (Validator)
3999
4047
 
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.
4048
+ Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
4001
4049
 
4002
4050
  :param request_body: (required)
4003
4051
  :type request_body: Dict[str, object]
@@ -4034,6 +4082,7 @@ class ChorusProApi:
4034
4082
  _response_types_map: Dict[str, Optional[str]] = {
4035
4083
  '200': "object",
4036
4084
  '422': "HTTPValidationError",
4085
+ '401': "APIError",
4037
4086
  }
4038
4087
  response_data = self.api_client.call_api(
4039
4088
  *_param,
@@ -4063,9 +4112,9 @@ class ChorusProApi:
4063
4112
  _headers: Optional[Dict[StrictStr, Any]] = None,
4064
4113
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4065
4114
  ) -> RESTResponseType:
4066
- """Rechercher factures à valider (Valideur)
4115
+ """Search invoices to validate (Validator)
4067
4116
 
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.
4117
+ Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
4069
4118
 
4070
4119
  :param request_body: (required)
4071
4120
  :type request_body: Dict[str, object]
@@ -4102,6 +4151,7 @@ class ChorusProApi:
4102
4151
  _response_types_map: Dict[str, Optional[str]] = {
4103
4152
  '200': "object",
4104
4153
  '422': "HTTPValidationError",
4154
+ '401': "APIError",
4105
4155
  }
4106
4156
  response_data = self.api_client.call_api(
4107
4157
  *_param,
@@ -4204,9 +4254,9 @@ class ChorusProApi:
4204
4254
  _headers: Optional[Dict[StrictStr, Any]] = None,
4205
4255
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4206
4256
  ) -> object:
4207
- """Valider ou refuser une facture (Valideur)
4257
+ """Validate or reject an invoice (Validator)
4208
4258
 
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)
4259
+ 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
4260
 
4211
4261
  :param request_body: (required)
4212
4262
  :type request_body: Dict[str, object]
@@ -4243,6 +4293,7 @@ class ChorusProApi:
4243
4293
  _response_types_map: Dict[str, Optional[str]] = {
4244
4294
  '200': "object",
4245
4295
  '422': "HTTPValidationError",
4296
+ '401': "APIError",
4246
4297
  }
4247
4298
  response_data = self.api_client.call_api(
4248
4299
  *_param,
@@ -4272,9 +4323,9 @@ class ChorusProApi:
4272
4323
  _headers: Optional[Dict[StrictStr, Any]] = None,
4273
4324
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4274
4325
  ) -> ApiResponse[object]:
4275
- """Valider ou refuser une facture (Valideur)
4326
+ """Validate or reject an invoice (Validator)
4276
4327
 
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)
4328
+ 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
4329
 
4279
4330
  :param request_body: (required)
4280
4331
  :type request_body: Dict[str, object]
@@ -4311,6 +4362,7 @@ class ChorusProApi:
4311
4362
  _response_types_map: Dict[str, Optional[str]] = {
4312
4363
  '200': "object",
4313
4364
  '422': "HTTPValidationError",
4365
+ '401': "APIError",
4314
4366
  }
4315
4367
  response_data = self.api_client.call_api(
4316
4368
  *_param,
@@ -4340,9 +4392,9 @@ class ChorusProApi:
4340
4392
  _headers: Optional[Dict[StrictStr, Any]] = None,
4341
4393
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4342
4394
  ) -> RESTResponseType:
4343
- """Valider ou refuser une facture (Valideur)
4395
+ """Validate or reject an invoice (Validator)
4344
4396
 
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)
4397
+ 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
4398
 
4347
4399
  :param request_body: (required)
4348
4400
  :type request_body: Dict[str, object]
@@ -4379,6 +4431,7 @@ class ChorusProApi:
4379
4431
  _response_types_map: Dict[str, Optional[str]] = {
4380
4432
  '200': "object",
4381
4433
  '422': "HTTPValidationError",
4434
+ '401': "APIError",
4382
4435
  }
4383
4436
  response_data = self.api_client.call_api(
4384
4437
  *_param,