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
@@ -2,124 +2,294 @@
2
2
 
3
3
  # flake8: noqa
4
4
  """
5
- API REST FactPulse
5
+ FactPulse REST API
6
6
 
7
- 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/
7
+ 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/
8
8
 
9
9
  The version of the OpenAPI document: 1.0.0
10
+ Contact: contact@factpulse.fr
10
11
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
12
 
12
13
  Do not edit the class manually.
13
14
  """ # noqa: E501
14
15
 
15
16
  # import models into model package
17
+ from factpulse.models.afnor_acknowledgement import AFNORAcknowledgement
18
+ from factpulse.models.afnor_acknowledgement_detail import AFNORAcknowledgementDetail
19
+ from factpulse.models.afnor_address_edit import AFNORAddressEdit
20
+ from factpulse.models.afnor_address_patch import AFNORAddressPatch
21
+ from factpulse.models.afnor_address_put import AFNORAddressPut
22
+ from factpulse.models.afnor_address_read import AFNORAddressRead
23
+ from factpulse.models.afnor_algorithm import AFNORAlgorithm
24
+ from factpulse.models.afnor_contains_operator import AFNORContainsOperator
25
+ from factpulse.models.afnor_create_directory_line_body import AFNORCreateDirectoryLineBody
26
+ from factpulse.models.afnor_create_directory_line_body_addressing_information import AFNORCreateDirectoryLineBodyAddressingInformation
27
+ from factpulse.models.afnor_create_directory_line_body_period import AFNORCreateDirectoryLineBodyPeriod
28
+ from factpulse.models.afnor_create_routing_code_body import AFNORCreateRoutingCodeBody
29
+ from factpulse.models.afnor_credentials import AFNORCredentials
30
+ from factpulse.models.afnor_destination import AFNORDestination
31
+ from factpulse.models.afnor_diffusion_status import AFNORDiffusionStatus
32
+ from factpulse.models.afnor_directory_line_field import AFNORDirectoryLineField
33
+ from factpulse.models.afnor_directory_line_payload_history_legal_unit_facility_routing_code import AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCode
34
+ from factpulse.models.afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform import AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodePlatform
35
+ from factpulse.models.afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code import AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodeRoutingCode
36
+ from factpulse.models.afnor_directory_line_post201_response import AFNORDirectoryLinePost201Response
37
+ from factpulse.models.afnor_directory_line_search_post200_response import AFNORDirectoryLineSearchPost200Response
38
+ from factpulse.models.afnor_entity_type import AFNOREntityType
39
+ from factpulse.models.afnor_error import AFNORError
40
+ from factpulse.models.afnor_facility_administrative_status import AFNORFacilityAdministrativeStatus
41
+ from factpulse.models.afnor_facility_nature import AFNORFacilityNature
42
+ from factpulse.models.afnor_facility_payload_history import AFNORFacilityPayloadHistory
43
+ from factpulse.models.afnor_facility_payload_history_ule_b2g_additional_data import AFNORFacilityPayloadHistoryUleB2gAdditionalData
44
+ from factpulse.models.afnor_facility_payload_included import AFNORFacilityPayloadIncluded
45
+ from factpulse.models.afnor_facility_type import AFNORFacilityType
46
+ from factpulse.models.afnor_flow import AFNORFlow
47
+ from factpulse.models.afnor_flow_ack_status import AFNORFlowAckStatus
48
+ from factpulse.models.afnor_flow_direction import AFNORFlowDirection
49
+ from factpulse.models.afnor_flow_info import AFNORFlowInfo
50
+ from factpulse.models.afnor_flow_profile import AFNORFlowProfile
51
+ from factpulse.models.afnor_flow_syntax import AFNORFlowSyntax
52
+ from factpulse.models.afnor_flow_type import AFNORFlowType
53
+ from factpulse.models.afnor_full_flow_info import AFNORFullFlowInfo
54
+ from factpulse.models.afnor_health_check_response import AFNORHealthCheckResponse
55
+ from factpulse.models.afnor_legal_unit_administrative_status import AFNORLegalUnitAdministrativeStatus
56
+ from factpulse.models.afnor_legal_unit_payload_history import AFNORLegalUnitPayloadHistory
57
+ from factpulse.models.afnor_legal_unit_payload_included import AFNORLegalUnitPayloadIncluded
58
+ from factpulse.models.afnor_legal_unit_payload_included_no_siren import AFNORLegalUnitPayloadIncludedNoSiren
59
+ from factpulse.models.afnor_platform_status import AFNORPlatformStatus
60
+ from factpulse.models.afnor_processing_rule import AFNORProcessingRule
61
+ from factpulse.models.afnor_reason_code import AFNORReasonCode
62
+ from factpulse.models.afnor_reason_code_enum import AFNORReasonCodeEnum
63
+ from factpulse.models.afnor_recipient_platform_type import AFNORRecipientPlatformType
64
+ from factpulse.models.afnor_result import AFNORResult
65
+ from factpulse.models.afnor_routing_code_administrative_status import AFNORRoutingCodeAdministrativeStatus
66
+ from factpulse.models.afnor_routing_code_field import AFNORRoutingCodeField
67
+ from factpulse.models.afnor_routing_code_payload_history_legal_unit_facility import AFNORRoutingCodePayloadHistoryLegalUnitFacility
68
+ from factpulse.models.afnor_routing_code_post201_response import AFNORRoutingCodePost201Response
69
+ from factpulse.models.afnor_routing_code_search import AFNORRoutingCodeSearch
70
+ from factpulse.models.afnor_routing_code_search_filters import AFNORRoutingCodeSearchFilters
71
+ from factpulse.models.afnor_routing_code_search_filters_administrative_status import AFNORRoutingCodeSearchFiltersAdministrativeStatus
72
+ from factpulse.models.afnor_routing_code_search_filters_routing_code_name import AFNORRoutingCodeSearchFiltersRoutingCodeName
73
+ from factpulse.models.afnor_routing_code_search_filters_routing_identifier import AFNORRoutingCodeSearchFiltersRoutingIdentifier
74
+ from factpulse.models.afnor_routing_code_search_post200_response import AFNORRoutingCodeSearchPost200Response
75
+ from factpulse.models.afnor_routing_code_search_sorting_inner import AFNORRoutingCodeSearchSortingInner
76
+ from factpulse.models.afnor_search_directory_line import AFNORSearchDirectoryLine
77
+ from factpulse.models.afnor_search_directory_line_filters import AFNORSearchDirectoryLineFilters
78
+ from factpulse.models.afnor_search_directory_line_filters_addressing_identifier import AFNORSearchDirectoryLineFiltersAddressingIdentifier
79
+ from factpulse.models.afnor_search_directory_line_filters_addressing_suffix import AFNORSearchDirectoryLineFiltersAddressingSuffix
80
+ from factpulse.models.afnor_search_directory_line_sorting_inner import AFNORSearchDirectoryLineSortingInner
81
+ from factpulse.models.afnor_search_flow_content import AFNORSearchFlowContent
82
+ from factpulse.models.afnor_search_flow_filters import AFNORSearchFlowFilters
83
+ from factpulse.models.afnor_search_flow_params import AFNORSearchFlowParams
84
+ from factpulse.models.afnor_search_siren import AFNORSearchSiren
85
+ from factpulse.models.afnor_search_siren_filters import AFNORSearchSirenFilters
86
+ from factpulse.models.afnor_search_siren_filters_administrative_status import AFNORSearchSirenFiltersAdministrativeStatus
87
+ from factpulse.models.afnor_search_siren_filters_business_name import AFNORSearchSirenFiltersBusinessName
88
+ from factpulse.models.afnor_search_siren_filters_entity_type import AFNORSearchSirenFiltersEntityType
89
+ from factpulse.models.afnor_search_siren_filters_siren import AFNORSearchSirenFiltersSiren
90
+ from factpulse.models.afnor_search_siren_sorting_inner import AFNORSearchSirenSortingInner
91
+ from factpulse.models.afnor_search_siret import AFNORSearchSiret
92
+ from factpulse.models.afnor_search_siret_filters import AFNORSearchSiretFilters
93
+ from factpulse.models.afnor_search_siret_filters_address_lines import AFNORSearchSiretFiltersAddressLines
94
+ from factpulse.models.afnor_search_siret_filters_administrative_status import AFNORSearchSiretFiltersAdministrativeStatus
95
+ from factpulse.models.afnor_search_siret_filters_country_subdivision import AFNORSearchSiretFiltersCountrySubdivision
96
+ from factpulse.models.afnor_search_siret_filters_facility_type import AFNORSearchSiretFiltersFacilityType
97
+ from factpulse.models.afnor_search_siret_filters_locality import AFNORSearchSiretFiltersLocality
98
+ from factpulse.models.afnor_search_siret_filters_name import AFNORSearchSiretFiltersName
99
+ from factpulse.models.afnor_search_siret_filters_postal_code import AFNORSearchSiretFiltersPostalCode
100
+ from factpulse.models.afnor_search_siret_filters_siret import AFNORSearchSiretFiltersSiret
101
+ from factpulse.models.afnor_search_siret_sorting_inner import AFNORSearchSiretSortingInner
102
+ from factpulse.models.afnor_siren_field import AFNORSirenField
103
+ from factpulse.models.afnor_siren_search_post200_response import AFNORSirenSearchPost200Response
104
+ from factpulse.models.afnor_siret_field import AFNORSiretField
105
+ from factpulse.models.afnor_siret_search_post200_response import AFNORSiretSearchPost200Response
106
+ from factpulse.models.afnor_sorting_order import AFNORSortingOrder
107
+ from factpulse.models.afnor_strict_operator import AFNORStrictOperator
108
+ from factpulse.models.afnor_update_patch_directory_line_body import AFNORUpdatePatchDirectoryLineBody
109
+ from factpulse.models.afnor_update_patch_routing_code_body import AFNORUpdatePatchRoutingCodeBody
110
+ from factpulse.models.afnor_update_put_routing_code_body import AFNORUpdatePutRoutingCodeBody
111
+ from factpulse.models.afnor_webhook_callback_content import AFNORWebhookCallbackContent
16
112
  from factpulse.models.api_error import APIError
17
- from factpulse.models.adresse_electronique import AdresseElectronique
18
- from factpulse.models.adresse_postale import AdressePostale
113
+ from factpulse.models.api_profile import APIProfile
114
+ from factpulse.models.accept_language import AcceptLanguage
115
+ from factpulse.models.acknowledgment_status import AcknowledgmentStatus
116
+ from factpulse.models.additional_document import AdditionalDocument
117
+ from factpulse.models.aggregated_payment_input import AggregatedPaymentInput
118
+ from factpulse.models.aggregated_transaction_input import AggregatedTransactionInput
119
+ from factpulse.models.allowance_charge import AllowanceCharge
120
+ from factpulse.models.allowance_charge_reason_code import AllowanceChargeReasonCode
121
+ from factpulse.models.allowance_reason_code import AllowanceReasonCode
122
+ from factpulse.models.allowance_total_amount import AllowanceTotalAmount
123
+ from factpulse.models.amount import Amount
124
+ from factpulse.models.amount1 import Amount1
125
+ from factpulse.models.amount_due import AmountDue
126
+ from factpulse.models.async_task_status import AsyncTaskStatus
127
+ from factpulse.models.base_amount import BaseAmount
19
128
  from factpulse.models.bounding_box_schema import BoundingBoxSchema
20
- from factpulse.models.cadre_de_facturation import CadreDeFacturation
21
- from factpulse.models.categorie_tva import CategorieTVA
129
+ from factpulse.models.buyercountry import Buyercountry
130
+ from factpulse.models.celery_status import CeleryStatus
22
131
  from factpulse.models.certificate_info_response import CertificateInfoResponse
23
- from factpulse.models.champ_verifie_schema import ChampVerifieSchema
132
+ from factpulse.models.charge_total_amount import ChargeTotalAmount
24
133
  from factpulse.models.chorus_pro_credentials import ChorusProCredentials
25
- from factpulse.models.code_cadre_facturation import CodeCadreFacturation
26
- from factpulse.models.code_raison_reduction import CodeRaisonReduction
27
- from factpulse.models.consulter_facture_request import ConsulterFactureRequest
28
- from factpulse.models.consulter_facture_response import ConsulterFactureResponse
29
- from factpulse.models.consulter_structure_request import ConsulterStructureRequest
30
- from factpulse.models.consulter_structure_response import ConsulterStructureResponse
31
- from factpulse.models.credentials_afnor import CredentialsAFNOR
32
- from factpulse.models.credentials_chorus_pro import CredentialsChorusPro
33
- from factpulse.models.destinataire import Destinataire
134
+ from factpulse.models.chorus_pro_destination import ChorusProDestination
135
+ from factpulse.models.chorus_pro_result import ChorusProResult
136
+ from factpulse.models.contact import Contact
137
+ from factpulse.models.convert_resume_request import ConvertResumeRequest
138
+ from factpulse.models.convert_success_response import ConvertSuccessResponse
139
+ from factpulse.models.convert_validation_failed_response import ConvertValidationFailedResponse
140
+ from factpulse.models.country_code import CountryCode
141
+ from factpulse.models.create_aggregated_report_request import CreateAggregatedReportRequest
142
+ from factpulse.models.create_e_reporting_request import CreateEReportingRequest
143
+ from factpulse.models.currency import Currency
144
+ from factpulse.models.currency_code import CurrencyCode
145
+ from factpulse.models.delivery_party import DeliveryParty
34
146
  from factpulse.models.destination import Destination
35
- from factpulse.models.destination_afnor import DestinationAFNOR
36
- from factpulse.models.destination_chorus_pro import DestinationChorusPro
37
- from factpulse.models.dimension_page_schema import DimensionPageSchema
38
- from factpulse.models.direction_flux import DirectionFlux
39
- from factpulse.models.donnees_facture_simplifiees import DonneesFactureSimplifiees
147
+ from factpulse.models.directory_line_include import DirectoryLineInclude
148
+ from factpulse.models.doc_type import DocType
149
+ from factpulse.models.document_type_info import DocumentTypeInfo
150
+ from factpulse.models.e_reporting_flow_type import EReportingFlowType
151
+ from factpulse.models.e_reporting_validation_error import EReportingValidationError
152
+ from factpulse.models.electronic_address import ElectronicAddress
153
+ from factpulse.models.enriched_invoice_info import EnrichedInvoiceInfo
40
154
  from factpulse.models.error_level import ErrorLevel
41
155
  from factpulse.models.error_source import ErrorSource
42
- from factpulse.models.facture_enrichie_info import FactureEnrichieInfo
43
- from factpulse.models.facture_entrante import FactureEntrante
44
- from factpulse.models.facture_factur_x import FactureFacturX
45
- from factpulse.models.flux_resume import FluxResume
46
- from factpulse.models.format_facture import FormatFacture
47
- from factpulse.models.format_sortie import FormatSortie
48
- from factpulse.models.fournisseur import Fournisseur
49
- from factpulse.models.fournisseur_entrant import FournisseurEntrant
156
+ from factpulse.models.extraction_info import ExtractionInfo
157
+ from factpulse.models.factur_x_invoice import FacturXInvoice
158
+ from factpulse.models.factur_xpdf_info import FacturXPDFInfo
159
+ from factpulse.models.facture_electronique_rest_api_schemas_ereporting_invoice_type_code import FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode
160
+ from factpulse.models.facture_electronique_rest_api_schemas_processing_chorus_pro_credentials import FactureElectroniqueRestApiSchemasProcessingChorusProCredentials
161
+ from factpulse.models.field_status import FieldStatus
162
+ from factpulse.models.file_info import FileInfo
163
+ from factpulse.models.files_info import FilesInfo
164
+ from factpulse.models.flow_direction import FlowDirection
165
+ from factpulse.models.flow_profile import FlowProfile
166
+ from factpulse.models.flow_summary import FlowSummary
167
+ from factpulse.models.flow_syntax import FlowSyntax
168
+ from factpulse.models.flow_type import FlowType
169
+ from factpulse.models.generate_aggregated_report_response import GenerateAggregatedReportResponse
50
170
  from factpulse.models.generate_certificate_request import GenerateCertificateRequest
51
171
  from factpulse.models.generate_certificate_response import GenerateCertificateResponse
172
+ from factpulse.models.generate_e_reporting_response import GenerateEReportingResponse
173
+ from factpulse.models.get_chorus_pro_id_request import GetChorusProIdRequest
174
+ from factpulse.models.get_chorus_pro_id_response import GetChorusProIdResponse
175
+ from factpulse.models.get_invoice_request import GetInvoiceRequest
176
+ from factpulse.models.get_invoice_response import GetInvoiceResponse
177
+ from factpulse.models.get_structure_request import GetStructureRequest
178
+ from factpulse.models.get_structure_response import GetStructureResponse
179
+ from factpulse.models.global_allowance_amount import GlobalAllowanceAmount
180
+ from factpulse.models.gross_unit_price import GrossUnitPrice
52
181
  from factpulse.models.http_validation_error import HTTPValidationError
53
- from factpulse.models.information_signature_api import InformationSignatureAPI
54
- from factpulse.models.ligne_de_poste import LigneDePoste
55
- from factpulse.models.ligne_de_poste_montant_remise_ht import LigneDePosteMontantRemiseHt
56
- from factpulse.models.ligne_de_poste_taux_tva_manuel import LigneDePosteTauxTvaManuel
57
- from factpulse.models.ligne_de_tva import LigneDeTVA
58
- from factpulse.models.mode_depot import ModeDepot
59
- from factpulse.models.mode_paiement import ModePaiement
60
- from factpulse.models.montant_a_payer import MontantAPayer
61
- from factpulse.models.montant_base_ht import MontantBaseHt
62
- from factpulse.models.montant_ht_total import MontantHtTotal
63
- from factpulse.models.montant_remise_globale_ttc import MontantRemiseGlobaleTtc
64
- from factpulse.models.montant_total import MontantTotal
65
- from factpulse.models.montant_total_acompte import MontantTotalAcompte
66
- from factpulse.models.montant_total_ligne_ht import MontantTotalLigneHt
67
- from factpulse.models.montant_ttc_total import MontantTtcTotal
68
- from factpulse.models.montant_tva import MontantTva
69
- from factpulse.models.montant_tva_ligne import MontantTvaLigne
70
- from factpulse.models.montant_tva_total import MontantTvaTotal
71
- from factpulse.models.montant_unitaire_ht import MontantUnitaireHt
72
- from factpulse.models.nature_operation import NatureOperation
73
- from factpulse.models.note import Note
74
- from factpulse.models.note_obligatoire_schema import NoteObligatoireSchema
75
- from factpulse.models.obtenir_id_chorus_pro_request import ObtenirIdChorusProRequest
76
- from factpulse.models.obtenir_id_chorus_pro_response import ObtenirIdChorusProResponse
77
- from factpulse.models.options_processing import OptionsProcessing
78
- from factpulse.models.pdf_factur_x_info import PDFFacturXInfo
182
+ from factpulse.models.incoming_invoice import IncomingInvoice
183
+ from factpulse.models.incoming_supplier import IncomingSupplier
184
+ from factpulse.models.invoice_format import InvoiceFormat
185
+ from factpulse.models.invoice_input import InvoiceInput
186
+ from factpulse.models.invoice_line import InvoiceLine
187
+ from factpulse.models.invoice_line_allowance_amount import InvoiceLineAllowanceAmount
188
+ from factpulse.models.invoice_note import InvoiceNote
189
+ from factpulse.models.invoice_payment_input import InvoicePaymentInput
190
+ from factpulse.models.invoice_references import InvoiceReferences
191
+ from factpulse.models.invoice_status import InvoiceStatus
192
+ from factpulse.models.invoice_totals import InvoiceTotals
193
+ from factpulse.models.invoice_totals_prepayment import InvoiceTotalsPrepayment
194
+ from factpulse.models.invoice_type_code import InvoiceTypeCode
195
+ from factpulse.models.invoice_type_code_output import InvoiceTypeCodeOutput
196
+ from factpulse.models.invoicing_framework import InvoicingFramework
197
+ from factpulse.models.invoicing_framework_code import InvoicingFrameworkCode
198
+ from factpulse.models.line_net_amount import LineNetAmount
199
+ from factpulse.models.line_sub_type import LineSubType
200
+ from factpulse.models.line_total_amount import LineTotalAmount
201
+ from factpulse.models.location_inner import LocationInner
202
+ from factpulse.models.mandatory_note_schema import MandatoryNoteSchema
203
+ from factpulse.models.manual_rate import ManualRate
204
+ from factpulse.models.manual_vat_rate import ManualVatRate
205
+ from factpulse.models.missing_field import MissingField
206
+ from factpulse.models.operation_nature import OperationNature
207
+ from factpulse.models.output_format import OutputFormat
208
+ from factpulse.models.pdf_validation_result_api import PDFValidationResultAPI
79
209
  from factpulse.models.pdp_credentials import PDPCredentials
80
- from factpulse.models.parametres_signature import ParametresSignature
81
- from factpulse.models.parametres_structure import ParametresStructure
82
- from factpulse.models.piece_jointe_complementaire import PieceJointeComplementaire
83
- from factpulse.models.profil_api import ProfilAPI
84
- from factpulse.models.profil_flux import ProfilFlux
85
- from factpulse.models.quantite import Quantite
86
- from factpulse.models.rechercher_services_response import RechercherServicesResponse
87
- from factpulse.models.rechercher_structure_request import RechercherStructureRequest
88
- from factpulse.models.rechercher_structure_response import RechercherStructureResponse
89
- from factpulse.models.references import References
90
- from factpulse.models.reponse_healthcheck_afnor import ReponseHealthcheckAFNOR
91
- from factpulse.models.reponse_recherche_flux import ReponseRechercheFlux
92
- from factpulse.models.reponse_soumission_flux import ReponseSoumissionFlux
93
- from factpulse.models.reponse_tache import ReponseTache
94
- from factpulse.models.reponse_validation_erreur import ReponseValidationErreur
95
- from factpulse.models.reponse_validation_succes import ReponseValidationSucces
96
- from factpulse.models.reponse_verification_succes import ReponseVerificationSucces
97
- from factpulse.models.requete_recherche_flux import RequeteRechercheFlux
98
- from factpulse.models.requete_soumission_flux import RequeteSoumissionFlux
99
- from factpulse.models.resultat_afnor import ResultatAFNOR
100
- from factpulse.models.resultat_chorus_pro import ResultatChorusPro
101
- from factpulse.models.resultat_validation_pdfapi import ResultatValidationPDFAPI
210
+ from factpulse.models.page_dimensions_schema import PageDimensionsSchema
211
+ from factpulse.models.payee import Payee
212
+ from factpulse.models.payment_amount_by_rate import PaymentAmountByRate
213
+ from factpulse.models.payment_card import PaymentCard
214
+ from factpulse.models.payment_means import PaymentMeans
215
+ from factpulse.models.percentage import Percentage
216
+ from factpulse.models.postal_address import PostalAddress
217
+ from factpulse.models.price_allowance_amount import PriceAllowanceAmount
218
+ from factpulse.models.price_basis_quantity import PriceBasisQuantity
219
+ from factpulse.models.processing_options import ProcessingOptions
220
+ from factpulse.models.processing_rule import ProcessingRule
221
+ from factpulse.models.product_characteristic import ProductCharacteristic
222
+ from factpulse.models.product_classification import ProductClassification
223
+ from factpulse.models.quantity import Quantity
224
+ from factpulse.models.rate import Rate
225
+ from factpulse.models.rate1 import Rate1
226
+ from factpulse.models.recipient import Recipient
227
+ from factpulse.models.report_period import ReportPeriod
228
+ from factpulse.models.report_sender import ReportSender
229
+ from factpulse.models.rounding_amount import RoundingAmount
230
+ from factpulse.models.routing_code_include import RoutingCodeInclude
231
+ from factpulse.models.schematron_validation_error import SchematronValidationError
102
232
  from factpulse.models.scheme_id import SchemeID
103
- from factpulse.models.service_structure import ServiceStructure
233
+ from factpulse.models.search_flow_request import SearchFlowRequest
234
+ from factpulse.models.search_flow_response import SearchFlowResponse
235
+ from factpulse.models.search_services_response import SearchServicesResponse
236
+ from factpulse.models.search_structure_request import SearchStructureRequest
237
+ from factpulse.models.search_structure_response import SearchStructureResponse
238
+ from factpulse.models.sellercountry import Sellercountry
104
239
  from factpulse.models.signature_info import SignatureInfo
105
- from factpulse.models.soumettre_facture_complete_request import SoumettreFactureCompleteRequest
106
- from factpulse.models.soumettre_facture_complete_response import SoumettreFactureCompleteResponse
107
- from factpulse.models.soumettre_facture_request import SoumettreFactureRequest
108
- from factpulse.models.soumettre_facture_response import SoumettreFactureResponse
109
- from factpulse.models.statut_acquittement import StatutAcquittement
110
- from factpulse.models.statut_celery import StatutCelery
111
- from factpulse.models.statut_champ_api import StatutChampAPI
112
- from factpulse.models.statut_facture import StatutFacture
113
- from factpulse.models.statut_tache import StatutTache
240
+ from factpulse.models.signature_info_api import SignatureInfoAPI
241
+ from factpulse.models.signature_parameters import SignatureParameters
242
+ from factpulse.models.simplified_invoice_data import SimplifiedInvoiceData
243
+ from factpulse.models.siret_include import SiretInclude
114
244
  from factpulse.models.structure_info import StructureInfo
115
- from factpulse.models.syntaxe_flux import SyntaxeFlux
116
- from factpulse.models.tauxmanuel import Tauxmanuel
117
- from factpulse.models.type_document import TypeDocument
118
- from factpulse.models.type_facture import TypeFacture
119
- from factpulse.models.type_flux import TypeFlux
120
- from factpulse.models.type_tva import TypeTVA
121
- from factpulse.models.unite import Unite
245
+ from factpulse.models.structure_parameters import StructureParameters
246
+ from factpulse.models.structure_service import StructureService
247
+ from factpulse.models.submission_mode import SubmissionMode
248
+ from factpulse.models.submit_aggregated_report_request import SubmitAggregatedReportRequest
249
+ from factpulse.models.submit_complete_invoice_request import SubmitCompleteInvoiceRequest
250
+ from factpulse.models.submit_complete_invoice_response import SubmitCompleteInvoiceResponse
251
+ from factpulse.models.submit_e_reporting_request import SubmitEReportingRequest
252
+ from factpulse.models.submit_e_reporting_response import SubmitEReportingResponse
253
+ from factpulse.models.submit_flow_request import SubmitFlowRequest
254
+ from factpulse.models.submit_flow_response import SubmitFlowResponse
255
+ from factpulse.models.submit_gross_amount import SubmitGrossAmount
256
+ from factpulse.models.submit_invoice_request import SubmitInvoiceRequest
257
+ from factpulse.models.submit_invoice_response import SubmitInvoiceResponse
258
+ from factpulse.models.submit_net_amount import SubmitNetAmount
259
+ from factpulse.models.submit_vat_amount import SubmitVatAmount
260
+ from factpulse.models.supplementary_attachment import SupplementaryAttachment
261
+ from factpulse.models.supplier import Supplier
262
+ from factpulse.models.task_response import TaskResponse
263
+ from factpulse.models.tax_breakdown_input import TaxBreakdownInput
264
+ from factpulse.models.tax_due_date_type import TaxDueDateType
265
+ from factpulse.models.tax_representative import TaxRepresentative
266
+ from factpulse.models.taxable_amount import TaxableAmount
267
+ from factpulse.models.taxableamount import Taxableamount
268
+ from factpulse.models.taxamount import Taxamount
269
+ from factpulse.models.taxamount1 import Taxamount1
270
+ from factpulse.models.taxamount2 import Taxamount2
271
+ from factpulse.models.taxexclusiveamount import Taxexclusiveamount
272
+ from factpulse.models.taxexclusiveamount1 import Taxexclusiveamount1
273
+ from factpulse.models.total_gross_amount import TotalGrossAmount
274
+ from factpulse.models.total_net_amount import TotalNetAmount
275
+ from factpulse.models.total_vat_amount import TotalVATAmount
276
+ from factpulse.models.transaction_category import TransactionCategory
277
+ from factpulse.models.transmission_type_code import TransmissionTypeCode
278
+ from factpulse.models.unit_net_price import UnitNetPrice
279
+ from factpulse.models.unit_of_measure import UnitOfMeasure
280
+ from factpulse.models.vat_accounting_code import VATAccountingCode
281
+ from factpulse.models.vat_amount import VATAmount
282
+ from factpulse.models.vat_category import VATCategory
283
+ from factpulse.models.vat_line import VATLine
284
+ from factpulse.models.vat_point_date_code import VATPointDateCode
285
+ from factpulse.models.validate_e_reporting_request import ValidateEReportingRequest
286
+ from factpulse.models.validate_e_reporting_response import ValidateEReportingResponse
122
287
  from factpulse.models.validation_error import ValidationError
123
288
  from factpulse.models.validation_error_detail import ValidationErrorDetail
124
- from factpulse.models.validation_error_loc_inner import ValidationErrorLocInner
289
+ from factpulse.models.validation_error_response import ValidationErrorResponse
290
+ from factpulse.models.validation_info import ValidationInfo
291
+ from factpulse.models.validation_success_response import ValidationSuccessResponse
292
+ from factpulse.models.vat_rate import VatRate
293
+ from factpulse.models.verification_success_response import VerificationSuccessResponse
294
+ from factpulse.models.verified_field_schema import VerifiedFieldSchema
125
295
 
@@ -0,0 +1,38 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FactPulse REST API
5
+
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
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: contact@factpulse.fr
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class AcceptLanguage(str, Enum):
23
+ """
24
+ AFNOR Accept-Language header values.
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ FR = 'fr'
31
+ EN = 'en'
32
+
33
+ @classmethod
34
+ def from_json(cls, json_str: str) -> Self:
35
+ """Create an instance of AcceptLanguage from a JSON string"""
36
+ return cls(json.loads(json_str))
37
+
38
+
@@ -0,0 +1,39 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FactPulse REST API
5
+
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
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: contact@factpulse.fr
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class AcknowledgmentStatus(str, Enum):
23
+ """
24
+ Flow acknowledgment status.
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ PENDING = 'Pending'
31
+ OK = 'Ok'
32
+ ERROR = 'Error'
33
+
34
+ @classmethod
35
+ def from_json(cls, json_str: str) -> Self:
36
+ """Create an instance of AcknowledgmentStatus from a JSON string"""
37
+ return cls(json.loads(json_str))
38
+
39
+