factpulse 4.0.3 → 4.3.0

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 (510) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -5
  3. data/Gemfile.lock +3 -3
  4. data/docs/AFNORBasicAuthentication.md +20 -0
  5. data/docs/AFNORCallbackAuthentication.md +49 -0
  6. data/docs/AFNORCallbackHeader.md +20 -0
  7. data/docs/AFNORCallbackParameters.md +24 -0
  8. data/docs/AFNORCallbackSignature.md +20 -0
  9. data/docs/{AFNORFacilityNature.md → AFNORContainsOrStrictOperator.md} +2 -2
  10. data/docs/AFNORCoreFlowInfo.md +26 -0
  11. data/docs/{AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCode.md → AFNORDirectoryLinePayloadLegalUnitFacilityRoutingCode.md} +5 -5
  12. data/docs/AFNORDirectoryLinePayloadStatusLegalUnitFacilityRoutingCode.md +34 -0
  13. data/docs/AFNORDirectoryLineSearchPost200Response.md +1 -1
  14. data/docs/{AFNORDiffusionStatus.md → AFNORDirectoryLineStatus.md} +2 -2
  15. data/docs/AFNORError.md +4 -4
  16. data/docs/AFNORErrorDetail.md +26 -0
  17. data/docs/AFNORFacilityPayloadHistory.md +3 -3
  18. data/docs/AFNORFacilityPayloadIncluded.md +0 -2
  19. data/docs/AFNORFlow.md +16 -14
  20. data/docs/AFNORFlowExtension.md +26 -0
  21. data/docs/AFNORFlowInfo.md +3 -3
  22. data/docs/AFNORFlowInfoExtension.md +18 -0
  23. data/docs/AFNORFullFlowInfo.md +8 -8
  24. data/docs/AFNORFullFlowInfoExtension.md +20 -0
  25. data/docs/AFNORLegalUnitPayloadHistory.md +3 -1
  26. data/docs/AFNOROAuth2Authentication.md +22 -0
  27. data/docs/AFNORPDPPADirectoryServiceApi.md +4 -648
  28. data/docs/AFNORPDPPAFlowServiceApi.md +320 -1
  29. data/docs/AFNORRoutingCodeSearch.md +1 -1
  30. data/docs/AFNORRoutingCodeSearchFiltersRoutingCodeName.md +1 -1
  31. data/docs/AFNORRoutingCodeSearchFiltersRoutingIdentifier.md +1 -1
  32. data/docs/AFNORSearchDirectoryLine.md +2 -2
  33. data/docs/AFNORSearchDirectoryLineFiltersAddressingIdentifier.md +1 -1
  34. data/docs/AFNORSearchDirectoryLineFiltersAddressingSuffix.md +1 -1
  35. data/docs/AFNORSearchFlowFilters.md +1 -1
  36. data/docs/AFNORSearchSiren.md +1 -1
  37. data/docs/AFNORSearchSirenFiltersBusinessName.md +1 -1
  38. data/docs/AFNORSearchSirenFiltersSiren.md +1 -1
  39. data/docs/AFNORSearchSiret.md +2 -2
  40. data/docs/AFNORSearchSiretFiltersCountrySubdivision.md +1 -1
  41. data/docs/AFNORSearchSiretFiltersFacilityType.md +1 -1
  42. data/docs/AFNORSearchSiretFiltersLocality.md +1 -1
  43. data/docs/AFNORSearchSiretFiltersName.md +1 -1
  44. data/docs/AFNORSearchSiretFiltersPostalCode.md +1 -1
  45. data/docs/AFNORSearchSiretFiltersSiret.md +1 -1
  46. data/docs/AFNORSirenInstructions.md +18 -0
  47. data/docs/AFNORSiretInstructions.md +18 -0
  48. data/docs/{AFNORPlatformStatus.md → AFNORStrictOrStartWithOperator.md} +2 -2
  49. data/docs/AFNORWebhook.md +22 -0
  50. data/docs/AFNORWebhookIdParam.md +18 -0
  51. data/docs/AFNORWebhookMetadata.md +24 -0
  52. data/docs/AFNORWebhookParams.md +20 -0
  53. data/docs/AFNORWebhookPatchPayload.md +22 -0
  54. data/docs/AsyncTasksApi.md +225 -0
  55. data/docs/ChorusProCredentials.md +8 -8
  56. data/docs/ChorusProDestination.md +1 -1
  57. data/docs/ClientManagementApi.md +20 -20
  58. data/docs/ConversionErrorResult.md +30 -0
  59. data/docs/ConversionExtractionInfo.md +20 -0
  60. data/docs/ConversionPendingInputResult.md +30 -0
  61. data/docs/ConversionSuccessTaskResult.md +36 -0
  62. data/docs/ConversionTaskStatus.md +22 -0
  63. data/docs/ConversionTaskStatusResult.md +85 -0
  64. data/docs/ConversionValidationFailedResult.md +34 -0
  65. data/docs/DownloadsApi.md +4 -4
  66. data/docs/FacturXConversionApi.md +75 -0
  67. data/docs/FacturXInvoice.md +1 -1
  68. data/docs/FacturXPDFXMLVerificationApi.md +75 -0
  69. data/docs/FacturXValidationApi.md +0 -81
  70. data/docs/FactureElectroniqueRestApiSchemasCdarValidationErrorResponse.md +24 -0
  71. data/docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md +26 -0
  72. data/docs/Flux6InvoiceLifecycleCDARApi.md +82 -0
  73. data/docs/GenerationSuccessResult.md +24 -0
  74. data/docs/GenerationTaskStatus.md +22 -0
  75. data/docs/GenerationTaskStatusResult.md +79 -0
  76. data/docs/GetChorusProIdRequest.md +1 -1
  77. data/docs/GetInvoiceRequest.md +1 -1
  78. data/docs/GetStructureRequest.md +1 -1
  79. data/docs/HealthApi.md +0 -124
  80. data/docs/{FacturXGenerationApi.md → InvoiceGenerationApi.md} +21 -21
  81. data/docs/InvoiceLifecycle.md +24 -0
  82. data/docs/InvoicingFramework.md +1 -1
  83. data/docs/LifecycleEvent.md +38 -0
  84. data/docs/LifecycleResponse.md +22 -0
  85. data/docs/ParseApi.md +161 -0
  86. data/docs/ParseFacturXResponse.md +26 -0
  87. data/docs/ReferencesApi.md +74 -0
  88. data/docs/SearchStructureRequest.md +1 -1
  89. data/docs/SignatureSuccessResult.md +34 -0
  90. data/docs/SignatureTaskStatus.md +22 -0
  91. data/docs/SignatureTaskStatusResult.md +79 -0
  92. data/docs/SubmitCompleteInvoiceResponse.md +3 -1
  93. data/docs/SubmitInvoiceRequest.md +1 -1
  94. data/docs/Supplier.md +1 -1
  95. data/docs/TaskErrorResult.md +26 -0
  96. data/docs/VATEXCodeInfo.md +24 -0
  97. data/docs/VATEXCodesResponse.md +22 -0
  98. data/docs/ValidateCDARResponse.md +2 -2
  99. data/docs/ValidationApi.md +88 -0
  100. data/docs/ValidationErrorResponse.md +2 -8
  101. data/docs/ValidationSuccessTaskResult.md +20 -0
  102. data/docs/ValidationTaskStatus.md +22 -0
  103. data/docs/ValidationTaskStatusResult.md +79 -0
  104. data/docs/VerificationSuccessTaskResult.md +20 -0
  105. data/docs/VerificationTypedTaskStatus.md +22 -0
  106. data/docs/VerificationTypedTaskStatusResult.md +79 -0
  107. data/factpulse.gemspec +3 -3
  108. data/lib/factpulse/api/afnorpdppa_api.rb +2 -2
  109. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +5 -623
  110. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +305 -2
  111. data/lib/factpulse/api/async_tasks_api.rb +191 -2
  112. data/lib/factpulse/api/chorus_pro_api.rb +2 -2
  113. data/lib/factpulse/api/client_management_api.rb +22 -22
  114. data/lib/factpulse/api/downloads_api.rb +6 -6
  115. data/lib/factpulse/api/electronic_signature_api.rb +2 -2
  116. data/lib/factpulse/api/factur_x_conversion_api.rb +65 -2
  117. data/lib/factpulse/api/factur_x_validation_api.rb +2 -77
  118. data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +65 -2
  119. data/lib/factpulse/api/flux10_e_reporting_api.rb +2 -2
  120. data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +85 -2
  121. data/lib/factpulse/api/health_api.rb +2 -116
  122. data/lib/factpulse/api/{factur_x_generation_api.rb → invoice_generation_api.rb} +23 -23
  123. data/lib/factpulse/api/parse_api.rb +163 -0
  124. data/lib/factpulse/api/references_api.rb +82 -0
  125. data/lib/factpulse/api/validation_api.rb +97 -0
  126. data/lib/factpulse/api_client.rb +2 -2
  127. data/lib/factpulse/api_error.rb +2 -2
  128. data/lib/factpulse/api_model_base.rb +2 -2
  129. data/lib/factpulse/configuration.rb +2 -2
  130. data/lib/factpulse/models/acknowledgment_status.rb +2 -2
  131. data/lib/factpulse/models/action_code_info.rb +2 -2
  132. data/lib/factpulse/models/action_codes_response.rb +2 -2
  133. data/lib/factpulse/models/additional_document.rb +2 -2
  134. data/lib/factpulse/models/afnor_acknowledgement.rb +2 -2
  135. data/lib/factpulse/models/afnor_acknowledgement_detail.rb +2 -2
  136. data/lib/factpulse/models/afnor_address_read.rb +2 -2
  137. data/lib/factpulse/models/afnor_algorithm.rb +6 -5
  138. data/lib/factpulse/models/afnor_basic_authentication.rb +190 -0
  139. data/lib/factpulse/models/afnor_callback_authentication.rb +105 -0
  140. data/lib/factpulse/models/afnor_callback_header.rb +190 -0
  141. data/lib/factpulse/models/afnor_callback_parameters.rb +193 -0
  142. data/lib/factpulse/models/afnor_callback_signature.rb +213 -0
  143. data/lib/factpulse/models/afnor_contains_operator.rb +2 -2
  144. data/lib/factpulse/models/afnor_contains_or_strict_operator.rb +40 -0
  145. data/lib/factpulse/models/afnor_core_flow_info.rb +270 -0
  146. data/lib/factpulse/models/afnor_credentials.rb +2 -2
  147. data/lib/factpulse/models/afnor_destination.rb +2 -2
  148. data/lib/factpulse/models/afnor_directory_line_field.rb +3 -4
  149. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +2 -2
  150. data/lib/factpulse/models/{afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb → afnor_directory_line_payload_legal_unit_facility_routing_code.rb} +38 -16
  151. data/lib/factpulse/models/afnor_directory_line_payload_status_legal_unit_facility_routing_code.rb +343 -0
  152. data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +3 -3
  153. data/lib/factpulse/models/afnor_directory_line_status.rb +41 -0
  154. data/lib/factpulse/models/afnor_entity_type.rb +2 -2
  155. data/lib/factpulse/models/afnor_error.rb +32 -41
  156. data/lib/factpulse/models/afnor_error_detail.rb +237 -0
  157. data/lib/factpulse/models/afnor_facility_administrative_status.rb +2 -2
  158. data/lib/factpulse/models/afnor_facility_payload_history.rb +13 -13
  159. data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +2 -2
  160. data/lib/factpulse/models/afnor_facility_payload_included.rb +3 -12
  161. data/lib/factpulse/models/afnor_facility_type.rb +2 -2
  162. data/lib/factpulse/models/afnor_flow.rb +220 -59
  163. data/lib/factpulse/models/afnor_flow_ack_status.rb +2 -2
  164. data/lib/factpulse/models/afnor_flow_direction.rb +2 -2
  165. data/lib/factpulse/models/afnor_flow_extension.rb +295 -0
  166. data/lib/factpulse/models/afnor_flow_info.rb +22 -6
  167. data/lib/factpulse/models/afnor_flow_info_extension.rb +170 -0
  168. data/lib/factpulse/models/afnor_flow_profile.rb +2 -2
  169. data/lib/factpulse/models/afnor_flow_syntax.rb +2 -2
  170. data/lib/factpulse/models/afnor_flow_type.rb +2 -2
  171. data/lib/factpulse/models/afnor_full_flow_info.rb +81 -48
  172. data/lib/factpulse/models/afnor_full_flow_info_extension.rb +202 -0
  173. data/lib/factpulse/models/afnor_health_check_response.rb +2 -2
  174. data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +2 -2
  175. data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +15 -6
  176. data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +2 -2
  177. data/lib/factpulse/models/afnor_processing_rule.rb +6 -3
  178. data/lib/factpulse/models/afnor_reason_code.rb +2 -2
  179. data/lib/factpulse/models/afnor_reason_code_enum.rb +2 -2
  180. data/lib/factpulse/models/afnor_recipient_platform_type.rb +2 -2
  181. data/lib/factpulse/models/afnor_result.rb +2 -2
  182. data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +2 -2
  183. data/lib/factpulse/models/afnor_routing_code_field.rb +3 -4
  184. data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +2 -2
  185. data/lib/factpulse/models/afnor_routing_code_search.rb +2 -2
  186. data/lib/factpulse/models/afnor_routing_code_search_filters.rb +2 -2
  187. data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +2 -2
  188. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +3 -3
  189. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +3 -3
  190. data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +2 -2
  191. data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +2 -2
  192. data/lib/factpulse/models/afnor_search_directory_line.rb +2 -2
  193. data/lib/factpulse/models/afnor_search_directory_line_filters.rb +2 -2
  194. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +3 -3
  195. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +3 -3
  196. data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +2 -2
  197. data/lib/factpulse/models/afnor_search_flow_content.rb +2 -2
  198. data/lib/factpulse/models/afnor_search_flow_filters.rb +3 -2
  199. data/lib/factpulse/models/afnor_search_flow_params.rb +2 -2
  200. data/lib/factpulse/models/afnor_search_siren.rb +2 -2
  201. data/lib/factpulse/models/afnor_search_siren_filters.rb +2 -2
  202. data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +2 -2
  203. data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +3 -3
  204. data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +2 -2
  205. data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +3 -3
  206. data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +2 -2
  207. data/lib/factpulse/models/afnor_search_siret.rb +2 -2
  208. data/lib/factpulse/models/afnor_search_siret_filters.rb +2 -2
  209. data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +2 -2
  210. data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +2 -2
  211. data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +3 -3
  212. data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +3 -3
  213. data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +3 -3
  214. data/lib/factpulse/models/afnor_search_siret_filters_name.rb +3 -3
  215. data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +3 -3
  216. data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +3 -3
  217. data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +2 -2
  218. data/lib/factpulse/models/afnor_siren_field.rb +4 -4
  219. data/lib/factpulse/models/afnor_siren_instructions.rb +149 -0
  220. data/lib/factpulse/models/afnor_siren_search_post200_response.rb +2 -2
  221. data/lib/factpulse/models/afnor_siret_field.rb +5 -6
  222. data/lib/factpulse/models/afnor_siret_instructions.rb +149 -0
  223. data/lib/factpulse/models/afnor_siret_search_post200_response.rb +2 -2
  224. data/lib/factpulse/models/afnor_sorting_order.rb +2 -2
  225. data/lib/factpulse/models/afnor_strict_operator.rb +2 -2
  226. data/lib/factpulse/models/afnor_strict_or_start_with_operator.rb +40 -0
  227. data/lib/factpulse/models/afnor_webhook.rb +207 -0
  228. data/lib/factpulse/models/afnor_webhook_id_param.rb +147 -0
  229. data/lib/factpulse/models/afnor_webhook_metadata.rb +230 -0
  230. data/lib/factpulse/models/afnor_webhook_params.rb +190 -0
  231. data/lib/factpulse/models/afnor_webhook_patch_payload.rb +167 -0
  232. data/lib/factpulse/models/afnoro_auth2_authentication.rb +216 -0
  233. data/lib/factpulse/models/aggregated_payment_input.rb +2 -2
  234. data/lib/factpulse/models/aggregated_transaction_input.rb +2 -2
  235. data/lib/factpulse/models/allowance_charge.rb +2 -2
  236. data/lib/factpulse/models/allowance_charge_reason_code.rb +2 -2
  237. data/lib/factpulse/models/allowance_reason_code.rb +2 -2
  238. data/lib/factpulse/models/allowance_total_amount.rb +2 -2
  239. data/lib/factpulse/models/amount.rb +2 -2
  240. data/lib/factpulse/models/amount1.rb +2 -2
  241. data/lib/factpulse/models/amount2.rb +2 -2
  242. data/lib/factpulse/models/amount_due.rb +2 -2
  243. data/lib/factpulse/models/api_error.rb +2 -2
  244. data/lib/factpulse/models/api_profile.rb +2 -2
  245. data/lib/factpulse/models/async_task_status.rb +2 -2
  246. data/lib/factpulse/models/base_amount.rb +2 -2
  247. data/lib/factpulse/models/bounding_box_schema.rb +2 -2
  248. data/lib/factpulse/models/buyercountry.rb +2 -2
  249. data/lib/factpulse/models/celery_status.rb +2 -2
  250. data/lib/factpulse/models/certificate_info_response.rb +2 -2
  251. data/lib/factpulse/models/charge_total_amount.rb +2 -2
  252. data/lib/factpulse/models/chorus_pro_credentials.rb +96 -28
  253. data/lib/factpulse/models/chorus_pro_destination.rb +3 -3
  254. data/lib/factpulse/models/chorus_pro_result.rb +2 -2
  255. data/lib/factpulse/models/client_activate_response.rb +2 -2
  256. data/lib/factpulse/models/client_create_request.rb +2 -2
  257. data/lib/factpulse/models/client_detail.rb +2 -2
  258. data/lib/factpulse/models/client_list_response.rb +2 -2
  259. data/lib/factpulse/models/client_summary.rb +2 -2
  260. data/lib/factpulse/models/client_update_request.rb +2 -2
  261. data/lib/factpulse/models/contact.rb +2 -2
  262. data/lib/factpulse/models/conversion_error_result.rb +277 -0
  263. data/lib/factpulse/models/conversion_extraction_info.rb +176 -0
  264. data/lib/factpulse/models/conversion_pending_input_result.rb +344 -0
  265. data/lib/factpulse/models/conversion_success_task_result.rb +355 -0
  266. data/lib/factpulse/models/conversion_task_status.rb +223 -0
  267. data/lib/factpulse/models/conversion_task_status_result.rb +59 -0
  268. data/lib/factpulse/models/conversion_validation_failed_result.rb +348 -0
  269. data/lib/factpulse/models/convert_resume_request.rb +2 -2
  270. data/lib/factpulse/models/convert_success_response.rb +2 -2
  271. data/lib/factpulse/models/convert_validation_failed_response.rb +2 -2
  272. data/lib/factpulse/models/country_code.rb +2 -2
  273. data/lib/factpulse/models/create_aggregated_report_request.rb +2 -2
  274. data/lib/factpulse/models/create_cdar_request.rb +2 -2
  275. data/lib/factpulse/models/create_e_reporting_request.rb +2 -2
  276. data/lib/factpulse/models/currency.rb +2 -2
  277. data/lib/factpulse/models/currency_code.rb +2 -2
  278. data/lib/factpulse/models/delivery_party.rb +2 -2
  279. data/lib/factpulse/models/destination.rb +2 -2
  280. data/lib/factpulse/models/doc_type.rb +2 -2
  281. data/lib/factpulse/models/document_type_info.rb +2 -2
  282. data/lib/factpulse/models/e_reporting_flow_type.rb +2 -2
  283. data/lib/factpulse/models/e_reporting_validation_error.rb +2 -2
  284. data/lib/factpulse/models/electronic_address.rb +2 -2
  285. data/lib/factpulse/models/encaisseamount.rb +2 -2
  286. data/lib/factpulse/models/encaisseamount1.rb +2 -2
  287. data/lib/factpulse/models/encaissee_request.rb +2 -2
  288. data/lib/factpulse/models/enriched_invoice_info.rb +2 -2
  289. data/lib/factpulse/models/error_level.rb +2 -2
  290. data/lib/factpulse/models/error_source.rb +2 -2
  291. data/lib/factpulse/models/extraction_info.rb +2 -2
  292. data/lib/factpulse/models/factur_x_invoice.rb +3 -19
  293. data/lib/factpulse/models/factur_xpdf_info.rb +2 -2
  294. data/lib/factpulse/models/facture_electronique_rest_api_schemas_cdar_validation_error_response.rb +215 -0
  295. data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +2 -2
  296. data/lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb +191 -0
  297. data/lib/factpulse/models/field_status.rb +2 -2
  298. data/lib/factpulse/models/file_info.rb +2 -2
  299. data/lib/factpulse/models/files_info.rb +2 -2
  300. data/lib/factpulse/models/flow_direction.rb +2 -2
  301. data/lib/factpulse/models/flow_profile.rb +2 -2
  302. data/lib/factpulse/models/flow_summary.rb +2 -2
  303. data/lib/factpulse/models/flow_syntax.rb +2 -2
  304. data/lib/factpulse/models/flow_type.rb +2 -2
  305. data/lib/factpulse/models/generate_aggregated_report_response.rb +2 -2
  306. data/lib/factpulse/models/generate_cdar_response.rb +2 -2
  307. data/lib/factpulse/models/generate_certificate_request.rb +2 -2
  308. data/lib/factpulse/models/generate_certificate_response.rb +2 -2
  309. data/lib/factpulse/models/generate_e_reporting_response.rb +2 -2
  310. data/lib/factpulse/models/generation_success_result.rb +230 -0
  311. data/lib/factpulse/models/generation_task_status.rb +223 -0
  312. data/lib/factpulse/models/generation_task_status_result.rb +55 -0
  313. data/lib/factpulse/models/get_chorus_pro_id_request.rb +3 -3
  314. data/lib/factpulse/models/get_chorus_pro_id_response.rb +2 -2
  315. data/lib/factpulse/models/get_invoice_request.rb +3 -3
  316. data/lib/factpulse/models/get_invoice_response.rb +2 -2
  317. data/lib/factpulse/models/get_structure_request.rb +3 -3
  318. data/lib/factpulse/models/get_structure_response.rb +2 -2
  319. data/lib/factpulse/models/global_allowance_amount.rb +2 -2
  320. data/lib/factpulse/models/gross_unit_price.rb +2 -2
  321. data/lib/factpulse/models/http_validation_error.rb +2 -2
  322. data/lib/factpulse/models/incoming_invoice.rb +2 -2
  323. data/lib/factpulse/models/incoming_supplier.rb +2 -2
  324. data/lib/factpulse/models/invoice_format.rb +2 -2
  325. data/lib/factpulse/models/invoice_input.rb +2 -2
  326. data/lib/factpulse/models/invoice_lifecycle.rb +215 -0
  327. data/lib/factpulse/models/invoice_line.rb +2 -2
  328. data/lib/factpulse/models/invoice_line_allowance_amount.rb +2 -2
  329. data/lib/factpulse/models/invoice_note.rb +2 -2
  330. data/lib/factpulse/models/invoice_payment_input.rb +2 -2
  331. data/lib/factpulse/models/invoice_references.rb +2 -2
  332. data/lib/factpulse/models/invoice_status.rb +2 -2
  333. data/lib/factpulse/models/invoice_totals.rb +2 -2
  334. data/lib/factpulse/models/invoice_totals_prepayment.rb +2 -2
  335. data/lib/factpulse/models/invoice_type_code.rb +2 -2
  336. data/lib/factpulse/models/invoice_type_code_output.rb +2 -2
  337. data/lib/factpulse/models/invoicing_framework.rb +3 -20
  338. data/lib/factpulse/models/invoicing_framework_code.rb +2 -2
  339. data/lib/factpulse/models/issuer_role_code.rb +2 -2
  340. data/lib/factpulse/models/key_rotation_request.rb +2 -2
  341. data/lib/factpulse/models/key_rotation_response.rb +2 -2
  342. data/lib/factpulse/models/lifecycle_event.rb +300 -0
  343. data/lib/factpulse/models/lifecycle_response.rb +205 -0
  344. data/lib/factpulse/models/line_net_amount.rb +2 -2
  345. data/lib/factpulse/models/line_sub_type.rb +2 -2
  346. data/lib/factpulse/models/line_total_amount.rb +2 -2
  347. data/lib/factpulse/models/location_inner.rb +2 -2
  348. data/lib/factpulse/models/mandatory_note_schema.rb +2 -2
  349. data/lib/factpulse/models/manual_rate.rb +2 -2
  350. data/lib/factpulse/models/manual_vat_rate.rb +2 -2
  351. data/lib/factpulse/models/missing_field.rb +2 -2
  352. data/lib/factpulse/models/operation_nature.rb +2 -2
  353. data/lib/factpulse/models/output_format.rb +5 -3
  354. data/lib/factpulse/models/page_dimensions_schema.rb +2 -2
  355. data/lib/factpulse/models/parse_factur_x_response.rb +249 -0
  356. data/lib/factpulse/models/payee.rb +2 -2
  357. data/lib/factpulse/models/payment_amount_by_rate.rb +2 -2
  358. data/lib/factpulse/models/payment_card.rb +2 -2
  359. data/lib/factpulse/models/payment_means.rb +2 -2
  360. data/lib/factpulse/models/pdf_validation_result_api.rb +2 -2
  361. data/lib/factpulse/models/pdp_config_response.rb +2 -2
  362. data/lib/factpulse/models/pdp_config_update_request.rb +2 -2
  363. data/lib/factpulse/models/pdp_credentials.rb +2 -2
  364. data/lib/factpulse/models/percentage.rb +2 -2
  365. data/lib/factpulse/models/postal_address.rb +2 -2
  366. data/lib/factpulse/models/price_allowance_amount.rb +2 -2
  367. data/lib/factpulse/models/price_basis_quantity.rb +2 -2
  368. data/lib/factpulse/models/processing_options.rb +2 -2
  369. data/lib/factpulse/models/processing_rule.rb +6 -3
  370. data/lib/factpulse/models/product_characteristic.rb +2 -2
  371. data/lib/factpulse/models/product_classification.rb +2 -2
  372. data/lib/factpulse/models/quantity.rb +2 -2
  373. data/lib/factpulse/models/rate.rb +2 -2
  374. data/lib/factpulse/models/rate1.rb +2 -2
  375. data/lib/factpulse/models/reason_code_info.rb +2 -2
  376. data/lib/factpulse/models/reason_codes_response.rb +2 -2
  377. data/lib/factpulse/models/recipient.rb +2 -2
  378. data/lib/factpulse/models/recipient_input.rb +2 -2
  379. data/lib/factpulse/models/refusee_request.rb +2 -2
  380. data/lib/factpulse/models/report_issuer.rb +2 -2
  381. data/lib/factpulse/models/report_period.rb +2 -2
  382. data/lib/factpulse/models/report_sender.rb +2 -2
  383. data/lib/factpulse/models/rounding_amount.rb +2 -2
  384. data/lib/factpulse/models/schematron_validation_error.rb +2 -2
  385. data/lib/factpulse/models/scheme_id.rb +2 -2
  386. data/lib/factpulse/models/search_flow_request.rb +2 -2
  387. data/lib/factpulse/models/search_flow_response.rb +2 -2
  388. data/lib/factpulse/models/search_services_response.rb +2 -2
  389. data/lib/factpulse/models/search_structure_request.rb +3 -3
  390. data/lib/factpulse/models/search_structure_response.rb +2 -2
  391. data/lib/factpulse/models/secret_status.rb +2 -2
  392. data/lib/factpulse/models/sellercountry.rb +2 -2
  393. data/lib/factpulse/models/signature_info.rb +2 -2
  394. data/lib/factpulse/models/signature_info_api.rb +2 -2
  395. data/lib/factpulse/models/signature_parameters.rb +2 -2
  396. data/lib/factpulse/models/signature_success_result.rb +394 -0
  397. data/lib/factpulse/models/signature_task_status.rb +223 -0
  398. data/lib/factpulse/models/signature_task_status_result.rb +55 -0
  399. data/lib/factpulse/models/simplified_cdar_response.rb +2 -2
  400. data/lib/factpulse/models/simplified_invoice_data.rb +2 -2
  401. data/lib/factpulse/models/status_code_info.rb +2 -2
  402. data/lib/factpulse/models/status_codes_response.rb +2 -2
  403. data/lib/factpulse/models/structure_info.rb +2 -2
  404. data/lib/factpulse/models/structure_parameters.rb +2 -2
  405. data/lib/factpulse/models/structure_service.rb +2 -2
  406. data/lib/factpulse/models/submission_mode.rb +2 -2
  407. data/lib/factpulse/models/submit_aggregated_report_request.rb +2 -2
  408. data/lib/factpulse/models/submit_cdar_request.rb +2 -2
  409. data/lib/factpulse/models/submit_cdar_response.rb +2 -2
  410. data/lib/factpulse/models/submit_cdarxml_request.rb +2 -2
  411. data/lib/factpulse/models/submit_complete_invoice_request.rb +2 -2
  412. data/lib/factpulse/models/submit_complete_invoice_response.rb +33 -4
  413. data/lib/factpulse/models/submit_e_reporting_request.rb +2 -2
  414. data/lib/factpulse/models/submit_e_reporting_response.rb +2 -2
  415. data/lib/factpulse/models/submit_flow_request.rb +2 -2
  416. data/lib/factpulse/models/submit_flow_response.rb +2 -2
  417. data/lib/factpulse/models/submit_gross_amount.rb +2 -2
  418. data/lib/factpulse/models/submit_invoice_request.rb +3 -3
  419. data/lib/factpulse/models/submit_invoice_response.rb +2 -2
  420. data/lib/factpulse/models/submit_net_amount.rb +2 -2
  421. data/lib/factpulse/models/submit_vat_amount.rb +2 -2
  422. data/lib/factpulse/models/supplementary_attachment.rb +2 -2
  423. data/lib/factpulse/models/supplier.rb +4 -18
  424. data/lib/factpulse/models/task_error_result.rb +257 -0
  425. data/lib/factpulse/models/task_response.rb +2 -2
  426. data/lib/factpulse/models/tax_breakdown_input.rb +2 -2
  427. data/lib/factpulse/models/tax_due_date_type.rb +2 -2
  428. data/lib/factpulse/models/tax_representative.rb +2 -2
  429. data/lib/factpulse/models/taxable_amount.rb +2 -2
  430. data/lib/factpulse/models/taxableamount.rb +2 -2
  431. data/lib/factpulse/models/taxamount.rb +2 -2
  432. data/lib/factpulse/models/taxamount1.rb +2 -2
  433. data/lib/factpulse/models/taxamount2.rb +2 -2
  434. data/lib/factpulse/models/taxexclusiveamount.rb +2 -2
  435. data/lib/factpulse/models/taxexclusiveamount1.rb +2 -2
  436. data/lib/factpulse/models/total_gross_amount.rb +2 -2
  437. data/lib/factpulse/models/total_net_amount.rb +2 -2
  438. data/lib/factpulse/models/total_vat_amount.rb +2 -2
  439. data/lib/factpulse/models/transaction_category.rb +2 -2
  440. data/lib/factpulse/models/transmission_type_code.rb +2 -2
  441. data/lib/factpulse/models/unit_net_price.rb +2 -2
  442. data/lib/factpulse/models/unit_of_measure.rb +17 -3
  443. data/lib/factpulse/models/validate_cdar_request.rb +2 -2
  444. data/lib/factpulse/models/validate_cdar_response.rb +4 -4
  445. data/lib/factpulse/models/validate_e_reporting_request.rb +2 -2
  446. data/lib/factpulse/models/validate_e_reporting_response.rb +2 -2
  447. data/lib/factpulse/models/validation_error.rb +2 -2
  448. data/lib/factpulse/models/validation_error_detail.rb +2 -2
  449. data/lib/factpulse/models/validation_error_response.rb +22 -69
  450. data/lib/factpulse/models/validation_info.rb +2 -2
  451. data/lib/factpulse/models/validation_success_response.rb +2 -2
  452. data/lib/factpulse/models/validation_success_task_result.rb +210 -0
  453. data/lib/factpulse/models/validation_task_status.rb +223 -0
  454. data/lib/factpulse/models/validation_task_status_result.rb +55 -0
  455. data/lib/factpulse/models/vat_accounting_code.rb +2 -2
  456. data/lib/factpulse/models/vat_amount.rb +2 -2
  457. data/lib/factpulse/models/vat_category.rb +2 -2
  458. data/lib/factpulse/models/vat_line.rb +2 -2
  459. data/lib/factpulse/models/vat_point_date_code.rb +2 -2
  460. data/lib/factpulse/models/vat_rate.rb +2 -2
  461. data/lib/factpulse/models/vatex_code_info.rb +247 -0
  462. data/lib/factpulse/models/vatex_codes_response.rb +204 -0
  463. data/lib/factpulse/models/verification_success_response.rb +2 -2
  464. data/lib/factpulse/models/verification_success_task_result.rb +210 -0
  465. data/lib/factpulse/models/verification_typed_task_status.rb +223 -0
  466. data/lib/factpulse/models/verification_typed_task_status_result.rb +55 -0
  467. data/lib/factpulse/models/verified_field_schema.rb +2 -2
  468. data/lib/factpulse/models/webhook_secret_delete_response.rb +2 -2
  469. data/lib/factpulse/models/webhook_secret_generate_response.rb +2 -2
  470. data/lib/factpulse/models/webhook_secret_status_response.rb +2 -2
  471. data/lib/factpulse/version.rb +3 -3
  472. data/lib/factpulse.rb +57 -24
  473. metadata +167 -101
  474. data/docs/AFNORAddressEdit.md +0 -30
  475. data/docs/AFNORAddressPatch.md +0 -30
  476. data/docs/AFNORAddressPut.md +0 -30
  477. data/docs/AFNORCreateDirectoryLineBody.md +0 -20
  478. data/docs/AFNORCreateDirectoryLineBodyAddressingInformation.md +0 -24
  479. data/docs/AFNORCreateDirectoryLineBodyPeriod.md +0 -20
  480. data/docs/AFNORCreateRoutingCodeBody.md +0 -32
  481. data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodePlatform.md +0 -20
  482. data/docs/AFNORDirectoryLinePost201Response.md +0 -22
  483. data/docs/AFNORLegalUnitPayloadIncludedNoSiren.md +0 -22
  484. data/docs/AFNORRoutingCodePost201Response.md +0 -22
  485. data/docs/AFNORUpdatePatchDirectoryLineBody.md +0 -18
  486. data/docs/AFNORUpdatePatchRoutingCodeBody.md +0 -24
  487. data/docs/AFNORUpdatePutRoutingCodeBody.md +0 -24
  488. data/docs/AFNORWebhookCallbackContent.md +0 -18
  489. data/docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md +0 -26
  490. data/docs/FactureElectroniqueRestApiSchemasValidationValidationErrorResponse.md +0 -18
  491. data/lib/factpulse/models/afnor_address_edit.rb +0 -353
  492. data/lib/factpulse/models/afnor_address_patch.rb +0 -386
  493. data/lib/factpulse/models/afnor_address_put.rb +0 -435
  494. data/lib/factpulse/models/afnor_create_directory_line_body.rb +0 -156
  495. data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +0 -294
  496. data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +0 -175
  497. data/lib/factpulse/models/afnor_create_routing_code_body.rb +0 -412
  498. data/lib/factpulse/models/afnor_diffusion_status.rb +0 -40
  499. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +0 -178
  500. data/lib/factpulse/models/afnor_directory_line_post201_response.rb +0 -187
  501. data/lib/factpulse/models/afnor_facility_nature.rb +0 -40
  502. data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +0 -207
  503. data/lib/factpulse/models/afnor_platform_status.rb +0 -40
  504. data/lib/factpulse/models/afnor_routing_code_post201_response.rb +0 -228
  505. data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +0 -148
  506. data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +0 -258
  507. data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +0 -289
  508. data/lib/factpulse/models/afnor_webhook_callback_content.rb +0 -148
  509. data/lib/factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb +0 -259
  510. data/lib/factpulse/models/facture_electronique_rest_api_schemas_validation_validation_error_response.rb +0 -168
@@ -0,0 +1,79 @@
1
+ # FactPulse::GenerationTaskStatusResult
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::GenerationTaskStatusResult.openapi_one_of
15
+ # =>
16
+ # [
17
+ # :'GenerationSuccessResult',
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::GenerationTaskStatusResult.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::GenerationTaskStatusResult.openapi_discriminator_mapping
45
+ # =>
46
+ # {
47
+ # :'ERROR' => :'TaskErrorResult',
48
+ # :'SUCCESS' => :'GenerationSuccessResult'
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::GenerationTaskStatusResult.build(data)
62
+ # => #<GenerationSuccessResult:0x00007fdd4aab02a0>
63
+
64
+ FactPulse::GenerationTaskStatusResult.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
+ - `GenerationSuccessResult`
77
+ - `TaskErrorResult`
78
+ - `nil` (if no type matches)
79
+
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **credentials** | [**FactureElectroniqueRestApiSchemasChorusProChorusProCredentials**](FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md) | | [optional] |
7
+ | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
8
  | **siret** | **String** | Structure SIRET (14 digits) | |
9
9
  | **identifier_type** | **String** | Identifier type (SIRET, SIREN, UE_HORS_FRANCE, etc.) | [optional][default to &#39;SIRET&#39;] |
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **credentials** | [**FactureElectroniqueRestApiSchemasChorusProChorusProCredentials**](FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md) | | [optional] |
7
+ | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
8
  | **chorus_invoice_id** | **Integer** | Chorus Pro invoice ID | |
9
9
 
10
10
  ## Example
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **credentials** | [**FactureElectroniqueRestApiSchemasChorusProChorusProCredentials**](FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md) | | [optional] |
7
+ | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
8
  | **structure_id** | **Integer** | Chorus Pro structure ID | |
9
9
  | **language_code** | **String** | Language code (fr, en) | [optional][default to &#39;fr&#39;] |
10
10
 
data/docs/HealthApi.md CHANGED
@@ -5,8 +5,6 @@ All URIs are relative to *https://factpulse.fr*
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
7
  | [**get_user_info_api_v1_me_get**](HealthApi.md#get_user_info_api_v1_me_get) | **GET** /api/v1/me | Get current user information |
8
- | [**healthcheck_healthcheck_get**](HealthApi.md#healthcheck_healthcheck_get) | **GET** /healthcheck | Docker healthcheck endpoint |
9
- | [**root_get**](HealthApi.md#root_get) | **GET** / | Check API status |
10
8
 
11
9
 
12
10
  ## get_user_info_api_v1_me_get
@@ -79,125 +77,3 @@ This endpoint does not need any parameter.
79
77
  - **Content-Type**: Not defined
80
78
  - **Accept**: application/json
81
79
 
82
-
83
- ## healthcheck_healthcheck_get
84
-
85
- > Object healthcheck_healthcheck_get
86
-
87
- Docker healthcheck endpoint
88
-
89
- Healthcheck endpoint for Docker and load balancers. Useful for: - Docker healthcheck - Kubernetes liveness/readiness probes - Load balancers (Nginx, HAProxy) - Availability monitoring - Zero downtime deployment Returns a 200 code if the API is operational.
90
-
91
- ### Examples
92
-
93
- ```ruby
94
- require 'time'
95
- require 'factpulse'
96
-
97
- api_instance = FactPulse::HealthApi.new
98
-
99
- begin
100
- # Docker healthcheck endpoint
101
- result = api_instance.healthcheck_healthcheck_get
102
- p result
103
- rescue FactPulse::ApiError => e
104
- puts "Error when calling HealthApi->healthcheck_healthcheck_get: #{e}"
105
- end
106
- ```
107
-
108
- #### Using the healthcheck_healthcheck_get_with_http_info variant
109
-
110
- This returns an Array which contains the response data, status code and headers.
111
-
112
- > <Array(Object, Integer, Hash)> healthcheck_healthcheck_get_with_http_info
113
-
114
- ```ruby
115
- begin
116
- # Docker healthcheck endpoint
117
- data, status_code, headers = api_instance.healthcheck_healthcheck_get_with_http_info
118
- p status_code # => 2xx
119
- p headers # => { ... }
120
- p data # => Object
121
- rescue FactPulse::ApiError => e
122
- puts "Error when calling HealthApi->healthcheck_healthcheck_get_with_http_info: #{e}"
123
- end
124
- ```
125
-
126
- ### Parameters
127
-
128
- This endpoint does not need any parameter.
129
-
130
- ### Return type
131
-
132
- **Object**
133
-
134
- ### Authorization
135
-
136
- No authorization required
137
-
138
- ### HTTP request headers
139
-
140
- - **Content-Type**: Not defined
141
- - **Accept**: application/json
142
-
143
-
144
- ## root_get
145
-
146
- > Object root_get
147
-
148
- Check API status
149
-
150
- Health check endpoint to verify the API is responding. Useful for: - Availability monitoring - Integration tests - Load balancers
151
-
152
- ### Examples
153
-
154
- ```ruby
155
- require 'time'
156
- require 'factpulse'
157
-
158
- api_instance = FactPulse::HealthApi.new
159
-
160
- begin
161
- # Check API status
162
- result = api_instance.root_get
163
- p result
164
- rescue FactPulse::ApiError => e
165
- puts "Error when calling HealthApi->root_get: #{e}"
166
- end
167
- ```
168
-
169
- #### Using the root_get_with_http_info variant
170
-
171
- This returns an Array which contains the response data, status code and headers.
172
-
173
- > <Array(Object, Integer, Hash)> root_get_with_http_info
174
-
175
- ```ruby
176
- begin
177
- # Check API status
178
- data, status_code, headers = api_instance.root_get_with_http_info
179
- p status_code # => 2xx
180
- p headers # => { ... }
181
- p data # => Object
182
- rescue FactPulse::ApiError => e
183
- puts "Error when calling HealthApi->root_get_with_http_info: #{e}"
184
- end
185
- ```
186
-
187
- ### Parameters
188
-
189
- This endpoint does not need any parameter.
190
-
191
- ### Return type
192
-
193
- **Object**
194
-
195
- ### Authorization
196
-
197
- No authorization required
198
-
199
- ### HTTP request headers
200
-
201
- - **Content-Type**: Not defined
202
- - **Accept**: application/json
203
-
@@ -1,21 +1,21 @@
1
- # FactPulse::FacturXGenerationApi
1
+ # FactPulse::InvoiceGenerationApi
2
2
 
3
3
  All URIs are relative to *https://factpulse.fr*
4
4
 
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
- | [**generate_invoice_api_v1_processing_generate_invoice_post**](FacturXGenerationApi.md#generate_invoice_api_v1_processing_generate_invoice_post) | **POST** /api/v1/processing/generate-invoice | Generate a Factur-X invoice |
8
- | [**submit_complete_invoice_api_v1_processing_invoices_submit_complete_post**](FacturXGenerationApi.md#submit_complete_invoice_api_v1_processing_invoices_submit_complete_post) | **POST** /api/v1/processing/invoices/submit-complete | Submit a complete invoice (generation + signature + submission) |
9
- | [**submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post**](FacturXGenerationApi.md#submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post) | **POST** /api/v1/processing/invoices/submit-complete-async | Submit a complete invoice (asynchronous with Celery) |
7
+ | [**generate_invoice_api_v1_processing_generate_invoice_post**](InvoiceGenerationApi.md#generate_invoice_api_v1_processing_generate_invoice_post) | **POST** /api/v1/processing/generate-invoice | Generate an electronic invoice (CII / UBL / Factur-X PDF) |
8
+ | [**submit_complete_invoice_api_v1_processing_invoices_submit_complete_post**](InvoiceGenerationApi.md#submit_complete_invoice_api_v1_processing_invoices_submit_complete_post) | **POST** /api/v1/processing/invoices/submit-complete | Submit a complete invoice (generation + signature + submission) |
9
+ | [**submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post**](InvoiceGenerationApi.md#submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post) | **POST** /api/v1/processing/invoices/submit-complete-async | Submit a complete invoice (asynchronous with Celery) |
10
10
 
11
11
 
12
12
  ## generate_invoice_api_v1_processing_generate_invoice_post
13
13
 
14
14
  > <TaskResponse> generate_invoice_api_v1_processing_generate_invoice_post(invoice_data, opts)
15
15
 
16
- Generate a Factur-X invoice
16
+ Generate an electronic invoice (CII / UBL / Factur-X PDF)
17
17
 
18
- Generates an electronic invoice in Factur-X format compliant with European standards. ## Applied Standards - **Factur-X** (France): FNFE-MPE standard (Forum National de la Facture Électronique) - **ZUGFeRD** (Germany): German format compatible with Factur-X - **EN 16931**: European semantic standard for electronic invoicing - **ISO 19005-3** (PDF/A-3): Long-term electronic archiving - **Cross Industry Invoice (CII)**: UN/CEFACT XML syntax ## 🆕 New: Simplified format with auto-enrichment (P0.1) You can now create an invoice by providing only: - An invoice number - A supplier SIRET + **IBAN** (required) - A recipient SIRET - Invoice lines (description, quantity, net price) **Simplified format example**: ```json { \"number\": \"FACT-2025-001\", \"supplier\": { \"siret\": \"92019522900017\", \"iban\": \"FR7630001007941234567890185\" }, \"recipient\": {\"siret\": \"35600000000048\"}, \"lines\": [ {\"description\": \"Service\", \"quantity\": 10, \"unitPrice\": 100.00, \"vatRate\": 20.0} ] } ``` **⚠️ Required fields (simplified format)**: - `number`: Unique invoice number - `supplier.siret`: Supplier's SIRET (14 digits) - `supplier.iban`: Bank account IBAN (no public API to retrieve it) - `recipient.siret`: Recipient's SIRET - `lines[]`: At least one invoice line **What happens automatically with `auto_enrich=True`**: - ✅ Name enrichment from Chorus Pro API - ✅ Address enrichment from Business Search API (free, public) - ✅ Automatic intra-EU VAT calculation (FR + key + SIREN) - ✅ Chorus Pro ID retrieval for electronic invoicing - ✅ Net/VAT/Gross totals calculation - ✅ Date generation (today + 30-day due date) - ✅ Multi-rate VAT handling **Supported identifiers**: - SIRET (14 digits): Specific establishment ⭐ Recommended - SIREN (9 digits): Company (auto-selection of headquarters) - Special types: UE_HORS_FRANCE, RIDET, TAHITI, etc. ## Checks performed during generation ### 1. Data validation (Pydantic) - Data types (amounts as Decimal, ISO 8601 dates) - Formats (14-digit SIRET, 9-digit SIREN, IBAN) - Required fields per profile - Amount consistency (Net + VAT = Gross) ### 2. CII-compliant XML generation - Serialization according to Cross Industry Invoice XSD schema - Correct UN/CEFACT namespaces - Hierarchical structure respected - UTF-8 encoding without BOM ### 3. Schematron validation - Business rules for selected profile (MINIMUM, BASIC, EN16931, EXTENDED) - Element cardinality (required, optional, repeatable) - Calculation rules (totals, VAT, discounts) - European EN 16931 compliance ### 4. PDF/A-3 conversion (if output_format='pdf') - Source PDF conversion to PDF/A-3 via Ghostscript - Factur-X XML embedding in PDF - Compliant XMP metadata - ICC sRGB color profile - Removal of forbidden elements (JavaScript, forms) ## How it works 1. **Submission**: Invoice is queued in Celery for asynchronous processing 2. **Immediate return**: You receive a `task_id` (HTTP 202 Accepted) 3. **Tracking**: Use the `/tasks/{task_id}/status` endpoint to track progress ## Webhook notification (recommended) Instead of polling, you can receive a webhook notification when the task completes: ``` callback_url=https://your-server.com/webhook ``` The webhook will POST a JSON payload with: - `event_type`: `generation.completed` or `generation.failed` - `data.task_id`: The Celery task ID - `data.content_b64` or `data.xml_content`: The generated content - `X-Webhook-Signature` header for HMAC verification See `/docs/WEBHOOKS.md` for full documentation. ## Output formats - **xml**: Generates only Factur-X XML (recommended for testing) - **pdf**: Generates PDF/A-3 with embedded XML (requires `source_pdf`) ## Factur-X profiles - **MINIMUM**: Minimal data (simplified invoice) - **BASIC**: Basic information (SMEs) - **EN16931**: European standard (recommended, compliant with directive 2014/55/EU) - **EXTENDED**: All available data (large accounts) ## What you get After successful processing (status `completed`): - **XML only**: Base64-encoded Factur-X compliant XML file - **PDF/A-3**: PDF with embedded XML, ready for sending/archiving - **Metadata**: Profile, Factur-X version, file size - **Validation**: Schematron compliance confirmation ## Validation Data is automatically validated according to detected format. On error, a 422 status is returned with invalid field details.
18
+ Generates an electronic invoice compliant with European standards. Supports **two XML syntaxes** defined by EN 16931: - **CII** (Cross-Industry Invoice, UN/CEFACT) the Factur-X / ZUGFeRD syntax - **UBL 2.1** (Universal Business Language, OASIS) the Peppol BIS Billing syntax ## Applied Standards - **EN 16931**: European semantic standard for electronic invoicing - **Factur-X / ZUGFeRD** (CII syntax): Franco-German standard - **UBL 2.1** (OASIS): International standard, used by Peppol - **ISO 19005-3** (PDF/A-3): Long-term electronic archiving (PDF output only) - **Schematron**: Business rules validation (EN16931-CII, EN16931-UBL, BR-FR) ## 🆕 New: Simplified format with auto-enrichment (P0.1) You can now create an invoice by providing only: - An invoice number - A supplier SIRET + **IBAN** (required) - A recipient SIRET - Invoice lines (description, quantity, net price) **Simplified format example**: ```json { \"number\": \"FACT-2025-001\", \"supplier\": { \"siret\": \"92019522900017\", \"iban\": \"FR7630001007941234567890185\" }, \"recipient\": {\"siret\": \"35600000000048\"}, \"lines\": [ {\"description\": \"Service\", \"quantity\": 10, \"unitPrice\": 100.00, \"vatRate\": 20.0} ] } ``` **⚠️ Required fields (simplified format)**: - `number`: Unique invoice number - `supplier.siret`: Supplier's SIRET (14 digits) - `supplier.iban`: Bank account IBAN (no public API to retrieve it) - `recipient.siret`: Recipient's SIRET - `lines[]`: At least one invoice line **What happens automatically with `auto_enrich=True`**: - ✅ Name enrichment from Chorus Pro API - ✅ Address enrichment from Business Search API (free, public) - ✅ Automatic intra-EU VAT calculation (FR + key + SIREN) - ✅ Chorus Pro ID retrieval for electronic invoicing - ✅ Net/VAT/Gross totals calculation - ✅ Date generation (today + 30-day due date) - ✅ Multi-rate VAT handling **Supported identifiers**: - SIRET (14 digits): Specific establishment ⭐ Recommended - SIREN (9 digits): Company (auto-selection of headquarters) - Special types: UE_HORS_FRANCE, RIDET, TAHITI, etc. ## Checks performed during generation ### 1. Data validation (Pydantic) - Data types (amounts as Decimal, ISO 8601 dates) - Formats (14-digit SIRET, 9-digit SIREN, IBAN) - Required fields per profile - Amount consistency (Net + VAT = Gross) ### 2. CII-compliant XML generation - Serialization according to Cross Industry Invoice XSD schema - Correct UN/CEFACT namespaces - Hierarchical structure respected - UTF-8 encoding without BOM ### 3. Schematron validation - Business rules for selected profile (MINIMUM, BASIC, EN16931, EXTENDED) - Element cardinality (required, optional, repeatable) - Calculation rules (totals, VAT, discounts) - European EN 16931 compliance ### 4. PDF/A-3 conversion (if output_format='pdf') - Source PDF conversion to PDF/A-3 via Ghostscript - Factur-X XML embedding in PDF - Compliant XMP metadata - ICC sRGB color profile - Removal of forbidden elements (JavaScript, forms) ## How it works 1. **Submission**: Invoice is queued in Celery for asynchronous processing 2. **Immediate return**: You receive a `task_id` (HTTP 202 Accepted) 3. **Tracking**: Use the `/tasks/{task_id}/status` endpoint to track progress ## Webhook notification (recommended) Instead of polling, you can receive a webhook notification when the task completes: ``` callback_url=https://your-server.com/webhook ``` The webhook will POST a JSON payload with: - `event_type`: `generation.completed` or `generation.failed` - `data.task_id`: The Celery task ID - `data.content_b64` or `data.xml_content`: The generated content - `X-Webhook-Signature` header for HMAC verification See `/docs/WEBHOOKS.md` for full documentation. ## Output formats - **xml** / **cii**: CII XML (Factur-X syntax, UN/CEFACT) - **ubl**: UBL 2.1 XML (OASIS, Peppol BIS Billing 3.0) - **pdf**: Factur-X PDF/A-3 with embedded CII XML (requires `source_pdf`) ## Factur-X profiles (CII only) - **MINIMUM**: Minimal data (simplified invoice) - **BASIC**: Basic information (SMEs) - **EN16931**: European standard (recommended, compliant with directive 2014/55/EU) - **EXTENDED**: All available data (large accounts) When `output_format=ubl`, the profile parameter is ignored (UBL always uses EN16931). ## What you get After successful processing (status `completed`): - **XML only**: Base64-encoded Factur-X compliant XML file - **PDF/A-3**: PDF with embedded XML, ready for sending/archiving - **Metadata**: Profile, Factur-X version, file size - **Validation**: Schematron compliance confirmation ## Validation Data is automatically validated according to detected format. On error, a 422 status is returned with invalid field details.
19
19
 
20
20
  ### Examples
21
21
 
@@ -33,11 +33,11 @@ FactPulse.configure do |config|
33
33
  config.access_token = 'YOUR_BEARER_TOKEN'
34
34
  end
35
35
 
36
- api_instance = FactPulse::FacturXGenerationApi.new
36
+ api_instance = FactPulse::InvoiceGenerationApi.new
37
37
  invoice_data = 'invoice_data_example' # String | Invoice data in JSON format. Two formats accepted: 1. **Classic format**: Complete FacturXInvoice structure (all fields) 2. **Simplified format** (🆕 P0.1): Minimal structure with auto-enrichment Format is detected automatically!
38
38
  opts = {
39
- profile: FactPulse::APIProfile::MINIMUM, # APIProfile | Factur-X profile: MINIMUM, BASIC, EN16931 or EXTENDED.
40
- output_format: FactPulse::OutputFormat::XML, # OutputFormat | Output format: 'xml' (XML only) or 'pdf' (Factur-X PDF with embedded XML).
39
+ profile: FactPulse::APIProfile::MINIMUM, # APIProfile | Factur-X/CII profile: MINIMUM, BASIC, EN16931 or EXTENDED. Ignored when output_format='ubl' (always EN16931).
40
+ output_format: FactPulse::OutputFormat::XML, # OutputFormat | Output format: 'xml' or 'cii' (CII/Factur-X XML), 'ubl' (UBL 2.1 XML), 'pdf' (Factur-X PDF/A-3).
41
41
  auto_enrich: true, # Boolean | 🆕 Enable auto-enrichment from SIRET/SIREN (simplified format only)
42
42
  source_pdf: File.new('/path/to/some/file'), # File |
43
43
  callback_url: 'callback_url_example', # String |
@@ -46,11 +46,11 @@ opts = {
46
46
  }
47
47
 
48
48
  begin
49
- # Generate a Factur-X invoice
49
+ # Generate an electronic invoice (CII / UBL / Factur-X PDF)
50
50
  result = api_instance.generate_invoice_api_v1_processing_generate_invoice_post(invoice_data, opts)
51
51
  p result
52
52
  rescue FactPulse::ApiError => e
53
- puts "Error when calling FacturXGenerationApi->generate_invoice_api_v1_processing_generate_invoice_post: #{e}"
53
+ puts "Error when calling InvoiceGenerationApi->generate_invoice_api_v1_processing_generate_invoice_post: #{e}"
54
54
  end
55
55
  ```
56
56
 
@@ -62,13 +62,13 @@ This returns an Array which contains the response data, status code and headers.
62
62
 
63
63
  ```ruby
64
64
  begin
65
- # Generate a Factur-X invoice
65
+ # Generate an electronic invoice (CII / UBL / Factur-X PDF)
66
66
  data, status_code, headers = api_instance.generate_invoice_api_v1_processing_generate_invoice_post_with_http_info(invoice_data, opts)
67
67
  p status_code # => 2xx
68
68
  p headers # => { ... }
69
69
  p data # => <TaskResponse>
70
70
  rescue FactPulse::ApiError => e
71
- puts "Error when calling FacturXGenerationApi->generate_invoice_api_v1_processing_generate_invoice_post_with_http_info: #{e}"
71
+ puts "Error when calling InvoiceGenerationApi->generate_invoice_api_v1_processing_generate_invoice_post_with_http_info: #{e}"
72
72
  end
73
73
  ```
74
74
 
@@ -77,8 +77,8 @@ end
77
77
  | Name | Type | Description | Notes |
78
78
  | ---- | ---- | ----------- | ----- |
79
79
  | **invoice_data** | **String** | Invoice data in JSON format. Two formats accepted: 1. **Classic format**: Complete FacturXInvoice structure (all fields) 2. **Simplified format** (🆕 P0.1): Minimal structure with auto-enrichment Format is detected automatically! | |
80
- | **profile** | [**APIProfile**](APIProfile.md) | Factur-X profile: MINIMUM, BASIC, EN16931 or EXTENDED. | [optional] |
81
- | **output_format** | [**OutputFormat**](OutputFormat.md) | Output format: &#39;xml&#39; (XML only) or &#39;pdf&#39; (Factur-X PDF with embedded XML). | [optional] |
80
+ | **profile** | [**APIProfile**](APIProfile.md) | Factur-X/CII profile: MINIMUM, BASIC, EN16931 or EXTENDED. Ignored when output_format&#x3D;&#39;ubl&#39; (always EN16931). | [optional] |
81
+ | **output_format** | [**OutputFormat**](OutputFormat.md) | Output format: &#39;xml&#39; or &#39;cii&#39; (CII/Factur-X XML), &#39;ubl&#39; (UBL 2.1 XML), &#39;pdf&#39; (Factur-X PDF/A-3). | [optional] |
82
82
  | **auto_enrich** | **Boolean** | 🆕 Enable auto-enrichment from SIRET/SIREN (simplified format only) | [optional][default to true] |
83
83
  | **source_pdf** | **File** | | [optional] |
84
84
  | **callback_url** | **String** | | [optional] |
@@ -123,7 +123,7 @@ FactPulse.configure do |config|
123
123
  config.access_token = 'YOUR_BEARER_TOKEN'
124
124
  end
125
125
 
126
- api_instance = FactPulse::FacturXGenerationApi.new
126
+ api_instance = FactPulse::InvoiceGenerationApi.new
127
127
  submit_complete_invoice_request = FactPulse::SubmitCompleteInvoiceRequest.new({invoice_data: FactPulse::SimplifiedInvoiceData.new({number: 'number_example', supplier: { key: 3.56}, recipient: { key: 3.56}, lines: [{ key: 3.56}]}), source_pdf: 'source_pdf_example', destination: FactPulse::AFNORDestination.new}) # SubmitCompleteInvoiceRequest |
128
128
 
129
129
  begin
@@ -131,7 +131,7 @@ begin
131
131
  result = api_instance.submit_complete_invoice_api_v1_processing_invoices_submit_complete_post(submit_complete_invoice_request)
132
132
  p result
133
133
  rescue FactPulse::ApiError => e
134
- puts "Error when calling FacturXGenerationApi->submit_complete_invoice_api_v1_processing_invoices_submit_complete_post: #{e}"
134
+ puts "Error when calling InvoiceGenerationApi->submit_complete_invoice_api_v1_processing_invoices_submit_complete_post: #{e}"
135
135
  end
136
136
  ```
137
137
 
@@ -149,7 +149,7 @@ begin
149
149
  p headers # => { ... }
150
150
  p data # => <SubmitCompleteInvoiceResponse>
151
151
  rescue FactPulse::ApiError => e
152
- puts "Error when calling FacturXGenerationApi->submit_complete_invoice_api_v1_processing_invoices_submit_complete_post_with_http_info: #{e}"
152
+ puts "Error when calling InvoiceGenerationApi->submit_complete_invoice_api_v1_processing_invoices_submit_complete_post_with_http_info: #{e}"
153
153
  end
154
154
  ```
155
155
 
@@ -197,7 +197,7 @@ FactPulse.configure do |config|
197
197
  config.access_token = 'YOUR_BEARER_TOKEN'
198
198
  end
199
199
 
200
- api_instance = FactPulse::FacturXGenerationApi.new
200
+ api_instance = FactPulse::InvoiceGenerationApi.new
201
201
  submit_complete_invoice_request = FactPulse::SubmitCompleteInvoiceRequest.new({invoice_data: FactPulse::SimplifiedInvoiceData.new({number: 'number_example', supplier: { key: 3.56}, recipient: { key: 3.56}, lines: [{ key: 3.56}]}), source_pdf: 'source_pdf_example', destination: FactPulse::AFNORDestination.new}) # SubmitCompleteInvoiceRequest |
202
202
  opts = {
203
203
  callback_url: 'callback_url_example', # String | Webhook URL for async notification when submission completes.
@@ -209,7 +209,7 @@ begin
209
209
  result = api_instance.submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post(submit_complete_invoice_request, opts)
210
210
  p result
211
211
  rescue FactPulse::ApiError => e
212
- puts "Error when calling FacturXGenerationApi->submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post: #{e}"
212
+ puts "Error when calling InvoiceGenerationApi->submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post: #{e}"
213
213
  end
214
214
  ```
215
215
 
@@ -227,7 +227,7 @@ begin
227
227
  p headers # => { ... }
228
228
  p data # => <TaskResponse>
229
229
  rescue FactPulse::ApiError => e
230
- puts "Error when calling FacturXGenerationApi->submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post_with_http_info: #{e}"
230
+ puts "Error when calling InvoiceGenerationApi->submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post_with_http_info: #{e}"
231
231
  end
232
232
  ```
233
233
 
@@ -0,0 +1,24 @@
1
+ # FactPulse::InvoiceLifecycle
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **seller_id** | **String** | | [optional] |
8
+ | **invoice_id** | **String** | Reference de la facture (IssuerAssignedID du CDAR) | |
9
+ | **events** | [**Array&lt;LifecycleEvent&gt;**](LifecycleEvent.md) | Evenements de cycle de vie tries chronologiquement | [optional] |
10
+ | **total_events** | **Integer** | Nombre total d&#39;evenements | |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'factpulse'
16
+
17
+ instance = FactPulse::InvoiceLifecycle.new(
18
+ seller_id: null,
19
+ invoice_id: null,
20
+ events: null,
21
+ total_events: null
22
+ )
23
+ ```
24
+
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **invoicing_framework_code** | [**InvoicingFrameworkCode**](InvoicingFrameworkCode.md) | Chorus Pro framework code (A1, A2, A9, A12) | |
7
+ | **invoicing_framework_code** | [**InvoicingFrameworkCode**](InvoicingFrameworkCode.md) | | [optional] |
8
8
  | **operation_nature** | [**OperationNature**](OperationNature.md) | | [optional] |
9
9
  | **approver_service_code** | **String** | | [optional] |
10
10
  | **approver_structure_code** | **String** | | [optional] |
@@ -0,0 +1,38 @@
1
+ # FactPulse::LifecycleEvent
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **flow_id** | **String** | ID du flux lifecycle | |
8
+ | **status_code** | **String** | Code statut (200-601) | |
9
+ | **status_description** | **String** | | [optional] |
10
+ | **ack_status** | **String** | | [optional] |
11
+ | **at** | **String** | | [optional] |
12
+ | **document_id** | **String** | | [optional] |
13
+ | **amount** | **String** | | [optional] |
14
+ | **currency** | **String** | | [optional] |
15
+ | **issuer_siren** | **String** | | [optional] |
16
+ | **issuer_role** | **String** | | [optional] |
17
+ | **reason_code** | **String** | | [optional] |
18
+
19
+ ## Example
20
+
21
+ ```ruby
22
+ require 'factpulse'
23
+
24
+ instance = FactPulse::LifecycleEvent.new(
25
+ flow_id: null,
26
+ status_code: null,
27
+ status_description: null,
28
+ ack_status: null,
29
+ at: null,
30
+ document_id: null,
31
+ amount: null,
32
+ currency: null,
33
+ issuer_siren: null,
34
+ issuer_role: null,
35
+ reason_code: null
36
+ )
37
+ ```
38
+
@@ -0,0 +1,22 @@
1
+ # FactPulse::LifecycleResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **invoices** | [**Array&lt;InvoiceLifecycle&gt;**](InvoiceLifecycle.md) | Cycles de vie par facture | [optional] |
8
+ | **total_invoices** | **Integer** | Nombre de factures | |
9
+ | **cutoff_days** | **Integer** | Nombre de jours de la fenetre de recherche | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'factpulse'
15
+
16
+ instance = FactPulse::LifecycleResponse.new(
17
+ invoices: null,
18
+ total_invoices: null,
19
+ cutoff_days: null
20
+ )
21
+ ```
22
+
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
+