factpulse 3.0.37 → 4.0.1

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.
Files changed (370) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -12
  3. data/Gemfile.lock +1 -1
  4. data/README.md +136 -138
  5. data/docs/AllowanceCharge.md +1 -1
  6. data/docs/Amount2.md +15 -0
  7. data/docs/CDARCycleDeVieApi.md +154 -30
  8. data/docs/ChorusProCredentials.md +8 -8
  9. data/docs/ChorusProDestination.md +1 -1
  10. data/docs/ClientActivateResponse.md +22 -0
  11. data/docs/ClientCreateRequest.md +22 -0
  12. data/docs/ClientDetail.md +38 -0
  13. data/docs/ClientListResponse.md +24 -0
  14. data/docs/ClientManagementApi.md +575 -0
  15. data/docs/ClientSummary.md +38 -0
  16. data/docs/ClientUpdateRequest.md +22 -0
  17. data/docs/DownloadsApi.md +0 -144
  18. data/docs/EncaisseeRequest.md +36 -0
  19. data/docs/FactureElectroniqueRestApiSchemasCdarValidationErrorResponse.md +24 -0
  20. data/docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md +26 -0
  21. data/docs/GetChorusProIdRequest.md +1 -1
  22. data/docs/GetInvoiceRequest.md +1 -1
  23. data/docs/GetStructureRequest.md +1 -1
  24. data/docs/PDPConfigResponse.md +44 -0
  25. data/docs/PDPConfigUpdateRequest.md +28 -0
  26. data/docs/PaymentAmountByRate.md +1 -1
  27. data/docs/Recipient.md +1 -1
  28. data/docs/RefuseeRequest.md +36 -0
  29. data/docs/SearchStructureRequest.md +1 -1
  30. data/docs/SecretStatus.md +20 -0
  31. data/docs/SimplifiedCDARResponse.md +26 -0
  32. data/docs/SubmitCDARRequest.md +9 -1
  33. data/docs/SubmitCDARXMLRequest.md +9 -1
  34. data/docs/SubmitCompleteInvoiceResponse.md +2 -2
  35. data/docs/SubmitInvoiceRequest.md +1 -1
  36. data/docs/Supplier.md +1 -1
  37. data/docs/ValidateCDARResponse.md +2 -2
  38. data/docs/ValidationErrorResponse.md +2 -8
  39. data/factpulse.gemspec +1 -1
  40. data/lib/factpulse/api/afnorpdppa_api.rb +1 -1
  41. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +1 -1
  42. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +1 -1
  43. data/lib/factpulse/api/cdar_cycle_de_vie_api.rb +159 -49
  44. data/lib/factpulse/api/chorus_pro_api.rb +1 -1
  45. data/lib/factpulse/api/client_management_api.rb +565 -0
  46. data/lib/factpulse/api/document_conversion_api.rb +1 -1
  47. data/lib/factpulse/api/downloads_api.rb +1 -130
  48. data/lib/factpulse/api/e_reporting_api.rb +1 -1
  49. data/lib/factpulse/api/health_api.rb +1 -1
  50. data/lib/factpulse/api/invoice_processing_api.rb +1 -1
  51. data/lib/factpulse/api/pdfxml_verification_api.rb +1 -1
  52. data/lib/factpulse/api/user_api.rb +1 -1
  53. data/lib/factpulse/api_client.rb +1 -1
  54. data/lib/factpulse/api_error.rb +1 -1
  55. data/lib/factpulse/api_model_base.rb +1 -1
  56. data/lib/factpulse/configuration.rb +1 -1
  57. data/lib/factpulse/helpers/client.rb +199 -754
  58. data/lib/factpulse/helpers/exceptions.rb +38 -14
  59. data/lib/factpulse/helpers/helpers.rb +8 -7
  60. data/lib/factpulse/models/acknowledgment_status.rb +1 -1
  61. data/lib/factpulse/models/action_code_info.rb +1 -1
  62. data/lib/factpulse/models/action_codes_response.rb +1 -1
  63. data/lib/factpulse/models/additional_document.rb +1 -1
  64. data/lib/factpulse/models/afnor_acknowledgement.rb +1 -1
  65. data/lib/factpulse/models/afnor_acknowledgement_detail.rb +1 -1
  66. data/lib/factpulse/models/afnor_address_edit.rb +1 -1
  67. data/lib/factpulse/models/afnor_address_patch.rb +1 -1
  68. data/lib/factpulse/models/afnor_address_put.rb +1 -1
  69. data/lib/factpulse/models/afnor_address_read.rb +1 -1
  70. data/lib/factpulse/models/afnor_algorithm.rb +1 -1
  71. data/lib/factpulse/models/afnor_contains_operator.rb +1 -1
  72. data/lib/factpulse/models/afnor_create_directory_line_body.rb +1 -1
  73. data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +1 -1
  74. data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +1 -1
  75. data/lib/factpulse/models/afnor_create_routing_code_body.rb +1 -1
  76. data/lib/factpulse/models/afnor_credentials.rb +1 -1
  77. data/lib/factpulse/models/afnor_destination.rb +1 -1
  78. data/lib/factpulse/models/afnor_diffusion_status.rb +1 -1
  79. data/lib/factpulse/models/afnor_directory_line_field.rb +1 -1
  80. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +1 -1
  81. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +1 -1
  82. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +1 -1
  83. data/lib/factpulse/models/afnor_directory_line_post201_response.rb +1 -1
  84. data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +1 -1
  85. data/lib/factpulse/models/afnor_entity_type.rb +1 -1
  86. data/lib/factpulse/models/afnor_error.rb +1 -1
  87. data/lib/factpulse/models/afnor_facility_administrative_status.rb +1 -1
  88. data/lib/factpulse/models/afnor_facility_nature.rb +1 -1
  89. data/lib/factpulse/models/afnor_facility_payload_history.rb +1 -1
  90. data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +1 -1
  91. data/lib/factpulse/models/afnor_facility_payload_included.rb +1 -1
  92. data/lib/factpulse/models/afnor_facility_type.rb +1 -1
  93. data/lib/factpulse/models/afnor_flow.rb +1 -1
  94. data/lib/factpulse/models/afnor_flow_ack_status.rb +1 -1
  95. data/lib/factpulse/models/afnor_flow_direction.rb +1 -1
  96. data/lib/factpulse/models/afnor_flow_info.rb +1 -1
  97. data/lib/factpulse/models/afnor_flow_profile.rb +1 -1
  98. data/lib/factpulse/models/afnor_flow_syntax.rb +1 -1
  99. data/lib/factpulse/models/afnor_flow_type.rb +1 -1
  100. data/lib/factpulse/models/afnor_full_flow_info.rb +1 -1
  101. data/lib/factpulse/models/afnor_health_check_response.rb +1 -1
  102. data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +1 -1
  103. data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +1 -1
  104. data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +1 -1
  105. data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +1 -1
  106. data/lib/factpulse/models/afnor_platform_status.rb +1 -1
  107. data/lib/factpulse/models/afnor_processing_rule.rb +1 -1
  108. data/lib/factpulse/models/afnor_reason_code.rb +1 -1
  109. data/lib/factpulse/models/afnor_reason_code_enum.rb +1 -1
  110. data/lib/factpulse/models/afnor_recipient_platform_type.rb +1 -1
  111. data/lib/factpulse/models/afnor_result.rb +1 -1
  112. data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +1 -1
  113. data/lib/factpulse/models/afnor_routing_code_field.rb +1 -1
  114. data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +1 -1
  115. data/lib/factpulse/models/afnor_routing_code_post201_response.rb +1 -1
  116. data/lib/factpulse/models/afnor_routing_code_search.rb +1 -1
  117. data/lib/factpulse/models/afnor_routing_code_search_filters.rb +1 -1
  118. data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +1 -1
  119. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +1 -1
  120. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +1 -1
  121. data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +1 -1
  122. data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +1 -1
  123. data/lib/factpulse/models/afnor_search_directory_line.rb +1 -1
  124. data/lib/factpulse/models/afnor_search_directory_line_filters.rb +1 -1
  125. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +1 -1
  126. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +1 -1
  127. data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +1 -1
  128. data/lib/factpulse/models/afnor_search_flow_content.rb +1 -1
  129. data/lib/factpulse/models/afnor_search_flow_filters.rb +1 -1
  130. data/lib/factpulse/models/afnor_search_flow_params.rb +1 -1
  131. data/lib/factpulse/models/afnor_search_siren.rb +1 -1
  132. data/lib/factpulse/models/afnor_search_siren_filters.rb +1 -1
  133. data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +1 -1
  134. data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +1 -1
  135. data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +1 -1
  136. data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +1 -1
  137. data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +1 -1
  138. data/lib/factpulse/models/afnor_search_siret.rb +1 -1
  139. data/lib/factpulse/models/afnor_search_siret_filters.rb +1 -1
  140. data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +1 -1
  141. data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +1 -1
  142. data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +1 -1
  143. data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +1 -1
  144. data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +1 -1
  145. data/lib/factpulse/models/afnor_search_siret_filters_name.rb +1 -1
  146. data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +1 -1
  147. data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +1 -1
  148. data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +1 -1
  149. data/lib/factpulse/models/afnor_siren_field.rb +1 -1
  150. data/lib/factpulse/models/afnor_siren_search_post200_response.rb +1 -1
  151. data/lib/factpulse/models/afnor_siret_field.rb +1 -1
  152. data/lib/factpulse/models/afnor_siret_search_post200_response.rb +1 -1
  153. data/lib/factpulse/models/afnor_sorting_order.rb +1 -1
  154. data/lib/factpulse/models/afnor_strict_operator.rb +1 -1
  155. data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +1 -1
  156. data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +1 -1
  157. data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +1 -1
  158. data/lib/factpulse/models/afnor_webhook_callback_content.rb +1 -1
  159. data/lib/factpulse/models/aggregated_payment_input.rb +1 -1
  160. data/lib/factpulse/models/aggregated_transaction_input.rb +1 -1
  161. data/lib/factpulse/models/allowance_charge.rb +2 -2
  162. data/lib/factpulse/models/allowance_charge_reason_code.rb +1 -1
  163. data/lib/factpulse/models/allowance_reason_code.rb +1 -1
  164. data/lib/factpulse/models/allowance_total_amount.rb +1 -1
  165. data/lib/factpulse/models/amount.rb +2 -2
  166. data/lib/factpulse/models/amount1.rb +2 -2
  167. data/lib/factpulse/models/amount2.rb +104 -0
  168. data/lib/factpulse/models/amount_due.rb +1 -1
  169. data/lib/factpulse/models/api_error.rb +1 -1
  170. data/lib/factpulse/models/api_profile.rb +1 -1
  171. data/lib/factpulse/models/async_task_status.rb +1 -1
  172. data/lib/factpulse/models/base_amount.rb +1 -1
  173. data/lib/factpulse/models/bounding_box_schema.rb +1 -1
  174. data/lib/factpulse/models/buyercountry.rb +1 -1
  175. data/lib/factpulse/models/celery_status.rb +1 -1
  176. data/lib/factpulse/models/certificate_info_response.rb +1 -1
  177. data/lib/factpulse/models/charge_total_amount.rb +1 -1
  178. data/lib/factpulse/models/chorus_pro_credentials.rb +95 -27
  179. data/lib/factpulse/models/chorus_pro_destination.rb +2 -2
  180. data/lib/factpulse/models/chorus_pro_result.rb +1 -1
  181. data/lib/factpulse/models/{facture_electronique_rest_api_schemas_validation_validation_error_response.rb → client_activate_response.rb} +76 -24
  182. data/lib/factpulse/models/client_create_request.rb +236 -0
  183. data/lib/factpulse/models/client_detail.rb +368 -0
  184. data/lib/factpulse/models/client_list_response.rb +249 -0
  185. data/lib/factpulse/models/client_summary.rb +368 -0
  186. data/lib/factpulse/models/client_update_request.rb +225 -0
  187. data/lib/factpulse/models/contact.rb +1 -1
  188. data/lib/factpulse/models/convert_resume_request.rb +1 -1
  189. data/lib/factpulse/models/convert_success_response.rb +1 -1
  190. data/lib/factpulse/models/convert_validation_failed_response.rb +1 -1
  191. data/lib/factpulse/models/country_code.rb +1 -1
  192. data/lib/factpulse/models/create_aggregated_report_request.rb +1 -1
  193. data/lib/factpulse/models/create_cdar_request.rb +1 -1
  194. data/lib/factpulse/models/create_e_reporting_request.rb +1 -1
  195. data/lib/factpulse/models/currency.rb +1 -1
  196. data/lib/factpulse/models/currency_code.rb +1 -1
  197. data/lib/factpulse/models/delivery_party.rb +1 -1
  198. data/lib/factpulse/models/destination.rb +1 -1
  199. data/lib/factpulse/models/doc_type.rb +1 -1
  200. data/lib/factpulse/models/document_type_info.rb +1 -1
  201. data/lib/factpulse/models/e_reporting_flow_type.rb +1 -1
  202. data/lib/factpulse/models/e_reporting_validation_error.rb +1 -1
  203. data/lib/factpulse/models/electronic_address.rb +1 -1
  204. data/lib/factpulse/models/encaisseamount.rb +1 -1
  205. data/lib/factpulse/models/encaisseamount1.rb +1 -1
  206. data/lib/factpulse/models/encaissee_request.rb +293 -0
  207. data/lib/factpulse/models/enriched_invoice_info.rb +1 -1
  208. data/lib/factpulse/models/error_level.rb +1 -1
  209. data/lib/factpulse/models/error_source.rb +1 -1
  210. data/lib/factpulse/models/extraction_info.rb +1 -1
  211. data/lib/factpulse/models/factur_x_invoice.rb +1 -1
  212. data/lib/factpulse/models/factur_xpdf_info.rb +1 -1
  213. data/lib/factpulse/models/{body_submit_cdar_xml_api_v1_cdar_submit_xml_post.rb → facture_electronique_rest_api_schemas_cdar_validation_error_response.rb} +68 -27
  214. data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +1 -1
  215. data/lib/factpulse/models/{facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb → facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb} +30 -98
  216. data/lib/factpulse/models/field_status.rb +1 -1
  217. data/lib/factpulse/models/file_info.rb +1 -1
  218. data/lib/factpulse/models/files_info.rb +1 -1
  219. data/lib/factpulse/models/flow_direction.rb +1 -1
  220. data/lib/factpulse/models/flow_profile.rb +1 -1
  221. data/lib/factpulse/models/flow_summary.rb +1 -1
  222. data/lib/factpulse/models/flow_syntax.rb +1 -1
  223. data/lib/factpulse/models/flow_type.rb +1 -1
  224. data/lib/factpulse/models/generate_aggregated_report_response.rb +1 -1
  225. data/lib/factpulse/models/generate_cdar_response.rb +1 -1
  226. data/lib/factpulse/models/generate_certificate_request.rb +1 -1
  227. data/lib/factpulse/models/generate_certificate_response.rb +1 -1
  228. data/lib/factpulse/models/generate_e_reporting_response.rb +1 -1
  229. data/lib/factpulse/models/get_chorus_pro_id_request.rb +2 -2
  230. data/lib/factpulse/models/get_chorus_pro_id_response.rb +1 -1
  231. data/lib/factpulse/models/get_invoice_request.rb +2 -2
  232. data/lib/factpulse/models/get_invoice_response.rb +1 -1
  233. data/lib/factpulse/models/get_structure_request.rb +2 -2
  234. data/lib/factpulse/models/get_structure_response.rb +1 -1
  235. data/lib/factpulse/models/global_allowance_amount.rb +1 -1
  236. data/lib/factpulse/models/gross_unit_price.rb +1 -1
  237. data/lib/factpulse/models/http_validation_error.rb +1 -1
  238. data/lib/factpulse/models/incoming_invoice.rb +1 -1
  239. data/lib/factpulse/models/incoming_supplier.rb +1 -1
  240. data/lib/factpulse/models/invoice_format.rb +1 -1
  241. data/lib/factpulse/models/invoice_input.rb +1 -1
  242. data/lib/factpulse/models/invoice_line.rb +1 -1
  243. data/lib/factpulse/models/invoice_line_allowance_amount.rb +1 -1
  244. data/lib/factpulse/models/invoice_note.rb +1 -1
  245. data/lib/factpulse/models/invoice_payment_input.rb +1 -1
  246. data/lib/factpulse/models/invoice_references.rb +1 -1
  247. data/lib/factpulse/models/invoice_status.rb +1 -1
  248. data/lib/factpulse/models/invoice_totals.rb +1 -1
  249. data/lib/factpulse/models/invoice_totals_prepayment.rb +1 -1
  250. data/lib/factpulse/models/invoice_type_code.rb +1 -1
  251. data/lib/factpulse/models/invoice_type_code_output.rb +1 -1
  252. data/lib/factpulse/models/invoicing_framework.rb +1 -1
  253. data/lib/factpulse/models/invoicing_framework_code.rb +1 -1
  254. data/lib/factpulse/models/line_net_amount.rb +1 -1
  255. data/lib/factpulse/models/line_sub_type.rb +1 -1
  256. data/lib/factpulse/models/line_total_amount.rb +1 -1
  257. data/lib/factpulse/models/location_inner.rb +1 -1
  258. data/lib/factpulse/models/mandatory_note_schema.rb +1 -1
  259. data/lib/factpulse/models/manual_rate.rb +1 -1
  260. data/lib/factpulse/models/manual_vat_rate.rb +1 -1
  261. data/lib/factpulse/models/missing_field.rb +1 -1
  262. data/lib/factpulse/models/operation_nature.rb +1 -1
  263. data/lib/factpulse/models/output_format.rb +1 -1
  264. data/lib/factpulse/models/page_dimensions_schema.rb +1 -1
  265. data/lib/factpulse/models/payee.rb +1 -1
  266. data/lib/factpulse/models/payment_amount_by_rate.rb +2 -2
  267. data/lib/factpulse/models/payment_card.rb +1 -1
  268. data/lib/factpulse/models/payment_means.rb +1 -1
  269. data/lib/factpulse/models/pdf_validation_result_api.rb +1 -1
  270. data/lib/factpulse/models/pdp_config_response.rb +296 -0
  271. data/lib/factpulse/models/pdp_config_update_request.rb +271 -0
  272. data/lib/factpulse/models/pdp_credentials.rb +1 -1
  273. data/lib/factpulse/models/percentage.rb +1 -1
  274. data/lib/factpulse/models/postal_address.rb +1 -1
  275. data/lib/factpulse/models/price_allowance_amount.rb +1 -1
  276. data/lib/factpulse/models/price_basis_quantity.rb +1 -1
  277. data/lib/factpulse/models/processing_options.rb +1 -1
  278. data/lib/factpulse/models/processing_rule.rb +1 -1
  279. data/lib/factpulse/models/product_characteristic.rb +1 -1
  280. data/lib/factpulse/models/product_classification.rb +1 -1
  281. data/lib/factpulse/models/quantity.rb +1 -1
  282. data/lib/factpulse/models/rate.rb +1 -1
  283. data/lib/factpulse/models/rate1.rb +1 -1
  284. data/lib/factpulse/models/reason_code_info.rb +1 -1
  285. data/lib/factpulse/models/reason_codes_response.rb +1 -1
  286. data/lib/factpulse/models/recipient.rb +1 -3
  287. data/lib/factpulse/models/recipient_input.rb +1 -1
  288. data/lib/factpulse/models/refusee_request.rb +292 -0
  289. data/lib/factpulse/models/report_period.rb +1 -1
  290. data/lib/factpulse/models/report_sender.rb +1 -1
  291. data/lib/factpulse/models/rounding_amount.rb +1 -1
  292. data/lib/factpulse/models/schematron_validation_error.rb +1 -1
  293. data/lib/factpulse/models/scheme_id.rb +4 -4
  294. data/lib/factpulse/models/search_flow_request.rb +1 -1
  295. data/lib/factpulse/models/search_flow_response.rb +1 -1
  296. data/lib/factpulse/models/search_services_response.rb +1 -1
  297. data/lib/factpulse/models/search_structure_request.rb +2 -2
  298. data/lib/factpulse/models/search_structure_response.rb +1 -1
  299. data/lib/factpulse/models/{body_submit_cdar_api_v1_cdar_submit_post.rb → secret_status.rb} +46 -27
  300. data/lib/factpulse/models/sellercountry.rb +1 -1
  301. data/lib/factpulse/models/signature_info.rb +1 -1
  302. data/lib/factpulse/models/signature_info_api.rb +1 -1
  303. data/lib/factpulse/models/signature_parameters.rb +1 -1
  304. data/lib/factpulse/models/simplified_cdar_response.rb +274 -0
  305. data/lib/factpulse/models/simplified_invoice_data.rb +1 -1
  306. data/lib/factpulse/models/status_code_info.rb +1 -1
  307. data/lib/factpulse/models/status_codes_response.rb +1 -1
  308. data/lib/factpulse/models/structure_info.rb +1 -1
  309. data/lib/factpulse/models/structure_parameters.rb +1 -1
  310. data/lib/factpulse/models/structure_service.rb +1 -1
  311. data/lib/factpulse/models/submission_mode.rb +1 -1
  312. data/lib/factpulse/models/submit_aggregated_report_request.rb +1 -1
  313. data/lib/factpulse/models/submit_cdar_request.rb +45 -5
  314. data/lib/factpulse/models/submit_cdar_response.rb +1 -1
  315. data/lib/factpulse/models/submit_cdarxml_request.rb +46 -6
  316. data/lib/factpulse/models/submit_complete_invoice_request.rb +1 -1
  317. data/lib/factpulse/models/submit_complete_invoice_response.rb +17 -17
  318. data/lib/factpulse/models/submit_e_reporting_request.rb +1 -1
  319. data/lib/factpulse/models/submit_e_reporting_response.rb +1 -1
  320. data/lib/factpulse/models/submit_flow_request.rb +1 -1
  321. data/lib/factpulse/models/submit_flow_response.rb +1 -1
  322. data/lib/factpulse/models/submit_gross_amount.rb +1 -1
  323. data/lib/factpulse/models/submit_invoice_request.rb +2 -2
  324. data/lib/factpulse/models/submit_invoice_response.rb +1 -1
  325. data/lib/factpulse/models/submit_net_amount.rb +1 -1
  326. data/lib/factpulse/models/submit_vat_amount.rb +1 -1
  327. data/lib/factpulse/models/supplementary_attachment.rb +1 -1
  328. data/lib/factpulse/models/supplier.rb +1 -3
  329. data/lib/factpulse/models/task_response.rb +1 -1
  330. data/lib/factpulse/models/tax_breakdown_input.rb +1 -1
  331. data/lib/factpulse/models/tax_due_date_type.rb +1 -1
  332. data/lib/factpulse/models/tax_representative.rb +1 -1
  333. data/lib/factpulse/models/taxable_amount.rb +1 -1
  334. data/lib/factpulse/models/taxableamount.rb +1 -1
  335. data/lib/factpulse/models/taxamount.rb +1 -1
  336. data/lib/factpulse/models/taxamount1.rb +1 -1
  337. data/lib/factpulse/models/taxamount2.rb +1 -1
  338. data/lib/factpulse/models/taxexclusiveamount.rb +1 -1
  339. data/lib/factpulse/models/taxexclusiveamount1.rb +1 -1
  340. data/lib/factpulse/models/total_gross_amount.rb +1 -1
  341. data/lib/factpulse/models/total_net_amount.rb +1 -1
  342. data/lib/factpulse/models/total_vat_amount.rb +1 -1
  343. data/lib/factpulse/models/transaction_category.rb +1 -1
  344. data/lib/factpulse/models/transmission_type_code.rb +1 -1
  345. data/lib/factpulse/models/unit_net_price.rb +1 -1
  346. data/lib/factpulse/models/unit_of_measure.rb +1 -1
  347. data/lib/factpulse/models/validate_cdar_request.rb +1 -1
  348. data/lib/factpulse/models/validate_cdar_response.rb +3 -3
  349. data/lib/factpulse/models/validate_e_reporting_request.rb +1 -1
  350. data/lib/factpulse/models/validate_e_reporting_response.rb +1 -1
  351. data/lib/factpulse/models/validation_error.rb +1 -1
  352. data/lib/factpulse/models/validation_error_detail.rb +1 -1
  353. data/lib/factpulse/models/validation_error_response.rb +21 -68
  354. data/lib/factpulse/models/validation_info.rb +1 -1
  355. data/lib/factpulse/models/validation_success_response.rb +1 -1
  356. data/lib/factpulse/models/vat_accounting_code.rb +1 -1
  357. data/lib/factpulse/models/vat_amount.rb +1 -1
  358. data/lib/factpulse/models/vat_category.rb +1 -1
  359. data/lib/factpulse/models/vat_line.rb +1 -1
  360. data/lib/factpulse/models/vat_point_date_code.rb +1 -1
  361. data/lib/factpulse/models/vat_rate.rb +1 -1
  362. data/lib/factpulse/models/verification_success_response.rb +1 -1
  363. data/lib/factpulse/models/verified_field_schema.rb +1 -1
  364. data/lib/factpulse/version.rb +2 -2
  365. data/lib/factpulse.rb +17 -5
  366. metadata +34 -10
  367. data/docs/BodySubmitCdarApiV1CdarSubmitPost.md +0 -20
  368. data/docs/BodySubmitCdarXmlApiV1CdarSubmitXmlPost.md +0 -20
  369. data/docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md +0 -26
  370. data/docs/FactureElectroniqueRestApiSchemasValidationValidationErrorResponse.md +0 -18
@@ -0,0 +1,565 @@
1
+ =begin
2
+ #FactPulse REST API
3
+
4
+ # 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/
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: contact@factpulse.fr
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.20.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module FactPulse
16
+ class ClientManagementApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Activate a client
23
+ # Activate a deactivated client. **Scope**: Client level (JWT with client_uid that must match {uid})
24
+ # @param uid [String]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [ClientActivateResponse]
27
+ def activate_client_api_v1_clients_uid_activer_post(uid, opts = {})
28
+ data, _status_code, _headers = activate_client_api_v1_clients_uid_activer_post_with_http_info(uid, opts)
29
+ data
30
+ end
31
+
32
+ # Activate a client
33
+ # Activate a deactivated client. **Scope**: Client level (JWT with client_uid that must match {uid})
34
+ # @param uid [String]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(ClientActivateResponse, Integer, Hash)>] ClientActivateResponse data, response status code and response headers
37
+ def activate_client_api_v1_clients_uid_activer_post_with_http_info(uid, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: ClientManagementApi.activate_client_api_v1_clients_uid_activer_post ...'
40
+ end
41
+ # verify the required parameter 'uid' is set
42
+ if @api_client.config.client_side_validation && uid.nil?
43
+ fail ArgumentError, "Missing the required parameter 'uid' when calling ClientManagementApi.activate_client_api_v1_clients_uid_activer_post"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/clients/{uid}/activer'.sub('{' + 'uid' + '}', CGI.escape(uid.to_s))
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+
56
+ # form parameters
57
+ form_params = opts[:form_params] || {}
58
+
59
+ # http body (model)
60
+ post_body = opts[:debug_body]
61
+
62
+ # return_type
63
+ return_type = opts[:debug_return_type] || 'ClientActivateResponse'
64
+
65
+ # auth_names
66
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
67
+
68
+ new_options = opts.merge(
69
+ :operation => :"ClientManagementApi.activate_client_api_v1_clients_uid_activer_post",
70
+ :header_params => header_params,
71
+ :query_params => query_params,
72
+ :form_params => form_params,
73
+ :body => post_body,
74
+ :auth_names => auth_names,
75
+ :return_type => return_type
76
+ )
77
+
78
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
79
+ if @api_client.config.debugging
80
+ @api_client.config.logger.debug "API called: ClientManagementApi#activate_client_api_v1_clients_uid_activer_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
81
+ end
82
+ return data, status_code, headers
83
+ end
84
+
85
+ # Create a client
86
+ # Create a new client for the account. **Scope**: Account level (JWT without client_uid) **Fields**: - `name`: Client name (required) - `description`: Optional description - `siret`: Optional SIRET (14 digits)
87
+ # @param client_create_request [ClientCreateRequest]
88
+ # @param [Hash] opts the optional parameters
89
+ # @return [ClientDetail]
90
+ def create_client_api_v1_clients_post(client_create_request, opts = {})
91
+ data, _status_code, _headers = create_client_api_v1_clients_post_with_http_info(client_create_request, opts)
92
+ data
93
+ end
94
+
95
+ # Create a client
96
+ # Create a new client for the account. **Scope**: Account level (JWT without client_uid) **Fields**: - &#x60;name&#x60;: Client name (required) - &#x60;description&#x60;: Optional description - &#x60;siret&#x60;: Optional SIRET (14 digits)
97
+ # @param client_create_request [ClientCreateRequest]
98
+ # @param [Hash] opts the optional parameters
99
+ # @return [Array<(ClientDetail, Integer, Hash)>] ClientDetail data, response status code and response headers
100
+ def create_client_api_v1_clients_post_with_http_info(client_create_request, opts = {})
101
+ if @api_client.config.debugging
102
+ @api_client.config.logger.debug 'Calling API: ClientManagementApi.create_client_api_v1_clients_post ...'
103
+ end
104
+ # verify the required parameter 'client_create_request' is set
105
+ if @api_client.config.client_side_validation && client_create_request.nil?
106
+ fail ArgumentError, "Missing the required parameter 'client_create_request' when calling ClientManagementApi.create_client_api_v1_clients_post"
107
+ end
108
+ # resource path
109
+ local_var_path = '/api/v1/clients'
110
+
111
+ # query parameters
112
+ query_params = opts[:query_params] || {}
113
+
114
+ # header parameters
115
+ header_params = opts[:header_params] || {}
116
+ # HTTP header 'Accept' (if needed)
117
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
118
+ # HTTP header 'Content-Type'
119
+ content_type = @api_client.select_header_content_type(['application/json'])
120
+ if !content_type.nil?
121
+ header_params['Content-Type'] = content_type
122
+ end
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(client_create_request)
129
+
130
+ # return_type
131
+ return_type = opts[:debug_return_type] || 'ClientDetail'
132
+
133
+ # auth_names
134
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
135
+
136
+ new_options = opts.merge(
137
+ :operation => :"ClientManagementApi.create_client_api_v1_clients_post",
138
+ :header_params => header_params,
139
+ :query_params => query_params,
140
+ :form_params => form_params,
141
+ :body => post_body,
142
+ :auth_names => auth_names,
143
+ :return_type => return_type
144
+ )
145
+
146
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
147
+ if @api_client.config.debugging
148
+ @api_client.config.logger.debug "API called: ClientManagementApi#create_client_api_v1_clients_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
149
+ end
150
+ return data, status_code, headers
151
+ end
152
+
153
+ # Deactivate a client
154
+ # Deactivate an active client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Note**: A deactivated client cannot be used for API calls (AFNOR, Chorus Pro, etc.).
155
+ # @param uid [String]
156
+ # @param [Hash] opts the optional parameters
157
+ # @return [ClientActivateResponse]
158
+ def deactivate_client_api_v1_clients_uid_desactiver_post(uid, opts = {})
159
+ data, _status_code, _headers = deactivate_client_api_v1_clients_uid_desactiver_post_with_http_info(uid, opts)
160
+ data
161
+ end
162
+
163
+ # Deactivate a client
164
+ # Deactivate an active client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Note**: A deactivated client cannot be used for API calls (AFNOR, Chorus Pro, etc.).
165
+ # @param uid [String]
166
+ # @param [Hash] opts the optional parameters
167
+ # @return [Array<(ClientActivateResponse, Integer, Hash)>] ClientActivateResponse data, response status code and response headers
168
+ def deactivate_client_api_v1_clients_uid_desactiver_post_with_http_info(uid, opts = {})
169
+ if @api_client.config.debugging
170
+ @api_client.config.logger.debug 'Calling API: ClientManagementApi.deactivate_client_api_v1_clients_uid_desactiver_post ...'
171
+ end
172
+ # verify the required parameter 'uid' is set
173
+ if @api_client.config.client_side_validation && uid.nil?
174
+ fail ArgumentError, "Missing the required parameter 'uid' when calling ClientManagementApi.deactivate_client_api_v1_clients_uid_desactiver_post"
175
+ end
176
+ # resource path
177
+ local_var_path = '/api/v1/clients/{uid}/desactiver'.sub('{' + 'uid' + '}', CGI.escape(uid.to_s))
178
+
179
+ # query parameters
180
+ query_params = opts[:query_params] || {}
181
+
182
+ # header parameters
183
+ header_params = opts[:header_params] || {}
184
+ # HTTP header 'Accept' (if needed)
185
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
186
+
187
+ # form parameters
188
+ form_params = opts[:form_params] || {}
189
+
190
+ # http body (model)
191
+ post_body = opts[:debug_body]
192
+
193
+ # return_type
194
+ return_type = opts[:debug_return_type] || 'ClientActivateResponse'
195
+
196
+ # auth_names
197
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
198
+
199
+ new_options = opts.merge(
200
+ :operation => :"ClientManagementApi.deactivate_client_api_v1_clients_uid_desactiver_post",
201
+ :header_params => header_params,
202
+ :query_params => query_params,
203
+ :form_params => form_params,
204
+ :body => post_body,
205
+ :auth_names => auth_names,
206
+ :return_type => return_type
207
+ )
208
+
209
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
210
+ if @api_client.config.debugging
211
+ @api_client.config.logger.debug "API called: ClientManagementApi#deactivate_client_api_v1_clients_uid_desactiver_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
212
+ end
213
+ return data, status_code, headers
214
+ end
215
+
216
+ # Get client details
217
+ # Get details of a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Security**: If the JWT contains a client_uid, it must match the {uid} in the URL, otherwise a 403 error is returned.
218
+ # @param uid [String]
219
+ # @param [Hash] opts the optional parameters
220
+ # @return [ClientDetail]
221
+ def get_client_api_v1_clients_uid_get(uid, opts = {})
222
+ data, _status_code, _headers = get_client_api_v1_clients_uid_get_with_http_info(uid, opts)
223
+ data
224
+ end
225
+
226
+ # Get client details
227
+ # Get details of a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Security**: If the JWT contains a client_uid, it must match the {uid} in the URL, otherwise a 403 error is returned.
228
+ # @param uid [String]
229
+ # @param [Hash] opts the optional parameters
230
+ # @return [Array<(ClientDetail, Integer, Hash)>] ClientDetail data, response status code and response headers
231
+ def get_client_api_v1_clients_uid_get_with_http_info(uid, opts = {})
232
+ if @api_client.config.debugging
233
+ @api_client.config.logger.debug 'Calling API: ClientManagementApi.get_client_api_v1_clients_uid_get ...'
234
+ end
235
+ # verify the required parameter 'uid' is set
236
+ if @api_client.config.client_side_validation && uid.nil?
237
+ fail ArgumentError, "Missing the required parameter 'uid' when calling ClientManagementApi.get_client_api_v1_clients_uid_get"
238
+ end
239
+ # resource path
240
+ local_var_path = '/api/v1/clients/{uid}'.sub('{' + 'uid' + '}', CGI.escape(uid.to_s))
241
+
242
+ # query parameters
243
+ query_params = opts[:query_params] || {}
244
+
245
+ # header parameters
246
+ header_params = opts[:header_params] || {}
247
+ # HTTP header 'Accept' (if needed)
248
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
249
+
250
+ # form parameters
251
+ form_params = opts[:form_params] || {}
252
+
253
+ # http body (model)
254
+ post_body = opts[:debug_body]
255
+
256
+ # return_type
257
+ return_type = opts[:debug_return_type] || 'ClientDetail'
258
+
259
+ # auth_names
260
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
261
+
262
+ new_options = opts.merge(
263
+ :operation => :"ClientManagementApi.get_client_api_v1_clients_uid_get",
264
+ :header_params => header_params,
265
+ :query_params => query_params,
266
+ :form_params => form_params,
267
+ :body => post_body,
268
+ :auth_names => auth_names,
269
+ :return_type => return_type
270
+ )
271
+
272
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
273
+ if @api_client.config.debugging
274
+ @api_client.config.logger.debug "API called: ClientManagementApi#get_client_api_v1_clients_uid_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
275
+ end
276
+ return data, status_code, headers
277
+ end
278
+
279
+ # Get client PDP configuration
280
+ # Get the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Security**: The client secret is never returned. Only a status (`secretStatus`) indicates whether a secret is configured. **Response**: - If configured: all config details (URLs, client_id, secret status) - If not configured: `isConfigured: false` with a message
281
+ # @param uid [String]
282
+ # @param [Hash] opts the optional parameters
283
+ # @return [PDPConfigResponse]
284
+ def get_pdp_config_api_v1_clients_uid_pdp_config_get(uid, opts = {})
285
+ data, _status_code, _headers = get_pdp_config_api_v1_clients_uid_pdp_config_get_with_http_info(uid, opts)
286
+ data
287
+ end
288
+
289
+ # Get client PDP configuration
290
+ # Get the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Security**: The client secret is never returned. Only a status (&#x60;secretStatus&#x60;) indicates whether a secret is configured. **Response**: - If configured: all config details (URLs, client_id, secret status) - If not configured: &#x60;isConfigured: false&#x60; with a message
291
+ # @param uid [String]
292
+ # @param [Hash] opts the optional parameters
293
+ # @return [Array<(PDPConfigResponse, Integer, Hash)>] PDPConfigResponse data, response status code and response headers
294
+ def get_pdp_config_api_v1_clients_uid_pdp_config_get_with_http_info(uid, opts = {})
295
+ if @api_client.config.debugging
296
+ @api_client.config.logger.debug 'Calling API: ClientManagementApi.get_pdp_config_api_v1_clients_uid_pdp_config_get ...'
297
+ end
298
+ # verify the required parameter 'uid' is set
299
+ if @api_client.config.client_side_validation && uid.nil?
300
+ fail ArgumentError, "Missing the required parameter 'uid' when calling ClientManagementApi.get_pdp_config_api_v1_clients_uid_pdp_config_get"
301
+ end
302
+ # resource path
303
+ local_var_path = '/api/v1/clients/{uid}/pdp-config'.sub('{' + 'uid' + '}', CGI.escape(uid.to_s))
304
+
305
+ # query parameters
306
+ query_params = opts[:query_params] || {}
307
+
308
+ # header parameters
309
+ header_params = opts[:header_params] || {}
310
+ # HTTP header 'Accept' (if needed)
311
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
312
+
313
+ # form parameters
314
+ form_params = opts[:form_params] || {}
315
+
316
+ # http body (model)
317
+ post_body = opts[:debug_body]
318
+
319
+ # return_type
320
+ return_type = opts[:debug_return_type] || 'PDPConfigResponse'
321
+
322
+ # auth_names
323
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
324
+
325
+ new_options = opts.merge(
326
+ :operation => :"ClientManagementApi.get_pdp_config_api_v1_clients_uid_pdp_config_get",
327
+ :header_params => header_params,
328
+ :query_params => query_params,
329
+ :form_params => form_params,
330
+ :body => post_body,
331
+ :auth_names => auth_names,
332
+ :return_type => return_type
333
+ )
334
+
335
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
336
+ if @api_client.config.debugging
337
+ @api_client.config.logger.debug "API called: ClientManagementApi#get_pdp_config_api_v1_clients_uid_pdp_config_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
338
+ end
339
+ return data, status_code, headers
340
+ end
341
+
342
+ # List clients
343
+ # Paginated list of clients for the account. **Scope**: Account level (JWT without client_uid) **Pagination**: - `page`: Page number (default: 1) - `pageSize`: Page size (default: 20, max: 100)
344
+ # @param [Hash] opts the optional parameters
345
+ # @option opts [Integer] :page Page number (default to 1)
346
+ # @option opts [Integer] :page_size Page size (default to 20)
347
+ # @return [ClientListResponse]
348
+ def list_clients_api_v1_clients_get(opts = {})
349
+ data, _status_code, _headers = list_clients_api_v1_clients_get_with_http_info(opts)
350
+ data
351
+ end
352
+
353
+ # List clients
354
+ # Paginated list of clients for the account. **Scope**: Account level (JWT without client_uid) **Pagination**: - &#x60;page&#x60;: Page number (default: 1) - &#x60;pageSize&#x60;: Page size (default: 20, max: 100)
355
+ # @param [Hash] opts the optional parameters
356
+ # @option opts [Integer] :page Page number (default to 1)
357
+ # @option opts [Integer] :page_size Page size (default to 20)
358
+ # @return [Array<(ClientListResponse, Integer, Hash)>] ClientListResponse data, response status code and response headers
359
+ def list_clients_api_v1_clients_get_with_http_info(opts = {})
360
+ if @api_client.config.debugging
361
+ @api_client.config.logger.debug 'Calling API: ClientManagementApi.list_clients_api_v1_clients_get ...'
362
+ end
363
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
364
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ClientManagementApi.list_clients_api_v1_clients_get, must be greater than or equal to 1.'
365
+ end
366
+
367
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
368
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ClientManagementApi.list_clients_api_v1_clients_get, must be smaller than or equal to 100.'
369
+ end
370
+
371
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
372
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ClientManagementApi.list_clients_api_v1_clients_get, must be greater than or equal to 1.'
373
+ end
374
+
375
+ # resource path
376
+ local_var_path = '/api/v1/clients'
377
+
378
+ # query parameters
379
+ query_params = opts[:query_params] || {}
380
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
381
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
382
+
383
+ # header parameters
384
+ header_params = opts[:header_params] || {}
385
+ # HTTP header 'Accept' (if needed)
386
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
387
+
388
+ # form parameters
389
+ form_params = opts[:form_params] || {}
390
+
391
+ # http body (model)
392
+ post_body = opts[:debug_body]
393
+
394
+ # return_type
395
+ return_type = opts[:debug_return_type] || 'ClientListResponse'
396
+
397
+ # auth_names
398
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
399
+
400
+ new_options = opts.merge(
401
+ :operation => :"ClientManagementApi.list_clients_api_v1_clients_get",
402
+ :header_params => header_params,
403
+ :query_params => query_params,
404
+ :form_params => form_params,
405
+ :body => post_body,
406
+ :auth_names => auth_names,
407
+ :return_type => return_type
408
+ )
409
+
410
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
411
+ if @api_client.config.debugging
412
+ @api_client.config.logger.debug "API called: ClientManagementApi#list_clients_api_v1_clients_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
413
+ end
414
+ return data, status_code, headers
415
+ end
416
+
417
+ # Update a client
418
+ # Update client information (partial update). **Scope**: Client level (JWT with client_uid that must match {uid}) **Updatable fields**: - `name`: Client name - `description`: Description - `siret`: SIRET (14 digits) Only provided fields are updated.
419
+ # @param uid [String]
420
+ # @param client_update_request [ClientUpdateRequest]
421
+ # @param [Hash] opts the optional parameters
422
+ # @return [ClientDetail]
423
+ def update_client_api_v1_clients_uid_patch(uid, client_update_request, opts = {})
424
+ data, _status_code, _headers = update_client_api_v1_clients_uid_patch_with_http_info(uid, client_update_request, opts)
425
+ data
426
+ end
427
+
428
+ # Update a client
429
+ # Update client information (partial update). **Scope**: Client level (JWT with client_uid that must match {uid}) **Updatable fields**: - &#x60;name&#x60;: Client name - &#x60;description&#x60;: Description - &#x60;siret&#x60;: SIRET (14 digits) Only provided fields are updated.
430
+ # @param uid [String]
431
+ # @param client_update_request [ClientUpdateRequest]
432
+ # @param [Hash] opts the optional parameters
433
+ # @return [Array<(ClientDetail, Integer, Hash)>] ClientDetail data, response status code and response headers
434
+ def update_client_api_v1_clients_uid_patch_with_http_info(uid, client_update_request, opts = {})
435
+ if @api_client.config.debugging
436
+ @api_client.config.logger.debug 'Calling API: ClientManagementApi.update_client_api_v1_clients_uid_patch ...'
437
+ end
438
+ # verify the required parameter 'uid' is set
439
+ if @api_client.config.client_side_validation && uid.nil?
440
+ fail ArgumentError, "Missing the required parameter 'uid' when calling ClientManagementApi.update_client_api_v1_clients_uid_patch"
441
+ end
442
+ # verify the required parameter 'client_update_request' is set
443
+ if @api_client.config.client_side_validation && client_update_request.nil?
444
+ fail ArgumentError, "Missing the required parameter 'client_update_request' when calling ClientManagementApi.update_client_api_v1_clients_uid_patch"
445
+ end
446
+ # resource path
447
+ local_var_path = '/api/v1/clients/{uid}'.sub('{' + 'uid' + '}', CGI.escape(uid.to_s))
448
+
449
+ # query parameters
450
+ query_params = opts[:query_params] || {}
451
+
452
+ # header parameters
453
+ header_params = opts[:header_params] || {}
454
+ # HTTP header 'Accept' (if needed)
455
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
456
+ # HTTP header 'Content-Type'
457
+ content_type = @api_client.select_header_content_type(['application/json'])
458
+ if !content_type.nil?
459
+ header_params['Content-Type'] = content_type
460
+ end
461
+
462
+ # form parameters
463
+ form_params = opts[:form_params] || {}
464
+
465
+ # http body (model)
466
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(client_update_request)
467
+
468
+ # return_type
469
+ return_type = opts[:debug_return_type] || 'ClientDetail'
470
+
471
+ # auth_names
472
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
473
+
474
+ new_options = opts.merge(
475
+ :operation => :"ClientManagementApi.update_client_api_v1_clients_uid_patch",
476
+ :header_params => header_params,
477
+ :query_params => query_params,
478
+ :form_params => form_params,
479
+ :body => post_body,
480
+ :auth_names => auth_names,
481
+ :return_type => return_type
482
+ )
483
+
484
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
485
+ if @api_client.config.debugging
486
+ @api_client.config.logger.debug "API called: ClientManagementApi#update_client_api_v1_clients_uid_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
487
+ end
488
+ return data, status_code, headers
489
+ end
490
+
491
+ # Configure client PDP
492
+ # Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
493
+ # @param uid [String]
494
+ # @param pdp_config_update_request [PDPConfigUpdateRequest]
495
+ # @param [Hash] opts the optional parameters
496
+ # @return [PDPConfigResponse]
497
+ def update_pdp_config_api_v1_clients_uid_pdp_config_put(uid, pdp_config_update_request, opts = {})
498
+ data, _status_code, _headers = update_pdp_config_api_v1_clients_uid_pdp_config_put_with_http_info(uid, pdp_config_update_request, opts)
499
+ data
500
+ end
501
+
502
+ # Configure client PDP
503
+ # Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - &#x60;flowServiceUrl&#x60;: PDP Flow Service URL - &#x60;tokenUrl&#x60;: PDP OAuth token URL - &#x60;oauthClientId&#x60;: OAuth Client ID - &#x60;clientSecret&#x60;: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - &#x60;isActive&#x60;: Enable/disable the config (default: true) - &#x60;modeSandbox&#x60;: Sandbox mode (default: false) **Security**: The &#x60;clientSecret&#x60; is stored encrypted on Django side and is never returned in API responses.
504
+ # @param uid [String]
505
+ # @param pdp_config_update_request [PDPConfigUpdateRequest]
506
+ # @param [Hash] opts the optional parameters
507
+ # @return [Array<(PDPConfigResponse, Integer, Hash)>] PDPConfigResponse data, response status code and response headers
508
+ def update_pdp_config_api_v1_clients_uid_pdp_config_put_with_http_info(uid, pdp_config_update_request, opts = {})
509
+ if @api_client.config.debugging
510
+ @api_client.config.logger.debug 'Calling API: ClientManagementApi.update_pdp_config_api_v1_clients_uid_pdp_config_put ...'
511
+ end
512
+ # verify the required parameter 'uid' is set
513
+ if @api_client.config.client_side_validation && uid.nil?
514
+ fail ArgumentError, "Missing the required parameter 'uid' when calling ClientManagementApi.update_pdp_config_api_v1_clients_uid_pdp_config_put"
515
+ end
516
+ # verify the required parameter 'pdp_config_update_request' is set
517
+ if @api_client.config.client_side_validation && pdp_config_update_request.nil?
518
+ fail ArgumentError, "Missing the required parameter 'pdp_config_update_request' when calling ClientManagementApi.update_pdp_config_api_v1_clients_uid_pdp_config_put"
519
+ end
520
+ # resource path
521
+ local_var_path = '/api/v1/clients/{uid}/pdp-config'.sub('{' + 'uid' + '}', CGI.escape(uid.to_s))
522
+
523
+ # query parameters
524
+ query_params = opts[:query_params] || {}
525
+
526
+ # header parameters
527
+ header_params = opts[:header_params] || {}
528
+ # HTTP header 'Accept' (if needed)
529
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
530
+ # HTTP header 'Content-Type'
531
+ content_type = @api_client.select_header_content_type(['application/json'])
532
+ if !content_type.nil?
533
+ header_params['Content-Type'] = content_type
534
+ end
535
+
536
+ # form parameters
537
+ form_params = opts[:form_params] || {}
538
+
539
+ # http body (model)
540
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(pdp_config_update_request)
541
+
542
+ # return_type
543
+ return_type = opts[:debug_return_type] || 'PDPConfigResponse'
544
+
545
+ # auth_names
546
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
547
+
548
+ new_options = opts.merge(
549
+ :operation => :"ClientManagementApi.update_pdp_config_api_v1_clients_uid_pdp_config_put",
550
+ :header_params => header_params,
551
+ :query_params => query_params,
552
+ :form_params => form_params,
553
+ :body => post_body,
554
+ :auth_names => auth_names,
555
+ :return_type => return_type
556
+ )
557
+
558
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
559
+ if @api_client.config.debugging
560
+ @api_client.config.logger.debug "API called: ClientManagementApi#update_pdp_config_api_v1_clients_uid_pdp_config_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
561
+ end
562
+ return data, status_code, headers
563
+ end
564
+ end
565
+ end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: contact@factpulse.fr
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.19.0-SNAPSHOT
9
+ Generator version: 7.20.0-SNAPSHOT
10
10
 
11
11
  =end
12
12