factpulse 4.0.2 → 4.1.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 (434) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -4
  3. data/Gemfile.lock +3 -3
  4. data/README.md +12 -0
  5. data/docs/AFNORErrorDetail.md +26 -0
  6. data/docs/AFNORPDPPAApi.md +9 -2
  7. data/docs/AsyncTasksApi.md +231 -1
  8. data/docs/ChorusProApi.md +96 -16
  9. data/docs/ClientManagementApi.md +371 -25
  10. data/docs/ConversionErrorResult.md +30 -0
  11. data/docs/ConversionExtractionInfo.md +20 -0
  12. data/docs/ConversionPendingInputResult.md +30 -0
  13. data/docs/ConversionSuccessTaskResult.md +36 -0
  14. data/docs/ConversionTaskStatus.md +22 -0
  15. data/docs/ConversionTaskStatusResult.md +85 -0
  16. data/docs/ConversionValidationFailedResult.md +34 -0
  17. data/docs/ConvertResumeRequest.md +5 -1
  18. data/docs/DownloadsApi.md +16 -6
  19. data/docs/ElectronicSignatureApi.md +24 -4
  20. data/docs/FacturXConversionApi.md +176 -4
  21. data/docs/FacturXInvoice.md +1 -1
  22. data/docs/FacturXPDFXMLVerificationApi.md +93 -3
  23. data/docs/FacturXValidationApi.md +12 -78
  24. data/docs/FactureElectroniqueModelsInvoiceTypeCode.md +15 -0
  25. data/docs/FactureElectroniqueRestApiSchemasValidationValidationErrorResponse.md +18 -0
  26. data/docs/Flux10EReportingApi.md +36 -6
  27. data/docs/Flux6InvoiceLifecycleCDARApi.md +100 -3
  28. data/docs/GenerationSuccessResult.md +24 -0
  29. data/docs/GenerationTaskStatus.md +22 -0
  30. data/docs/GenerationTaskStatusResult.md +79 -0
  31. data/docs/HealthApi.md +6 -125
  32. data/docs/{FacturXGenerationApi.md → InvoiceGenerationApi.md} +39 -24
  33. data/docs/InvoiceInput.md +1 -1
  34. data/docs/InvoiceLifecycle.md +24 -0
  35. data/docs/InvoicingFramework.md +1 -1
  36. data/docs/KeyRotationRequest.md +20 -0
  37. data/docs/KeyRotationResponse.md +24 -0
  38. data/docs/LifecycleEvent.md +38 -0
  39. data/docs/LifecycleResponse.md +22 -0
  40. data/docs/PDPConfigResponse.md +2 -0
  41. data/docs/PDPConfigUpdateRequest.md +3 -1
  42. data/docs/ParseApi.md +161 -0
  43. data/docs/ParseFacturXResponse.md +26 -0
  44. data/docs/ReferencesApi.md +74 -0
  45. data/docs/SecretStatus.md +5 -1
  46. data/docs/SignatureSuccessResult.md +34 -0
  47. data/docs/SignatureTaskStatus.md +22 -0
  48. data/docs/SignatureTaskStatusResult.md +79 -0
  49. data/docs/SimplifiedInvoiceData.md +1 -1
  50. data/docs/SubmitCompleteInvoiceResponse.md +3 -1
  51. data/docs/Supplier.md +1 -1
  52. data/docs/TaskErrorResult.md +26 -0
  53. data/docs/VATEXCodeInfo.md +24 -0
  54. data/docs/VATEXCodesResponse.md +22 -0
  55. data/docs/ValidateCDARResponse.md +2 -2
  56. data/docs/ValidationApi.md +88 -0
  57. data/docs/ValidationErrorResponse.md +8 -2
  58. data/docs/ValidationSuccessTaskResult.md +20 -0
  59. data/docs/ValidationTaskStatus.md +22 -0
  60. data/docs/ValidationTaskStatusResult.md +79 -0
  61. data/docs/VerificationSuccessTaskResult.md +20 -0
  62. data/docs/VerificationTypedTaskStatus.md +22 -0
  63. data/docs/VerificationTypedTaskStatusResult.md +79 -0
  64. data/docs/WebhookSecretDeleteResponse.md +20 -0
  65. data/docs/WebhookSecretGenerateResponse.md +24 -0
  66. data/docs/WebhookSecretStatusResponse.md +20 -0
  67. data/factpulse.gemspec +3 -3
  68. data/lib/factpulse/api/afnorpdppa_api.rb +6 -3
  69. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +2 -2
  70. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +2 -2
  71. data/lib/factpulse/api/async_tasks_api.rb +192 -3
  72. data/lib/factpulse/api/chorus_pro_api.rb +18 -18
  73. data/lib/factpulse/api/client_management_api.rb +290 -24
  74. data/lib/factpulse/api/downloads_api.rb +8 -8
  75. data/lib/factpulse/api/electronic_signature_api.rb +6 -6
  76. data/lib/factpulse/api/factur_x_conversion_api.rb +143 -6
  77. data/lib/factpulse/api/factur_x_validation_api.rb +4 -79
  78. data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +68 -5
  79. data/lib/factpulse/api/flux10_e_reporting_api.rb +8 -8
  80. data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +88 -5
  81. data/lib/factpulse/api/health_api.rb +3 -117
  82. data/lib/factpulse/api/{factur_x_generation_api.rb → invoice_generation_api.rb} +26 -26
  83. data/lib/factpulse/api/parse_api.rb +163 -0
  84. data/lib/factpulse/api/references_api.rb +82 -0
  85. data/lib/factpulse/api/validation_api.rb +97 -0
  86. data/lib/factpulse/api_client.rb +2 -2
  87. data/lib/factpulse/api_error.rb +2 -2
  88. data/lib/factpulse/api_model_base.rb +2 -2
  89. data/lib/factpulse/configuration.rb +9 -2
  90. data/lib/factpulse/models/acknowledgment_status.rb +2 -2
  91. data/lib/factpulse/models/action_code_info.rb +2 -2
  92. data/lib/factpulse/models/action_codes_response.rb +2 -2
  93. data/lib/factpulse/models/additional_document.rb +2 -2
  94. data/lib/factpulse/models/afnor_acknowledgement.rb +2 -2
  95. data/lib/factpulse/models/afnor_acknowledgement_detail.rb +2 -2
  96. data/lib/factpulse/models/afnor_address_edit.rb +2 -2
  97. data/lib/factpulse/models/afnor_address_patch.rb +2 -2
  98. data/lib/factpulse/models/afnor_address_put.rb +2 -2
  99. data/lib/factpulse/models/afnor_address_read.rb +2 -2
  100. data/lib/factpulse/models/afnor_algorithm.rb +2 -2
  101. data/lib/factpulse/models/afnor_contains_operator.rb +2 -2
  102. data/lib/factpulse/models/afnor_create_directory_line_body.rb +2 -2
  103. data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +2 -2
  104. data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +2 -2
  105. data/lib/factpulse/models/afnor_create_routing_code_body.rb +2 -2
  106. data/lib/factpulse/models/afnor_credentials.rb +2 -2
  107. data/lib/factpulse/models/afnor_destination.rb +2 -2
  108. data/lib/factpulse/models/afnor_diffusion_status.rb +2 -2
  109. data/lib/factpulse/models/afnor_directory_line_field.rb +2 -2
  110. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +2 -2
  111. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +2 -2
  112. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +2 -2
  113. data/lib/factpulse/models/afnor_directory_line_post201_response.rb +2 -2
  114. data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +2 -2
  115. data/lib/factpulse/models/afnor_entity_type.rb +2 -2
  116. data/lib/factpulse/models/afnor_error.rb +2 -2
  117. data/lib/factpulse/models/afnor_error_detail.rb +237 -0
  118. data/lib/factpulse/models/afnor_facility_administrative_status.rb +2 -2
  119. data/lib/factpulse/models/afnor_facility_nature.rb +2 -2
  120. data/lib/factpulse/models/afnor_facility_payload_history.rb +2 -2
  121. data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +2 -2
  122. data/lib/factpulse/models/afnor_facility_payload_included.rb +2 -2
  123. data/lib/factpulse/models/afnor_facility_type.rb +2 -2
  124. data/lib/factpulse/models/afnor_flow.rb +2 -2
  125. data/lib/factpulse/models/afnor_flow_ack_status.rb +2 -2
  126. data/lib/factpulse/models/afnor_flow_direction.rb +2 -2
  127. data/lib/factpulse/models/afnor_flow_info.rb +2 -2
  128. data/lib/factpulse/models/afnor_flow_profile.rb +2 -2
  129. data/lib/factpulse/models/afnor_flow_syntax.rb +2 -2
  130. data/lib/factpulse/models/afnor_flow_type.rb +2 -2
  131. data/lib/factpulse/models/afnor_full_flow_info.rb +2 -2
  132. data/lib/factpulse/models/afnor_health_check_response.rb +2 -2
  133. data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +2 -2
  134. data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +2 -2
  135. data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +2 -2
  136. data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +2 -2
  137. data/lib/factpulse/models/afnor_platform_status.rb +2 -2
  138. data/lib/factpulse/models/afnor_processing_rule.rb +2 -2
  139. data/lib/factpulse/models/afnor_reason_code.rb +2 -2
  140. data/lib/factpulse/models/afnor_reason_code_enum.rb +2 -2
  141. data/lib/factpulse/models/afnor_recipient_platform_type.rb +2 -2
  142. data/lib/factpulse/models/afnor_result.rb +2 -2
  143. data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +2 -2
  144. data/lib/factpulse/models/afnor_routing_code_field.rb +2 -2
  145. data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +2 -2
  146. data/lib/factpulse/models/afnor_routing_code_post201_response.rb +2 -2
  147. data/lib/factpulse/models/afnor_routing_code_search.rb +2 -2
  148. data/lib/factpulse/models/afnor_routing_code_search_filters.rb +2 -2
  149. data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +2 -2
  150. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +2 -2
  151. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +2 -2
  152. data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +2 -2
  153. data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +2 -2
  154. data/lib/factpulse/models/afnor_search_directory_line.rb +2 -2
  155. data/lib/factpulse/models/afnor_search_directory_line_filters.rb +2 -2
  156. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +2 -2
  157. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +2 -2
  158. data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +2 -2
  159. data/lib/factpulse/models/afnor_search_flow_content.rb +2 -2
  160. data/lib/factpulse/models/afnor_search_flow_filters.rb +2 -2
  161. data/lib/factpulse/models/afnor_search_flow_params.rb +2 -2
  162. data/lib/factpulse/models/afnor_search_siren.rb +2 -2
  163. data/lib/factpulse/models/afnor_search_siren_filters.rb +2 -2
  164. data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +2 -2
  165. data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +2 -2
  166. data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +2 -2
  167. data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +2 -2
  168. data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +2 -2
  169. data/lib/factpulse/models/afnor_search_siret.rb +2 -2
  170. data/lib/factpulse/models/afnor_search_siret_filters.rb +2 -2
  171. data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +2 -2
  172. data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +2 -2
  173. data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +2 -2
  174. data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +2 -2
  175. data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +2 -2
  176. data/lib/factpulse/models/afnor_search_siret_filters_name.rb +2 -2
  177. data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +2 -2
  178. data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +2 -2
  179. data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +2 -2
  180. data/lib/factpulse/models/afnor_siren_field.rb +2 -2
  181. data/lib/factpulse/models/afnor_siren_search_post200_response.rb +2 -2
  182. data/lib/factpulse/models/afnor_siret_field.rb +2 -2
  183. data/lib/factpulse/models/afnor_siret_search_post200_response.rb +2 -2
  184. data/lib/factpulse/models/afnor_sorting_order.rb +2 -2
  185. data/lib/factpulse/models/afnor_strict_operator.rb +2 -2
  186. data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +2 -2
  187. data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +2 -2
  188. data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +2 -2
  189. data/lib/factpulse/models/afnor_webhook_callback_content.rb +2 -2
  190. data/lib/factpulse/models/aggregated_payment_input.rb +2 -2
  191. data/lib/factpulse/models/aggregated_transaction_input.rb +2 -2
  192. data/lib/factpulse/models/allowance_charge.rb +2 -2
  193. data/lib/factpulse/models/allowance_charge_reason_code.rb +2 -2
  194. data/lib/factpulse/models/allowance_reason_code.rb +2 -2
  195. data/lib/factpulse/models/allowance_total_amount.rb +2 -2
  196. data/lib/factpulse/models/amount.rb +2 -2
  197. data/lib/factpulse/models/amount1.rb +2 -2
  198. data/lib/factpulse/models/amount2.rb +2 -2
  199. data/lib/factpulse/models/amount_due.rb +2 -2
  200. data/lib/factpulse/models/api_error.rb +2 -2
  201. data/lib/factpulse/models/api_profile.rb +2 -2
  202. data/lib/factpulse/models/async_task_status.rb +2 -2
  203. data/lib/factpulse/models/base_amount.rb +2 -2
  204. data/lib/factpulse/models/bounding_box_schema.rb +2 -2
  205. data/lib/factpulse/models/buyercountry.rb +2 -2
  206. data/lib/factpulse/models/celery_status.rb +2 -2
  207. data/lib/factpulse/models/certificate_info_response.rb +2 -2
  208. data/lib/factpulse/models/charge_total_amount.rb +2 -2
  209. data/lib/factpulse/models/chorus_pro_credentials.rb +2 -2
  210. data/lib/factpulse/models/chorus_pro_destination.rb +2 -2
  211. data/lib/factpulse/models/chorus_pro_result.rb +2 -2
  212. data/lib/factpulse/models/client_activate_response.rb +2 -2
  213. data/lib/factpulse/models/client_create_request.rb +2 -2
  214. data/lib/factpulse/models/client_detail.rb +2 -2
  215. data/lib/factpulse/models/client_list_response.rb +2 -2
  216. data/lib/factpulse/models/client_summary.rb +2 -2
  217. data/lib/factpulse/models/client_update_request.rb +2 -2
  218. data/lib/factpulse/models/contact.rb +2 -2
  219. data/lib/factpulse/models/conversion_error_result.rb +277 -0
  220. data/lib/factpulse/models/conversion_extraction_info.rb +176 -0
  221. data/lib/factpulse/models/conversion_pending_input_result.rb +344 -0
  222. data/lib/factpulse/models/conversion_success_task_result.rb +355 -0
  223. data/lib/factpulse/models/conversion_task_status.rb +223 -0
  224. data/lib/factpulse/models/conversion_task_status_result.rb +59 -0
  225. data/lib/factpulse/models/conversion_validation_failed_result.rb +348 -0
  226. data/lib/factpulse/models/convert_resume_request.rb +29 -7
  227. data/lib/factpulse/models/convert_success_response.rb +2 -2
  228. data/lib/factpulse/models/convert_validation_failed_response.rb +2 -2
  229. data/lib/factpulse/models/country_code.rb +2 -2
  230. data/lib/factpulse/models/create_aggregated_report_request.rb +2 -2
  231. data/lib/factpulse/models/create_cdar_request.rb +2 -2
  232. data/lib/factpulse/models/create_e_reporting_request.rb +2 -2
  233. data/lib/factpulse/models/currency.rb +2 -2
  234. data/lib/factpulse/models/currency_code.rb +2 -2
  235. data/lib/factpulse/models/delivery_party.rb +2 -2
  236. data/lib/factpulse/models/destination.rb +2 -2
  237. data/lib/factpulse/models/doc_type.rb +2 -2
  238. data/lib/factpulse/models/document_type_info.rb +2 -2
  239. data/lib/factpulse/models/e_reporting_flow_type.rb +2 -2
  240. data/lib/factpulse/models/e_reporting_validation_error.rb +2 -2
  241. data/lib/factpulse/models/electronic_address.rb +2 -2
  242. data/lib/factpulse/models/encaisseamount.rb +2 -2
  243. data/lib/factpulse/models/encaisseamount1.rb +2 -2
  244. data/lib/factpulse/models/encaissee_request.rb +2 -2
  245. data/lib/factpulse/models/enriched_invoice_info.rb +2 -2
  246. data/lib/factpulse/models/error_level.rb +2 -2
  247. data/lib/factpulse/models/error_source.rb +2 -2
  248. data/lib/factpulse/models/extraction_info.rb +2 -2
  249. data/lib/factpulse/models/factur_x_invoice.rb +3 -19
  250. data/lib/factpulse/models/factur_xpdf_info.rb +2 -2
  251. data/lib/factpulse/models/facture_electronique_models_invoice_type_code.rb +54 -0
  252. data/lib/factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb +2 -2
  253. data/lib/factpulse/models/facture_electronique_rest_api_schemas_validation_validation_error_response.rb +168 -0
  254. data/lib/factpulse/models/field_status.rb +2 -2
  255. data/lib/factpulse/models/file_info.rb +2 -2
  256. data/lib/factpulse/models/files_info.rb +2 -2
  257. data/lib/factpulse/models/flow_direction.rb +2 -2
  258. data/lib/factpulse/models/flow_profile.rb +2 -2
  259. data/lib/factpulse/models/flow_summary.rb +2 -2
  260. data/lib/factpulse/models/flow_syntax.rb +2 -2
  261. data/lib/factpulse/models/flow_type.rb +2 -2
  262. data/lib/factpulse/models/generate_aggregated_report_response.rb +2 -2
  263. data/lib/factpulse/models/generate_cdar_response.rb +2 -2
  264. data/lib/factpulse/models/generate_certificate_request.rb +2 -2
  265. data/lib/factpulse/models/generate_certificate_response.rb +2 -2
  266. data/lib/factpulse/models/generate_e_reporting_response.rb +2 -2
  267. data/lib/factpulse/models/generation_success_result.rb +230 -0
  268. data/lib/factpulse/models/generation_task_status.rb +223 -0
  269. data/lib/factpulse/models/generation_task_status_result.rb +55 -0
  270. data/lib/factpulse/models/get_chorus_pro_id_request.rb +2 -2
  271. data/lib/factpulse/models/get_chorus_pro_id_response.rb +2 -2
  272. data/lib/factpulse/models/get_invoice_request.rb +2 -2
  273. data/lib/factpulse/models/get_invoice_response.rb +2 -2
  274. data/lib/factpulse/models/get_structure_request.rb +2 -2
  275. data/lib/factpulse/models/get_structure_response.rb +2 -2
  276. data/lib/factpulse/models/global_allowance_amount.rb +2 -2
  277. data/lib/factpulse/models/gross_unit_price.rb +2 -2
  278. data/lib/factpulse/models/http_validation_error.rb +2 -2
  279. data/lib/factpulse/models/incoming_invoice.rb +2 -2
  280. data/lib/factpulse/models/incoming_supplier.rb +2 -2
  281. data/lib/factpulse/models/invoice_format.rb +2 -2
  282. data/lib/factpulse/models/invoice_input.rb +3 -3
  283. data/lib/factpulse/models/invoice_lifecycle.rb +215 -0
  284. data/lib/factpulse/models/invoice_line.rb +2 -2
  285. data/lib/factpulse/models/invoice_line_allowance_amount.rb +2 -2
  286. data/lib/factpulse/models/invoice_note.rb +2 -2
  287. data/lib/factpulse/models/invoice_payment_input.rb +2 -2
  288. data/lib/factpulse/models/invoice_references.rb +2 -2
  289. data/lib/factpulse/models/invoice_status.rb +2 -2
  290. data/lib/factpulse/models/invoice_totals.rb +2 -2
  291. data/lib/factpulse/models/invoice_totals_prepayment.rb +2 -2
  292. data/lib/factpulse/models/invoice_type_code.rb +8 -19
  293. data/lib/factpulse/models/invoice_type_code_output.rb +2 -2
  294. data/lib/factpulse/models/invoicing_framework.rb +3 -20
  295. data/lib/factpulse/models/invoicing_framework_code.rb +2 -2
  296. data/lib/factpulse/models/issuer_role_code.rb +2 -2
  297. data/lib/factpulse/models/key_rotation_request.rb +211 -0
  298. data/lib/factpulse/models/key_rotation_response.rb +232 -0
  299. data/lib/factpulse/models/lifecycle_event.rb +300 -0
  300. data/lib/factpulse/models/lifecycle_response.rb +205 -0
  301. data/lib/factpulse/models/line_net_amount.rb +2 -2
  302. data/lib/factpulse/models/line_sub_type.rb +2 -2
  303. data/lib/factpulse/models/line_total_amount.rb +2 -2
  304. data/lib/factpulse/models/location_inner.rb +2 -2
  305. data/lib/factpulse/models/mandatory_note_schema.rb +2 -2
  306. data/lib/factpulse/models/manual_rate.rb +2 -2
  307. data/lib/factpulse/models/manual_vat_rate.rb +2 -2
  308. data/lib/factpulse/models/missing_field.rb +2 -2
  309. data/lib/factpulse/models/operation_nature.rb +2 -2
  310. data/lib/factpulse/models/output_format.rb +5 -3
  311. data/lib/factpulse/models/page_dimensions_schema.rb +2 -2
  312. data/lib/factpulse/models/parse_factur_x_response.rb +249 -0
  313. data/lib/factpulse/models/payee.rb +2 -2
  314. data/lib/factpulse/models/payment_amount_by_rate.rb +2 -2
  315. data/lib/factpulse/models/payment_card.rb +2 -2
  316. data/lib/factpulse/models/payment_means.rb +2 -2
  317. data/lib/factpulse/models/pdf_validation_result_api.rb +2 -2
  318. data/lib/factpulse/models/pdp_config_response.rb +13 -3
  319. data/lib/factpulse/models/pdp_config_update_request.rb +51 -7
  320. data/lib/factpulse/models/pdp_credentials.rb +2 -2
  321. data/lib/factpulse/models/percentage.rb +2 -2
  322. data/lib/factpulse/models/postal_address.rb +2 -2
  323. data/lib/factpulse/models/price_allowance_amount.rb +2 -2
  324. data/lib/factpulse/models/price_basis_quantity.rb +2 -2
  325. data/lib/factpulse/models/processing_options.rb +2 -2
  326. data/lib/factpulse/models/processing_rule.rb +2 -2
  327. data/lib/factpulse/models/product_characteristic.rb +2 -2
  328. data/lib/factpulse/models/product_classification.rb +2 -2
  329. data/lib/factpulse/models/quantity.rb +2 -2
  330. data/lib/factpulse/models/rate.rb +2 -2
  331. data/lib/factpulse/models/rate1.rb +2 -2
  332. data/lib/factpulse/models/reason_code_info.rb +2 -2
  333. data/lib/factpulse/models/reason_codes_response.rb +2 -2
  334. data/lib/factpulse/models/recipient.rb +2 -2
  335. data/lib/factpulse/models/recipient_input.rb +2 -2
  336. data/lib/factpulse/models/refusee_request.rb +2 -2
  337. data/lib/factpulse/models/report_issuer.rb +2 -2
  338. data/lib/factpulse/models/report_period.rb +2 -2
  339. data/lib/factpulse/models/report_sender.rb +2 -2
  340. data/lib/factpulse/models/rounding_amount.rb +2 -2
  341. data/lib/factpulse/models/schematron_validation_error.rb +2 -2
  342. data/lib/factpulse/models/scheme_id.rb +2 -2
  343. data/lib/factpulse/models/search_flow_request.rb +2 -2
  344. data/lib/factpulse/models/search_flow_response.rb +2 -2
  345. data/lib/factpulse/models/search_services_response.rb +2 -2
  346. data/lib/factpulse/models/search_structure_request.rb +2 -2
  347. data/lib/factpulse/models/search_structure_response.rb +2 -2
  348. data/lib/factpulse/models/secret_status.rb +26 -6
  349. data/lib/factpulse/models/sellercountry.rb +2 -2
  350. data/lib/factpulse/models/signature_info.rb +2 -2
  351. data/lib/factpulse/models/signature_info_api.rb +2 -2
  352. data/lib/factpulse/models/signature_parameters.rb +2 -2
  353. data/lib/factpulse/models/signature_success_result.rb +394 -0
  354. data/lib/factpulse/models/signature_task_status.rb +223 -0
  355. data/lib/factpulse/models/signature_task_status_result.rb +55 -0
  356. data/lib/factpulse/models/simplified_cdar_response.rb +2 -2
  357. data/lib/factpulse/models/simplified_invoice_data.rb +3 -3
  358. data/lib/factpulse/models/status_code_info.rb +2 -2
  359. data/lib/factpulse/models/status_codes_response.rb +2 -2
  360. data/lib/factpulse/models/structure_info.rb +2 -2
  361. data/lib/factpulse/models/structure_parameters.rb +2 -2
  362. data/lib/factpulse/models/structure_service.rb +2 -2
  363. data/lib/factpulse/models/submission_mode.rb +2 -2
  364. data/lib/factpulse/models/submit_aggregated_report_request.rb +2 -2
  365. data/lib/factpulse/models/submit_cdar_request.rb +2 -2
  366. data/lib/factpulse/models/submit_cdar_response.rb +2 -2
  367. data/lib/factpulse/models/submit_cdarxml_request.rb +2 -2
  368. data/lib/factpulse/models/submit_complete_invoice_request.rb +2 -2
  369. data/lib/factpulse/models/submit_complete_invoice_response.rb +33 -4
  370. data/lib/factpulse/models/submit_e_reporting_request.rb +2 -2
  371. data/lib/factpulse/models/submit_e_reporting_response.rb +2 -2
  372. data/lib/factpulse/models/submit_flow_request.rb +2 -2
  373. data/lib/factpulse/models/submit_flow_response.rb +2 -2
  374. data/lib/factpulse/models/submit_gross_amount.rb +2 -2
  375. data/lib/factpulse/models/submit_invoice_request.rb +2 -2
  376. data/lib/factpulse/models/submit_invoice_response.rb +2 -2
  377. data/lib/factpulse/models/submit_net_amount.rb +2 -2
  378. data/lib/factpulse/models/submit_vat_amount.rb +2 -2
  379. data/lib/factpulse/models/supplementary_attachment.rb +2 -2
  380. data/lib/factpulse/models/supplier.rb +4 -18
  381. data/lib/factpulse/models/task_error_result.rb +257 -0
  382. data/lib/factpulse/models/task_response.rb +2 -2
  383. data/lib/factpulse/models/tax_breakdown_input.rb +2 -2
  384. data/lib/factpulse/models/tax_due_date_type.rb +2 -2
  385. data/lib/factpulse/models/tax_representative.rb +2 -2
  386. data/lib/factpulse/models/taxable_amount.rb +2 -2
  387. data/lib/factpulse/models/taxableamount.rb +2 -2
  388. data/lib/factpulse/models/taxamount.rb +2 -2
  389. data/lib/factpulse/models/taxamount1.rb +2 -2
  390. data/lib/factpulse/models/taxamount2.rb +2 -2
  391. data/lib/factpulse/models/taxexclusiveamount.rb +2 -2
  392. data/lib/factpulse/models/taxexclusiveamount1.rb +2 -2
  393. data/lib/factpulse/models/total_gross_amount.rb +2 -2
  394. data/lib/factpulse/models/total_net_amount.rb +2 -2
  395. data/lib/factpulse/models/total_vat_amount.rb +2 -2
  396. data/lib/factpulse/models/transaction_category.rb +2 -2
  397. data/lib/factpulse/models/transmission_type_code.rb +2 -2
  398. data/lib/factpulse/models/unit_net_price.rb +2 -2
  399. data/lib/factpulse/models/unit_of_measure.rb +17 -3
  400. data/lib/factpulse/models/validate_cdar_request.rb +2 -2
  401. data/lib/factpulse/models/validate_cdar_response.rb +4 -4
  402. data/lib/factpulse/models/validate_e_reporting_request.rb +2 -2
  403. data/lib/factpulse/models/validate_e_reporting_response.rb +2 -2
  404. data/lib/factpulse/models/validation_error.rb +2 -2
  405. data/lib/factpulse/models/validation_error_detail.rb +2 -2
  406. data/lib/factpulse/models/validation_error_response.rb +69 -22
  407. data/lib/factpulse/models/validation_info.rb +2 -2
  408. data/lib/factpulse/models/validation_success_response.rb +2 -2
  409. data/lib/factpulse/models/validation_success_task_result.rb +210 -0
  410. data/lib/factpulse/models/validation_task_status.rb +223 -0
  411. data/lib/factpulse/models/validation_task_status_result.rb +55 -0
  412. data/lib/factpulse/models/vat_accounting_code.rb +2 -2
  413. data/lib/factpulse/models/vat_amount.rb +2 -2
  414. data/lib/factpulse/models/vat_category.rb +2 -2
  415. data/lib/factpulse/models/vat_line.rb +2 -2
  416. data/lib/factpulse/models/vat_point_date_code.rb +2 -2
  417. data/lib/factpulse/models/vat_rate.rb +2 -2
  418. data/lib/factpulse/models/vatex_code_info.rb +247 -0
  419. data/lib/factpulse/models/vatex_codes_response.rb +204 -0
  420. data/lib/factpulse/models/verification_success_response.rb +2 -2
  421. data/lib/factpulse/models/verification_success_task_result.rb +210 -0
  422. data/lib/factpulse/models/verification_typed_task_status.rb +223 -0
  423. data/lib/factpulse/models/verification_typed_task_status_result.rb +55 -0
  424. data/lib/factpulse/models/verified_field_schema.rb +2 -2
  425. data/lib/factpulse/models/webhook_secret_delete_response.rb +193 -0
  426. data/lib/factpulse/models/webhook_secret_generate_response.rb +247 -0
  427. data/lib/factpulse/models/webhook_secret_status_response.rb +176 -0
  428. data/lib/factpulse/version.rb +3 -3
  429. data/lib/factpulse.rb +40 -5
  430. metadata +133 -63
  431. data/docs/FactureElectroniqueRestApiSchemasCdarValidationErrorResponse.md +0 -24
  432. data/docs/FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.md +0 -15
  433. data/lib/factpulse/models/facture_electronique_rest_api_schemas_cdar_validation_error_response.rb +0 -215
  434. data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +0 -43
data/docs/ParseApi.md ADDED
@@ -0,0 +1,161 @@
1
+ # FactPulse::ParseApi
2
+
3
+ All URIs are relative to *https://factpulse.fr*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**parse_facturx_async_api_v1_processing_parse_facturx_async_post**](ParseApi.md#parse_facturx_async_api_v1_processing_parse_facturx_async_post) | **POST** /api/v1/processing/parse-facturx/async | Parse Factur-X XML or PDF (async) |
8
+ | [**parse_facturx_sync_api_v1_processing_parse_facturx_post**](ParseApi.md#parse_facturx_sync_api_v1_processing_parse_facturx_post) | **POST** /api/v1/processing/parse-facturx | Parse CII, UBL or Factur-X PDF (sync) |
9
+
10
+
11
+ ## parse_facturx_async_api_v1_processing_parse_facturx_async_post
12
+
13
+ > <TaskResponse> parse_facturx_async_api_v1_processing_parse_facturx_async_post(file, opts)
14
+
15
+ Parse Factur-X XML or PDF (async)
16
+
17
+ Parse a Factur-X file asynchronously using a Celery task. **Use case:** For large files or when you want non-blocking processing. **Workflow:** 1. Submit file with this endpoint -> receive `task_id` 2. Poll `/tasks/{task_id}/status` for result 3. Result contains `invoice` and `detected_profile` **Optional:** Provide `callback_url` to receive a webhook when parsing completes.
18
+
19
+ ### Examples
20
+
21
+ ```ruby
22
+ require 'time'
23
+ require 'factpulse'
24
+ # setup authorization
25
+ FactPulse.configure do |config|
26
+ # Configure API key authorization: APIKeyHeader
27
+ config.api_key['X-API-Key'] = 'YOUR API KEY'
28
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
29
+ # config.api_key_prefix['X-API-Key'] = 'Bearer'
30
+
31
+ # Configure Bearer authorization: HTTPBearer
32
+ config.access_token = 'YOUR_BEARER_TOKEN'
33
+ end
34
+
35
+ api_instance = FactPulse::ParseApi.new
36
+ file = File.new('/path/to/some/file') # File | Factur-X PDF or XML file to parse
37
+ opts = {
38
+ callback_url: 'callback_url_example' # String |
39
+ }
40
+
41
+ begin
42
+ # Parse Factur-X XML or PDF (async)
43
+ result = api_instance.parse_facturx_async_api_v1_processing_parse_facturx_async_post(file, opts)
44
+ p result
45
+ rescue FactPulse::ApiError => e
46
+ puts "Error when calling ParseApi->parse_facturx_async_api_v1_processing_parse_facturx_async_post: #{e}"
47
+ end
48
+ ```
49
+
50
+ #### Using the parse_facturx_async_api_v1_processing_parse_facturx_async_post_with_http_info variant
51
+
52
+ This returns an Array which contains the response data, status code and headers.
53
+
54
+ > <Array(<TaskResponse>, Integer, Hash)> parse_facturx_async_api_v1_processing_parse_facturx_async_post_with_http_info(file, opts)
55
+
56
+ ```ruby
57
+ begin
58
+ # Parse Factur-X XML or PDF (async)
59
+ data, status_code, headers = api_instance.parse_facturx_async_api_v1_processing_parse_facturx_async_post_with_http_info(file, opts)
60
+ p status_code # => 2xx
61
+ p headers # => { ... }
62
+ p data # => <TaskResponse>
63
+ rescue FactPulse::ApiError => e
64
+ puts "Error when calling ParseApi->parse_facturx_async_api_v1_processing_parse_facturx_async_post_with_http_info: #{e}"
65
+ end
66
+ ```
67
+
68
+ ### Parameters
69
+
70
+ | Name | Type | Description | Notes |
71
+ | ---- | ---- | ----------- | ----- |
72
+ | **file** | **File** | Factur-X PDF or XML file to parse | |
73
+ | **callback_url** | **String** | | [optional] |
74
+
75
+ ### Return type
76
+
77
+ [**TaskResponse**](TaskResponse.md)
78
+
79
+ ### Authorization
80
+
81
+ [APIKeyHeader](../README.md#APIKeyHeader), [HTTPBearer](../README.md#HTTPBearer)
82
+
83
+ ### HTTP request headers
84
+
85
+ - **Content-Type**: multipart/form-data
86
+ - **Accept**: application/json
87
+
88
+
89
+ ## parse_facturx_sync_api_v1_processing_parse_facturx_post
90
+
91
+ > <ParseFacturXResponse> parse_facturx_sync_api_v1_processing_parse_facturx_post(file)
92
+
93
+ Parse CII, UBL or Factur-X PDF (sync)
94
+
95
+ Parse a CII XML, UBL XML, or Factur-X PDF and extract the invoice data as a FacturXInvoice model. **Use cases:** - Extract invoice data from received invoices (any format) - Round-trip: parse an existing invoice, modify it, and regenerate in another format - Convert between CII and UBL via the FacturXInvoice pivot model **Supported formats:** - Factur-X PDF (PDF/A-3 with embedded CII XML) - CII XML (UN/CEFACT Cross-Industry Invoice) - UBL 2.1 XML (OASIS Invoice or CreditNote) **Returns:** - `invoice`: Complete FacturXInvoice data (can be used with /generate-invoice) - `detected_profile`: Factur-X profile (MINIMUM, BASIC, EN16931, EXTENDED)
96
+
97
+ ### Examples
98
+
99
+ ```ruby
100
+ require 'time'
101
+ require 'factpulse'
102
+ # setup authorization
103
+ FactPulse.configure do |config|
104
+ # Configure API key authorization: APIKeyHeader
105
+ config.api_key['X-API-Key'] = 'YOUR API KEY'
106
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
107
+ # config.api_key_prefix['X-API-Key'] = 'Bearer'
108
+
109
+ # Configure Bearer authorization: HTTPBearer
110
+ config.access_token = 'YOUR_BEARER_TOKEN'
111
+ end
112
+
113
+ api_instance = FactPulse::ParseApi.new
114
+ file = File.new('/path/to/some/file') # File | Factur-X PDF or XML file to parse
115
+
116
+ begin
117
+ # Parse CII, UBL or Factur-X PDF (sync)
118
+ result = api_instance.parse_facturx_sync_api_v1_processing_parse_facturx_post(file)
119
+ p result
120
+ rescue FactPulse::ApiError => e
121
+ puts "Error when calling ParseApi->parse_facturx_sync_api_v1_processing_parse_facturx_post: #{e}"
122
+ end
123
+ ```
124
+
125
+ #### Using the parse_facturx_sync_api_v1_processing_parse_facturx_post_with_http_info variant
126
+
127
+ This returns an Array which contains the response data, status code and headers.
128
+
129
+ > <Array(<ParseFacturXResponse>, Integer, Hash)> parse_facturx_sync_api_v1_processing_parse_facturx_post_with_http_info(file)
130
+
131
+ ```ruby
132
+ begin
133
+ # Parse CII, UBL or Factur-X PDF (sync)
134
+ data, status_code, headers = api_instance.parse_facturx_sync_api_v1_processing_parse_facturx_post_with_http_info(file)
135
+ p status_code # => 2xx
136
+ p headers # => { ... }
137
+ p data # => <ParseFacturXResponse>
138
+ rescue FactPulse::ApiError => e
139
+ puts "Error when calling ParseApi->parse_facturx_sync_api_v1_processing_parse_facturx_post_with_http_info: #{e}"
140
+ end
141
+ ```
142
+
143
+ ### Parameters
144
+
145
+ | Name | Type | Description | Notes |
146
+ | ---- | ---- | ----------- | ----- |
147
+ | **file** | **File** | Factur-X PDF or XML file to parse | |
148
+
149
+ ### Return type
150
+
151
+ [**ParseFacturXResponse**](ParseFacturXResponse.md)
152
+
153
+ ### Authorization
154
+
155
+ [APIKeyHeader](../README.md#APIKeyHeader), [HTTPBearer](../README.md#HTTPBearer)
156
+
157
+ ### HTTP request headers
158
+
159
+ - **Content-Type**: multipart/form-data
160
+ - **Accept**: application/json
161
+
@@ -0,0 +1,26 @@
1
+ # FactPulse::ParseFacturXResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **status** | **String** | Parsing status | |
8
+ | **invoice** | **Hash&lt;String, Object&gt;** | Parsed invoice data. For CII/Factur-X: FacturXInvoice format (round-trip with /generate-invoice). For UBL: IncomingInvoice format (summary extraction). | |
9
+ | **detected_format** | **String** | | [optional] |
10
+ | **detected_profile** | **String** | | [optional] |
11
+ | **error** | **String** | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'factpulse'
17
+
18
+ instance = FactPulse::ParseFacturXResponse.new(
19
+ status: null,
20
+ invoice: null,
21
+ detected_format: null,
22
+ detected_profile: null,
23
+ error: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,74 @@
1
+ # FactPulse::ReferencesApi
2
+
3
+ All URIs are relative to *https://factpulse.fr*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**get_vatex_codes_api_v1_references_vatex_codes_get**](ReferencesApi.md#get_vatex_codes_api_v1_references_vatex_codes_get) | **GET** /api/v1/references/vatex-codes | VATEX exemption reason codes |
8
+
9
+
10
+ ## get_vatex_codes_api_v1_references_vatex_codes_get
11
+
12
+ > <VATEXCodesResponse> get_vatex_codes_api_v1_references_vatex_codes_get(opts)
13
+
14
+ VATEX exemption reason codes
15
+
16
+ Returns the list of VATEX (VAT exemption reason) codes from the Peppol BIS Billing 3.0 code list. Source: https://docs.peppol.eu/poacc/billing/3.0/codelist/vatex/
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'factpulse'
23
+
24
+ api_instance = FactPulse::ReferencesApi.new
25
+ opts = {
26
+ category: 'category_example' # String | Filter by VAT category code (E, AE, K, G, O).
27
+ }
28
+
29
+ begin
30
+ # VATEX exemption reason codes
31
+ result = api_instance.get_vatex_codes_api_v1_references_vatex_codes_get(opts)
32
+ p result
33
+ rescue FactPulse::ApiError => e
34
+ puts "Error when calling ReferencesApi->get_vatex_codes_api_v1_references_vatex_codes_get: #{e}"
35
+ end
36
+ ```
37
+
38
+ #### Using the get_vatex_codes_api_v1_references_vatex_codes_get_with_http_info variant
39
+
40
+ This returns an Array which contains the response data, status code and headers.
41
+
42
+ > <Array(<VATEXCodesResponse>, Integer, Hash)> get_vatex_codes_api_v1_references_vatex_codes_get_with_http_info(opts)
43
+
44
+ ```ruby
45
+ begin
46
+ # VATEX exemption reason codes
47
+ data, status_code, headers = api_instance.get_vatex_codes_api_v1_references_vatex_codes_get_with_http_info(opts)
48
+ p status_code # => 2xx
49
+ p headers # => { ... }
50
+ p data # => <VATEXCodesResponse>
51
+ rescue FactPulse::ApiError => e
52
+ puts "Error when calling ReferencesApi->get_vatex_codes_api_v1_references_vatex_codes_get_with_http_info: #{e}"
53
+ end
54
+ ```
55
+
56
+ ### Parameters
57
+
58
+ | Name | Type | Description | Notes |
59
+ | ---- | ---- | ----------- | ----- |
60
+ | **category** | **String** | Filter by VAT category code (E, AE, K, G, O). | [optional] |
61
+
62
+ ### Return type
63
+
64
+ [**VATEXCodesResponse**](VATEXCodesResponse.md)
65
+
66
+ ### Authorization
67
+
68
+ No authorization required
69
+
70
+ ### HTTP request headers
71
+
72
+ - **Content-Type**: Not defined
73
+ - **Accept**: application/json
74
+
data/docs/SecretStatus.md CHANGED
@@ -6,6 +6,8 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **status** | **String** | Secret status: &#39;active&#39;, &#39;missing&#39;, etc. | |
8
8
  | **message** | **String** | Descriptive status message | |
9
+ | **encryption_mode** | **String** | | [optional] |
10
+ | **requires_client_key** | **Boolean** | | [optional] |
9
11
 
10
12
  ## Example
11
13
 
@@ -14,7 +16,9 @@ require 'factpulse'
14
16
 
15
17
  instance = FactPulse::SecretStatus.new(
16
18
  status: null,
17
- message: null
19
+ message: null,
20
+ encryption_mode: null,
21
+ requires_client_key: null
18
22
  )
19
23
  ```
20
24
 
@@ -0,0 +1,34 @@
1
+ # FactPulse::SignatureSuccessResult
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **status** | **String** | | [optional][default to &#39;SUCCESS&#39;] |
8
+ | **content_b64** | **String** | | |
9
+ | **filename** | **String** | | |
10
+ | **size_bytes** | **Integer** | | |
11
+ | **is_signed** | **Boolean** | | |
12
+ | **signature_count** | **Integer** | | |
13
+ | **signer_cn** | **String** | | |
14
+ | **signing_date** | **String** | | |
15
+ | **validation_details** | **Hash&lt;String, Object&gt;** | | |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'factpulse'
21
+
22
+ instance = FactPulse::SignatureSuccessResult.new(
23
+ status: null,
24
+ content_b64: null,
25
+ filename: null,
26
+ size_bytes: null,
27
+ is_signed: null,
28
+ signature_count: null,
29
+ signer_cn: null,
30
+ signing_date: null,
31
+ validation_details: null
32
+ )
33
+ ```
34
+
@@ -0,0 +1,22 @@
1
+ # FactPulse::SignatureTaskStatus
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **task_id** | **String** | | |
8
+ | **status** | [**CeleryStatus**](CeleryStatus.md) | | |
9
+ | **result** | [**SignatureTaskStatusResult**](SignatureTaskStatusResult.md) | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'factpulse'
15
+
16
+ instance = FactPulse::SignatureTaskStatus.new(
17
+ task_id: null,
18
+ status: null,
19
+ result: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,79 @@
1
+ # FactPulse::SignatureTaskStatusResult
2
+
3
+ ## Class instance methods
4
+
5
+ ### `openapi_one_of`
6
+
7
+ Returns the list of classes defined in oneOf.
8
+
9
+ #### Example
10
+
11
+ ```ruby
12
+ require 'factpulse'
13
+
14
+ FactPulse::SignatureTaskStatusResult.openapi_one_of
15
+ # =>
16
+ # [
17
+ # :'SignatureSuccessResult',
18
+ # :'TaskErrorResult'
19
+ # ]
20
+ ```
21
+
22
+ ### `openapi_discriminator_name`
23
+
24
+ Returns the discriminator's property name.
25
+
26
+ #### Example
27
+
28
+ ```ruby
29
+ require 'factpulse'
30
+
31
+ FactPulse::SignatureTaskStatusResult.openapi_discriminator_name
32
+ # => :'status'
33
+ ```
34
+
35
+ ### `openapi_discriminator_name`
36
+
37
+ Returns the discriminator's mapping.
38
+
39
+ #### Example
40
+
41
+ ```ruby
42
+ require 'factpulse'
43
+
44
+ FactPulse::SignatureTaskStatusResult.openapi_discriminator_mapping
45
+ # =>
46
+ # {
47
+ # :'ERROR' => :'TaskErrorResult',
48
+ # :'SUCCESS' => :'SignatureSuccessResult'
49
+ # }
50
+ ```
51
+
52
+ ### build
53
+
54
+ Find the appropriate object from the `openapi_one_of` list and casts the data into it.
55
+
56
+ #### Example
57
+
58
+ ```ruby
59
+ require 'factpulse'
60
+
61
+ FactPulse::SignatureTaskStatusResult.build(data)
62
+ # => #<SignatureSuccessResult:0x00007fdd4aab02a0>
63
+
64
+ FactPulse::SignatureTaskStatusResult.build(data_that_doesnt_match)
65
+ # => nil
66
+ ```
67
+
68
+ #### Parameters
69
+
70
+ | Name | Type | Description |
71
+ | ---- | ---- | ----------- |
72
+ | **data** | **Mixed** | data to be matched against the list of oneOf items |
73
+
74
+ #### Return type
75
+
76
+ - `SignatureSuccessResult`
77
+ - `TaskErrorResult`
78
+ - `nil` (if no type matches)
79
+
@@ -13,7 +13,7 @@
13
13
  | **comment** | **String** | | [optional] |
14
14
  | **purchase_order_reference** | **String** | | [optional] |
15
15
  | **contract_reference** | **String** | | [optional] |
16
- | **invoice_type** | [**InvoiceTypeCode**](InvoiceTypeCode.md) | Document type (UNTDID 1001). Default: 380 (Invoice). | [optional] |
16
+ | **invoice_type** | [**FactureElectroniqueModelsInvoiceTypeCode**](FactureElectroniqueModelsInvoiceTypeCode.md) | Document type (UNTDID 1001). Default: 380 (Invoice). | [optional] |
17
17
  | **preceding_invoice_reference** | **String** | | [optional] |
18
18
  | **operation_nature** | [**OperationNature**](OperationNature.md) | | [optional] |
19
19
  | **invoicing_framework** | [**InvoicingFrameworkCode**](InvoicingFrameworkCode.md) | | [optional] |
@@ -8,7 +8,8 @@
8
8
  | **destination_type** | **String** | Destination type | |
9
9
  | **chorus_result** | [**ChorusProResult**](ChorusProResult.md) | | [optional] |
10
10
  | **afnor_result** | [**AFNORResult**](AFNORResult.md) | | [optional] |
11
- | **enriched_invoice** | [**EnrichedInvoiceInfo**](EnrichedInvoiceInfo.md) | Enriched invoice data | |
11
+ | **enriched_invoice** | [**EnrichedInvoiceInfo**](EnrichedInvoiceInfo.md) | Enriched invoice data (summary) | |
12
+ | **invoice** | **Hash&lt;String, Object&gt;** | Complete enriched invoice data (FacturXInvoice format). Use this to regenerate the same invoice. | |
12
13
  | **facturx_pdf** | [**FacturXPDFInfo**](FacturXPDFInfo.md) | Generated PDF information | |
13
14
  | **signature** | [**SignatureInfo**](SignatureInfo.md) | | [optional] |
14
15
  | **content_b64** | **String** | Generated Factur-X PDF (and signed if requested) base64-encoded | |
@@ -25,6 +26,7 @@ instance = FactPulse::SubmitCompleteInvoiceResponse.new(
25
26
  chorus_result: null,
26
27
  afnor_result: null,
27
28
  enriched_invoice: null,
29
+ invoice: null,
28
30
  facturx_pdf: null,
29
31
  signature: null,
30
32
  content_b64: null,
data/docs/Supplier.md CHANGED
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **electronic_address** | [**ElectronicAddress**](ElectronicAddress.md) | | [optional] |
8
- | **supplier_id** | **Integer** | | |
8
+ | **supplier_id** | **Integer** | Chorus Pro supplier structure ID (idFournisseur). Only required for B2G. | [optional][default to 0] |
9
9
  | **private_id** | **String** | | [optional] |
10
10
  | **supplier_bank_account_code** | **Integer** | | [optional] |
11
11
  | **supplier_service_id** | **Integer** | | [optional] |
@@ -0,0 +1,26 @@
1
+ # FactPulse::TaskErrorResult
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **status** | **String** | | [optional][default to &#39;ERROR&#39;] |
8
+ | **error_code** | **String** | | |
9
+ | **error_message** | **String** | | |
10
+ | **details** | [**Array&lt;AFNORErrorDetail&gt;**](AFNORErrorDetail.md) | | [optional] |
11
+ | **traceback** | **String** | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'factpulse'
17
+
18
+ instance = FactPulse::TaskErrorResult.new(
19
+ status: null,
20
+ error_code: null,
21
+ error_message: null,
22
+ details: null,
23
+ traceback: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,24 @@
1
+ # FactPulse::VATEXCodeInfo
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **code** | **String** | VATEX code (e.g. VATEX-EU-IC) | |
8
+ | **name** | **String** | Short name (e.g. &#39;Intra-Community supply&#39;) | |
9
+ | **description** | **String** | Detailed description / remark | |
10
+ | **category** | **String** | Associated VAT category code (E, AE, K, G, O) | |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'factpulse'
16
+
17
+ instance = FactPulse::VATEXCodeInfo.new(
18
+ code: null,
19
+ name: null,
20
+ description: null,
21
+ category: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,22 @@
1
+ # FactPulse::VATEXCodesResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **codes** | [**Array&lt;VATEXCodeInfo&gt;**](VATEXCodeInfo.md) | | |
8
+ | **count** | **Integer** | | |
9
+ | **source** | **String** | | [optional][default to &#39;https://docs.peppol.eu/poacc/billing/3.0/codelist/vatex/&#39;] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'factpulse'
15
+
16
+ instance = FactPulse::VATEXCodesResponse.new(
17
+ codes: null,
18
+ count: null,
19
+ source: null
20
+ )
21
+ ```
22
+
@@ -5,8 +5,8 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **valid** | **Boolean** | Résultat de validation | |
8
- | **errors** | [**Array&lt;FactureElectroniqueRestApiSchemasCdarValidationErrorResponse&gt;**](FactureElectroniqueRestApiSchemasCdarValidationErrorResponse.md) | Liste des erreurs | [optional] |
9
- | **warnings** | [**Array&lt;FactureElectroniqueRestApiSchemasCdarValidationErrorResponse&gt;**](FactureElectroniqueRestApiSchemasCdarValidationErrorResponse.md) | Liste des avertissements | [optional] |
8
+ | **errors** | [**Array&lt;ValidationErrorResponse&gt;**](ValidationErrorResponse.md) | Liste des erreurs | [optional] |
9
+ | **warnings** | [**Array&lt;ValidationErrorResponse&gt;**](ValidationErrorResponse.md) | Liste des avertissements | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -0,0 +1,88 @@
1
+ # FactPulse::ValidationApi
2
+
3
+ All URIs are relative to *https://factpulse.fr*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**validate_xml_api_v1_processing_validate_xml_post**](ValidationApi.md#validate_xml_api_v1_processing_validate_xml_post) | **POST** /api/v1/processing/validate-xml | Validate a CII or UBL XML against Schematron rules |
8
+
9
+
10
+ ## validate_xml_api_v1_processing_validate_xml_post
11
+
12
+ > <ValidationSuccessResponse> validate_xml_api_v1_processing_validate_xml_post(xml_file, opts)
13
+
14
+ Validate a CII or UBL XML against Schematron rules
15
+
16
+ Validates a CII (Factur-X) or UBL XML file against Schematron business rules. The XML format is **auto-detected** from namespace: - CII XML → validated with EN16931-CII + profile-specific + BR-FR-CII Schematrons - UBL XML → validated with EN16931-UBL + BR-FR-UBL Schematrons ## Applied Standard **Schematron ISO/IEC 19757-3**: Business rules validation language for XML - Semantic validation (beyond XSD syntax) - European EN 16931 business rules - French-specific rules (BR-FR-CII or BR-FR-UBL) - Arithmetic calculations and data consistency ## Profiles and validated rules (CII only) ### MINIMUM (45 rules) - Unique invoice identifier - Dates (issue, due date) - Party identifiers (SIRET/SIREN) - Total gross amount ### BASIC (102 rules) - All MINIMUM rules - Detailed invoice lines - Basic VAT calculations - Payment methods - References (order, contract) ### EN16931 (178 rules) - All BASIC rules - **European rules (BR-xx)**: 81 business rules - **French rules (FR-xx)**: 12 France-specific rules - **Advanced calculations (CR-xx)**: 32 calculation rules - **Standardized codes (CL-xx)**: 52 code lists ### EXTENDED (210+ rules) - All EN16931 rules - Logistics information - Advanced accounting data - Multiple external references ## Checks performed ### 1. Syntax validation - Correct XML parsing (UTF-8, well-formed) - UN/CEFACT namespaces present - Hierarchical structure respected ### 2. Business rules (BR-xx) Examples: - `BR-1`: Invoice total must equal sum of line totals + document-level amounts - `BR-CO-10`: Sum of VAT base amounts must equal invoice net total - `BR-16`: Invoice currency code must be in ISO 4217 list ### 3. French rules (FR-xx) Examples: - `FR-1`: Supplier SIRET must have 14 digits - `FR-2`: Customer SIRET must have 14 digits (if present) - `FR-5`: Intra-EU VAT number must be in format FRxx999999999 ### 4. Calculation rules (CR-xx) - Net + VAT = Gross amounts - Sum of lines = Document total - Discounts and surcharges correctly applied - Compliant rounding (2 decimals for amounts) ### 5. Standardized codes (CL-xx) - ISO 3166-1 alpha-2 country codes - ISO 4217 currency codes - UN/ECE Rec 20 measurement units - VAT codes (types, categories, exemptions) - SchemeID for identifiers (0002=SIREN, 0009=SIRET, etc.) ## Validation process 1. **XSLT loading**: Schematron file converted to XSLT (Saxon-HE) 2. **Transformation**: Rules applied to XML 3. **Results analysis**: Extraction of errors (`failed-assert`) and warnings (`successful-report`) 4. **Report**: Structured list of non-conformities ## Responses **200 OK**: Compliant XML ```json { \"message\": \"XML is compliant with EN16931 profile\" } ``` **400 Bad Request**: Non-compliant XML ```json { \"detail\": [ \"[BR-1] Invoice total (120.00) does not match calculated sum (100.00 + 20.00)\", \"[FR-1] Supplier SIRET must contain exactly 14 digits\" ] } ``` ## Use cases - **Pre-validation**: Verify XML before PDF/A integration - **Debugging**: Precisely identify generation errors - **Testing**: Validate test or example XMLs - **Compliance**: Ensure European and French rules are met - **Development**: Quick testing without PDF generation ## Processing time - MINIMUM profile: ~0.5 second - EN16931 profile: ~1-2 seconds - EXTENDED profile: ~2-3 seconds
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'factpulse'
23
+ # setup authorization
24
+ FactPulse.configure do |config|
25
+ # Configure API key authorization: APIKeyHeader
26
+ config.api_key['X-API-Key'] = 'YOUR API KEY'
27
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
28
+ # config.api_key_prefix['X-API-Key'] = 'Bearer'
29
+
30
+ # Configure Bearer authorization: HTTPBearer
31
+ config.access_token = 'YOUR_BEARER_TOKEN'
32
+ end
33
+
34
+ api_instance = FactPulse::ValidationApi.new
35
+ xml_file = File.new('/path/to/some/file') # File | CII (Factur-X) or UBL XML file to validate (.xml format). Format is auto-detected.
36
+ opts = {
37
+ profile: FactPulse::APIProfile::MINIMUM, # APIProfile | Validation profile (MINIMUM, BASIC, EN16931, EXTENDED). Used for CII only; ignored for UBL (always EN16931).
38
+ skip_br_fr: true # Boolean |
39
+ }
40
+
41
+ begin
42
+ # Validate a CII or UBL XML against Schematron rules
43
+ result = api_instance.validate_xml_api_v1_processing_validate_xml_post(xml_file, opts)
44
+ p result
45
+ rescue FactPulse::ApiError => e
46
+ puts "Error when calling ValidationApi->validate_xml_api_v1_processing_validate_xml_post: #{e}"
47
+ end
48
+ ```
49
+
50
+ #### Using the validate_xml_api_v1_processing_validate_xml_post_with_http_info variant
51
+
52
+ This returns an Array which contains the response data, status code and headers.
53
+
54
+ > <Array(<ValidationSuccessResponse>, Integer, Hash)> validate_xml_api_v1_processing_validate_xml_post_with_http_info(xml_file, opts)
55
+
56
+ ```ruby
57
+ begin
58
+ # Validate a CII or UBL XML against Schematron rules
59
+ data, status_code, headers = api_instance.validate_xml_api_v1_processing_validate_xml_post_with_http_info(xml_file, opts)
60
+ p status_code # => 2xx
61
+ p headers # => { ... }
62
+ p data # => <ValidationSuccessResponse>
63
+ rescue FactPulse::ApiError => e
64
+ puts "Error when calling ValidationApi->validate_xml_api_v1_processing_validate_xml_post_with_http_info: #{e}"
65
+ end
66
+ ```
67
+
68
+ ### Parameters
69
+
70
+ | Name | Type | Description | Notes |
71
+ | ---- | ---- | ----------- | ----- |
72
+ | **xml_file** | **File** | CII (Factur-X) or UBL XML file to validate (.xml format). Format is auto-detected. | |
73
+ | **profile** | [**APIProfile**](APIProfile.md) | Validation profile (MINIMUM, BASIC, EN16931, EXTENDED). Used for CII only; ignored for UBL (always EN16931). | [optional] |
74
+ | **skip_br_fr** | **Boolean** | | [optional] |
75
+
76
+ ### Return type
77
+
78
+ [**ValidationSuccessResponse**](ValidationSuccessResponse.md)
79
+
80
+ ### Authorization
81
+
82
+ [APIKeyHeader](../README.md#APIKeyHeader), [HTTPBearer](../README.md#HTTPBearer)
83
+
84
+ ### HTTP request headers
85
+
86
+ - **Content-Type**: multipart/form-data
87
+ - **Accept**: application/json
88
+
@@ -4,7 +4,10 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **detail** | **Array&lt;String&gt;** | List of detected validation errors. | |
7
+ | **field** | **String** | Champ concerné | |
8
+ | **message** | **String** | Message d&#39;erreur | |
9
+ | **rule** | **String** | | [optional] |
10
+ | **severity** | **String** | Sévérité (error/warning) | [optional][default to &#39;error&#39;] |
8
11
 
9
12
  ## Example
10
13
 
@@ -12,7 +15,10 @@
12
15
  require 'factpulse'
13
16
 
14
17
  instance = FactPulse::ValidationErrorResponse.new(
15
- detail: null
18
+ field: null,
19
+ message: null,
20
+ rule: null,
21
+ severity: null
16
22
  )
17
23
  ```
18
24