factpulse 4.1.2 → 4.4.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 (485) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -4
  3. data/Gemfile.lock +12 -10
  4. data/README.md +7 -1
  5. data/docs/AFNORContainsOrStartWithOperator.md +15 -0
  6. data/docs/{AFNORFacilityNature.md → AFNORContainsOrStrictOperator.md} +2 -2
  7. data/docs/AFNORContainsOrStrictOrStartWithOperator.md +15 -0
  8. data/docs/AFNORCoreFlowInfo.md +26 -0
  9. data/docs/{AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCode.md → AFNORDirectoryLinePayloadLegalUnitFacilityRoutingCode.md} +9 -5
  10. data/docs/AFNORDirectoryLinePayloadStatusLegalUnitFacilityRoutingCode.md +36 -0
  11. data/docs/AFNORDirectoryLineSearchPost200Response.md +2 -2
  12. data/docs/{AFNORContainsOperator.md → AFNORDirectoryLineStatus.md} +2 -2
  13. data/docs/AFNORError.md +4 -4
  14. data/docs/AFNORFacilityPayloadHistory.md +3 -3
  15. data/docs/AFNORFacilityPayloadIncluded.md +2 -2
  16. data/docs/AFNORFlow.md +18 -16
  17. data/docs/AFNORFlowExtension.md +26 -0
  18. data/docs/AFNORFlowInfo.md +3 -3
  19. data/docs/AFNORFlowInfoExtension.md +18 -0
  20. data/docs/AFNORFullFlowInfo.md +8 -8
  21. data/docs/AFNORFullFlowInfoExtension.md +20 -0
  22. data/docs/AFNORLegalUnitPayloadHistory.md +3 -1
  23. data/docs/AFNORLegalUnitPayloadIncluded.md +3 -1
  24. data/docs/AFNORPDPPADirectoryServiceApi.md +4 -648
  25. data/docs/AFNORPDPPAFlowServiceApi.md +190 -1
  26. data/docs/AFNORRoutingCodeSearch.md +3 -3
  27. data/docs/AFNORRoutingCodeSearchFiltersRoutingCodeName.md +1 -1
  28. data/docs/AFNORRoutingCodeSearchFiltersRoutingIdentifier.md +1 -1
  29. data/docs/AFNORRoutingCodeSearchPost200Response.md +1 -1
  30. data/docs/AFNORSearchDirectoryLine.md +5 -3
  31. data/docs/AFNORSearchDirectoryLineFiltersAddressingIdentifier.md +1 -1
  32. data/docs/AFNORSearchDirectoryLineFiltersAddressingSuffix.md +1 -1
  33. data/docs/AFNORSearchDirectoryLineSortingInner.md +2 -2
  34. data/docs/AFNORSearchFlowContent.md +3 -1
  35. data/docs/AFNORSearchFlowFilters.md +1 -1
  36. data/docs/AFNORSearchFlowParams.md +3 -1
  37. data/docs/AFNORSearchSiren.md +2 -2
  38. data/docs/AFNORSearchSirenFiltersBusinessName.md +1 -1
  39. data/docs/AFNORSearchSirenFiltersSiren.md +1 -1
  40. data/docs/AFNORSearchSirenSortingInner.md +2 -2
  41. data/docs/AFNORSearchSiret.md +3 -3
  42. data/docs/AFNORSearchSiretFiltersAddressLines.md +1 -1
  43. data/docs/AFNORSearchSiretFiltersCountrySubdivision.md +1 -1
  44. data/docs/AFNORSearchSiretFiltersFacilityType.md +1 -1
  45. data/docs/AFNORSearchSiretFiltersLocality.md +1 -1
  46. data/docs/AFNORSearchSiretFiltersName.md +1 -1
  47. data/docs/AFNORSearchSiretFiltersPostalCode.md +1 -1
  48. data/docs/AFNORSearchSiretFiltersSiret.md +1 -1
  49. data/docs/AFNORSearchSiretSortingInner.md +2 -2
  50. data/docs/AFNORSirenInstructions.md +18 -0
  51. data/docs/AFNORSirenSearchPost200Response.md +1 -1
  52. data/docs/AFNORSiretInstructions.md +18 -0
  53. data/docs/AFNORSiretSearchPost200Response.md +1 -1
  54. data/docs/{AFNORDiffusionStatus.md → AFNORStrictOrStartWithOperator.md} +2 -2
  55. data/docs/AFNORUniqueDirectoryLineStatus.md +15 -0
  56. data/docs/AFNORWebhook.md +30 -0
  57. data/docs/AFNORWebhookIdParam.md +22 -0
  58. data/docs/AFNORWebhookParams.md +24 -0
  59. data/docs/AllowanceCharge.md +1 -1
  60. data/docs/{AFNORAlgorithm.md → Amounteur.md} +2 -2
  61. data/docs/ClientManagementApi.md +231 -0
  62. data/docs/CreateCDARRequest.md +3 -1
  63. data/docs/DeliveryParty.md +2 -2
  64. data/docs/ElectronicAddressInput.md +20 -0
  65. data/docs/ElectronicAddressOutput.md +20 -0
  66. data/docs/EncaisseeRequest.md +3 -1
  67. data/docs/FactureElectroniqueRestApiSchemasCdarValidationErrorResponse.md +24 -0
  68. data/docs/Flux10EReportingApi.md +18 -8
  69. data/docs/Flux6InvoiceLifecycleCDARApi.md +39 -19
  70. data/docs/IncomingSupplier.md +4 -2
  71. data/docs/InvoiceGenerationApi.md +14 -8
  72. data/docs/InvoiceInput.md +4 -0
  73. data/docs/Invoicedata.md +49 -0
  74. data/docs/LifecycleEvent.md +2 -0
  75. data/docs/Payee.md +2 -2
  76. data/docs/PaymentAmountByRate.md +4 -2
  77. data/docs/PostalAddressInput.md +30 -0
  78. data/docs/PostalAddressOutput.md +30 -0
  79. data/docs/ProcessingOptions.md +1 -1
  80. data/docs/Recipient.md +3 -3
  81. data/docs/ReportSender.md +2 -0
  82. data/docs/SimplifiedInvoiceData.md +2 -2
  83. data/docs/SubmitCDARRequest.md +2 -0
  84. data/docs/SubmitCompleteInvoiceRequest.md +1 -1
  85. data/docs/SuperPDPConnectURLResponse.md +18 -0
  86. data/docs/SuperPDPDisconnectResponse.md +20 -0
  87. data/docs/SuperPDPStatusResponse.md +26 -0
  88. data/docs/Supplier.md +5 -3
  89. data/docs/TaxBreakdownInput.md +7 -1
  90. data/docs/TaxRepresentative.md +1 -1
  91. data/docs/{AFNORPlatformStatus.md → Taxamounteur.md} +2 -2
  92. data/docs/ValidateCDARResponse.md +2 -2
  93. data/docs/ValidationErrorResponse.md +2 -8
  94. data/factpulse.gemspec +1 -1
  95. data/lib/factpulse/api/afnorpdppa_api.rb +1 -1
  96. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +4 -622
  97. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +178 -1
  98. data/lib/factpulse/api/async_tasks_api.rb +1 -1
  99. data/lib/factpulse/api/chorus_pro_api.rb +1 -1
  100. data/lib/factpulse/api/client_management_api.rb +196 -1
  101. data/lib/factpulse/api/downloads_api.rb +1 -1
  102. data/lib/factpulse/api/electronic_signature_api.rb +1 -1
  103. data/lib/factpulse/api/factur_x_conversion_api.rb +1 -1
  104. data/lib/factpulse/api/factur_x_validation_api.rb +1 -1
  105. data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +1 -1
  106. data/lib/factpulse/api/flux10_e_reporting_api.rb +10 -1
  107. data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +25 -3
  108. data/lib/factpulse/api/health_api.rb +1 -1
  109. data/lib/factpulse/api/invoice_generation_api.rb +9 -3
  110. data/lib/factpulse/api/parse_api.rb +1 -1
  111. data/lib/factpulse/api/references_api.rb +1 -1
  112. data/lib/factpulse/api/validation_api.rb +1 -1
  113. data/lib/factpulse/api_client.rb +1 -1
  114. data/lib/factpulse/api_error.rb +1 -1
  115. data/lib/factpulse/api_model_base.rb +1 -1
  116. data/lib/factpulse/configuration.rb +1 -1
  117. data/lib/factpulse/helpers/client.rb +42 -5
  118. data/lib/factpulse/models/acknowledgment_status.rb +1 -1
  119. data/lib/factpulse/models/action_code_info.rb +1 -1
  120. data/lib/factpulse/models/action_codes_response.rb +1 -1
  121. data/lib/factpulse/models/additional_document.rb +1 -1
  122. data/lib/factpulse/models/afnor_acknowledgement.rb +1 -1
  123. data/lib/factpulse/models/afnor_acknowledgement_detail.rb +1 -1
  124. data/lib/factpulse/models/afnor_address_read.rb +1 -1
  125. data/lib/factpulse/models/{afnor_diffusion_status.rb → afnor_contains_or_start_with_operator.rb} +7 -7
  126. data/lib/factpulse/models/{afnor_contains_operator.rb → afnor_contains_or_strict_operator.rb} +6 -5
  127. data/lib/factpulse/models/afnor_contains_or_strict_or_start_with_operator.rb +41 -0
  128. data/lib/factpulse/models/{afnor_routing_code_post201_response.rb → afnor_core_flow_info.rb} +104 -62
  129. data/lib/factpulse/models/afnor_credentials.rb +1 -1
  130. data/lib/factpulse/models/afnor_destination.rb +1 -1
  131. data/lib/factpulse/models/afnor_directory_line_field.rb +2 -3
  132. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +1 -1
  133. 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} +86 -15
  134. data/lib/factpulse/models/{afnor_create_directory_line_body_addressing_information.rb → afnor_directory_line_payload_status_legal_unit_facility_routing_code.rb} +106 -17
  135. data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +5 -3
  136. data/lib/factpulse/models/afnor_directory_line_status.rb +41 -0
  137. data/lib/factpulse/models/afnor_entity_type.rb +1 -1
  138. data/lib/factpulse/models/afnor_error.rb +31 -40
  139. data/lib/factpulse/models/afnor_error_detail.rb +1 -1
  140. data/lib/factpulse/models/afnor_facility_administrative_status.rb +1 -1
  141. data/lib/factpulse/models/afnor_facility_payload_history.rb +12 -12
  142. data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +1 -1
  143. data/lib/factpulse/models/afnor_facility_payload_included.rb +11 -11
  144. data/lib/factpulse/models/afnor_facility_type.rb +1 -1
  145. data/lib/factpulse/models/afnor_flow.rb +257 -62
  146. data/lib/factpulse/models/afnor_flow_ack_status.rb +1 -1
  147. data/lib/factpulse/models/afnor_flow_direction.rb +1 -1
  148. data/lib/factpulse/models/{afnor_update_patch_routing_code_body.rb → afnor_flow_extension.rb} +104 -67
  149. data/lib/factpulse/models/afnor_flow_info.rb +26 -10
  150. data/lib/factpulse/models/{afnor_create_directory_line_body_period.rb → afnor_flow_info_extension.rb} +27 -32
  151. data/lib/factpulse/models/afnor_flow_profile.rb +3 -2
  152. data/lib/factpulse/models/afnor_flow_syntax.rb +1 -1
  153. data/lib/factpulse/models/afnor_flow_type.rb +9 -3
  154. data/lib/factpulse/models/afnor_full_flow_info.rb +85 -52
  155. data/lib/factpulse/models/afnor_full_flow_info_extension.rb +202 -0
  156. data/lib/factpulse/models/afnor_health_check_response.rb +1 -1
  157. data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +1 -1
  158. data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +14 -5
  159. data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +14 -5
  160. data/lib/factpulse/models/afnor_processing_rule.rb +6 -2
  161. data/lib/factpulse/models/afnor_reason_code.rb +1 -1
  162. data/lib/factpulse/models/afnor_reason_code_enum.rb +1 -1
  163. data/lib/factpulse/models/afnor_recipient_platform_type.rb +1 -1
  164. data/lib/factpulse/models/afnor_result.rb +1 -1
  165. data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +1 -1
  166. data/lib/factpulse/models/afnor_routing_code_field.rb +2 -3
  167. data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +1 -1
  168. data/lib/factpulse/models/afnor_routing_code_search.rb +1 -1
  169. data/lib/factpulse/models/afnor_routing_code_search_filters.rb +1 -1
  170. data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +1 -1
  171. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +2 -2
  172. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +2 -2
  173. data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +4 -2
  174. data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +1 -1
  175. data/lib/factpulse/models/afnor_search_directory_line.rb +35 -2
  176. data/lib/factpulse/models/afnor_search_directory_line_filters.rb +1 -1
  177. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +2 -2
  178. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +2 -2
  179. data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +8 -8
  180. data/lib/factpulse/models/afnor_search_flow_content.rb +34 -2
  181. data/lib/factpulse/models/afnor_search_flow_filters.rb +7 -6
  182. data/lib/factpulse/models/afnor_search_flow_params.rb +13 -3
  183. data/lib/factpulse/models/afnor_search_siren.rb +1 -1
  184. data/lib/factpulse/models/afnor_search_siren_filters.rb +1 -1
  185. data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +1 -1
  186. data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +2 -2
  187. data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +1 -1
  188. data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +2 -2
  189. data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +8 -8
  190. data/lib/factpulse/models/afnor_search_siret.rb +1 -1
  191. data/lib/factpulse/models/afnor_search_siret_filters.rb +1 -1
  192. data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +2 -2
  193. data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +1 -1
  194. data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +2 -2
  195. data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +2 -2
  196. data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +2 -2
  197. data/lib/factpulse/models/afnor_search_siret_filters_name.rb +2 -2
  198. data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +2 -2
  199. data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +2 -2
  200. data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +8 -8
  201. data/lib/factpulse/models/afnor_siren_field.rb +3 -3
  202. data/lib/factpulse/models/{afnor_update_patch_directory_line_body.rb → afnor_siren_instructions.rb} +13 -12
  203. data/lib/factpulse/models/afnor_siren_search_post200_response.rb +4 -2
  204. data/lib/factpulse/models/afnor_siret_field.rb +4 -5
  205. data/lib/factpulse/models/{afnor_webhook_callback_content.rb → afnor_siret_instructions.rb} +13 -12
  206. data/lib/factpulse/models/afnor_siret_search_post200_response.rb +4 -2
  207. data/lib/factpulse/models/afnor_sorting_order.rb +1 -1
  208. data/lib/factpulse/models/afnor_strict_operator.rb +1 -1
  209. data/lib/factpulse/models/{afnor_facility_nature.rb → afnor_strict_or_start_with_operator.rb} +7 -7
  210. data/lib/factpulse/models/{afnor_platform_status.rb → afnor_unique_directory_line_status.rb} +4 -4
  211. data/lib/factpulse/models/afnor_webhook.rb +250 -0
  212. data/lib/factpulse/models/{afnor_create_directory_line_body.rb → afnor_webhook_id_param.rb} +26 -17
  213. data/lib/factpulse/models/{afnor_legal_unit_payload_included_no_siren.rb → afnor_webhook_params.rb} +44 -36
  214. data/lib/factpulse/models/aggregated_payment_input.rb +1 -1
  215. data/lib/factpulse/models/aggregated_transaction_input.rb +1 -1
  216. data/lib/factpulse/models/allowance_charge.rb +2 -2
  217. data/lib/factpulse/models/allowance_charge_reason_code.rb +1 -1
  218. data/lib/factpulse/models/allowance_reason_code.rb +1 -1
  219. data/lib/factpulse/models/allowance_total_amount.rb +1 -1
  220. data/lib/factpulse/models/amount.rb +2 -2
  221. data/lib/factpulse/models/amount1.rb +2 -2
  222. data/lib/factpulse/models/amount2.rb +2 -2
  223. data/lib/factpulse/models/amount_due.rb +1 -1
  224. data/lib/factpulse/models/amounteur.rb +104 -0
  225. data/lib/factpulse/models/api_error.rb +1 -1
  226. data/lib/factpulse/models/api_profile.rb +1 -1
  227. data/lib/factpulse/models/async_task_status.rb +1 -1
  228. data/lib/factpulse/models/base_amount.rb +1 -1
  229. data/lib/factpulse/models/bounding_box_schema.rb +1 -1
  230. data/lib/factpulse/models/buyercountry.rb +1 -1
  231. data/lib/factpulse/models/celery_status.rb +1 -1
  232. data/lib/factpulse/models/certificate_info_response.rb +1 -1
  233. data/lib/factpulse/models/charge_total_amount.rb +1 -1
  234. data/lib/factpulse/models/chorus_pro_credentials.rb +1 -1
  235. data/lib/factpulse/models/chorus_pro_destination.rb +1 -1
  236. data/lib/factpulse/models/chorus_pro_result.rb +1 -1
  237. data/lib/factpulse/models/client_activate_response.rb +1 -1
  238. data/lib/factpulse/models/client_create_request.rb +1 -1
  239. data/lib/factpulse/models/client_detail.rb +1 -1
  240. data/lib/factpulse/models/client_list_response.rb +1 -1
  241. data/lib/factpulse/models/client_summary.rb +1 -1
  242. data/lib/factpulse/models/client_update_request.rb +1 -1
  243. data/lib/factpulse/models/contact.rb +1 -1
  244. data/lib/factpulse/models/conversion_error_result.rb +1 -1
  245. data/lib/factpulse/models/conversion_extraction_info.rb +1 -1
  246. data/lib/factpulse/models/conversion_pending_input_result.rb +1 -1
  247. data/lib/factpulse/models/conversion_success_task_result.rb +1 -1
  248. data/lib/factpulse/models/conversion_task_status.rb +1 -1
  249. data/lib/factpulse/models/conversion_task_status_result.rb +1 -1
  250. data/lib/factpulse/models/conversion_validation_failed_result.rb +1 -1
  251. data/lib/factpulse/models/convert_resume_request.rb +1 -1
  252. data/lib/factpulse/models/convert_success_response.rb +1 -1
  253. data/lib/factpulse/models/convert_validation_failed_response.rb +1 -1
  254. data/lib/factpulse/models/country_code.rb +1 -1
  255. data/lib/factpulse/models/create_aggregated_report_request.rb +1 -1
  256. data/lib/factpulse/models/create_cdar_request.rb +18 -6
  257. data/lib/factpulse/models/create_e_reporting_request.rb +1 -1
  258. data/lib/factpulse/models/currency.rb +1 -1
  259. data/lib/factpulse/models/currency_code.rb +1 -1
  260. data/lib/factpulse/models/delivery_party.rb +3 -3
  261. data/lib/factpulse/models/destination.rb +1 -1
  262. data/lib/factpulse/models/doc_type.rb +1 -1
  263. data/lib/factpulse/models/document_type_info.rb +1 -1
  264. data/lib/factpulse/models/e_reporting_flow_type.rb +1 -1
  265. data/lib/factpulse/models/e_reporting_validation_error.rb +1 -1
  266. data/lib/factpulse/models/electronic_address.rb +2 -2
  267. data/lib/factpulse/models/{afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb → electronic_address_input.rb} +37 -17
  268. data/lib/factpulse/models/electronic_address_output.rb +198 -0
  269. data/lib/factpulse/models/encaisseamount.rb +1 -1
  270. data/lib/factpulse/models/encaisseamount1.rb +1 -1
  271. data/lib/factpulse/models/encaissee_request.rb +15 -3
  272. data/lib/factpulse/models/enriched_invoice_info.rb +1 -1
  273. data/lib/factpulse/models/error_level.rb +1 -1
  274. data/lib/factpulse/models/error_source.rb +1 -1
  275. data/lib/factpulse/models/extraction_info.rb +1 -1
  276. data/lib/factpulse/models/factur_x_invoice.rb +1 -1
  277. data/lib/factpulse/models/factur_xpdf_info.rb +1 -1
  278. data/lib/factpulse/models/facture_electronique_models_invoice_type_code.rb +1 -1
  279. data/lib/factpulse/models/{afnor_directory_line_post201_response.rb → facture_electronique_rest_api_schemas_cdar_validation_error_response.rb} +64 -36
  280. data/lib/factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb +1 -1
  281. data/lib/factpulse/models/field_status.rb +1 -1
  282. data/lib/factpulse/models/file_info.rb +1 -1
  283. data/lib/factpulse/models/files_info.rb +1 -1
  284. data/lib/factpulse/models/flow_direction.rb +1 -1
  285. data/lib/factpulse/models/flow_profile.rb +3 -2
  286. data/lib/factpulse/models/flow_summary.rb +1 -1
  287. data/lib/factpulse/models/flow_syntax.rb +1 -1
  288. data/lib/factpulse/models/flow_type.rb +9 -3
  289. data/lib/factpulse/models/generate_aggregated_report_response.rb +1 -1
  290. data/lib/factpulse/models/generate_cdar_response.rb +1 -1
  291. data/lib/factpulse/models/generate_certificate_request.rb +1 -1
  292. data/lib/factpulse/models/generate_certificate_response.rb +1 -1
  293. data/lib/factpulse/models/generate_e_reporting_response.rb +1 -1
  294. data/lib/factpulse/models/generation_success_result.rb +1 -1
  295. data/lib/factpulse/models/generation_task_status.rb +1 -1
  296. data/lib/factpulse/models/generation_task_status_result.rb +1 -1
  297. data/lib/factpulse/models/get_chorus_pro_id_request.rb +1 -1
  298. data/lib/factpulse/models/get_chorus_pro_id_response.rb +1 -1
  299. data/lib/factpulse/models/get_invoice_request.rb +1 -1
  300. data/lib/factpulse/models/get_invoice_response.rb +1 -1
  301. data/lib/factpulse/models/get_structure_request.rb +1 -1
  302. data/lib/factpulse/models/get_structure_response.rb +1 -1
  303. data/lib/factpulse/models/global_allowance_amount.rb +1 -1
  304. data/lib/factpulse/models/gross_unit_price.rb +1 -1
  305. data/lib/factpulse/models/http_validation_error.rb +1 -1
  306. data/lib/factpulse/models/incoming_invoice.rb +1 -1
  307. data/lib/factpulse/models/incoming_supplier.rb +14 -4
  308. data/lib/factpulse/models/invoice_format.rb +1 -1
  309. data/lib/factpulse/models/invoice_input.rb +22 -2
  310. data/lib/factpulse/models/invoice_lifecycle.rb +1 -1
  311. data/lib/factpulse/models/invoice_line.rb +1 -1
  312. data/lib/factpulse/models/invoice_line_allowance_amount.rb +1 -1
  313. data/lib/factpulse/models/invoice_note.rb +1 -1
  314. data/lib/factpulse/models/invoice_payment_input.rb +1 -1
  315. data/lib/factpulse/models/invoice_references.rb +1 -1
  316. data/lib/factpulse/models/invoice_status.rb +1 -1
  317. data/lib/factpulse/models/invoice_totals.rb +1 -1
  318. data/lib/factpulse/models/invoice_totals_prepayment.rb +1 -1
  319. data/lib/factpulse/models/invoice_type_code.rb +1 -1
  320. data/lib/factpulse/models/invoice_type_code_output.rb +1 -1
  321. data/lib/factpulse/models/invoicedata.rb +105 -0
  322. data/lib/factpulse/models/invoicing_framework.rb +1 -1
  323. data/lib/factpulse/models/invoicing_framework_code.rb +1 -1
  324. data/lib/factpulse/models/issuer_role_code.rb +1 -1
  325. data/lib/factpulse/models/key_rotation_request.rb +1 -1
  326. data/lib/factpulse/models/key_rotation_response.rb +1 -1
  327. data/lib/factpulse/models/lifecycle_event.rb +12 -2
  328. data/lib/factpulse/models/lifecycle_response.rb +1 -1
  329. data/lib/factpulse/models/line_net_amount.rb +1 -1
  330. data/lib/factpulse/models/line_sub_type.rb +1 -1
  331. data/lib/factpulse/models/line_total_amount.rb +1 -1
  332. data/lib/factpulse/models/location_inner.rb +1 -1
  333. data/lib/factpulse/models/mandatory_note_schema.rb +1 -1
  334. data/lib/factpulse/models/manual_rate.rb +1 -1
  335. data/lib/factpulse/models/manual_vat_rate.rb +1 -1
  336. data/lib/factpulse/models/missing_field.rb +1 -1
  337. data/lib/factpulse/models/operation_nature.rb +1 -1
  338. data/lib/factpulse/models/output_format.rb +1 -1
  339. data/lib/factpulse/models/page_dimensions_schema.rb +1 -1
  340. data/lib/factpulse/models/parse_factur_x_response.rb +1 -1
  341. data/lib/factpulse/models/payee.rb +3 -3
  342. data/lib/factpulse/models/payment_amount_by_rate.rb +15 -5
  343. data/lib/factpulse/models/payment_card.rb +1 -1
  344. data/lib/factpulse/models/payment_means.rb +1 -1
  345. data/lib/factpulse/models/pdf_validation_result_api.rb +1 -1
  346. data/lib/factpulse/models/pdp_config_response.rb +1 -1
  347. data/lib/factpulse/models/pdp_config_update_request.rb +1 -1
  348. data/lib/factpulse/models/pdp_credentials.rb +1 -1
  349. data/lib/factpulse/models/percentage.rb +1 -1
  350. data/lib/factpulse/models/postal_address.rb +7 -7
  351. data/lib/factpulse/models/postal_address_input.rb +209 -0
  352. data/lib/factpulse/models/postal_address_output.rb +209 -0
  353. data/lib/factpulse/models/price_allowance_amount.rb +1 -1
  354. data/lib/factpulse/models/price_basis_quantity.rb +1 -1
  355. data/lib/factpulse/models/processing_options.rb +2 -2
  356. data/lib/factpulse/models/processing_rule.rb +6 -2
  357. data/lib/factpulse/models/product_characteristic.rb +1 -1
  358. data/lib/factpulse/models/product_classification.rb +1 -1
  359. data/lib/factpulse/models/quantity.rb +1 -1
  360. data/lib/factpulse/models/rate.rb +1 -1
  361. data/lib/factpulse/models/rate1.rb +1 -1
  362. data/lib/factpulse/models/reason_code_info.rb +1 -1
  363. data/lib/factpulse/models/reason_codes_response.rb +1 -1
  364. data/lib/factpulse/models/recipient.rb +4 -4
  365. data/lib/factpulse/models/recipient_input.rb +1 -1
  366. data/lib/factpulse/models/refusee_request.rb +1 -1
  367. data/lib/factpulse/models/report_issuer.rb +1 -1
  368. data/lib/factpulse/models/report_period.rb +1 -1
  369. data/lib/factpulse/models/report_sender.rb +12 -2
  370. data/lib/factpulse/models/rounding_amount.rb +1 -1
  371. data/lib/factpulse/models/schematron_validation_error.rb +1 -1
  372. data/lib/factpulse/models/scheme_id.rb +1 -1
  373. data/lib/factpulse/models/search_flow_request.rb +1 -1
  374. data/lib/factpulse/models/search_flow_response.rb +1 -1
  375. data/lib/factpulse/models/search_services_response.rb +1 -1
  376. data/lib/factpulse/models/search_structure_request.rb +1 -1
  377. data/lib/factpulse/models/search_structure_response.rb +1 -1
  378. data/lib/factpulse/models/secret_status.rb +1 -1
  379. data/lib/factpulse/models/sellercountry.rb +1 -1
  380. data/lib/factpulse/models/signature_info.rb +1 -1
  381. data/lib/factpulse/models/signature_info_api.rb +1 -1
  382. data/lib/factpulse/models/signature_parameters.rb +1 -1
  383. data/lib/factpulse/models/signature_success_result.rb +1 -1
  384. data/lib/factpulse/models/signature_task_status.rb +1 -1
  385. data/lib/factpulse/models/signature_task_status_result.rb +1 -1
  386. data/lib/factpulse/models/simplified_cdar_response.rb +1 -1
  387. data/lib/factpulse/models/simplified_invoice_data.rb +4 -4
  388. data/lib/factpulse/models/status_code_info.rb +1 -1
  389. data/lib/factpulse/models/status_codes_response.rb +1 -1
  390. data/lib/factpulse/models/structure_info.rb +1 -1
  391. data/lib/factpulse/models/structure_parameters.rb +1 -1
  392. data/lib/factpulse/models/structure_service.rb +1 -1
  393. data/lib/factpulse/models/submission_mode.rb +1 -1
  394. data/lib/factpulse/models/submit_aggregated_report_request.rb +1 -1
  395. data/lib/factpulse/models/submit_cdar_request.rb +14 -2
  396. data/lib/factpulse/models/submit_cdar_response.rb +1 -1
  397. data/lib/factpulse/models/submit_cdarxml_request.rb +1 -1
  398. data/lib/factpulse/models/submit_complete_invoice_request.rb +2 -3
  399. data/lib/factpulse/models/submit_complete_invoice_response.rb +1 -1
  400. data/lib/factpulse/models/submit_e_reporting_request.rb +1 -1
  401. data/lib/factpulse/models/submit_e_reporting_response.rb +1 -1
  402. data/lib/factpulse/models/submit_flow_request.rb +1 -1
  403. data/lib/factpulse/models/submit_flow_response.rb +1 -1
  404. data/lib/factpulse/models/submit_gross_amount.rb +1 -1
  405. data/lib/factpulse/models/submit_invoice_request.rb +1 -1
  406. data/lib/factpulse/models/submit_invoice_response.rb +1 -1
  407. data/lib/factpulse/models/submit_net_amount.rb +1 -1
  408. data/lib/factpulse/models/submit_vat_amount.rb +1 -1
  409. data/lib/factpulse/models/{facture_electronique_rest_api_schemas_validation_validation_error_response.rb → super_pdp_connect_url_response.rb} +22 -24
  410. data/lib/factpulse/models/super_pdp_disconnect_response.rb +193 -0
  411. data/lib/factpulse/models/super_pdp_status_response.rb +208 -0
  412. data/lib/factpulse/models/supplementary_attachment.rb +1 -1
  413. data/lib/factpulse/models/supplier.rb +15 -5
  414. data/lib/factpulse/models/task_error_result.rb +1 -1
  415. data/lib/factpulse/models/task_response.rb +1 -1
  416. data/lib/factpulse/models/tax_breakdown_input.rb +35 -5
  417. data/lib/factpulse/models/tax_due_date_type.rb +1 -1
  418. data/lib/factpulse/models/tax_representative.rb +2 -2
  419. data/lib/factpulse/models/taxable_amount.rb +1 -1
  420. data/lib/factpulse/models/taxableamount.rb +1 -1
  421. data/lib/factpulse/models/taxamount.rb +1 -1
  422. data/lib/factpulse/models/taxamount1.rb +1 -1
  423. data/lib/factpulse/models/taxamount2.rb +1 -1
  424. data/lib/factpulse/models/{afnor_algorithm.rb → taxamounteur.rb} +84 -23
  425. data/lib/factpulse/models/taxexclusiveamount.rb +1 -1
  426. data/lib/factpulse/models/taxexclusiveamount1.rb +1 -1
  427. data/lib/factpulse/models/total_gross_amount.rb +1 -1
  428. data/lib/factpulse/models/total_net_amount.rb +1 -1
  429. data/lib/factpulse/models/total_vat_amount.rb +1 -1
  430. data/lib/factpulse/models/transaction_category.rb +1 -1
  431. data/lib/factpulse/models/transmission_type_code.rb +1 -1
  432. data/lib/factpulse/models/unit_net_price.rb +1 -1
  433. data/lib/factpulse/models/unit_of_measure.rb +1 -1
  434. data/lib/factpulse/models/validate_cdar_request.rb +1 -1
  435. data/lib/factpulse/models/validate_cdar_response.rb +3 -3
  436. data/lib/factpulse/models/validate_e_reporting_request.rb +1 -1
  437. data/lib/factpulse/models/validate_e_reporting_response.rb +1 -1
  438. data/lib/factpulse/models/validation_error.rb +1 -1
  439. data/lib/factpulse/models/validation_error_detail.rb +1 -1
  440. data/lib/factpulse/models/validation_error_response.rb +21 -68
  441. data/lib/factpulse/models/validation_info.rb +1 -1
  442. data/lib/factpulse/models/validation_success_response.rb +1 -1
  443. data/lib/factpulse/models/validation_success_task_result.rb +1 -1
  444. data/lib/factpulse/models/validation_task_status.rb +1 -1
  445. data/lib/factpulse/models/validation_task_status_result.rb +1 -1
  446. data/lib/factpulse/models/vat_accounting_code.rb +1 -1
  447. data/lib/factpulse/models/vat_amount.rb +1 -1
  448. data/lib/factpulse/models/vat_category.rb +1 -1
  449. data/lib/factpulse/models/vat_line.rb +1 -1
  450. data/lib/factpulse/models/vat_point_date_code.rb +1 -1
  451. data/lib/factpulse/models/vat_rate.rb +1 -1
  452. data/lib/factpulse/models/vatex_code_info.rb +1 -1
  453. data/lib/factpulse/models/vatex_codes_response.rb +1 -1
  454. data/lib/factpulse/models/verification_success_response.rb +1 -1
  455. data/lib/factpulse/models/verification_success_task_result.rb +1 -1
  456. data/lib/factpulse/models/verification_typed_task_status.rb +1 -1
  457. data/lib/factpulse/models/verification_typed_task_status_result.rb +1 -1
  458. data/lib/factpulse/models/verified_field_schema.rb +1 -1
  459. data/lib/factpulse/models/webhook_secret_delete_response.rb +1 -1
  460. data/lib/factpulse/models/webhook_secret_generate_response.rb +1 -1
  461. data/lib/factpulse/models/webhook_secret_status_response.rb +1 -1
  462. data/lib/factpulse/version.rb +2 -2
  463. data/lib/factpulse.rb +29 -23
  464. metadata +58 -46
  465. data/docs/AFNORAddressEdit.md +0 -30
  466. data/docs/AFNORAddressPatch.md +0 -30
  467. data/docs/AFNORAddressPut.md +0 -30
  468. data/docs/AFNORCreateDirectoryLineBody.md +0 -20
  469. data/docs/AFNORCreateDirectoryLineBodyAddressingInformation.md +0 -24
  470. data/docs/AFNORCreateDirectoryLineBodyPeriod.md +0 -20
  471. data/docs/AFNORCreateRoutingCodeBody.md +0 -32
  472. data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodePlatform.md +0 -20
  473. data/docs/AFNORDirectoryLinePost201Response.md +0 -22
  474. data/docs/AFNORLegalUnitPayloadIncludedNoSiren.md +0 -22
  475. data/docs/AFNORRoutingCodePost201Response.md +0 -22
  476. data/docs/AFNORUpdatePatchDirectoryLineBody.md +0 -18
  477. data/docs/AFNORUpdatePatchRoutingCodeBody.md +0 -24
  478. data/docs/AFNORUpdatePutRoutingCodeBody.md +0 -24
  479. data/docs/AFNORWebhookCallbackContent.md +0 -18
  480. data/docs/FactureElectroniqueRestApiSchemasValidationValidationErrorResponse.md +0 -18
  481. data/lib/factpulse/models/afnor_address_edit.rb +0 -353
  482. data/lib/factpulse/models/afnor_address_patch.rb +0 -386
  483. data/lib/factpulse/models/afnor_address_put.rb +0 -435
  484. data/lib/factpulse/models/afnor_create_routing_code_body.rb +0 -412
  485. data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +0 -289
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: contact@factpulse.fr
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.21.0-SNAPSHOT
9
+ Generator version: 7.21.0
10
10
 
11
11
  =end
12
12
 
@@ -14,15 +14,15 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module FactPulse
17
- # Response for validation errors.
18
- class FactureElectroniqueRestApiSchemasValidationValidationErrorResponse < ApiModelBase
19
- # List of detected validation errors.
20
- attr_accessor :detail
17
+ # SuperPDP OAuth authorization URL for a client.
18
+ class SuperPDPConnectURLResponse < ApiModelBase
19
+ # URL to redirect the end user to in order to connect their SuperPDP account
20
+ attr_accessor :authorize_url
21
21
 
22
22
  # Attribute mapping from ruby-style variable name to JSON key.
23
23
  def self.attribute_map
24
24
  {
25
- :'detail' => :'detail'
25
+ :'authorize_url' => :'authorizeUrl'
26
26
  }
27
27
  end
28
28
 
@@ -39,7 +39,7 @@ module FactPulse
39
39
  # Attribute type mapping.
40
40
  def self.openapi_types
41
41
  {
42
- :'detail' => :'Array<String>'
42
+ :'authorize_url' => :'String'
43
43
  }
44
44
  end
45
45
 
@@ -53,24 +53,22 @@ module FactPulse
53
53
  # @param [Hash] attributes Model attributes in the form of hash
54
54
  def initialize(attributes = {})
55
55
  if (!attributes.is_a?(Hash))
56
- fail ArgumentError, "The input argument (attributes) must be a hash in `FactPulse::FactureElectroniqueRestApiSchemasValidationValidationErrorResponse` initialize method"
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FactPulse::SuperPDPConnectURLResponse` initialize method"
57
57
  end
58
58
 
59
59
  # check to see if the attribute exists and convert string to symbol for hash key
60
60
  acceptable_attribute_map = self.class.acceptable_attribute_map
61
61
  attributes = attributes.each_with_object({}) { |(k, v), h|
62
62
  if (!acceptable_attribute_map.key?(k.to_sym))
63
- fail ArgumentError, "`#{k}` is not a valid attribute in `FactPulse::FactureElectroniqueRestApiSchemasValidationValidationErrorResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FactPulse::SuperPDPConnectURLResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
64
64
  end
65
65
  h[k.to_sym] = v
66
66
  }
67
67
 
68
- if attributes.key?(:'detail')
69
- if (value = attributes[:'detail']).is_a?(Array)
70
- self.detail = value
71
- end
68
+ if attributes.key?(:'authorize_url')
69
+ self.authorize_url = attributes[:'authorize_url']
72
70
  else
73
- self.detail = nil
71
+ self.authorize_url = nil
74
72
  end
75
73
  end
76
74
 
@@ -79,8 +77,8 @@ module FactPulse
79
77
  def list_invalid_properties
80
78
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
81
79
  invalid_properties = Array.new
82
- if @detail.nil?
83
- invalid_properties.push('invalid value for "detail", detail cannot be nil.')
80
+ if @authorize_url.nil?
81
+ invalid_properties.push('invalid value for "authorize_url", authorize_url cannot be nil.')
84
82
  end
85
83
 
86
84
  invalid_properties
@@ -90,18 +88,18 @@ module FactPulse
90
88
  # @return true if the model is valid
91
89
  def valid?
92
90
  warn '[DEPRECATED] the `valid?` method is obsolete'
93
- return false if @detail.nil?
91
+ return false if @authorize_url.nil?
94
92
  true
95
93
  end
96
94
 
97
95
  # Custom attribute writer method with validation
98
- # @param [Object] detail Value to be assigned
99
- def detail=(detail)
100
- if detail.nil?
101
- fail ArgumentError, 'detail cannot be nil'
96
+ # @param [Object] authorize_url Value to be assigned
97
+ def authorize_url=(authorize_url)
98
+ if authorize_url.nil?
99
+ fail ArgumentError, 'authorize_url cannot be nil'
102
100
  end
103
101
 
104
- @detail = detail
102
+ @authorize_url = authorize_url
105
103
  end
106
104
 
107
105
  # Checks equality by comparing each attribute.
@@ -109,7 +107,7 @@ module FactPulse
109
107
  def ==(o)
110
108
  return true if self.equal?(o)
111
109
  self.class == o.class &&
112
- detail == o.detail
110
+ authorize_url == o.authorize_url
113
111
  end
114
112
 
115
113
  # @see the `==` method
@@ -121,7 +119,7 @@ module FactPulse
121
119
  # Calculates hash code according to all attributes.
122
120
  # @return [Integer] Hash code
123
121
  def hash
124
- [detail].hash
122
+ [authorize_url].hash
125
123
  end
126
124
 
127
125
  # Builds the object from hash
@@ -0,0 +1,193 @@
1
+ =begin
2
+ #FactPulse REST API
3
+
4
+ # REST API for electronic invoicing in France: Factur-X (CII), UBL 2.1, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Invoice Generation - **Formats**: CII XML, UBL 2.1 XML, or Factur-X PDF/A-3 - **Profiles** (CII/PDF): MINIMUM, BASIC, EN16931, EXTENDED - **UBL**: Always EN16931 compliant - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT), UBL 2.1 (OASIS) - **Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Factur-X - Validation - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) ### ✍️ Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification ### 📋 Flux 6 - Invoice Lifecycle (CDAR) - **CDAR Messages**: Acknowledgements, invoice statuses - **PPF Statuses**: REFUSED (210), PAID (212) ### 📊 Flux 10 - E-Reporting - **Tax Declarations**: International B2B, B2C - **Flow Types**: 10.1 (B2B transactions), 10.2 (B2B payments), 10.3 (B2C transactions), 10.4 (B2C payments) ### 📡 AFNOR PDP/PA (XP Z12-013) - **Flow Service**: Submit and search flows to PDPs - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user ### 🏛️ Chorus Pro - **Public Sector Invoicing**: Complete API for Chorus Pro ### ⏳ Async Tasks - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **Webhooks**: Automatic notifications when tasks complete ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: contact@factpulse.fr
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FactPulse
17
+ # Response after disconnecting SuperPDP for a client.
18
+ class SuperPDPDisconnectResponse < ApiModelBase
19
+ # Whether the disconnection completed successfully
20
+ attr_accessor :success
21
+
22
+ # Whether a SuperPDP connection existed and was removed
23
+ attr_accessor :deleted
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'success' => :'success',
29
+ :'deleted' => :'deleted'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'success' => :'Boolean',
47
+ :'deleted' => :'Boolean'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FactPulse::SuperPDPDisconnectResponse` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ acceptable_attribute_map = self.class.acceptable_attribute_map
66
+ attributes = attributes.each_with_object({}) { |(k, v), h|
67
+ if (!acceptable_attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FactPulse::SuperPDPDisconnectResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
69
+ end
70
+ h[k.to_sym] = v
71
+ }
72
+
73
+ if attributes.key?(:'success')
74
+ self.success = attributes[:'success']
75
+ else
76
+ self.success = nil
77
+ end
78
+
79
+ if attributes.key?(:'deleted')
80
+ self.deleted = attributes[:'deleted']
81
+ else
82
+ self.deleted = nil
83
+ end
84
+ end
85
+
86
+ # Show invalid properties with the reasons. Usually used together with valid?
87
+ # @return Array for valid properties with the reasons
88
+ def list_invalid_properties
89
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
90
+ invalid_properties = Array.new
91
+ if @success.nil?
92
+ invalid_properties.push('invalid value for "success", success cannot be nil.')
93
+ end
94
+
95
+ if @deleted.nil?
96
+ invalid_properties.push('invalid value for "deleted", deleted cannot be nil.')
97
+ end
98
+
99
+ invalid_properties
100
+ end
101
+
102
+ # Check to see if the all the properties in the model are valid
103
+ # @return true if the model is valid
104
+ def valid?
105
+ warn '[DEPRECATED] the `valid?` method is obsolete'
106
+ return false if @success.nil?
107
+ return false if @deleted.nil?
108
+ true
109
+ end
110
+
111
+ # Custom attribute writer method with validation
112
+ # @param [Object] success Value to be assigned
113
+ def success=(success)
114
+ if success.nil?
115
+ fail ArgumentError, 'success cannot be nil'
116
+ end
117
+
118
+ @success = success
119
+ end
120
+
121
+ # Custom attribute writer method with validation
122
+ # @param [Object] deleted Value to be assigned
123
+ def deleted=(deleted)
124
+ if deleted.nil?
125
+ fail ArgumentError, 'deleted cannot be nil'
126
+ end
127
+
128
+ @deleted = deleted
129
+ end
130
+
131
+ # Checks equality by comparing each attribute.
132
+ # @param [Object] Object to be compared
133
+ def ==(o)
134
+ return true if self.equal?(o)
135
+ self.class == o.class &&
136
+ success == o.success &&
137
+ deleted == o.deleted
138
+ end
139
+
140
+ # @see the `==` method
141
+ # @param [Object] Object to be compared
142
+ def eql?(o)
143
+ self == o
144
+ end
145
+
146
+ # Calculates hash code according to all attributes.
147
+ # @return [Integer] Hash code
148
+ def hash
149
+ [success, deleted].hash
150
+ end
151
+
152
+ # Builds the object from hash
153
+ # @param [Hash] attributes Model attributes in the form of hash
154
+ # @return [Object] Returns the model itself
155
+ def self.build_from_hash(attributes)
156
+ return nil unless attributes.is_a?(Hash)
157
+ attributes = attributes.transform_keys(&:to_sym)
158
+ transformed_hash = {}
159
+ openapi_types.each_pair do |key, type|
160
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
161
+ transformed_hash["#{key}"] = nil
162
+ elsif type =~ /\AArray<(.*)>/i
163
+ # check to ensure the input is an array given that the attribute
164
+ # is documented as an array but the input is not
165
+ if attributes[attribute_map[key]].is_a?(Array)
166
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
167
+ end
168
+ elsif !attributes[attribute_map[key]].nil?
169
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
170
+ end
171
+ end
172
+ new(transformed_hash)
173
+ end
174
+
175
+ # Returns the object in the form of hash
176
+ # @return [Hash] Returns the object in the form of hash
177
+ def to_hash
178
+ hash = {}
179
+ self.class.attribute_map.each_pair do |attr, param|
180
+ value = self.send(attr)
181
+ if value.nil?
182
+ is_nullable = self.class.openapi_nullable.include?(attr)
183
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
184
+ end
185
+
186
+ hash[param] = _to_hash(value)
187
+ end
188
+ hash
189
+ end
190
+
191
+ end
192
+
193
+ end
@@ -0,0 +1,208 @@
1
+ =begin
2
+ #FactPulse REST API
3
+
4
+ # REST API for electronic invoicing in France: Factur-X (CII), UBL 2.1, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Invoice Generation - **Formats**: CII XML, UBL 2.1 XML, or Factur-X PDF/A-3 - **Profiles** (CII/PDF): MINIMUM, BASIC, EN16931, EXTENDED - **UBL**: Always EN16931 compliant - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT), UBL 2.1 (OASIS) - **Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Factur-X - Validation - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) ### ✍️ Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification ### 📋 Flux 6 - Invoice Lifecycle (CDAR) - **CDAR Messages**: Acknowledgements, invoice statuses - **PPF Statuses**: REFUSED (210), PAID (212) ### 📊 Flux 10 - E-Reporting - **Tax Declarations**: International B2B, B2C - **Flow Types**: 10.1 (B2B transactions), 10.2 (B2B payments), 10.3 (B2C transactions), 10.4 (B2C payments) ### 📡 AFNOR PDP/PA (XP Z12-013) - **Flow Service**: Submit and search flows to PDPs - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user ### 🏛️ Chorus Pro - **Public Sector Invoicing**: Complete API for Chorus Pro ### ⏳ Async Tasks - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **Webhooks**: Automatic notifications when tasks complete ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: contact@factpulse.fr
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FactPulse
17
+ # SuperPDP connection status for a client.
18
+ class SuperPDPStatusResponse < ApiModelBase
19
+ # Whether this client has connected its SuperPDP account
20
+ attr_accessor :connected
21
+
22
+ attr_accessor :connected_at
23
+
24
+ attr_accessor :expires_at
25
+
26
+ attr_accessor :mode_sandbox
27
+
28
+ # Last token refresh error, if any
29
+ attr_accessor :last_error
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'connected' => :'connected',
35
+ :'connected_at' => :'connectedAt',
36
+ :'expires_at' => :'expiresAt',
37
+ :'mode_sandbox' => :'modeSandbox',
38
+ :'last_error' => :'lastError'
39
+ }
40
+ end
41
+
42
+ # Returns attribute mapping this model knows about
43
+ def self.acceptable_attribute_map
44
+ attribute_map
45
+ end
46
+
47
+ # Returns all the JSON keys this model knows about
48
+ def self.acceptable_attributes
49
+ acceptable_attribute_map.values
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.openapi_types
54
+ {
55
+ :'connected' => :'Boolean',
56
+ :'connected_at' => :'Time',
57
+ :'expires_at' => :'Time',
58
+ :'mode_sandbox' => :'Boolean',
59
+ :'last_error' => :'String'
60
+ }
61
+ end
62
+
63
+ # List of attributes with nullable: true
64
+ def self.openapi_nullable
65
+ Set.new([
66
+ :'connected_at',
67
+ :'expires_at',
68
+ :'mode_sandbox',
69
+ ])
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ def initialize(attributes = {})
75
+ if (!attributes.is_a?(Hash))
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FactPulse::SuperPDPStatusResponse` initialize method"
77
+ end
78
+
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ acceptable_attribute_map = self.class.acceptable_attribute_map
81
+ attributes = attributes.each_with_object({}) { |(k, v), h|
82
+ if (!acceptable_attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FactPulse::SuperPDPStatusResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
84
+ end
85
+ h[k.to_sym] = v
86
+ }
87
+
88
+ if attributes.key?(:'connected')
89
+ self.connected = attributes[:'connected']
90
+ else
91
+ self.connected = nil
92
+ end
93
+
94
+ if attributes.key?(:'connected_at')
95
+ self.connected_at = attributes[:'connected_at']
96
+ end
97
+
98
+ if attributes.key?(:'expires_at')
99
+ self.expires_at = attributes[:'expires_at']
100
+ end
101
+
102
+ if attributes.key?(:'mode_sandbox')
103
+ self.mode_sandbox = attributes[:'mode_sandbox']
104
+ end
105
+
106
+ if attributes.key?(:'last_error')
107
+ self.last_error = attributes[:'last_error']
108
+ else
109
+ self.last_error = ''
110
+ end
111
+ end
112
+
113
+ # Show invalid properties with the reasons. Usually used together with valid?
114
+ # @return Array for valid properties with the reasons
115
+ def list_invalid_properties
116
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
117
+ invalid_properties = Array.new
118
+ if @connected.nil?
119
+ invalid_properties.push('invalid value for "connected", connected cannot be nil.')
120
+ end
121
+
122
+ invalid_properties
123
+ end
124
+
125
+ # Check to see if the all the properties in the model are valid
126
+ # @return true if the model is valid
127
+ def valid?
128
+ warn '[DEPRECATED] the `valid?` method is obsolete'
129
+ return false if @connected.nil?
130
+ true
131
+ end
132
+
133
+ # Custom attribute writer method with validation
134
+ # @param [Object] connected Value to be assigned
135
+ def connected=(connected)
136
+ if connected.nil?
137
+ fail ArgumentError, 'connected cannot be nil'
138
+ end
139
+
140
+ @connected = connected
141
+ end
142
+
143
+ # Checks equality by comparing each attribute.
144
+ # @param [Object] Object to be compared
145
+ def ==(o)
146
+ return true if self.equal?(o)
147
+ self.class == o.class &&
148
+ connected == o.connected &&
149
+ connected_at == o.connected_at &&
150
+ expires_at == o.expires_at &&
151
+ mode_sandbox == o.mode_sandbox &&
152
+ last_error == o.last_error
153
+ end
154
+
155
+ # @see the `==` method
156
+ # @param [Object] Object to be compared
157
+ def eql?(o)
158
+ self == o
159
+ end
160
+
161
+ # Calculates hash code according to all attributes.
162
+ # @return [Integer] Hash code
163
+ def hash
164
+ [connected, connected_at, expires_at, mode_sandbox, last_error].hash
165
+ end
166
+
167
+ # Builds the object from hash
168
+ # @param [Hash] attributes Model attributes in the form of hash
169
+ # @return [Object] Returns the model itself
170
+ def self.build_from_hash(attributes)
171
+ return nil unless attributes.is_a?(Hash)
172
+ attributes = attributes.transform_keys(&:to_sym)
173
+ transformed_hash = {}
174
+ openapi_types.each_pair do |key, type|
175
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
176
+ transformed_hash["#{key}"] = nil
177
+ elsif type =~ /\AArray<(.*)>/i
178
+ # check to ensure the input is an array given that the attribute
179
+ # is documented as an array but the input is not
180
+ if attributes[attribute_map[key]].is_a?(Array)
181
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
182
+ end
183
+ elsif !attributes[attribute_map[key]].nil?
184
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
185
+ end
186
+ end
187
+ new(transformed_hash)
188
+ end
189
+
190
+ # Returns the object in the form of hash
191
+ # @return [Hash] Returns the object in the form of hash
192
+ def to_hash
193
+ hash = {}
194
+ self.class.attribute_map.each_pair do |attr, param|
195
+ value = self.send(attr)
196
+ if value.nil?
197
+ is_nullable = self.class.openapi_nullable.include?(attr)
198
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
199
+ end
200
+
201
+ hash[param] = _to_hash(value)
202
+ end
203
+ hash
204
+ end
205
+
206
+ end
207
+
208
+ end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: contact@factpulse.fr
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.21.0-SNAPSHOT
9
+ Generator version: 7.21.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: contact@factpulse.fr
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.21.0-SNAPSHOT
9
+ Generator version: 7.21.0
10
10
 
11
11
  =end
12
12
 
@@ -39,6 +39,8 @@ module FactPulse
39
39
 
40
40
  attr_accessor :vat_number
41
41
 
42
+ attr_accessor :tax_registration_id
43
+
42
44
  attr_accessor :iban
43
45
 
44
46
  attr_accessor :bic
@@ -67,6 +69,7 @@ module FactPulse
67
69
  :'siren' => :'siren',
68
70
  :'siret' => :'siret',
69
71
  :'vat_number' => :'vat_number',
72
+ :'tax_registration_id' => :'tax_registration_id',
70
73
  :'iban' => :'iban',
71
74
  :'bic' => :'bic',
72
75
  :'bank_account_name' => :'bank_account_name',
@@ -90,7 +93,7 @@ module FactPulse
90
93
  # Attribute type mapping.
91
94
  def self.openapi_types
92
95
  {
93
- :'electronic_address' => :'ElectronicAddress',
96
+ :'electronic_address' => :'ElectronicAddressInput',
94
97
  :'supplier_id' => :'Integer',
95
98
  :'private_id' => :'String',
96
99
  :'supplier_bank_account_code' => :'Integer',
@@ -101,13 +104,14 @@ module FactPulse
101
104
  :'siren' => :'String',
102
105
  :'siret' => :'String',
103
106
  :'vat_number' => :'String',
107
+ :'tax_registration_id' => :'String',
104
108
  :'iban' => :'String',
105
109
  :'bic' => :'String',
106
110
  :'bank_account_name' => :'String',
107
111
  :'proprietary_id' => :'String',
108
- :'postal_address' => :'PostalAddress',
112
+ :'postal_address' => :'PostalAddressInput',
109
113
  :'contact' => :'Contact',
110
- :'global_ids' => :'Array<ElectronicAddress>'
114
+ :'global_ids' => :'Array<ElectronicAddressInput>'
111
115
  }
112
116
  end
113
117
 
@@ -124,6 +128,7 @@ module FactPulse
124
128
  :'siren',
125
129
  :'siret',
126
130
  :'vat_number',
131
+ :'tax_registration_id',
127
132
  :'iban',
128
133
  :'bic',
129
134
  :'bank_account_name',
@@ -196,6 +201,10 @@ module FactPulse
196
201
  self.vat_number = attributes[:'vat_number']
197
202
  end
198
203
 
204
+ if attributes.key?(:'tax_registration_id')
205
+ self.tax_registration_id = attributes[:'tax_registration_id']
206
+ end
207
+
199
208
  if attributes.key?(:'iban')
200
209
  self.iban = attributes[:'iban']
201
210
  end
@@ -258,6 +267,7 @@ module FactPulse
258
267
  siren == o.siren &&
259
268
  siret == o.siret &&
260
269
  vat_number == o.vat_number &&
270
+ tax_registration_id == o.tax_registration_id &&
261
271
  iban == o.iban &&
262
272
  bic == o.bic &&
263
273
  bank_account_name == o.bank_account_name &&
@@ -276,7 +286,7 @@ module FactPulse
276
286
  # Calculates hash code according to all attributes.
277
287
  # @return [Integer] Hash code
278
288
  def hash
279
- [electronic_address, supplier_id, private_id, supplier_bank_account_code, supplier_service_id, name, trading_business_name, legal_description, siren, siret, vat_number, iban, bic, bank_account_name, proprietary_id, postal_address, contact, global_ids].hash
289
+ [electronic_address, supplier_id, private_id, supplier_bank_account_code, supplier_service_id, name, trading_business_name, legal_description, siren, siret, vat_number, tax_registration_id, iban, bic, bank_account_name, proprietary_id, postal_address, contact, global_ids].hash
280
290
  end
281
291
 
282
292
  # Builds the object from hash
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: contact@factpulse.fr
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.21.0-SNAPSHOT
9
+ Generator version: 7.21.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: contact@factpulse.fr
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.21.0-SNAPSHOT
9
+ Generator version: 7.21.0
10
10
 
11
11
  =end
12
12