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,8 +17,13 @@ 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 StrictStr
20
- from typing import Any
20
+ from pydantic import Field, StrictBytes, StrictStr
21
+ from typing import Any, Dict, Optional, Tuple, Union
22
+ from typing_extensions import Annotated
23
+ from factpulse.models.afnor_flow import AFNORFlow
24
+ from factpulse.models.afnor_flow_info import AFNORFlowInfo
25
+ from factpulse.models.afnor_search_flow_content import AFNORSearchFlowContent
26
+ from factpulse.models.afnor_search_flow_params import AFNORSearchFlowParams
21
27
 
22
28
  from factpulse.api_client import ApiClient, RequestSerialized
23
29
  from factpulse.api_response import ApiResponse
@@ -40,7 +46,8 @@ class AFNORPDPPAFlowServiceApi:
40
46
  @validate_call
41
47
  def download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get(
42
48
  self,
43
- flow_id: StrictStr,
49
+ flow_id: Annotated[StrictStr, Field(description="AFNOR flow identifier (UUID)")],
50
+ doc_type: Annotated[Optional[Any], Field(description="Type of file to download: Metadata (default, JSON), Original, Converted, or ReadableView")] = None,
44
51
  _request_timeout: Union[
45
52
  None,
46
53
  Annotated[StrictFloat, Field(gt=0)],
@@ -53,13 +60,15 @@ class AFNORPDPPAFlowServiceApi:
53
60
  _content_type: Optional[StrictStr] = None,
54
61
  _headers: Optional[Dict[StrictStr, Any]] = None,
55
62
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
56
- ) -> object:
57
- """Télécharger un flux
63
+ ) -> AFNORFlow:
64
+ """Download a flow
58
65
 
59
- Télécharger le fichier PDF/A-3 d'un flux de facturation (utilise le client_uid du JWT)
66
+ Download a file related to a given flow (AFNOR XP Z12-013 compliant): - Metadata [Default]: provides the flow metadata as JSON - Original: the document initially sent by the emitter - Converted: the document optionally converted by the system - ReadableView: the document optionally generated as readable file
60
67
 
61
- :param flow_id: (required)
68
+ :param flow_id: AFNOR flow identifier (UUID) (required)
62
69
  :type flow_id: str
70
+ :param doc_type: Type of file to download: Metadata (default, JSON), Original, Converted, or ReadableView
71
+ :type doc_type: DocType
63
72
  :param _request_timeout: timeout setting for this request. If one
64
73
  number provided, it will be total request
65
74
  timeout. It can also be a pair (tuple) of
@@ -84,6 +93,7 @@ class AFNORPDPPAFlowServiceApi:
84
93
 
85
94
  _param = self._download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get_serialize(
86
95
  flow_id=flow_id,
96
+ doc_type=doc_type,
87
97
  _request_auth=_request_auth,
88
98
  _content_type=_content_type,
89
99
  _headers=_headers,
@@ -91,10 +101,14 @@ class AFNORPDPPAFlowServiceApi:
91
101
  )
92
102
 
93
103
  _response_types_map: Dict[str, Optional[str]] = {
94
- '200': "object",
95
- '400': None,
96
- '401': None,
97
- '404': None,
104
+ '200': "AFNORFlow",
105
+ '400': "AFNORError",
106
+ '401': "AFNORError",
107
+ '403': "AFNORError",
108
+ '404': "AFNORError",
109
+ '429': "AFNORError",
110
+ '500': "AFNORError",
111
+ '503': "AFNORError",
98
112
  '422': "HTTPValidationError",
99
113
  }
100
114
  response_data = self.api_client.call_api(
@@ -111,7 +125,8 @@ class AFNORPDPPAFlowServiceApi:
111
125
  @validate_call
112
126
  def download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get_with_http_info(
113
127
  self,
114
- flow_id: StrictStr,
128
+ flow_id: Annotated[StrictStr, Field(description="AFNOR flow identifier (UUID)")],
129
+ doc_type: Annotated[Optional[Any], Field(description="Type of file to download: Metadata (default, JSON), Original, Converted, or ReadableView")] = None,
115
130
  _request_timeout: Union[
116
131
  None,
117
132
  Annotated[StrictFloat, Field(gt=0)],
@@ -124,13 +139,15 @@ class AFNORPDPPAFlowServiceApi:
124
139
  _content_type: Optional[StrictStr] = None,
125
140
  _headers: Optional[Dict[StrictStr, Any]] = None,
126
141
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
127
- ) -> ApiResponse[object]:
128
- """Télécharger un flux
142
+ ) -> ApiResponse[AFNORFlow]:
143
+ """Download a flow
129
144
 
130
- Télécharger le fichier PDF/A-3 d'un flux de facturation (utilise le client_uid du JWT)
145
+ Download a file related to a given flow (AFNOR XP Z12-013 compliant): - Metadata [Default]: provides the flow metadata as JSON - Original: the document initially sent by the emitter - Converted: the document optionally converted by the system - ReadableView: the document optionally generated as readable file
131
146
 
132
- :param flow_id: (required)
147
+ :param flow_id: AFNOR flow identifier (UUID) (required)
133
148
  :type flow_id: str
149
+ :param doc_type: Type of file to download: Metadata (default, JSON), Original, Converted, or ReadableView
150
+ :type doc_type: DocType
134
151
  :param _request_timeout: timeout setting for this request. If one
135
152
  number provided, it will be total request
136
153
  timeout. It can also be a pair (tuple) of
@@ -155,6 +172,7 @@ class AFNORPDPPAFlowServiceApi:
155
172
 
156
173
  _param = self._download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get_serialize(
157
174
  flow_id=flow_id,
175
+ doc_type=doc_type,
158
176
  _request_auth=_request_auth,
159
177
  _content_type=_content_type,
160
178
  _headers=_headers,
@@ -162,10 +180,14 @@ class AFNORPDPPAFlowServiceApi:
162
180
  )
163
181
 
164
182
  _response_types_map: Dict[str, Optional[str]] = {
165
- '200': "object",
166
- '400': None,
167
- '401': None,
168
- '404': None,
183
+ '200': "AFNORFlow",
184
+ '400': "AFNORError",
185
+ '401': "AFNORError",
186
+ '403': "AFNORError",
187
+ '404': "AFNORError",
188
+ '429': "AFNORError",
189
+ '500': "AFNORError",
190
+ '503': "AFNORError",
169
191
  '422': "HTTPValidationError",
170
192
  }
171
193
  response_data = self.api_client.call_api(
@@ -182,7 +204,8 @@ class AFNORPDPPAFlowServiceApi:
182
204
  @validate_call
183
205
  def download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get_without_preload_content(
184
206
  self,
185
- flow_id: StrictStr,
207
+ flow_id: Annotated[StrictStr, Field(description="AFNOR flow identifier (UUID)")],
208
+ doc_type: Annotated[Optional[Any], Field(description="Type of file to download: Metadata (default, JSON), Original, Converted, or ReadableView")] = None,
186
209
  _request_timeout: Union[
187
210
  None,
188
211
  Annotated[StrictFloat, Field(gt=0)],
@@ -196,12 +219,14 @@ class AFNORPDPPAFlowServiceApi:
196
219
  _headers: Optional[Dict[StrictStr, Any]] = None,
197
220
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
198
221
  ) -> RESTResponseType:
199
- """Télécharger un flux
222
+ """Download a flow
200
223
 
201
- Télécharger le fichier PDF/A-3 d'un flux de facturation (utilise le client_uid du JWT)
224
+ Download a file related to a given flow (AFNOR XP Z12-013 compliant): - Metadata [Default]: provides the flow metadata as JSON - Original: the document initially sent by the emitter - Converted: the document optionally converted by the system - ReadableView: the document optionally generated as readable file
202
225
 
203
- :param flow_id: (required)
226
+ :param flow_id: AFNOR flow identifier (UUID) (required)
204
227
  :type flow_id: str
228
+ :param doc_type: Type of file to download: Metadata (default, JSON), Original, Converted, or ReadableView
229
+ :type doc_type: DocType
205
230
  :param _request_timeout: timeout setting for this request. If one
206
231
  number provided, it will be total request
207
232
  timeout. It can also be a pair (tuple) of
@@ -226,6 +251,7 @@ class AFNORPDPPAFlowServiceApi:
226
251
 
227
252
  _param = self._download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get_serialize(
228
253
  flow_id=flow_id,
254
+ doc_type=doc_type,
229
255
  _request_auth=_request_auth,
230
256
  _content_type=_content_type,
231
257
  _headers=_headers,
@@ -233,10 +259,14 @@ class AFNORPDPPAFlowServiceApi:
233
259
  )
234
260
 
235
261
  _response_types_map: Dict[str, Optional[str]] = {
236
- '200': "object",
237
- '400': None,
238
- '401': None,
239
- '404': None,
262
+ '200': "AFNORFlow",
263
+ '400': "AFNORError",
264
+ '401': "AFNORError",
265
+ '403': "AFNORError",
266
+ '404': "AFNORError",
267
+ '429': "AFNORError",
268
+ '500': "AFNORError",
269
+ '503': "AFNORError",
240
270
  '422': "HTTPValidationError",
241
271
  }
242
272
  response_data = self.api_client.call_api(
@@ -249,6 +279,7 @@ class AFNORPDPPAFlowServiceApi:
249
279
  def _download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get_serialize(
250
280
  self,
251
281
  flow_id,
282
+ doc_type,
252
283
  _request_auth,
253
284
  _content_type,
254
285
  _headers,
@@ -273,6 +304,10 @@ class AFNORPDPPAFlowServiceApi:
273
304
  if flow_id is not None:
274
305
  _path_params['flowId'] = flow_id
275
306
  # process the query parameters
307
+ if doc_type is not None:
308
+
309
+ _query_params.append(('docType', doc_type.value))
310
+
276
311
  # process the header parameters
277
312
  # process the form parameters
278
313
  # process the body parameter
@@ -283,7 +318,8 @@ class AFNORPDPPAFlowServiceApi:
283
318
  _header_params['Accept'] = self.api_client.select_header_accept(
284
319
  [
285
320
  'application/json',
286
- 'application/pdf'
321
+ 'application/pdf',
322
+ 'application/xml'
287
323
  ]
288
324
  )
289
325
 
@@ -328,7 +364,7 @@ class AFNORPDPPAFlowServiceApi:
328
364
  ) -> object:
329
365
  """Healthcheck Flow Service
330
366
 
331
- Vérifier la disponibilité du Flow Service
367
+ Check Flow Service availability (AFNOR XP Z12-013 compliant)
332
368
 
333
369
  :param _request_timeout: timeout setting for this request. If one
334
370
  number provided, it will be total request
@@ -361,6 +397,8 @@ class AFNORPDPPAFlowServiceApi:
361
397
 
362
398
  _response_types_map: Dict[str, Optional[str]] = {
363
399
  '200': "object",
400
+ '500': "AFNORError",
401
+ '503': "AFNORError",
364
402
  }
365
403
  response_data = self.api_client.call_api(
366
404
  *_param,
@@ -391,7 +429,7 @@ class AFNORPDPPAFlowServiceApi:
391
429
  ) -> ApiResponse[object]:
392
430
  """Healthcheck Flow Service
393
431
 
394
- Vérifier la disponibilité du Flow Service
432
+ Check Flow Service availability (AFNOR XP Z12-013 compliant)
395
433
 
396
434
  :param _request_timeout: timeout setting for this request. If one
397
435
  number provided, it will be total request
@@ -424,6 +462,8 @@ class AFNORPDPPAFlowServiceApi:
424
462
 
425
463
  _response_types_map: Dict[str, Optional[str]] = {
426
464
  '200': "object",
465
+ '500': "AFNORError",
466
+ '503': "AFNORError",
427
467
  }
428
468
  response_data = self.api_client.call_api(
429
469
  *_param,
@@ -454,7 +494,7 @@ class AFNORPDPPAFlowServiceApi:
454
494
  ) -> RESTResponseType:
455
495
  """Healthcheck Flow Service
456
496
 
457
- Vérifier la disponibilité du Flow Service
497
+ Check Flow Service availability (AFNOR XP Z12-013 compliant)
458
498
 
459
499
  :param _request_timeout: timeout setting for this request. If one
460
500
  number provided, it will be total request
@@ -487,6 +527,8 @@ class AFNORPDPPAFlowServiceApi:
487
527
 
488
528
  _response_types_map: Dict[str, Optional[str]] = {
489
529
  '200': "object",
530
+ '500': "AFNORError",
531
+ '503': "AFNORError",
490
532
  }
491
533
  response_data = self.api_client.call_api(
492
534
  *_param,
@@ -558,6 +600,7 @@ class AFNORPDPPAFlowServiceApi:
558
600
  @validate_call
559
601
  def search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post(
560
602
  self,
603
+ afnor_search_flow_params: AFNORSearchFlowParams,
561
604
  _request_timeout: Union[
562
605
  None,
563
606
  Annotated[StrictFloat, Field(gt=0)],
@@ -570,11 +613,13 @@ class AFNORPDPPAFlowServiceApi:
570
613
  _content_type: Optional[StrictStr] = None,
571
614
  _headers: Optional[Dict[StrictStr, Any]] = None,
572
615
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
573
- ) -> object:
574
- """Rechercher des flux
616
+ ) -> AFNORSearchFlowContent:
617
+ """Search flows
575
618
 
576
- Rechercher des flux de facturation selon des critères (utilise le client_uid du JWT)
619
+ Search invoicing flows by criteria (AFNOR XP Z12-013 compliant)
577
620
 
621
+ :param afnor_search_flow_params: (required)
622
+ :type afnor_search_flow_params: AFNORSearchFlowParams
578
623
  :param _request_timeout: timeout setting for this request. If one
579
624
  number provided, it will be total request
580
625
  timeout. It can also be a pair (tuple) of
@@ -598,6 +643,7 @@ class AFNORPDPPAFlowServiceApi:
598
643
  """ # noqa: E501
599
644
 
600
645
  _param = self._search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_serialize(
646
+ afnor_search_flow_params=afnor_search_flow_params,
601
647
  _request_auth=_request_auth,
602
648
  _content_type=_content_type,
603
649
  _headers=_headers,
@@ -605,11 +651,13 @@ class AFNORPDPPAFlowServiceApi:
605
651
  )
606
652
 
607
653
  _response_types_map: Dict[str, Optional[str]] = {
608
- '200': "object",
609
- '400': None,
610
- '401': None,
611
- '404': None,
612
- '429': None,
654
+ '200': "AFNORSearchFlowContent",
655
+ '400': "AFNORError",
656
+ '401': "AFNORError",
657
+ '403': "AFNORError",
658
+ '429': "AFNORError",
659
+ '500': "AFNORError",
660
+ '503': "AFNORError",
613
661
  }
614
662
  response_data = self.api_client.call_api(
615
663
  *_param,
@@ -625,6 +673,7 @@ class AFNORPDPPAFlowServiceApi:
625
673
  @validate_call
626
674
  def search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_with_http_info(
627
675
  self,
676
+ afnor_search_flow_params: AFNORSearchFlowParams,
628
677
  _request_timeout: Union[
629
678
  None,
630
679
  Annotated[StrictFloat, Field(gt=0)],
@@ -637,11 +686,13 @@ class AFNORPDPPAFlowServiceApi:
637
686
  _content_type: Optional[StrictStr] = None,
638
687
  _headers: Optional[Dict[StrictStr, Any]] = None,
639
688
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
640
- ) -> ApiResponse[object]:
641
- """Rechercher des flux
689
+ ) -> ApiResponse[AFNORSearchFlowContent]:
690
+ """Search flows
642
691
 
643
- Rechercher des flux de facturation selon des critères (utilise le client_uid du JWT)
692
+ Search invoicing flows by criteria (AFNOR XP Z12-013 compliant)
644
693
 
694
+ :param afnor_search_flow_params: (required)
695
+ :type afnor_search_flow_params: AFNORSearchFlowParams
645
696
  :param _request_timeout: timeout setting for this request. If one
646
697
  number provided, it will be total request
647
698
  timeout. It can also be a pair (tuple) of
@@ -665,6 +716,7 @@ class AFNORPDPPAFlowServiceApi:
665
716
  """ # noqa: E501
666
717
 
667
718
  _param = self._search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_serialize(
719
+ afnor_search_flow_params=afnor_search_flow_params,
668
720
  _request_auth=_request_auth,
669
721
  _content_type=_content_type,
670
722
  _headers=_headers,
@@ -672,11 +724,13 @@ class AFNORPDPPAFlowServiceApi:
672
724
  )
673
725
 
674
726
  _response_types_map: Dict[str, Optional[str]] = {
675
- '200': "object",
676
- '400': None,
677
- '401': None,
678
- '404': None,
679
- '429': None,
727
+ '200': "AFNORSearchFlowContent",
728
+ '400': "AFNORError",
729
+ '401': "AFNORError",
730
+ '403': "AFNORError",
731
+ '429': "AFNORError",
732
+ '500': "AFNORError",
733
+ '503': "AFNORError",
680
734
  }
681
735
  response_data = self.api_client.call_api(
682
736
  *_param,
@@ -692,6 +746,7 @@ class AFNORPDPPAFlowServiceApi:
692
746
  @validate_call
693
747
  def search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_without_preload_content(
694
748
  self,
749
+ afnor_search_flow_params: AFNORSearchFlowParams,
695
750
  _request_timeout: Union[
696
751
  None,
697
752
  Annotated[StrictFloat, Field(gt=0)],
@@ -705,10 +760,12 @@ class AFNORPDPPAFlowServiceApi:
705
760
  _headers: Optional[Dict[StrictStr, Any]] = None,
706
761
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
707
762
  ) -> RESTResponseType:
708
- """Rechercher des flux
763
+ """Search flows
709
764
 
710
- Rechercher des flux de facturation selon des critères (utilise le client_uid du JWT)
765
+ Search invoicing flows by criteria (AFNOR XP Z12-013 compliant)
711
766
 
767
+ :param afnor_search_flow_params: (required)
768
+ :type afnor_search_flow_params: AFNORSearchFlowParams
712
769
  :param _request_timeout: timeout setting for this request. If one
713
770
  number provided, it will be total request
714
771
  timeout. It can also be a pair (tuple) of
@@ -732,6 +789,7 @@ class AFNORPDPPAFlowServiceApi:
732
789
  """ # noqa: E501
733
790
 
734
791
  _param = self._search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_serialize(
792
+ afnor_search_flow_params=afnor_search_flow_params,
735
793
  _request_auth=_request_auth,
736
794
  _content_type=_content_type,
737
795
  _headers=_headers,
@@ -739,11 +797,13 @@ class AFNORPDPPAFlowServiceApi:
739
797
  )
740
798
 
741
799
  _response_types_map: Dict[str, Optional[str]] = {
742
- '200': "object",
743
- '400': None,
744
- '401': None,
745
- '404': None,
746
- '429': None,
800
+ '200': "AFNORSearchFlowContent",
801
+ '400': "AFNORError",
802
+ '401': "AFNORError",
803
+ '403': "AFNORError",
804
+ '429': "AFNORError",
805
+ '500': "AFNORError",
806
+ '503': "AFNORError",
747
807
  }
748
808
  response_data = self.api_client.call_api(
749
809
  *_param,
@@ -754,6 +814,7 @@ class AFNORPDPPAFlowServiceApi:
754
814
 
755
815
  def _search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_serialize(
756
816
  self,
817
+ afnor_search_flow_params,
757
818
  _request_auth,
758
819
  _content_type,
759
820
  _headers,
@@ -779,6 +840,8 @@ class AFNORPDPPAFlowServiceApi:
779
840
  # process the header parameters
780
841
  # process the form parameters
781
842
  # process the body parameter
843
+ if afnor_search_flow_params is not None:
844
+ _body_params = afnor_search_flow_params
782
845
 
783
846
 
784
847
  # set the HTTP header `Accept`
@@ -789,6 +852,19 @@ class AFNORPDPPAFlowServiceApi:
789
852
  ]
790
853
  )
791
854
 
855
+ # set the HTTP header `Content-Type`
856
+ if _content_type:
857
+ _header_params['Content-Type'] = _content_type
858
+ else:
859
+ _default_content_type = (
860
+ self.api_client.select_header_content_type(
861
+ [
862
+ 'application/json'
863
+ ]
864
+ )
865
+ )
866
+ if _default_content_type is not None:
867
+ _header_params['Content-Type'] = _default_content_type
792
868
 
793
869
  # authentication setting
794
870
  _auth_settings: List[str] = [
@@ -815,6 +891,8 @@ class AFNORPDPPAFlowServiceApi:
815
891
  @validate_call
816
892
  def submit_flow_proxy_api_v1_afnor_flow_v1_flows_post(
817
893
  self,
894
+ flow_info: AFNORFlowInfo,
895
+ file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Flow file (PDF/A-3 with embedded XML or XML)")],
818
896
  _request_timeout: Union[
819
897
  None,
820
898
  Annotated[StrictFloat, Field(gt=0)],
@@ -828,10 +906,14 @@ class AFNORPDPPAFlowServiceApi:
828
906
  _headers: Optional[Dict[StrictStr, Any]] = None,
829
907
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
830
908
  ) -> object:
831
- """Soumettre un flux de facturation
909
+ """Submit an invoicing flow
832
910
 
833
- Soumet une facture électronique à une Plateforme de Dématérialisation Partenaire (PDP) conformément à la norme AFNOR XP Z12-013
911
+ Submits an electronic invoice to a Partner Dematerialization Platform (PDP) in compliance with the AFNOR XP Z12-013 standard
834
912
 
913
+ :param flow_info: (required)
914
+ :type flow_info: AFNORFlowInfo
915
+ :param file: Flow file (PDF/A-3 with embedded XML or XML) (required)
916
+ :type file: bytearray
835
917
  :param _request_timeout: timeout setting for this request. If one
836
918
  number provided, it will be total request
837
919
  timeout. It can also be a pair (tuple) of
@@ -855,6 +937,8 @@ class AFNORPDPPAFlowServiceApi:
855
937
  """ # noqa: E501
856
938
 
857
939
  _param = self._submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_serialize(
940
+ flow_info=flow_info,
941
+ file=file,
858
942
  _request_auth=_request_auth,
859
943
  _content_type=_content_type,
860
944
  _headers=_headers,
@@ -863,12 +947,16 @@ class AFNORPDPPAFlowServiceApi:
863
947
 
864
948
  _response_types_map: Dict[str, Optional[str]] = {
865
949
  '200': "object",
866
- '201': None,
867
- '400': None,
868
- '401': None,
869
- '403': None,
870
- '404': None,
871
- '429': None,
950
+ '202': "AFNORFullFlowInfo",
951
+ '400': "AFNORError",
952
+ '401': "AFNORError",
953
+ '403': "AFNORError",
954
+ '404': "AFNORError",
955
+ '413': "AFNORError",
956
+ '422': "AFNORError",
957
+ '429': "AFNORError",
958
+ '500': "AFNORError",
959
+ '503': "AFNORError",
872
960
  }
873
961
  response_data = self.api_client.call_api(
874
962
  *_param,
@@ -884,6 +972,8 @@ class AFNORPDPPAFlowServiceApi:
884
972
  @validate_call
885
973
  def submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_with_http_info(
886
974
  self,
975
+ flow_info: AFNORFlowInfo,
976
+ file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Flow file (PDF/A-3 with embedded XML or XML)")],
887
977
  _request_timeout: Union[
888
978
  None,
889
979
  Annotated[StrictFloat, Field(gt=0)],
@@ -897,10 +987,14 @@ class AFNORPDPPAFlowServiceApi:
897
987
  _headers: Optional[Dict[StrictStr, Any]] = None,
898
988
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
899
989
  ) -> ApiResponse[object]:
900
- """Soumettre un flux de facturation
990
+ """Submit an invoicing flow
901
991
 
902
- Soumet une facture électronique à une Plateforme de Dématérialisation Partenaire (PDP) conformément à la norme AFNOR XP Z12-013
992
+ Submits an electronic invoice to a Partner Dematerialization Platform (PDP) in compliance with the AFNOR XP Z12-013 standard
903
993
 
994
+ :param flow_info: (required)
995
+ :type flow_info: AFNORFlowInfo
996
+ :param file: Flow file (PDF/A-3 with embedded XML or XML) (required)
997
+ :type file: bytearray
904
998
  :param _request_timeout: timeout setting for this request. If one
905
999
  number provided, it will be total request
906
1000
  timeout. It can also be a pair (tuple) of
@@ -924,6 +1018,8 @@ class AFNORPDPPAFlowServiceApi:
924
1018
  """ # noqa: E501
925
1019
 
926
1020
  _param = self._submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_serialize(
1021
+ flow_info=flow_info,
1022
+ file=file,
927
1023
  _request_auth=_request_auth,
928
1024
  _content_type=_content_type,
929
1025
  _headers=_headers,
@@ -932,12 +1028,16 @@ class AFNORPDPPAFlowServiceApi:
932
1028
 
933
1029
  _response_types_map: Dict[str, Optional[str]] = {
934
1030
  '200': "object",
935
- '201': None,
936
- '400': None,
937
- '401': None,
938
- '403': None,
939
- '404': None,
940
- '429': None,
1031
+ '202': "AFNORFullFlowInfo",
1032
+ '400': "AFNORError",
1033
+ '401': "AFNORError",
1034
+ '403': "AFNORError",
1035
+ '404': "AFNORError",
1036
+ '413': "AFNORError",
1037
+ '422': "AFNORError",
1038
+ '429': "AFNORError",
1039
+ '500': "AFNORError",
1040
+ '503': "AFNORError",
941
1041
  }
942
1042
  response_data = self.api_client.call_api(
943
1043
  *_param,
@@ -953,6 +1053,8 @@ class AFNORPDPPAFlowServiceApi:
953
1053
  @validate_call
954
1054
  def submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_without_preload_content(
955
1055
  self,
1056
+ flow_info: AFNORFlowInfo,
1057
+ file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Flow file (PDF/A-3 with embedded XML or XML)")],
956
1058
  _request_timeout: Union[
957
1059
  None,
958
1060
  Annotated[StrictFloat, Field(gt=0)],
@@ -966,10 +1068,14 @@ class AFNORPDPPAFlowServiceApi:
966
1068
  _headers: Optional[Dict[StrictStr, Any]] = None,
967
1069
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
968
1070
  ) -> RESTResponseType:
969
- """Soumettre un flux de facturation
1071
+ """Submit an invoicing flow
970
1072
 
971
- Soumet une facture électronique à une Plateforme de Dématérialisation Partenaire (PDP) conformément à la norme AFNOR XP Z12-013
1073
+ Submits an electronic invoice to a Partner Dematerialization Platform (PDP) in compliance with the AFNOR XP Z12-013 standard
972
1074
 
1075
+ :param flow_info: (required)
1076
+ :type flow_info: AFNORFlowInfo
1077
+ :param file: Flow file (PDF/A-3 with embedded XML or XML) (required)
1078
+ :type file: bytearray
973
1079
  :param _request_timeout: timeout setting for this request. If one
974
1080
  number provided, it will be total request
975
1081
  timeout. It can also be a pair (tuple) of
@@ -993,6 +1099,8 @@ class AFNORPDPPAFlowServiceApi:
993
1099
  """ # noqa: E501
994
1100
 
995
1101
  _param = self._submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_serialize(
1102
+ flow_info=flow_info,
1103
+ file=file,
996
1104
  _request_auth=_request_auth,
997
1105
  _content_type=_content_type,
998
1106
  _headers=_headers,
@@ -1001,12 +1109,16 @@ class AFNORPDPPAFlowServiceApi:
1001
1109
 
1002
1110
  _response_types_map: Dict[str, Optional[str]] = {
1003
1111
  '200': "object",
1004
- '201': None,
1005
- '400': None,
1006
- '401': None,
1007
- '403': None,
1008
- '404': None,
1009
- '429': None,
1112
+ '202': "AFNORFullFlowInfo",
1113
+ '400': "AFNORError",
1114
+ '401': "AFNORError",
1115
+ '403': "AFNORError",
1116
+ '404': "AFNORError",
1117
+ '413': "AFNORError",
1118
+ '422': "AFNORError",
1119
+ '429': "AFNORError",
1120
+ '500': "AFNORError",
1121
+ '503': "AFNORError",
1010
1122
  }
1011
1123
  response_data = self.api_client.call_api(
1012
1124
  *_param,
@@ -1017,6 +1129,8 @@ class AFNORPDPPAFlowServiceApi:
1017
1129
 
1018
1130
  def _submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_serialize(
1019
1131
  self,
1132
+ flow_info,
1133
+ file,
1020
1134
  _request_auth,
1021
1135
  _content_type,
1022
1136
  _headers,
@@ -1041,6 +1155,10 @@ class AFNORPDPPAFlowServiceApi:
1041
1155
  # process the query parameters
1042
1156
  # process the header parameters
1043
1157
  # process the form parameters
1158
+ if flow_info is not None:
1159
+ _form_params.append(('flowInfo', flow_info))
1160
+ if file is not None:
1161
+ _files['file'] = file
1044
1162
  # process the body parameter
1045
1163
 
1046
1164
 
@@ -1052,6 +1170,19 @@ class AFNORPDPPAFlowServiceApi:
1052
1170
  ]
1053
1171
  )
1054
1172
 
1173
+ # set the HTTP header `Content-Type`
1174
+ if _content_type:
1175
+ _header_params['Content-Type'] = _content_type
1176
+ else:
1177
+ _default_content_type = (
1178
+ self.api_client.select_header_content_type(
1179
+ [
1180
+ 'multipart/form-data'
1181
+ ]
1182
+ )
1183
+ )
1184
+ if _default_content_type is not None:
1185
+ _header_params['Content-Type'] = _default_content_type
1055
1186
 
1056
1187
  # authentication setting
1057
1188
  _auth_settings: List[str] = [