factpulse 4.0.1 → 4.0.2

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 (368) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -4
  3. data/Gemfile.lock +1 -1
  4. data/docs/AFNORPDPPAApi.md +5 -72
  5. data/docs/AsyncTasksApi.md +77 -0
  6. data/docs/ChorusProCredentials.md +8 -8
  7. data/docs/ChorusProDestination.md +1 -1
  8. data/docs/CreateAggregatedReportRequest.md +3 -1
  9. data/docs/CreateEReportingRequest.md +3 -1
  10. data/docs/ElectronicSignatureApi.md +319 -0
  11. data/docs/EncaisseeRequest.md +10 -6
  12. data/docs/{DocumentConversionApi.md → FacturXConversionApi.md} +39 -39
  13. data/docs/FacturXGenerationApi.md +239 -0
  14. data/docs/FacturXInvoice.md +1 -1
  15. data/docs/FacturXPDFXMLVerificationApi.md +225 -0
  16. data/docs/FacturXValidationApi.md +241 -0
  17. data/docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md +26 -0
  18. data/docs/{EReportingApi.md → Flux10EReportingApi.md} +53 -51
  19. data/docs/{CDARCycleDeVieApi.md → Flux6InvoiceLifecycleCDARApi.md} +145 -75
  20. data/docs/GetChorusProIdRequest.md +1 -1
  21. data/docs/GetInvoiceRequest.md +1 -1
  22. data/docs/GetStructureRequest.md +1 -1
  23. data/docs/HealthApi.md +67 -0
  24. data/docs/InvoiceInput.md +4 -2
  25. data/docs/IssuerRoleCode.md +15 -0
  26. data/docs/RefuseeRequest.md +10 -6
  27. data/docs/ReportIssuer.md +24 -0
  28. data/docs/ReportSender.md +1 -1
  29. data/docs/SearchStructureRequest.md +1 -1
  30. data/docs/SubmitInvoiceRequest.md +1 -1
  31. data/factpulse.gemspec +2 -2
  32. data/lib/factpulse/api/afnorpdppa_api.rb +5 -62
  33. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +1 -1
  34. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +1 -1
  35. data/lib/factpulse/api/async_tasks_api.rb +85 -0
  36. data/lib/factpulse/api/chorus_pro_api.rb +1 -1
  37. data/lib/factpulse/api/client_management_api.rb +1 -1
  38. data/lib/factpulse/api/downloads_api.rb +1 -1
  39. data/lib/factpulse/api/electronic_signature_api.rb +339 -0
  40. data/lib/factpulse/api/{document_conversion_api.rb → factur_x_conversion_api.rb} +42 -42
  41. data/lib/factpulse/api/factur_x_generation_api.rb +254 -0
  42. data/lib/factpulse/api/factur_x_validation_api.rb +256 -0
  43. data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +232 -0
  44. data/lib/factpulse/api/{e_reporting_api.rb → flux10_e_reporting_api.rb} +54 -51
  45. data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +670 -0
  46. data/lib/factpulse/api/health_api.rb +58 -1
  47. data/lib/factpulse/api_client.rb +1 -1
  48. data/lib/factpulse/api_error.rb +1 -1
  49. data/lib/factpulse/api_model_base.rb +1 -1
  50. data/lib/factpulse/configuration.rb +1 -1
  51. data/lib/factpulse/models/acknowledgment_status.rb +1 -1
  52. data/lib/factpulse/models/action_code_info.rb +1 -1
  53. data/lib/factpulse/models/action_codes_response.rb +1 -1
  54. data/lib/factpulse/models/additional_document.rb +1 -1
  55. data/lib/factpulse/models/afnor_acknowledgement.rb +1 -1
  56. data/lib/factpulse/models/afnor_acknowledgement_detail.rb +1 -1
  57. data/lib/factpulse/models/afnor_address_edit.rb +1 -1
  58. data/lib/factpulse/models/afnor_address_patch.rb +1 -1
  59. data/lib/factpulse/models/afnor_address_put.rb +1 -1
  60. data/lib/factpulse/models/afnor_address_read.rb +1 -1
  61. data/lib/factpulse/models/afnor_algorithm.rb +1 -1
  62. data/lib/factpulse/models/afnor_contains_operator.rb +1 -1
  63. data/lib/factpulse/models/afnor_create_directory_line_body.rb +1 -1
  64. data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +1 -1
  65. data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +1 -1
  66. data/lib/factpulse/models/afnor_create_routing_code_body.rb +1 -1
  67. data/lib/factpulse/models/afnor_credentials.rb +1 -1
  68. data/lib/factpulse/models/afnor_destination.rb +1 -1
  69. data/lib/factpulse/models/afnor_diffusion_status.rb +1 -1
  70. data/lib/factpulse/models/afnor_directory_line_field.rb +1 -1
  71. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +1 -1
  72. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +1 -1
  73. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +1 -1
  74. data/lib/factpulse/models/afnor_directory_line_post201_response.rb +1 -1
  75. data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +1 -1
  76. data/lib/factpulse/models/afnor_entity_type.rb +1 -1
  77. data/lib/factpulse/models/afnor_error.rb +1 -1
  78. data/lib/factpulse/models/afnor_facility_administrative_status.rb +1 -1
  79. data/lib/factpulse/models/afnor_facility_nature.rb +1 -1
  80. data/lib/factpulse/models/afnor_facility_payload_history.rb +1 -1
  81. data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +1 -1
  82. data/lib/factpulse/models/afnor_facility_payload_included.rb +1 -1
  83. data/lib/factpulse/models/afnor_facility_type.rb +1 -1
  84. data/lib/factpulse/models/afnor_flow.rb +1 -1
  85. data/lib/factpulse/models/afnor_flow_ack_status.rb +1 -1
  86. data/lib/factpulse/models/afnor_flow_direction.rb +1 -1
  87. data/lib/factpulse/models/afnor_flow_info.rb +1 -1
  88. data/lib/factpulse/models/afnor_flow_profile.rb +1 -1
  89. data/lib/factpulse/models/afnor_flow_syntax.rb +1 -1
  90. data/lib/factpulse/models/afnor_flow_type.rb +1 -1
  91. data/lib/factpulse/models/afnor_full_flow_info.rb +1 -1
  92. data/lib/factpulse/models/afnor_health_check_response.rb +1 -1
  93. data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +1 -1
  94. data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +1 -1
  95. data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +1 -1
  96. data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +1 -1
  97. data/lib/factpulse/models/afnor_platform_status.rb +1 -1
  98. data/lib/factpulse/models/afnor_processing_rule.rb +1 -1
  99. data/lib/factpulse/models/afnor_reason_code.rb +1 -1
  100. data/lib/factpulse/models/afnor_reason_code_enum.rb +1 -1
  101. data/lib/factpulse/models/afnor_recipient_platform_type.rb +1 -1
  102. data/lib/factpulse/models/afnor_result.rb +1 -1
  103. data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +1 -1
  104. data/lib/factpulse/models/afnor_routing_code_field.rb +1 -1
  105. data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +1 -1
  106. data/lib/factpulse/models/afnor_routing_code_post201_response.rb +1 -1
  107. data/lib/factpulse/models/afnor_routing_code_search.rb +1 -1
  108. data/lib/factpulse/models/afnor_routing_code_search_filters.rb +1 -1
  109. data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +1 -1
  110. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +1 -1
  111. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +1 -1
  112. data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +1 -1
  113. data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +1 -1
  114. data/lib/factpulse/models/afnor_search_directory_line.rb +1 -1
  115. data/lib/factpulse/models/afnor_search_directory_line_filters.rb +1 -1
  116. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +1 -1
  117. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +1 -1
  118. data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +1 -1
  119. data/lib/factpulse/models/afnor_search_flow_content.rb +1 -1
  120. data/lib/factpulse/models/afnor_search_flow_filters.rb +1 -1
  121. data/lib/factpulse/models/afnor_search_flow_params.rb +1 -1
  122. data/lib/factpulse/models/afnor_search_siren.rb +1 -1
  123. data/lib/factpulse/models/afnor_search_siren_filters.rb +1 -1
  124. data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +1 -1
  125. data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +1 -1
  126. data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +1 -1
  127. data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +1 -1
  128. data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +1 -1
  129. data/lib/factpulse/models/afnor_search_siret.rb +1 -1
  130. data/lib/factpulse/models/afnor_search_siret_filters.rb +1 -1
  131. data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +1 -1
  132. data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +1 -1
  133. data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +1 -1
  134. data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +1 -1
  135. data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +1 -1
  136. data/lib/factpulse/models/afnor_search_siret_filters_name.rb +1 -1
  137. data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +1 -1
  138. data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +1 -1
  139. data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +1 -1
  140. data/lib/factpulse/models/afnor_siren_field.rb +1 -1
  141. data/lib/factpulse/models/afnor_siren_search_post200_response.rb +1 -1
  142. data/lib/factpulse/models/afnor_siret_field.rb +1 -1
  143. data/lib/factpulse/models/afnor_siret_search_post200_response.rb +1 -1
  144. data/lib/factpulse/models/afnor_sorting_order.rb +1 -1
  145. data/lib/factpulse/models/afnor_strict_operator.rb +1 -1
  146. data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +1 -1
  147. data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +1 -1
  148. data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +1 -1
  149. data/lib/factpulse/models/afnor_webhook_callback_content.rb +1 -1
  150. data/lib/factpulse/models/aggregated_payment_input.rb +1 -1
  151. data/lib/factpulse/models/aggregated_transaction_input.rb +1 -1
  152. data/lib/factpulse/models/allowance_charge.rb +1 -1
  153. data/lib/factpulse/models/allowance_charge_reason_code.rb +1 -1
  154. data/lib/factpulse/models/allowance_reason_code.rb +1 -1
  155. data/lib/factpulse/models/allowance_total_amount.rb +1 -1
  156. data/lib/factpulse/models/amount.rb +1 -1
  157. data/lib/factpulse/models/amount1.rb +1 -1
  158. data/lib/factpulse/models/amount2.rb +1 -1
  159. data/lib/factpulse/models/amount_due.rb +1 -1
  160. data/lib/factpulse/models/api_error.rb +1 -1
  161. data/lib/factpulse/models/api_profile.rb +1 -1
  162. data/lib/factpulse/models/async_task_status.rb +1 -1
  163. data/lib/factpulse/models/base_amount.rb +1 -1
  164. data/lib/factpulse/models/bounding_box_schema.rb +1 -1
  165. data/lib/factpulse/models/buyercountry.rb +2 -2
  166. data/lib/factpulse/models/celery_status.rb +1 -1
  167. data/lib/factpulse/models/certificate_info_response.rb +1 -1
  168. data/lib/factpulse/models/charge_total_amount.rb +1 -1
  169. data/lib/factpulse/models/chorus_pro_credentials.rb +27 -95
  170. data/lib/factpulse/models/chorus_pro_destination.rb +2 -2
  171. data/lib/factpulse/models/chorus_pro_result.rb +1 -1
  172. data/lib/factpulse/models/client_activate_response.rb +1 -1
  173. data/lib/factpulse/models/client_create_request.rb +1 -1
  174. data/lib/factpulse/models/client_detail.rb +1 -1
  175. data/lib/factpulse/models/client_list_response.rb +1 -1
  176. data/lib/factpulse/models/client_summary.rb +1 -1
  177. data/lib/factpulse/models/client_update_request.rb +1 -1
  178. data/lib/factpulse/models/contact.rb +1 -1
  179. data/lib/factpulse/models/convert_resume_request.rb +1 -1
  180. data/lib/factpulse/models/convert_success_response.rb +1 -1
  181. data/lib/factpulse/models/convert_validation_failed_response.rb +1 -1
  182. data/lib/factpulse/models/country_code.rb +1 -1
  183. data/lib/factpulse/models/create_aggregated_report_request.rb +13 -3
  184. data/lib/factpulse/models/create_cdar_request.rb +1 -1
  185. data/lib/factpulse/models/create_e_reporting_request.rb +13 -3
  186. data/lib/factpulse/models/currency.rb +1 -1
  187. data/lib/factpulse/models/currency_code.rb +1 -1
  188. data/lib/factpulse/models/delivery_party.rb +1 -1
  189. data/lib/factpulse/models/destination.rb +1 -1
  190. data/lib/factpulse/models/doc_type.rb +1 -1
  191. data/lib/factpulse/models/document_type_info.rb +1 -1
  192. data/lib/factpulse/models/e_reporting_flow_type.rb +1 -1
  193. data/lib/factpulse/models/e_reporting_validation_error.rb +1 -1
  194. data/lib/factpulse/models/electronic_address.rb +1 -1
  195. data/lib/factpulse/models/encaisseamount.rb +1 -1
  196. data/lib/factpulse/models/encaisseamount1.rb +1 -1
  197. data/lib/factpulse/models/encaissee_request.rb +86 -32
  198. data/lib/factpulse/models/enriched_invoice_info.rb +1 -1
  199. data/lib/factpulse/models/error_level.rb +1 -1
  200. data/lib/factpulse/models/error_source.rb +3 -2
  201. data/lib/factpulse/models/extraction_info.rb +1 -1
  202. data/lib/factpulse/models/factur_x_invoice.rb +1 -18
  203. data/lib/factpulse/models/factur_xpdf_info.rb +1 -1
  204. data/lib/factpulse/models/facture_electronique_rest_api_schemas_cdar_validation_error_response.rb +1 -1
  205. data/lib/factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb +259 -0
  206. data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +1 -1
  207. data/lib/factpulse/models/field_status.rb +1 -1
  208. data/lib/factpulse/models/file_info.rb +1 -1
  209. data/lib/factpulse/models/files_info.rb +1 -1
  210. data/lib/factpulse/models/flow_direction.rb +1 -1
  211. data/lib/factpulse/models/flow_profile.rb +1 -1
  212. data/lib/factpulse/models/flow_summary.rb +1 -1
  213. data/lib/factpulse/models/flow_syntax.rb +1 -1
  214. data/lib/factpulse/models/flow_type.rb +1 -1
  215. data/lib/factpulse/models/generate_aggregated_report_response.rb +1 -1
  216. data/lib/factpulse/models/generate_cdar_response.rb +1 -1
  217. data/lib/factpulse/models/generate_certificate_request.rb +1 -1
  218. data/lib/factpulse/models/generate_certificate_response.rb +1 -1
  219. data/lib/factpulse/models/generate_e_reporting_response.rb +1 -1
  220. data/lib/factpulse/models/get_chorus_pro_id_request.rb +2 -2
  221. data/lib/factpulse/models/get_chorus_pro_id_response.rb +1 -1
  222. data/lib/factpulse/models/get_invoice_request.rb +2 -2
  223. data/lib/factpulse/models/get_invoice_response.rb +1 -1
  224. data/lib/factpulse/models/get_structure_request.rb +2 -2
  225. data/lib/factpulse/models/get_structure_response.rb +1 -1
  226. data/lib/factpulse/models/global_allowance_amount.rb +1 -1
  227. data/lib/factpulse/models/gross_unit_price.rb +1 -1
  228. data/lib/factpulse/models/http_validation_error.rb +1 -1
  229. data/lib/factpulse/models/incoming_invoice.rb +1 -1
  230. data/lib/factpulse/models/incoming_supplier.rb +1 -1
  231. data/lib/factpulse/models/invoice_format.rb +1 -1
  232. data/lib/factpulse/models/invoice_input.rb +14 -21
  233. data/lib/factpulse/models/invoice_line.rb +1 -1
  234. data/lib/factpulse/models/invoice_line_allowance_amount.rb +1 -1
  235. data/lib/factpulse/models/invoice_note.rb +1 -1
  236. data/lib/factpulse/models/invoice_payment_input.rb +1 -1
  237. data/lib/factpulse/models/invoice_references.rb +1 -1
  238. data/lib/factpulse/models/invoice_status.rb +1 -1
  239. data/lib/factpulse/models/invoice_totals.rb +1 -1
  240. data/lib/factpulse/models/invoice_totals_prepayment.rb +1 -1
  241. data/lib/factpulse/models/invoice_type_code.rb +1 -1
  242. data/lib/factpulse/models/invoice_type_code_output.rb +1 -1
  243. data/lib/factpulse/models/invoicing_framework.rb +1 -1
  244. data/lib/factpulse/models/invoicing_framework_code.rb +1 -1
  245. data/lib/factpulse/models/issuer_role_code.rb +40 -0
  246. data/lib/factpulse/models/line_net_amount.rb +1 -1
  247. data/lib/factpulse/models/line_sub_type.rb +1 -1
  248. data/lib/factpulse/models/line_total_amount.rb +1 -1
  249. data/lib/factpulse/models/location_inner.rb +1 -1
  250. data/lib/factpulse/models/mandatory_note_schema.rb +1 -1
  251. data/lib/factpulse/models/manual_rate.rb +1 -1
  252. data/lib/factpulse/models/manual_vat_rate.rb +1 -1
  253. data/lib/factpulse/models/missing_field.rb +1 -1
  254. data/lib/factpulse/models/operation_nature.rb +1 -1
  255. data/lib/factpulse/models/output_format.rb +1 -1
  256. data/lib/factpulse/models/page_dimensions_schema.rb +1 -1
  257. data/lib/factpulse/models/payee.rb +1 -1
  258. data/lib/factpulse/models/payment_amount_by_rate.rb +1 -1
  259. data/lib/factpulse/models/payment_card.rb +1 -1
  260. data/lib/factpulse/models/payment_means.rb +1 -1
  261. data/lib/factpulse/models/pdf_validation_result_api.rb +1 -1
  262. data/lib/factpulse/models/pdp_config_response.rb +1 -1
  263. data/lib/factpulse/models/pdp_config_update_request.rb +1 -1
  264. data/lib/factpulse/models/pdp_credentials.rb +1 -1
  265. data/lib/factpulse/models/percentage.rb +1 -1
  266. data/lib/factpulse/models/postal_address.rb +1 -1
  267. data/lib/factpulse/models/price_allowance_amount.rb +1 -1
  268. data/lib/factpulse/models/price_basis_quantity.rb +1 -1
  269. data/lib/factpulse/models/processing_options.rb +1 -1
  270. data/lib/factpulse/models/processing_rule.rb +1 -1
  271. data/lib/factpulse/models/product_characteristic.rb +1 -1
  272. data/lib/factpulse/models/product_classification.rb +1 -1
  273. data/lib/factpulse/models/quantity.rb +1 -1
  274. data/lib/factpulse/models/rate.rb +1 -1
  275. data/lib/factpulse/models/rate1.rb +1 -1
  276. data/lib/factpulse/models/reason_code_info.rb +1 -1
  277. data/lib/factpulse/models/reason_codes_response.rb +1 -1
  278. data/lib/factpulse/models/recipient.rb +1 -1
  279. data/lib/factpulse/models/recipient_input.rb +1 -1
  280. data/lib/factpulse/models/refusee_request.rb +84 -30
  281. data/lib/factpulse/models/report_issuer.rb +236 -0
  282. data/lib/factpulse/models/report_period.rb +1 -1
  283. data/lib/factpulse/models/report_sender.rb +3 -3
  284. data/lib/factpulse/models/rounding_amount.rb +1 -1
  285. data/lib/factpulse/models/schematron_validation_error.rb +1 -1
  286. data/lib/factpulse/models/scheme_id.rb +1 -1
  287. data/lib/factpulse/models/search_flow_request.rb +1 -1
  288. data/lib/factpulse/models/search_flow_response.rb +1 -1
  289. data/lib/factpulse/models/search_services_response.rb +1 -1
  290. data/lib/factpulse/models/search_structure_request.rb +2 -2
  291. data/lib/factpulse/models/search_structure_response.rb +1 -1
  292. data/lib/factpulse/models/secret_status.rb +1 -1
  293. data/lib/factpulse/models/sellercountry.rb +2 -2
  294. data/lib/factpulse/models/signature_info.rb +1 -1
  295. data/lib/factpulse/models/signature_info_api.rb +1 -1
  296. data/lib/factpulse/models/signature_parameters.rb +1 -1
  297. data/lib/factpulse/models/simplified_cdar_response.rb +1 -1
  298. data/lib/factpulse/models/simplified_invoice_data.rb +1 -1
  299. data/lib/factpulse/models/status_code_info.rb +1 -1
  300. data/lib/factpulse/models/status_codes_response.rb +1 -1
  301. data/lib/factpulse/models/structure_info.rb +1 -1
  302. data/lib/factpulse/models/structure_parameters.rb +1 -1
  303. data/lib/factpulse/models/structure_service.rb +1 -1
  304. data/lib/factpulse/models/submission_mode.rb +1 -1
  305. data/lib/factpulse/models/submit_aggregated_report_request.rb +1 -1
  306. data/lib/factpulse/models/submit_cdar_request.rb +1 -1
  307. data/lib/factpulse/models/submit_cdar_response.rb +1 -1
  308. data/lib/factpulse/models/submit_cdarxml_request.rb +1 -1
  309. data/lib/factpulse/models/submit_complete_invoice_request.rb +1 -1
  310. data/lib/factpulse/models/submit_complete_invoice_response.rb +1 -1
  311. data/lib/factpulse/models/submit_e_reporting_request.rb +1 -1
  312. data/lib/factpulse/models/submit_e_reporting_response.rb +1 -1
  313. data/lib/factpulse/models/submit_flow_request.rb +1 -1
  314. data/lib/factpulse/models/submit_flow_response.rb +1 -1
  315. data/lib/factpulse/models/submit_gross_amount.rb +1 -1
  316. data/lib/factpulse/models/submit_invoice_request.rb +2 -2
  317. data/lib/factpulse/models/submit_invoice_response.rb +1 -1
  318. data/lib/factpulse/models/submit_net_amount.rb +1 -1
  319. data/lib/factpulse/models/submit_vat_amount.rb +1 -1
  320. data/lib/factpulse/models/supplementary_attachment.rb +1 -1
  321. data/lib/factpulse/models/supplier.rb +1 -1
  322. data/lib/factpulse/models/task_response.rb +1 -1
  323. data/lib/factpulse/models/tax_breakdown_input.rb +1 -1
  324. data/lib/factpulse/models/tax_due_date_type.rb +1 -1
  325. data/lib/factpulse/models/tax_representative.rb +1 -1
  326. data/lib/factpulse/models/taxable_amount.rb +1 -1
  327. data/lib/factpulse/models/taxableamount.rb +1 -1
  328. data/lib/factpulse/models/taxamount.rb +1 -1
  329. data/lib/factpulse/models/taxamount1.rb +1 -1
  330. data/lib/factpulse/models/taxamount2.rb +1 -1
  331. data/lib/factpulse/models/taxexclusiveamount.rb +1 -1
  332. data/lib/factpulse/models/taxexclusiveamount1.rb +1 -1
  333. data/lib/factpulse/models/total_gross_amount.rb +1 -1
  334. data/lib/factpulse/models/total_net_amount.rb +1 -1
  335. data/lib/factpulse/models/total_vat_amount.rb +1 -1
  336. data/lib/factpulse/models/transaction_category.rb +1 -1
  337. data/lib/factpulse/models/transmission_type_code.rb +1 -1
  338. data/lib/factpulse/models/unit_net_price.rb +1 -1
  339. data/lib/factpulse/models/unit_of_measure.rb +1 -1
  340. data/lib/factpulse/models/validate_cdar_request.rb +1 -1
  341. data/lib/factpulse/models/validate_cdar_response.rb +1 -1
  342. data/lib/factpulse/models/validate_e_reporting_request.rb +1 -1
  343. data/lib/factpulse/models/validate_e_reporting_response.rb +1 -1
  344. data/lib/factpulse/models/validation_error.rb +1 -1
  345. data/lib/factpulse/models/validation_error_detail.rb +1 -1
  346. data/lib/factpulse/models/validation_error_response.rb +1 -1
  347. data/lib/factpulse/models/validation_info.rb +1 -1
  348. data/lib/factpulse/models/validation_success_response.rb +1 -1
  349. data/lib/factpulse/models/vat_accounting_code.rb +1 -1
  350. data/lib/factpulse/models/vat_amount.rb +1 -1
  351. data/lib/factpulse/models/vat_category.rb +1 -1
  352. data/lib/factpulse/models/vat_line.rb +1 -1
  353. data/lib/factpulse/models/vat_point_date_code.rb +1 -1
  354. data/lib/factpulse/models/vat_rate.rb +1 -1
  355. data/lib/factpulse/models/verification_success_response.rb +1 -1
  356. data/lib/factpulse/models/verified_field_schema.rb +1 -1
  357. data/lib/factpulse/version.rb +2 -2
  358. data/lib/factpulse.rb +12 -8
  359. metadata +46 -37
  360. data/docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md +0 -26
  361. data/docs/InvoiceProcessingApi.md +0 -855
  362. data/docs/PDFXMLVerificationApi.md +0 -443
  363. data/docs/UserApi.md +0 -74
  364. data/lib/factpulse/api/cdar_cycle_de_vie_api.rb +0 -601
  365. data/lib/factpulse/api/invoice_processing_api.rb +0 -868
  366. data/lib/factpulse/api/pdfxml_verification_api.rb +0 -442
  367. data/lib/factpulse/api/user_api.rb +0 -79
  368. data/lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb +0 -191
@@ -0,0 +1,670 @@
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 - 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) ### ✅ Factur-X - Validation - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) ### ✍️ 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 ### 📋 Flux 6 - Invoice Lifecycle (CDAR) - **CDAR Messages**: Acknowledgements, invoice statuses - **PPF Statuses**: REFUSED (210), PAID (212) ### 📊 Flux 10 - E-Reporting - **Tax Declarations**: International B2B, B2C - **Flow Types**: 10.1 (B2B transactions), 10.2 (B2B payments), 10.3 (B2C transactions), 10.4 (B2C payments) ### 📡 AFNOR PDP/PA (XP Z12-013) - **Flow Service**: Submit and search flows to PDPs - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user ### 🏛️ Chorus Pro - **Public Sector Invoicing**: Complete API for Chorus Pro ### ⏳ Async Tasks - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **Webhooks**: Automatic notifications when tasks complete ## 🔒 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 Flux6InvoiceLifecycleCDARApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Generate a CDAR message
23
+ # Generate a CDAR XML message (Cross Domain Acknowledgement and Response) to communicate the status of an invoice. **Message types:** - **23** (Processing): Standard lifecycle message - **305** (Transmission): Inter-platform transmission message **Business rules:** - BR-FR-CDV-14: Status 212 (PAID) requires a paid amount - BR-FR-CDV-15: Statuses 206/207/208/210/213/501 require a reason code
24
+ # @param create_cdar_request [CreateCDARRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [GenerateCDARResponse]
27
+ def generate_cdar_api_v1_cdar_generate_post(create_cdar_request, opts = {})
28
+ data, _status_code, _headers = generate_cdar_api_v1_cdar_generate_post_with_http_info(create_cdar_request, opts)
29
+ data
30
+ end
31
+
32
+ # Generate a CDAR message
33
+ # Generate a CDAR XML message (Cross Domain Acknowledgement and Response) to communicate the status of an invoice. **Message types:** - **23** (Processing): Standard lifecycle message - **305** (Transmission): Inter-platform transmission message **Business rules:** - BR-FR-CDV-14: Status 212 (PAID) requires a paid amount - BR-FR-CDV-15: Statuses 206/207/208/210/213/501 require a reason code
34
+ # @param create_cdar_request [CreateCDARRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(GenerateCDARResponse, Integer, Hash)>] GenerateCDARResponse data, response status code and response headers
37
+ def generate_cdar_api_v1_cdar_generate_post_with_http_info(create_cdar_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.generate_cdar_api_v1_cdar_generate_post ...'
40
+ end
41
+ # verify the required parameter 'create_cdar_request' is set
42
+ if @api_client.config.client_side_validation && create_cdar_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'create_cdar_request' when calling Flux6InvoiceLifecycleCDARApi.generate_cdar_api_v1_cdar_generate_post"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/cdar/generate'
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
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_cdar_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'GenerateCDARResponse'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"Flux6InvoiceLifecycleCDARApi.generate_cdar_api_v1_cdar_generate_post",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#generate_cdar_api_v1_cdar_generate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # List of CDAR action codes
91
+ # Returns the complete list of action codes (BR-FR-CDV-CL-10). These codes indicate the requested action on the invoice.
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [ActionCodesResponse]
94
+ def get_action_codes_api_v1_cdar_action_codes_get(opts = {})
95
+ data, _status_code, _headers = get_action_codes_api_v1_cdar_action_codes_get_with_http_info(opts)
96
+ data
97
+ end
98
+
99
+ # List of CDAR action codes
100
+ # Returns the complete list of action codes (BR-FR-CDV-CL-10). These codes indicate the requested action on the invoice.
101
+ # @param [Hash] opts the optional parameters
102
+ # @return [Array<(ActionCodesResponse, Integer, Hash)>] ActionCodesResponse data, response status code and response headers
103
+ def get_action_codes_api_v1_cdar_action_codes_get_with_http_info(opts = {})
104
+ if @api_client.config.debugging
105
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.get_action_codes_api_v1_cdar_action_codes_get ...'
106
+ end
107
+ # resource path
108
+ local_var_path = '/api/v1/cdar/action-codes'
109
+
110
+ # query parameters
111
+ query_params = opts[:query_params] || {}
112
+
113
+ # header parameters
114
+ header_params = opts[:header_params] || {}
115
+ # HTTP header 'Accept' (if needed)
116
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
117
+
118
+ # form parameters
119
+ form_params = opts[:form_params] || {}
120
+
121
+ # http body (model)
122
+ post_body = opts[:debug_body]
123
+
124
+ # return_type
125
+ return_type = opts[:debug_return_type] || 'ActionCodesResponse'
126
+
127
+ # auth_names
128
+ auth_names = opts[:debug_auth_names] || []
129
+
130
+ new_options = opts.merge(
131
+ :operation => :"Flux6InvoiceLifecycleCDARApi.get_action_codes_api_v1_cdar_action_codes_get",
132
+ :header_params => header_params,
133
+ :query_params => query_params,
134
+ :form_params => form_params,
135
+ :body => post_body,
136
+ :auth_names => auth_names,
137
+ :return_type => return_type
138
+ )
139
+
140
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
141
+ if @api_client.config.debugging
142
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#get_action_codes_api_v1_cdar_action_codes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
143
+ end
144
+ return data, status_code, headers
145
+ end
146
+
147
+ # List of CDAR reason codes
148
+ # Returns the complete list of status reason codes (BR-FR-CDV-CL-09). These codes explain the reason for a particular status.
149
+ # @param [Hash] opts the optional parameters
150
+ # @return [ReasonCodesResponse]
151
+ def get_reason_codes_api_v1_cdar_reason_codes_get(opts = {})
152
+ data, _status_code, _headers = get_reason_codes_api_v1_cdar_reason_codes_get_with_http_info(opts)
153
+ data
154
+ end
155
+
156
+ # List of CDAR reason codes
157
+ # Returns the complete list of status reason codes (BR-FR-CDV-CL-09). These codes explain the reason for a particular status.
158
+ # @param [Hash] opts the optional parameters
159
+ # @return [Array<(ReasonCodesResponse, Integer, Hash)>] ReasonCodesResponse data, response status code and response headers
160
+ def get_reason_codes_api_v1_cdar_reason_codes_get_with_http_info(opts = {})
161
+ if @api_client.config.debugging
162
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.get_reason_codes_api_v1_cdar_reason_codes_get ...'
163
+ end
164
+ # resource path
165
+ local_var_path = '/api/v1/cdar/reason-codes'
166
+
167
+ # query parameters
168
+ query_params = opts[:query_params] || {}
169
+
170
+ # header parameters
171
+ header_params = opts[:header_params] || {}
172
+ # HTTP header 'Accept' (if needed)
173
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
174
+
175
+ # form parameters
176
+ form_params = opts[:form_params] || {}
177
+
178
+ # http body (model)
179
+ post_body = opts[:debug_body]
180
+
181
+ # return_type
182
+ return_type = opts[:debug_return_type] || 'ReasonCodesResponse'
183
+
184
+ # auth_names
185
+ auth_names = opts[:debug_auth_names] || []
186
+
187
+ new_options = opts.merge(
188
+ :operation => :"Flux6InvoiceLifecycleCDARApi.get_reason_codes_api_v1_cdar_reason_codes_get",
189
+ :header_params => header_params,
190
+ :query_params => query_params,
191
+ :form_params => form_params,
192
+ :body => post_body,
193
+ :auth_names => auth_names,
194
+ :return_type => return_type
195
+ )
196
+
197
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
198
+ if @api_client.config.debugging
199
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#get_reason_codes_api_v1_cdar_reason_codes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
200
+ end
201
+ return data, status_code, headers
202
+ end
203
+
204
+ # List of CDAR status codes
205
+ # Returns the complete list of invoice status codes (BR-FR-CDV-CL-06). These codes indicate the lifecycle state of an invoice.
206
+ # @param [Hash] opts the optional parameters
207
+ # @return [StatusCodesResponse]
208
+ def get_status_codes_api_v1_cdar_status_codes_get(opts = {})
209
+ data, _status_code, _headers = get_status_codes_api_v1_cdar_status_codes_get_with_http_info(opts)
210
+ data
211
+ end
212
+
213
+ # List of CDAR status codes
214
+ # Returns the complete list of invoice status codes (BR-FR-CDV-CL-06). These codes indicate the lifecycle state of an invoice.
215
+ # @param [Hash] opts the optional parameters
216
+ # @return [Array<(StatusCodesResponse, Integer, Hash)>] StatusCodesResponse data, response status code and response headers
217
+ def get_status_codes_api_v1_cdar_status_codes_get_with_http_info(opts = {})
218
+ if @api_client.config.debugging
219
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.get_status_codes_api_v1_cdar_status_codes_get ...'
220
+ end
221
+ # resource path
222
+ local_var_path = '/api/v1/cdar/status-codes'
223
+
224
+ # query parameters
225
+ query_params = opts[:query_params] || {}
226
+
227
+ # header parameters
228
+ header_params = opts[:header_params] || {}
229
+ # HTTP header 'Accept' (if needed)
230
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
231
+
232
+ # form parameters
233
+ form_params = opts[:form_params] || {}
234
+
235
+ # http body (model)
236
+ post_body = opts[:debug_body]
237
+
238
+ # return_type
239
+ return_type = opts[:debug_return_type] || 'StatusCodesResponse'
240
+
241
+ # auth_names
242
+ auth_names = opts[:debug_auth_names] || []
243
+
244
+ new_options = opts.merge(
245
+ :operation => :"Flux6InvoiceLifecycleCDARApi.get_status_codes_api_v1_cdar_status_codes_get",
246
+ :header_params => header_params,
247
+ :query_params => query_params,
248
+ :form_params => form_params,
249
+ :body => post_body,
250
+ :auth_names => auth_names,
251
+ :return_type => return_type
252
+ )
253
+
254
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
255
+ if @api_client.config.debugging
256
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#get_status_codes_api_v1_cdar_status_codes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
257
+ end
258
+ return data, status_code, headers
259
+ end
260
+
261
+ # Generate and submit a CDAR message
262
+ # Generate a CDAR message and submit it to the PA/PDP platform. **Authentication strategies:** 1. **JWT with client_uid** (recommended): PDP credentials retrieved from backend 2. **Zero-storage**: Provide pdpFlowServiceUrl, pdpClientId, pdpClientSecret in the request **Flow types (flowType):** - `CustomerInvoiceLC`: Client-side lifecycle (buyer) - `SupplierInvoiceLC`: Supplier-side lifecycle (seller)
263
+ # @param submit_cdar_request [SubmitCDARRequest]
264
+ # @param [Hash] opts the optional parameters
265
+ # @return [SubmitCDARResponse]
266
+ def submit_cdar_api_v1_cdar_submit_post(submit_cdar_request, opts = {})
267
+ data, _status_code, _headers = submit_cdar_api_v1_cdar_submit_post_with_http_info(submit_cdar_request, opts)
268
+ data
269
+ end
270
+
271
+ # Generate and submit a CDAR message
272
+ # Generate a CDAR message and submit it to the PA/PDP platform. **Authentication strategies:** 1. **JWT with client_uid** (recommended): PDP credentials retrieved from backend 2. **Zero-storage**: Provide pdpFlowServiceUrl, pdpClientId, pdpClientSecret in the request **Flow types (flowType):** - &#x60;CustomerInvoiceLC&#x60;: Client-side lifecycle (buyer) - &#x60;SupplierInvoiceLC&#x60;: Supplier-side lifecycle (seller)
273
+ # @param submit_cdar_request [SubmitCDARRequest]
274
+ # @param [Hash] opts the optional parameters
275
+ # @return [Array<(SubmitCDARResponse, Integer, Hash)>] SubmitCDARResponse data, response status code and response headers
276
+ def submit_cdar_api_v1_cdar_submit_post_with_http_info(submit_cdar_request, opts = {})
277
+ if @api_client.config.debugging
278
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.submit_cdar_api_v1_cdar_submit_post ...'
279
+ end
280
+ # verify the required parameter 'submit_cdar_request' is set
281
+ if @api_client.config.client_side_validation && submit_cdar_request.nil?
282
+ fail ArgumentError, "Missing the required parameter 'submit_cdar_request' when calling Flux6InvoiceLifecycleCDARApi.submit_cdar_api_v1_cdar_submit_post"
283
+ end
284
+ # resource path
285
+ local_var_path = '/api/v1/cdar/submit'
286
+
287
+ # query parameters
288
+ query_params = opts[:query_params] || {}
289
+
290
+ # header parameters
291
+ header_params = opts[:header_params] || {}
292
+ # HTTP header 'Accept' (if needed)
293
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
294
+ # HTTP header 'Content-Type'
295
+ content_type = @api_client.select_header_content_type(['application/json'])
296
+ if !content_type.nil?
297
+ header_params['Content-Type'] = content_type
298
+ end
299
+
300
+ # form parameters
301
+ form_params = opts[:form_params] || {}
302
+
303
+ # http body (model)
304
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_cdar_request)
305
+
306
+ # return_type
307
+ return_type = opts[:debug_return_type] || 'SubmitCDARResponse'
308
+
309
+ # auth_names
310
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
311
+
312
+ new_options = opts.merge(
313
+ :operation => :"Flux6InvoiceLifecycleCDARApi.submit_cdar_api_v1_cdar_submit_post",
314
+ :header_params => header_params,
315
+ :query_params => query_params,
316
+ :form_params => form_params,
317
+ :body => post_body,
318
+ :auth_names => auth_names,
319
+ :return_type => return_type
320
+ )
321
+
322
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
323
+ if @api_client.config.debugging
324
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#submit_cdar_api_v1_cdar_submit_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
325
+ end
326
+ return data, status_code, headers
327
+ end
328
+
329
+ # Submit a pre-generated CDAR XML
330
+ # Submit a pre-generated CDAR XML message to the PA/PDP platform. Useful for submitting XML generated by other systems. **Validation:** The XML is validated against XSD and Schematron BR-FR-CDV rules BEFORE submission. Invalid XML will be rejected with detailed error messages. **Authentication strategies:** 1. **JWT with client_uid** (recommended): PDP credentials retrieved from backend 2. **Zero-storage**: Provide pdpFlowServiceUrl, pdpClientId, pdpClientSecret in the request
331
+ # @param submit_cdarxml_request [SubmitCDARXMLRequest]
332
+ # @param [Hash] opts the optional parameters
333
+ # @return [SubmitCDARResponse]
334
+ def submit_cdar_xml_api_v1_cdar_submit_xml_post(submit_cdarxml_request, opts = {})
335
+ data, _status_code, _headers = submit_cdar_xml_api_v1_cdar_submit_xml_post_with_http_info(submit_cdarxml_request, opts)
336
+ data
337
+ end
338
+
339
+ # Submit a pre-generated CDAR XML
340
+ # Submit a pre-generated CDAR XML message to the PA/PDP platform. Useful for submitting XML generated by other systems. **Validation:** The XML is validated against XSD and Schematron BR-FR-CDV rules BEFORE submission. Invalid XML will be rejected with detailed error messages. **Authentication strategies:** 1. **JWT with client_uid** (recommended): PDP credentials retrieved from backend 2. **Zero-storage**: Provide pdpFlowServiceUrl, pdpClientId, pdpClientSecret in the request
341
+ # @param submit_cdarxml_request [SubmitCDARXMLRequest]
342
+ # @param [Hash] opts the optional parameters
343
+ # @return [Array<(SubmitCDARResponse, Integer, Hash)>] SubmitCDARResponse data, response status code and response headers
344
+ def submit_cdar_xml_api_v1_cdar_submit_xml_post_with_http_info(submit_cdarxml_request, opts = {})
345
+ if @api_client.config.debugging
346
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.submit_cdar_xml_api_v1_cdar_submit_xml_post ...'
347
+ end
348
+ # verify the required parameter 'submit_cdarxml_request' is set
349
+ if @api_client.config.client_side_validation && submit_cdarxml_request.nil?
350
+ fail ArgumentError, "Missing the required parameter 'submit_cdarxml_request' when calling Flux6InvoiceLifecycleCDARApi.submit_cdar_xml_api_v1_cdar_submit_xml_post"
351
+ end
352
+ # resource path
353
+ local_var_path = '/api/v1/cdar/submit-xml'
354
+
355
+ # query parameters
356
+ query_params = opts[:query_params] || {}
357
+
358
+ # header parameters
359
+ header_params = opts[:header_params] || {}
360
+ # HTTP header 'Accept' (if needed)
361
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
362
+ # HTTP header 'Content-Type'
363
+ content_type = @api_client.select_header_content_type(['application/json'])
364
+ if !content_type.nil?
365
+ header_params['Content-Type'] = content_type
366
+ end
367
+
368
+ # form parameters
369
+ form_params = opts[:form_params] || {}
370
+
371
+ # http body (model)
372
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_cdarxml_request)
373
+
374
+ # return_type
375
+ return_type = opts[:debug_return_type] || 'SubmitCDARResponse'
376
+
377
+ # auth_names
378
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
379
+
380
+ new_options = opts.merge(
381
+ :operation => :"Flux6InvoiceLifecycleCDARApi.submit_cdar_xml_api_v1_cdar_submit_xml_post",
382
+ :header_params => header_params,
383
+ :query_params => query_params,
384
+ :form_params => form_params,
385
+ :body => post_body,
386
+ :auth_names => auth_names,
387
+ :return_type => return_type
388
+ )
389
+
390
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
391
+ if @api_client.config.debugging
392
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#submit_cdar_xml_api_v1_cdar_submit_xml_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
393
+ end
394
+ return data, status_code, headers
395
+ end
396
+
397
+ # [Simplified] Submit PAID status (212) - Issued invoice
398
+ # **Simplified endpoint for OD** - Submit a PAID status (212) for an **ISSUED** invoice. This status is **mandatory for PPF** (BR-FR-CDV-14 requires the paid amount). **Use case:** The **seller** confirms payment receipt for an invoice they issued. **Who issues this status?** - **Issuer (IssuerTradeParty):** The seller (SE = Seller) who received payment - **Recipient (RecipientTradeParty):** The buyer (BY = Buyer) who paid **Reference:** XP Z12-014 Annex B, example UC1_F202500003_07-CDV-212_Encaissee.xml **Authentication:** JWT Bearer (recommended) or PDP credentials in request.
399
+ # @param encaissee_request [EncaisseeRequest]
400
+ # @param [Hash] opts the optional parameters
401
+ # @return [SimplifiedCDARResponse]
402
+ def submit_encaissee_api_v1_cdar_encaissee_post(encaissee_request, opts = {})
403
+ data, _status_code, _headers = submit_encaissee_api_v1_cdar_encaissee_post_with_http_info(encaissee_request, opts)
404
+ data
405
+ end
406
+
407
+ # [Simplified] Submit PAID status (212) - Issued invoice
408
+ # **Simplified endpoint for OD** - Submit a PAID status (212) for an **ISSUED** invoice. This status is **mandatory for PPF** (BR-FR-CDV-14 requires the paid amount). **Use case:** The **seller** confirms payment receipt for an invoice they issued. **Who issues this status?** - **Issuer (IssuerTradeParty):** The seller (SE &#x3D; Seller) who received payment - **Recipient (RecipientTradeParty):** The buyer (BY &#x3D; Buyer) who paid **Reference:** XP Z12-014 Annex B, example UC1_F202500003_07-CDV-212_Encaissee.xml **Authentication:** JWT Bearer (recommended) or PDP credentials in request.
409
+ # @param encaissee_request [EncaisseeRequest]
410
+ # @param [Hash] opts the optional parameters
411
+ # @return [Array<(SimplifiedCDARResponse, Integer, Hash)>] SimplifiedCDARResponse data, response status code and response headers
412
+ def submit_encaissee_api_v1_cdar_encaissee_post_with_http_info(encaissee_request, opts = {})
413
+ if @api_client.config.debugging
414
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.submit_encaissee_api_v1_cdar_encaissee_post ...'
415
+ end
416
+ # verify the required parameter 'encaissee_request' is set
417
+ if @api_client.config.client_side_validation && encaissee_request.nil?
418
+ fail ArgumentError, "Missing the required parameter 'encaissee_request' when calling Flux6InvoiceLifecycleCDARApi.submit_encaissee_api_v1_cdar_encaissee_post"
419
+ end
420
+ # resource path
421
+ local_var_path = '/api/v1/cdar/encaissee'
422
+
423
+ # query parameters
424
+ query_params = opts[:query_params] || {}
425
+
426
+ # header parameters
427
+ header_params = opts[:header_params] || {}
428
+ # HTTP header 'Accept' (if needed)
429
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
430
+ # HTTP header 'Content-Type'
431
+ content_type = @api_client.select_header_content_type(['application/json'])
432
+ if !content_type.nil?
433
+ header_params['Content-Type'] = content_type
434
+ end
435
+
436
+ # form parameters
437
+ form_params = opts[:form_params] || {}
438
+
439
+ # http body (model)
440
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(encaissee_request)
441
+
442
+ # return_type
443
+ return_type = opts[:debug_return_type] || 'SimplifiedCDARResponse'
444
+
445
+ # auth_names
446
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
447
+
448
+ new_options = opts.merge(
449
+ :operation => :"Flux6InvoiceLifecycleCDARApi.submit_encaissee_api_v1_cdar_encaissee_post",
450
+ :header_params => header_params,
451
+ :query_params => query_params,
452
+ :form_params => form_params,
453
+ :body => post_body,
454
+ :auth_names => auth_names,
455
+ :return_type => return_type
456
+ )
457
+
458
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
459
+ if @api_client.config.debugging
460
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#submit_encaissee_api_v1_cdar_encaissee_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
461
+ end
462
+ return data, status_code, headers
463
+ end
464
+
465
+ # [Simplified] Submit REFUSED status (210) - Received invoice
466
+ # **Simplified endpoint for OD** - Submit a REFUSED status (210) for a **RECEIVED** invoice. This status is **mandatory for PPF** (BR-FR-CDV-15 requires a reason code). **Use case:** The **buyer** refuses an invoice they received. **Who issues this status?** - **Issuer (IssuerTradeParty):** The buyer (BY = Buyer) refusing the invoice - **Recipient (RecipientTradeParty):** The seller (SE = Seller) who issued the invoice **Reference:** XP Z12-014 Annex B, example UC3_F202500005_04-CDV-210_Refusee.xml **Allowed reason codes (BR-FR-CDV-CL-09):** - `TX_TVA_ERR`: Incorrect VAT rate - `MONTANTTOTAL_ERR`: Incorrect total amount - `CALCUL_ERR`: Calculation error - `NON_CONFORME`: Non-compliant - `DOUBLON`: Duplicate - `DEST_ERR`: Wrong recipient - `TRANSAC_INC`: Incomplete transaction - `EMMET_INC`: Unknown issuer - `CONTRAT_TERM`: Contract terminated - `DOUBLE_FACT`: Double billing - `CMD_ERR`: Order error - `ADR_ERR`: Address error - `REF_CT_ABSENT`: Missing contract reference **Authentication:** JWT Bearer (recommended) or PDP credentials in request.
467
+ # @param refusee_request [RefuseeRequest]
468
+ # @param [Hash] opts the optional parameters
469
+ # @return [SimplifiedCDARResponse]
470
+ def submit_refusee_api_v1_cdar_refusee_post(refusee_request, opts = {})
471
+ data, _status_code, _headers = submit_refusee_api_v1_cdar_refusee_post_with_http_info(refusee_request, opts)
472
+ data
473
+ end
474
+
475
+ # [Simplified] Submit REFUSED status (210) - Received invoice
476
+ # **Simplified endpoint for OD** - Submit a REFUSED status (210) for a **RECEIVED** invoice. This status is **mandatory for PPF** (BR-FR-CDV-15 requires a reason code). **Use case:** The **buyer** refuses an invoice they received. **Who issues this status?** - **Issuer (IssuerTradeParty):** The buyer (BY &#x3D; Buyer) refusing the invoice - **Recipient (RecipientTradeParty):** The seller (SE &#x3D; Seller) who issued the invoice **Reference:** XP Z12-014 Annex B, example UC3_F202500005_04-CDV-210_Refusee.xml **Allowed reason codes (BR-FR-CDV-CL-09):** - &#x60;TX_TVA_ERR&#x60;: Incorrect VAT rate - &#x60;MONTANTTOTAL_ERR&#x60;: Incorrect total amount - &#x60;CALCUL_ERR&#x60;: Calculation error - &#x60;NON_CONFORME&#x60;: Non-compliant - &#x60;DOUBLON&#x60;: Duplicate - &#x60;DEST_ERR&#x60;: Wrong recipient - &#x60;TRANSAC_INC&#x60;: Incomplete transaction - &#x60;EMMET_INC&#x60;: Unknown issuer - &#x60;CONTRAT_TERM&#x60;: Contract terminated - &#x60;DOUBLE_FACT&#x60;: Double billing - &#x60;CMD_ERR&#x60;: Order error - &#x60;ADR_ERR&#x60;: Address error - &#x60;REF_CT_ABSENT&#x60;: Missing contract reference **Authentication:** JWT Bearer (recommended) or PDP credentials in request.
477
+ # @param refusee_request [RefuseeRequest]
478
+ # @param [Hash] opts the optional parameters
479
+ # @return [Array<(SimplifiedCDARResponse, Integer, Hash)>] SimplifiedCDARResponse data, response status code and response headers
480
+ def submit_refusee_api_v1_cdar_refusee_post_with_http_info(refusee_request, opts = {})
481
+ if @api_client.config.debugging
482
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.submit_refusee_api_v1_cdar_refusee_post ...'
483
+ end
484
+ # verify the required parameter 'refusee_request' is set
485
+ if @api_client.config.client_side_validation && refusee_request.nil?
486
+ fail ArgumentError, "Missing the required parameter 'refusee_request' when calling Flux6InvoiceLifecycleCDARApi.submit_refusee_api_v1_cdar_refusee_post"
487
+ end
488
+ # resource path
489
+ local_var_path = '/api/v1/cdar/refusee'
490
+
491
+ # query parameters
492
+ query_params = opts[:query_params] || {}
493
+
494
+ # header parameters
495
+ header_params = opts[:header_params] || {}
496
+ # HTTP header 'Accept' (if needed)
497
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
498
+ # HTTP header 'Content-Type'
499
+ content_type = @api_client.select_header_content_type(['application/json'])
500
+ if !content_type.nil?
501
+ header_params['Content-Type'] = content_type
502
+ end
503
+
504
+ # form parameters
505
+ form_params = opts[:form_params] || {}
506
+
507
+ # http body (model)
508
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(refusee_request)
509
+
510
+ # return_type
511
+ return_type = opts[:debug_return_type] || 'SimplifiedCDARResponse'
512
+
513
+ # auth_names
514
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
515
+
516
+ new_options = opts.merge(
517
+ :operation => :"Flux6InvoiceLifecycleCDARApi.submit_refusee_api_v1_cdar_refusee_post",
518
+ :header_params => header_params,
519
+ :query_params => query_params,
520
+ :form_params => form_params,
521
+ :body => post_body,
522
+ :auth_names => auth_names,
523
+ :return_type => return_type
524
+ )
525
+
526
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
527
+ if @api_client.config.debugging
528
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#submit_refusee_api_v1_cdar_refusee_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
529
+ end
530
+ return data, status_code, headers
531
+ end
532
+
533
+ # Validate CDAR structured data
534
+ # Validate CDAR structured data without generating XML. **Note:** This endpoint validates structured data fields only. Use `/validate-xml` to validate a pre-generated CDAR XML file against XSD and Schematron. Checks: - Field formats (SIREN, dates, etc.) - Enum codes (status, reason, action) - Business rules BR-FR-CDV-*
535
+ # @param validate_cdar_request [ValidateCDARRequest]
536
+ # @param [Hash] opts the optional parameters
537
+ # @return [ValidateCDARResponse]
538
+ def validate_cdar_api_v1_cdar_validate_post(validate_cdar_request, opts = {})
539
+ data, _status_code, _headers = validate_cdar_api_v1_cdar_validate_post_with_http_info(validate_cdar_request, opts)
540
+ data
541
+ end
542
+
543
+ # Validate CDAR structured data
544
+ # Validate CDAR structured data without generating XML. **Note:** This endpoint validates structured data fields only. Use &#x60;/validate-xml&#x60; to validate a pre-generated CDAR XML file against XSD and Schematron. Checks: - Field formats (SIREN, dates, etc.) - Enum codes (status, reason, action) - Business rules BR-FR-CDV-*
545
+ # @param validate_cdar_request [ValidateCDARRequest]
546
+ # @param [Hash] opts the optional parameters
547
+ # @return [Array<(ValidateCDARResponse, Integer, Hash)>] ValidateCDARResponse data, response status code and response headers
548
+ def validate_cdar_api_v1_cdar_validate_post_with_http_info(validate_cdar_request, opts = {})
549
+ if @api_client.config.debugging
550
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.validate_cdar_api_v1_cdar_validate_post ...'
551
+ end
552
+ # verify the required parameter 'validate_cdar_request' is set
553
+ if @api_client.config.client_side_validation && validate_cdar_request.nil?
554
+ fail ArgumentError, "Missing the required parameter 'validate_cdar_request' when calling Flux6InvoiceLifecycleCDARApi.validate_cdar_api_v1_cdar_validate_post"
555
+ end
556
+ # resource path
557
+ local_var_path = '/api/v1/cdar/validate'
558
+
559
+ # query parameters
560
+ query_params = opts[:query_params] || {}
561
+
562
+ # header parameters
563
+ header_params = opts[:header_params] || {}
564
+ # HTTP header 'Accept' (if needed)
565
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
566
+ # HTTP header 'Content-Type'
567
+ content_type = @api_client.select_header_content_type(['application/json'])
568
+ if !content_type.nil?
569
+ header_params['Content-Type'] = content_type
570
+ end
571
+
572
+ # form parameters
573
+ form_params = opts[:form_params] || {}
574
+
575
+ # http body (model)
576
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(validate_cdar_request)
577
+
578
+ # return_type
579
+ return_type = opts[:debug_return_type] || 'ValidateCDARResponse'
580
+
581
+ # auth_names
582
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
583
+
584
+ new_options = opts.merge(
585
+ :operation => :"Flux6InvoiceLifecycleCDARApi.validate_cdar_api_v1_cdar_validate_post",
586
+ :header_params => header_params,
587
+ :query_params => query_params,
588
+ :form_params => form_params,
589
+ :body => post_body,
590
+ :auth_names => auth_names,
591
+ :return_type => return_type
592
+ )
593
+
594
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
595
+ if @api_client.config.debugging
596
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#validate_cdar_api_v1_cdar_validate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
597
+ end
598
+ return data, status_code, headers
599
+ end
600
+
601
+ # Validate CDAR XML against XSD and Schematron BR-FR-CDV
602
+ # Validates a CDAR XML file against: 1. **XSD schema**: UN/CEFACT D22B CrossDomainAcknowledgementAndResponse 2. **Schematron BR-FR-CDV**: French business rules for invoice lifecycle Returns validation status and detailed error messages if invalid. **Note:** Use `/validate` to validate structured data fields (JSON).
603
+ # @param xml_file [File] CDAR XML file to validate
604
+ # @param [Hash] opts the optional parameters
605
+ # @return [Hash<String, Object>]
606
+ def validate_xml_cdar_api_v1_cdar_validate_xml_post(xml_file, opts = {})
607
+ data, _status_code, _headers = validate_xml_cdar_api_v1_cdar_validate_xml_post_with_http_info(xml_file, opts)
608
+ data
609
+ end
610
+
611
+ # Validate CDAR XML against XSD and Schematron BR-FR-CDV
612
+ # Validates a CDAR XML file against: 1. **XSD schema**: UN/CEFACT D22B CrossDomainAcknowledgementAndResponse 2. **Schematron BR-FR-CDV**: French business rules for invoice lifecycle Returns validation status and detailed error messages if invalid. **Note:** Use &#x60;/validate&#x60; to validate structured data fields (JSON).
613
+ # @param xml_file [File] CDAR XML file to validate
614
+ # @param [Hash] opts the optional parameters
615
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
616
+ def validate_xml_cdar_api_v1_cdar_validate_xml_post_with_http_info(xml_file, opts = {})
617
+ if @api_client.config.debugging
618
+ @api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.validate_xml_cdar_api_v1_cdar_validate_xml_post ...'
619
+ end
620
+ # verify the required parameter 'xml_file' is set
621
+ if @api_client.config.client_side_validation && xml_file.nil?
622
+ fail ArgumentError, "Missing the required parameter 'xml_file' when calling Flux6InvoiceLifecycleCDARApi.validate_xml_cdar_api_v1_cdar_validate_xml_post"
623
+ end
624
+ # resource path
625
+ local_var_path = '/api/v1/cdar/validate-xml'
626
+
627
+ # query parameters
628
+ query_params = opts[:query_params] || {}
629
+
630
+ # header parameters
631
+ header_params = opts[:header_params] || {}
632
+ # HTTP header 'Accept' (if needed)
633
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
634
+ # HTTP header 'Content-Type'
635
+ content_type = @api_client.select_header_content_type(['multipart/form-data'])
636
+ if !content_type.nil?
637
+ header_params['Content-Type'] = content_type
638
+ end
639
+
640
+ # form parameters
641
+ form_params = opts[:form_params] || {}
642
+ form_params['xml_file'] = xml_file
643
+
644
+ # http body (model)
645
+ post_body = opts[:debug_body]
646
+
647
+ # return_type
648
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
649
+
650
+ # auth_names
651
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
652
+
653
+ new_options = opts.merge(
654
+ :operation => :"Flux6InvoiceLifecycleCDARApi.validate_xml_cdar_api_v1_cdar_validate_xml_post",
655
+ :header_params => header_params,
656
+ :query_params => query_params,
657
+ :form_params => form_params,
658
+ :body => post_body,
659
+ :auth_names => auth_names,
660
+ :return_type => return_type
661
+ )
662
+
663
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
664
+ if @api_client.config.debugging
665
+ @api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#validate_xml_cdar_api_v1_cdar_validate_xml_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
666
+ end
667
+ return data, status_code, headers
668
+ end
669
+ end
670
+ end