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,59 +1,59 @@
1
- """Exceptions personnalisées pour le client FactPulse.
1
+ """Custom exceptions for the FactPulse client.
2
2
 
3
- Ce module définit une hiérarchie d'exceptions alignée sur le format d'erreur
4
- de l'API FactPulse (APIError, ValidationErrorDetail) conforme à la norme AFNOR.
3
+ This module defines an exception hierarchy aligned with the FactPulse API error format
4
+ (APIError, ValidationErrorDetail) compliant with AFNOR XP Z12-013 standard.
5
5
 
6
- Hiérarchie des exceptions:
6
+ Exception hierarchy:
7
7
  - FactPulseError (base)
8
8
  ├── FactPulseAuthError (401)
9
- ├── FactPulseValidationError (400, 422) - avec détails structurés
10
- ├── FactPulsePollingTimeout (timeout polling)
9
+ ├── FactPulseValidationError (400, 422) - with structured details
10
+ ├── FactPulsePollingTimeout (polling timeout)
11
11
  ├── FactPulseNotFoundError (404)
12
12
  ├── FactPulseServiceUnavailableError (503)
13
- └── FactPulseAPIError (générique avec error_code)
13
+ └── FactPulseAPIError (generic with error_code)
14
14
  """
15
15
  from dataclasses import dataclass
16
16
  from typing import Any, Dict, List, Optional
17
17
 
18
18
 
19
19
  class FactPulseError(Exception):
20
- """Classe de base pour toutes les erreurs FactPulse."""
20
+ """Base class for all FactPulse errors."""
21
21
  pass
22
22
 
23
23
 
24
24
  class FactPulseAuthError(FactPulseError):
25
- """Erreur d'authentification FactPulse (401).
25
+ """FactPulse authentication error (401).
26
26
 
27
- Levée quand:
28
- - Email/mot de passe invalides
29
- - Token JWT expiré ou invalide
30
- - client_uid non trouvé
27
+ Raised when:
28
+ - Invalid email/password
29
+ - Expired or invalid JWT token
30
+ - client_uid not found
31
31
  """
32
- def __init__(self, message: str = "Authentification requise"):
32
+ def __init__(self, message: str = "Authentication required"):
33
33
  self.message = message
34
34
  super().__init__(message)
35
35
 
36
36
 
37
37
  class FactPulsePollingTimeout(FactPulseError):
38
- """Timeout lors du polling d'une tâche asynchrone."""
38
+ """Timeout while polling an asynchronous task."""
39
39
  def __init__(self, task_id: str, timeout: int):
40
40
  self.task_id = task_id
41
41
  self.timeout = timeout
42
- super().__init__(f"Timeout ({timeout}ms) atteint pour la tâche {task_id}")
42
+ super().__init__(f"Timeout ({timeout}ms) reached for task {task_id}")
43
43
 
44
44
 
45
45
  @dataclass
46
46
  class ValidationErrorDetail:
47
- """Détail d'une erreur de validation au format AFNOR.
47
+ """Validation error detail in AFNOR format.
48
48
 
49
- Aligné sur le schéma AcknowledgementDetail de la norme AFNOR XP Z12-013.
49
+ Aligned with the AcknowledgementDetail schema from AFNOR XP Z12-013 standard.
50
50
 
51
51
  Attributes:
52
- level: Niveau de gravité ('Error' ou 'Warning')
53
- item: Identifiant de l'élément concerné (règle BR-FR, champ, XPath)
54
- reason: Description de l'erreur
55
- source: Source de l'erreur (schematron, pydantic, pdfa, afnor, chorus_pro)
56
- code: Code d'erreur unique (ex: SCHEMATRON_BR_FR_01)
52
+ level: Severity level ('Error' or 'Warning')
53
+ item: Identifier of the affected element (BR-FR rule, field, XPath)
54
+ reason: Error description
55
+ source: Error source (schematron, pydantic, pdfa, afnor, chorus_pro)
56
+ code: Unique error code (e.g., SCHEMATRON_BR_FR_01)
57
57
  """
58
58
  level: str = ""
59
59
  item: str = ""
@@ -69,13 +69,13 @@ class ValidationErrorDetail:
69
69
 
70
70
 
71
71
  class FactPulseValidationError(FactPulseError):
72
- """Erreur de validation avec détails structurés (400, 422).
72
+ """Validation error with structured details (400, 422).
73
73
 
74
- Contient une liste de ValidationErrorDetail pour le diagnostic.
74
+ Contains a list of ValidationErrorDetail for diagnostics.
75
75
 
76
76
  Attributes:
77
- errors: Liste des erreurs détaillées
78
- error_code: Code d'erreur API (ex: VALIDATION_FAILED, SCHEMATRON_VALIDATION_FAILED)
77
+ errors: List of detailed errors
78
+ error_code: API error code (e.g., VALIDATION_FAILED, SCHEMATRON_VALIDATION_FAILED)
79
79
  """
80
80
  def __init__(
81
81
  self,
@@ -87,52 +87,52 @@ class FactPulseValidationError(FactPulseError):
87
87
  self.error_code = error_code
88
88
  if self.errors:
89
89
  details = "\n".join(f" - {e}" for e in self.errors)
90
- message = f"{message}\n\nDétails:\n{details}"
90
+ message = f"{message}\n\nDetails:\n{details}"
91
91
  super().__init__(message)
92
92
 
93
93
 
94
94
  class FactPulseNotFoundError(FactPulseError):
95
- """Ressource non trouvée (404).
95
+ """Resource not found (404).
96
96
 
97
97
  Attributes:
98
- resource: Type de ressource (facture, structure, flux, client)
99
- identifier: Identifiant de la ressource
98
+ resource: Resource type (invoice, structure, flow, client)
99
+ identifier: Resource identifier
100
100
  """
101
101
  def __init__(self, resource: str, identifier: str = ""):
102
102
  self.resource = resource
103
103
  self.identifier = identifier
104
- message = f"{resource.capitalize()} non trouvé(e)"
104
+ message = f"{resource.capitalize()} not found"
105
105
  if identifier:
106
- message = f"{resource.capitalize()} '{identifier}' non trouvé(e)"
106
+ message = f"{resource.capitalize()} '{identifier}' not found"
107
107
  super().__init__(message)
108
108
 
109
109
 
110
110
  class FactPulseServiceUnavailableError(FactPulseError):
111
- """Service externe indisponible (503).
111
+ """External service unavailable (503).
112
112
 
113
113
  Attributes:
114
- service_name: Nom du service (AFNOR PDP, Chorus Pro, Django)
115
- original_error: Exception originale (optionnel)
114
+ service_name: Service name (AFNOR PDP, Chorus Pro, Django)
115
+ original_error: Original exception (optional)
116
116
  """
117
117
  def __init__(self, service_name: str, original_error: Optional[Exception] = None):
118
118
  self.service_name = service_name
119
119
  self.original_error = original_error
120
- message = f"Le service {service_name} est indisponible"
120
+ message = f"Service {service_name} is unavailable"
121
121
  if original_error:
122
122
  message = f"{message}: {str(original_error)}"
123
123
  super().__init__(message)
124
124
 
125
125
 
126
126
  class FactPulseAPIError(FactPulseError):
127
- """Erreur API générique avec code d'erreur structuré.
127
+ """Generic API error with structured error code.
128
128
 
129
- Utilisée pour les erreurs non couvertes par les exceptions spécifiques.
129
+ Used for errors not covered by specific exceptions.
130
130
 
131
131
  Attributes:
132
- status_code: Code HTTP de la réponse
133
- error_code: Code d'erreur API (ex: INTERNAL_ERROR)
134
- error_message: Message d'erreur de l'API
135
- details: Détails optionnels (ValidationErrorDetail)
132
+ status_code: HTTP response status code
133
+ error_code: API error code (e.g., INTERNAL_ERROR)
134
+ error_message: API error message
135
+ details: Optional details (ValidationErrorDetail)
136
136
  """
137
137
  def __init__(
138
138
  self,
@@ -149,18 +149,18 @@ class FactPulseAPIError(FactPulseError):
149
149
 
150
150
 
151
151
  def parse_api_error(response_json: Dict[str, Any], status_code: int = 400) -> FactPulseError:
152
- """Parse une réponse d'erreur API et retourne l'exception appropriée.
152
+ """Parse an API error response and return the appropriate exception.
153
153
 
154
- Cette fonction parse le format d'erreur unifié de l'API FactPulse
155
- (APIError avec errorCode, errorMessage, details) et retourne
156
- l'exception Python appropriée.
154
+ This function parses the unified FactPulse API error format
155
+ (APIError with errorCode, errorMessage, details) and returns
156
+ the appropriate Python exception.
157
157
 
158
158
  Args:
159
- response_json: JSON de la réponse d'erreur (dict)
160
- status_code: Code HTTP de la réponse
159
+ response_json: Error response JSON (dict)
160
+ status_code: HTTP response status code
161
161
 
162
162
  Returns:
163
- Exception appropriée selon le status_code et error_code
163
+ Appropriate exception based on status_code and error_code
164
164
 
165
165
  Example:
166
166
  >>> response = requests.post(url, json=data)
@@ -168,20 +168,20 @@ def parse_api_error(response_json: Dict[str, Any], status_code: int = 400) -> Fa
168
168
  ... error = parse_api_error(response.json(), response.status_code)
169
169
  ... raise error
170
170
  """
171
- # Extraire les champs de l'erreur API
172
- # Support des deux formats : camelCase (API) et snake_case
171
+ # Extract API error fields
172
+ # Support both formats: camelCase (API) and snake_case
173
173
  error_code = response_json.get("errorCode") or response_json.get("error_code") or "UNKNOWN_ERROR"
174
- error_message = response_json.get("errorMessage") or response_json.get("error_message") or "Erreur inconnue"
174
+ error_message = response_json.get("errorMessage") or response_json.get("error_message") or "Unknown error"
175
175
  details_raw = response_json.get("details") or []
176
176
 
177
- # Parfois l'erreur est dans un wrapper "detail"
177
+ # Sometimes the error is wrapped in a "detail" field
178
178
  if "detail" in response_json and isinstance(response_json["detail"], dict):
179
179
  detail = response_json["detail"]
180
180
  error_code = detail.get("error") or detail.get("errorCode") or error_code
181
181
  error_message = detail.get("message") or detail.get("errorMessage") or error_message
182
182
  details_raw = detail.get("details") or details_raw
183
183
 
184
- # Parser les détails en ValidationErrorDetail
184
+ # Parse details into ValidationErrorDetail
185
185
  details = []
186
186
  for d in details_raw:
187
187
  if isinstance(d, dict):
@@ -193,18 +193,18 @@ def parse_api_error(response_json: Dict[str, Any], status_code: int = 400) -> Fa
193
193
  code=d.get("code"),
194
194
  ))
195
195
 
196
- # Retourner l'exception appropriée selon le status_code
196
+ # Return appropriate exception based on status_code
197
197
  if status_code == 401:
198
198
  return FactPulseAuthError(error_message)
199
199
  elif status_code == 404:
200
- # Essayer d'extraire la ressource depuis le message
201
- resource = "ressource"
200
+ # Try to extract resource from message
201
+ resource = "resource"
202
202
  if "client" in error_message.lower():
203
203
  resource = "client"
204
204
  elif "flux" in error_message.lower() or "flow" in error_message.lower():
205
- resource = "flux"
206
- elif "facture" in error_message.lower():
207
- resource = "facture"
205
+ resource = "flow"
206
+ elif "facture" in error_message.lower() or "invoice" in error_message.lower():
207
+ resource = "invoice"
208
208
  elif "structure" in error_message.lower():
209
209
  resource = "structure"
210
210
  return FactPulseNotFoundError(resource)
@@ -222,17 +222,17 @@ def parse_api_error(response_json: Dict[str, Any], status_code: int = 400) -> Fa
222
222
 
223
223
 
224
224
  def api_exception_to_validation_error(api_exception) -> FactPulseValidationError:
225
- """Convertit une ApiException du SDK généré en FactPulseValidationError.
225
+ """Convert an SDK-generated ApiException to FactPulseValidationError.
226
226
 
227
- Le SDK openapi-generator génère des exceptions ApiException qui ne sont
228
- pas très pratiques à utiliser. Cette fonction les convertit en exceptions
229
- FactPulse avec parsing intelligent des erreurs.
227
+ The openapi-generator SDK generates ApiException objects that are not
228
+ very user-friendly. This function converts them to FactPulse exceptions
229
+ with intelligent error parsing.
230
230
 
231
231
  Args:
232
- api_exception: Exception ApiException du SDK généré
232
+ api_exception: ApiException from the generated SDK
233
233
 
234
234
  Returns:
235
- FactPulseValidationError avec détails structurés
235
+ FactPulseValidationError with structured details
236
236
  """
237
237
  import json
238
238
 
@@ -246,7 +246,7 @@ def api_exception_to_validation_error(api_exception) -> FactPulseValidationError
246
246
 
247
247
  error = parse_api_error(response_json, status_code)
248
248
 
249
- # Convertir en FactPulseValidationError si ce n'est pas déjà le cas
249
+ # Convert to FactPulseValidationError if not already
250
250
  if isinstance(error, FactPulseValidationError):
251
251
  return error
252
252
  else: