factpulse 4.0.1 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -4
  3. data/Gemfile.lock +1 -1
  4. data/docs/AFNORPDPPAApi.md +5 -72
  5. data/docs/AsyncTasksApi.md +77 -0
  6. data/docs/ChorusProCredentials.md +8 -8
  7. data/docs/ChorusProDestination.md +1 -1
  8. data/docs/CreateAggregatedReportRequest.md +3 -1
  9. data/docs/CreateEReportingRequest.md +3 -1
  10. data/docs/ElectronicSignatureApi.md +319 -0
  11. data/docs/EncaisseeRequest.md +10 -6
  12. data/docs/{DocumentConversionApi.md → FacturXConversionApi.md} +39 -39
  13. data/docs/FacturXGenerationApi.md +239 -0
  14. data/docs/FacturXInvoice.md +1 -1
  15. data/docs/FacturXPDFXMLVerificationApi.md +225 -0
  16. data/docs/FacturXValidationApi.md +241 -0
  17. data/docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md +26 -0
  18. data/docs/{EReportingApi.md → Flux10EReportingApi.md} +53 -51
  19. data/docs/{CDARCycleDeVieApi.md → Flux6InvoiceLifecycleCDARApi.md} +145 -75
  20. data/docs/GetChorusProIdRequest.md +1 -1
  21. data/docs/GetInvoiceRequest.md +1 -1
  22. data/docs/GetStructureRequest.md +1 -1
  23. data/docs/HealthApi.md +67 -0
  24. data/docs/InvoiceInput.md +4 -2
  25. data/docs/IssuerRoleCode.md +15 -0
  26. data/docs/RefuseeRequest.md +10 -6
  27. data/docs/ReportIssuer.md +24 -0
  28. data/docs/ReportSender.md +1 -1
  29. data/docs/SearchStructureRequest.md +1 -1
  30. data/docs/SubmitInvoiceRequest.md +1 -1
  31. data/factpulse.gemspec +2 -2
  32. data/lib/factpulse/api/afnorpdppa_api.rb +5 -62
  33. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +1 -1
  34. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +1 -1
  35. data/lib/factpulse/api/async_tasks_api.rb +85 -0
  36. data/lib/factpulse/api/chorus_pro_api.rb +1 -1
  37. data/lib/factpulse/api/client_management_api.rb +1 -1
  38. data/lib/factpulse/api/downloads_api.rb +1 -1
  39. data/lib/factpulse/api/electronic_signature_api.rb +339 -0
  40. data/lib/factpulse/api/{document_conversion_api.rb → factur_x_conversion_api.rb} +42 -42
  41. data/lib/factpulse/api/factur_x_generation_api.rb +254 -0
  42. data/lib/factpulse/api/factur_x_validation_api.rb +256 -0
  43. data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +232 -0
  44. data/lib/factpulse/api/{e_reporting_api.rb → flux10_e_reporting_api.rb} +54 -51
  45. data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +670 -0
  46. data/lib/factpulse/api/health_api.rb +58 -1
  47. data/lib/factpulse/api_client.rb +1 -1
  48. data/lib/factpulse/api_error.rb +1 -1
  49. data/lib/factpulse/api_model_base.rb +1 -1
  50. data/lib/factpulse/configuration.rb +1 -1
  51. data/lib/factpulse/models/acknowledgment_status.rb +1 -1
  52. data/lib/factpulse/models/action_code_info.rb +1 -1
  53. data/lib/factpulse/models/action_codes_response.rb +1 -1
  54. data/lib/factpulse/models/additional_document.rb +1 -1
  55. data/lib/factpulse/models/afnor_acknowledgement.rb +1 -1
  56. data/lib/factpulse/models/afnor_acknowledgement_detail.rb +1 -1
  57. data/lib/factpulse/models/afnor_address_edit.rb +1 -1
  58. data/lib/factpulse/models/afnor_address_patch.rb +1 -1
  59. data/lib/factpulse/models/afnor_address_put.rb +1 -1
  60. data/lib/factpulse/models/afnor_address_read.rb +1 -1
  61. data/lib/factpulse/models/afnor_algorithm.rb +1 -1
  62. data/lib/factpulse/models/afnor_contains_operator.rb +1 -1
  63. data/lib/factpulse/models/afnor_create_directory_line_body.rb +1 -1
  64. data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +1 -1
  65. data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +1 -1
  66. data/lib/factpulse/models/afnor_create_routing_code_body.rb +1 -1
  67. data/lib/factpulse/models/afnor_credentials.rb +1 -1
  68. data/lib/factpulse/models/afnor_destination.rb +1 -1
  69. data/lib/factpulse/models/afnor_diffusion_status.rb +1 -1
  70. data/lib/factpulse/models/afnor_directory_line_field.rb +1 -1
  71. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +1 -1
  72. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +1 -1
  73. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +1 -1
  74. data/lib/factpulse/models/afnor_directory_line_post201_response.rb +1 -1
  75. data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +1 -1
  76. data/lib/factpulse/models/afnor_entity_type.rb +1 -1
  77. data/lib/factpulse/models/afnor_error.rb +1 -1
  78. data/lib/factpulse/models/afnor_facility_administrative_status.rb +1 -1
  79. data/lib/factpulse/models/afnor_facility_nature.rb +1 -1
  80. data/lib/factpulse/models/afnor_facility_payload_history.rb +1 -1
  81. data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +1 -1
  82. data/lib/factpulse/models/afnor_facility_payload_included.rb +1 -1
  83. data/lib/factpulse/models/afnor_facility_type.rb +1 -1
  84. data/lib/factpulse/models/afnor_flow.rb +1 -1
  85. data/lib/factpulse/models/afnor_flow_ack_status.rb +1 -1
  86. data/lib/factpulse/models/afnor_flow_direction.rb +1 -1
  87. data/lib/factpulse/models/afnor_flow_info.rb +1 -1
  88. data/lib/factpulse/models/afnor_flow_profile.rb +1 -1
  89. data/lib/factpulse/models/afnor_flow_syntax.rb +1 -1
  90. data/lib/factpulse/models/afnor_flow_type.rb +1 -1
  91. data/lib/factpulse/models/afnor_full_flow_info.rb +1 -1
  92. data/lib/factpulse/models/afnor_health_check_response.rb +1 -1
  93. data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +1 -1
  94. data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +1 -1
  95. data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +1 -1
  96. data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +1 -1
  97. data/lib/factpulse/models/afnor_platform_status.rb +1 -1
  98. data/lib/factpulse/models/afnor_processing_rule.rb +1 -1
  99. data/lib/factpulse/models/afnor_reason_code.rb +1 -1
  100. data/lib/factpulse/models/afnor_reason_code_enum.rb +1 -1
  101. data/lib/factpulse/models/afnor_recipient_platform_type.rb +1 -1
  102. data/lib/factpulse/models/afnor_result.rb +1 -1
  103. data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +1 -1
  104. data/lib/factpulse/models/afnor_routing_code_field.rb +1 -1
  105. data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +1 -1
  106. data/lib/factpulse/models/afnor_routing_code_post201_response.rb +1 -1
  107. data/lib/factpulse/models/afnor_routing_code_search.rb +1 -1
  108. data/lib/factpulse/models/afnor_routing_code_search_filters.rb +1 -1
  109. data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +1 -1
  110. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +1 -1
  111. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +1 -1
  112. data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +1 -1
  113. data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +1 -1
  114. data/lib/factpulse/models/afnor_search_directory_line.rb +1 -1
  115. data/lib/factpulse/models/afnor_search_directory_line_filters.rb +1 -1
  116. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +1 -1
  117. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +1 -1
  118. data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +1 -1
  119. data/lib/factpulse/models/afnor_search_flow_content.rb +1 -1
  120. data/lib/factpulse/models/afnor_search_flow_filters.rb +1 -1
  121. data/lib/factpulse/models/afnor_search_flow_params.rb +1 -1
  122. data/lib/factpulse/models/afnor_search_siren.rb +1 -1
  123. data/lib/factpulse/models/afnor_search_siren_filters.rb +1 -1
  124. data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +1 -1
  125. data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +1 -1
  126. data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +1 -1
  127. data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +1 -1
  128. data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +1 -1
  129. data/lib/factpulse/models/afnor_search_siret.rb +1 -1
  130. data/lib/factpulse/models/afnor_search_siret_filters.rb +1 -1
  131. data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +1 -1
  132. data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +1 -1
  133. data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +1 -1
  134. data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +1 -1
  135. data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +1 -1
  136. data/lib/factpulse/models/afnor_search_siret_filters_name.rb +1 -1
  137. data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +1 -1
  138. data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +1 -1
  139. data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +1 -1
  140. data/lib/factpulse/models/afnor_siren_field.rb +1 -1
  141. data/lib/factpulse/models/afnor_siren_search_post200_response.rb +1 -1
  142. data/lib/factpulse/models/afnor_siret_field.rb +1 -1
  143. data/lib/factpulse/models/afnor_siret_search_post200_response.rb +1 -1
  144. data/lib/factpulse/models/afnor_sorting_order.rb +1 -1
  145. data/lib/factpulse/models/afnor_strict_operator.rb +1 -1
  146. data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +1 -1
  147. data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +1 -1
  148. data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +1 -1
  149. data/lib/factpulse/models/afnor_webhook_callback_content.rb +1 -1
  150. data/lib/factpulse/models/aggregated_payment_input.rb +1 -1
  151. data/lib/factpulse/models/aggregated_transaction_input.rb +1 -1
  152. data/lib/factpulse/models/allowance_charge.rb +1 -1
  153. data/lib/factpulse/models/allowance_charge_reason_code.rb +1 -1
  154. data/lib/factpulse/models/allowance_reason_code.rb +1 -1
  155. data/lib/factpulse/models/allowance_total_amount.rb +1 -1
  156. data/lib/factpulse/models/amount.rb +1 -1
  157. data/lib/factpulse/models/amount1.rb +1 -1
  158. data/lib/factpulse/models/amount2.rb +1 -1
  159. data/lib/factpulse/models/amount_due.rb +1 -1
  160. data/lib/factpulse/models/api_error.rb +1 -1
  161. data/lib/factpulse/models/api_profile.rb +1 -1
  162. data/lib/factpulse/models/async_task_status.rb +1 -1
  163. data/lib/factpulse/models/base_amount.rb +1 -1
  164. data/lib/factpulse/models/bounding_box_schema.rb +1 -1
  165. data/lib/factpulse/models/buyercountry.rb +2 -2
  166. data/lib/factpulse/models/celery_status.rb +1 -1
  167. data/lib/factpulse/models/certificate_info_response.rb +1 -1
  168. data/lib/factpulse/models/charge_total_amount.rb +1 -1
  169. data/lib/factpulse/models/chorus_pro_credentials.rb +27 -95
  170. data/lib/factpulse/models/chorus_pro_destination.rb +2 -2
  171. data/lib/factpulse/models/chorus_pro_result.rb +1 -1
  172. data/lib/factpulse/models/client_activate_response.rb +1 -1
  173. data/lib/factpulse/models/client_create_request.rb +1 -1
  174. data/lib/factpulse/models/client_detail.rb +1 -1
  175. data/lib/factpulse/models/client_list_response.rb +1 -1
  176. data/lib/factpulse/models/client_summary.rb +1 -1
  177. data/lib/factpulse/models/client_update_request.rb +1 -1
  178. data/lib/factpulse/models/contact.rb +1 -1
  179. data/lib/factpulse/models/convert_resume_request.rb +1 -1
  180. data/lib/factpulse/models/convert_success_response.rb +1 -1
  181. data/lib/factpulse/models/convert_validation_failed_response.rb +1 -1
  182. data/lib/factpulse/models/country_code.rb +1 -1
  183. data/lib/factpulse/models/create_aggregated_report_request.rb +13 -3
  184. data/lib/factpulse/models/create_cdar_request.rb +1 -1
  185. data/lib/factpulse/models/create_e_reporting_request.rb +13 -3
  186. data/lib/factpulse/models/currency.rb +1 -1
  187. data/lib/factpulse/models/currency_code.rb +1 -1
  188. data/lib/factpulse/models/delivery_party.rb +1 -1
  189. data/lib/factpulse/models/destination.rb +1 -1
  190. data/lib/factpulse/models/doc_type.rb +1 -1
  191. data/lib/factpulse/models/document_type_info.rb +1 -1
  192. data/lib/factpulse/models/e_reporting_flow_type.rb +1 -1
  193. data/lib/factpulse/models/e_reporting_validation_error.rb +1 -1
  194. data/lib/factpulse/models/electronic_address.rb +1 -1
  195. data/lib/factpulse/models/encaisseamount.rb +1 -1
  196. data/lib/factpulse/models/encaisseamount1.rb +1 -1
  197. data/lib/factpulse/models/encaissee_request.rb +86 -32
  198. data/lib/factpulse/models/enriched_invoice_info.rb +1 -1
  199. data/lib/factpulse/models/error_level.rb +1 -1
  200. data/lib/factpulse/models/error_source.rb +3 -2
  201. data/lib/factpulse/models/extraction_info.rb +1 -1
  202. data/lib/factpulse/models/factur_x_invoice.rb +1 -18
  203. data/lib/factpulse/models/factur_xpdf_info.rb +1 -1
  204. data/lib/factpulse/models/facture_electronique_rest_api_schemas_cdar_validation_error_response.rb +1 -1
  205. data/lib/factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb +259 -0
  206. data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +1 -1
  207. data/lib/factpulse/models/field_status.rb +1 -1
  208. data/lib/factpulse/models/file_info.rb +1 -1
  209. data/lib/factpulse/models/files_info.rb +1 -1
  210. data/lib/factpulse/models/flow_direction.rb +1 -1
  211. data/lib/factpulse/models/flow_profile.rb +1 -1
  212. data/lib/factpulse/models/flow_summary.rb +1 -1
  213. data/lib/factpulse/models/flow_syntax.rb +1 -1
  214. data/lib/factpulse/models/flow_type.rb +1 -1
  215. data/lib/factpulse/models/generate_aggregated_report_response.rb +1 -1
  216. data/lib/factpulse/models/generate_cdar_response.rb +1 -1
  217. data/lib/factpulse/models/generate_certificate_request.rb +1 -1
  218. data/lib/factpulse/models/generate_certificate_response.rb +1 -1
  219. data/lib/factpulse/models/generate_e_reporting_response.rb +1 -1
  220. data/lib/factpulse/models/get_chorus_pro_id_request.rb +2 -2
  221. data/lib/factpulse/models/get_chorus_pro_id_response.rb +1 -1
  222. data/lib/factpulse/models/get_invoice_request.rb +2 -2
  223. data/lib/factpulse/models/get_invoice_response.rb +1 -1
  224. data/lib/factpulse/models/get_structure_request.rb +2 -2
  225. data/lib/factpulse/models/get_structure_response.rb +1 -1
  226. data/lib/factpulse/models/global_allowance_amount.rb +1 -1
  227. data/lib/factpulse/models/gross_unit_price.rb +1 -1
  228. data/lib/factpulse/models/http_validation_error.rb +1 -1
  229. data/lib/factpulse/models/incoming_invoice.rb +1 -1
  230. data/lib/factpulse/models/incoming_supplier.rb +1 -1
  231. data/lib/factpulse/models/invoice_format.rb +1 -1
  232. data/lib/factpulse/models/invoice_input.rb +14 -21
  233. data/lib/factpulse/models/invoice_line.rb +1 -1
  234. data/lib/factpulse/models/invoice_line_allowance_amount.rb +1 -1
  235. data/lib/factpulse/models/invoice_note.rb +1 -1
  236. data/lib/factpulse/models/invoice_payment_input.rb +1 -1
  237. data/lib/factpulse/models/invoice_references.rb +1 -1
  238. data/lib/factpulse/models/invoice_status.rb +1 -1
  239. data/lib/factpulse/models/invoice_totals.rb +1 -1
  240. data/lib/factpulse/models/invoice_totals_prepayment.rb +1 -1
  241. data/lib/factpulse/models/invoice_type_code.rb +1 -1
  242. data/lib/factpulse/models/invoice_type_code_output.rb +1 -1
  243. data/lib/factpulse/models/invoicing_framework.rb +1 -1
  244. data/lib/factpulse/models/invoicing_framework_code.rb +1 -1
  245. data/lib/factpulse/models/issuer_role_code.rb +40 -0
  246. data/lib/factpulse/models/line_net_amount.rb +1 -1
  247. data/lib/factpulse/models/line_sub_type.rb +1 -1
  248. data/lib/factpulse/models/line_total_amount.rb +1 -1
  249. data/lib/factpulse/models/location_inner.rb +1 -1
  250. data/lib/factpulse/models/mandatory_note_schema.rb +1 -1
  251. data/lib/factpulse/models/manual_rate.rb +1 -1
  252. data/lib/factpulse/models/manual_vat_rate.rb +1 -1
  253. data/lib/factpulse/models/missing_field.rb +1 -1
  254. data/lib/factpulse/models/operation_nature.rb +1 -1
  255. data/lib/factpulse/models/output_format.rb +1 -1
  256. data/lib/factpulse/models/page_dimensions_schema.rb +1 -1
  257. data/lib/factpulse/models/payee.rb +1 -1
  258. data/lib/factpulse/models/payment_amount_by_rate.rb +1 -1
  259. data/lib/factpulse/models/payment_card.rb +1 -1
  260. data/lib/factpulse/models/payment_means.rb +1 -1
  261. data/lib/factpulse/models/pdf_validation_result_api.rb +1 -1
  262. data/lib/factpulse/models/pdp_config_response.rb +1 -1
  263. data/lib/factpulse/models/pdp_config_update_request.rb +1 -1
  264. data/lib/factpulse/models/pdp_credentials.rb +1 -1
  265. data/lib/factpulse/models/percentage.rb +1 -1
  266. data/lib/factpulse/models/postal_address.rb +1 -1
  267. data/lib/factpulse/models/price_allowance_amount.rb +1 -1
  268. data/lib/factpulse/models/price_basis_quantity.rb +1 -1
  269. data/lib/factpulse/models/processing_options.rb +1 -1
  270. data/lib/factpulse/models/processing_rule.rb +1 -1
  271. data/lib/factpulse/models/product_characteristic.rb +1 -1
  272. data/lib/factpulse/models/product_classification.rb +1 -1
  273. data/lib/factpulse/models/quantity.rb +1 -1
  274. data/lib/factpulse/models/rate.rb +1 -1
  275. data/lib/factpulse/models/rate1.rb +1 -1
  276. data/lib/factpulse/models/reason_code_info.rb +1 -1
  277. data/lib/factpulse/models/reason_codes_response.rb +1 -1
  278. data/lib/factpulse/models/recipient.rb +1 -1
  279. data/lib/factpulse/models/recipient_input.rb +1 -1
  280. data/lib/factpulse/models/refusee_request.rb +84 -30
  281. data/lib/factpulse/models/report_issuer.rb +236 -0
  282. data/lib/factpulse/models/report_period.rb +1 -1
  283. data/lib/factpulse/models/report_sender.rb +3 -3
  284. data/lib/factpulse/models/rounding_amount.rb +1 -1
  285. data/lib/factpulse/models/schematron_validation_error.rb +1 -1
  286. data/lib/factpulse/models/scheme_id.rb +1 -1
  287. data/lib/factpulse/models/search_flow_request.rb +1 -1
  288. data/lib/factpulse/models/search_flow_response.rb +1 -1
  289. data/lib/factpulse/models/search_services_response.rb +1 -1
  290. data/lib/factpulse/models/search_structure_request.rb +2 -2
  291. data/lib/factpulse/models/search_structure_response.rb +1 -1
  292. data/lib/factpulse/models/secret_status.rb +1 -1
  293. data/lib/factpulse/models/sellercountry.rb +2 -2
  294. data/lib/factpulse/models/signature_info.rb +1 -1
  295. data/lib/factpulse/models/signature_info_api.rb +1 -1
  296. data/lib/factpulse/models/signature_parameters.rb +1 -1
  297. data/lib/factpulse/models/simplified_cdar_response.rb +1 -1
  298. data/lib/factpulse/models/simplified_invoice_data.rb +1 -1
  299. data/lib/factpulse/models/status_code_info.rb +1 -1
  300. data/lib/factpulse/models/status_codes_response.rb +1 -1
  301. data/lib/factpulse/models/structure_info.rb +1 -1
  302. data/lib/factpulse/models/structure_parameters.rb +1 -1
  303. data/lib/factpulse/models/structure_service.rb +1 -1
  304. data/lib/factpulse/models/submission_mode.rb +1 -1
  305. data/lib/factpulse/models/submit_aggregated_report_request.rb +1 -1
  306. data/lib/factpulse/models/submit_cdar_request.rb +1 -1
  307. data/lib/factpulse/models/submit_cdar_response.rb +1 -1
  308. data/lib/factpulse/models/submit_cdarxml_request.rb +1 -1
  309. data/lib/factpulse/models/submit_complete_invoice_request.rb +1 -1
  310. data/lib/factpulse/models/submit_complete_invoice_response.rb +1 -1
  311. data/lib/factpulse/models/submit_e_reporting_request.rb +1 -1
  312. data/lib/factpulse/models/submit_e_reporting_response.rb +1 -1
  313. data/lib/factpulse/models/submit_flow_request.rb +1 -1
  314. data/lib/factpulse/models/submit_flow_response.rb +1 -1
  315. data/lib/factpulse/models/submit_gross_amount.rb +1 -1
  316. data/lib/factpulse/models/submit_invoice_request.rb +2 -2
  317. data/lib/factpulse/models/submit_invoice_response.rb +1 -1
  318. data/lib/factpulse/models/submit_net_amount.rb +1 -1
  319. data/lib/factpulse/models/submit_vat_amount.rb +1 -1
  320. data/lib/factpulse/models/supplementary_attachment.rb +1 -1
  321. data/lib/factpulse/models/supplier.rb +1 -1
  322. data/lib/factpulse/models/task_response.rb +1 -1
  323. data/lib/factpulse/models/tax_breakdown_input.rb +1 -1
  324. data/lib/factpulse/models/tax_due_date_type.rb +1 -1
  325. data/lib/factpulse/models/tax_representative.rb +1 -1
  326. data/lib/factpulse/models/taxable_amount.rb +1 -1
  327. data/lib/factpulse/models/taxableamount.rb +1 -1
  328. data/lib/factpulse/models/taxamount.rb +1 -1
  329. data/lib/factpulse/models/taxamount1.rb +1 -1
  330. data/lib/factpulse/models/taxamount2.rb +1 -1
  331. data/lib/factpulse/models/taxexclusiveamount.rb +1 -1
  332. data/lib/factpulse/models/taxexclusiveamount1.rb +1 -1
  333. data/lib/factpulse/models/total_gross_amount.rb +1 -1
  334. data/lib/factpulse/models/total_net_amount.rb +1 -1
  335. data/lib/factpulse/models/total_vat_amount.rb +1 -1
  336. data/lib/factpulse/models/transaction_category.rb +1 -1
  337. data/lib/factpulse/models/transmission_type_code.rb +1 -1
  338. data/lib/factpulse/models/unit_net_price.rb +1 -1
  339. data/lib/factpulse/models/unit_of_measure.rb +1 -1
  340. data/lib/factpulse/models/validate_cdar_request.rb +1 -1
  341. data/lib/factpulse/models/validate_cdar_response.rb +1 -1
  342. data/lib/factpulse/models/validate_e_reporting_request.rb +1 -1
  343. data/lib/factpulse/models/validate_e_reporting_response.rb +1 -1
  344. data/lib/factpulse/models/validation_error.rb +1 -1
  345. data/lib/factpulse/models/validation_error_detail.rb +1 -1
  346. data/lib/factpulse/models/validation_error_response.rb +1 -1
  347. data/lib/factpulse/models/validation_info.rb +1 -1
  348. data/lib/factpulse/models/validation_success_response.rb +1 -1
  349. data/lib/factpulse/models/vat_accounting_code.rb +1 -1
  350. data/lib/factpulse/models/vat_amount.rb +1 -1
  351. data/lib/factpulse/models/vat_category.rb +1 -1
  352. data/lib/factpulse/models/vat_line.rb +1 -1
  353. data/lib/factpulse/models/vat_point_date_code.rb +1 -1
  354. data/lib/factpulse/models/vat_rate.rb +1 -1
  355. data/lib/factpulse/models/verification_success_response.rb +1 -1
  356. data/lib/factpulse/models/verified_field_schema.rb +1 -1
  357. data/lib/factpulse/version.rb +2 -2
  358. data/lib/factpulse.rb +12 -8
  359. metadata +46 -37
  360. data/docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md +0 -26
  361. data/docs/InvoiceProcessingApi.md +0 -855
  362. data/docs/PDFXMLVerificationApi.md +0 -443
  363. data/docs/UserApi.md +0 -74
  364. data/lib/factpulse/api/cdar_cycle_de_vie_api.rb +0 -601
  365. data/lib/factpulse/api/invoice_processing_api.rb +0 -868
  366. data/lib/factpulse/api/pdfxml_verification_api.rb +0 -442
  367. data/lib/factpulse/api/user_api.rb +0 -79
  368. data/lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb +0 -191
@@ -1,442 +0,0 @@
1
- =begin
2
- #FactPulse REST API
3
-
4
- # REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: contact@factpulse.fr
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.20.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'cgi'
14
-
15
- module FactPulse
16
- class PDFXMLVerificationApi
17
- attr_accessor :api_client
18
-
19
- def initialize(api_client = ApiClient.default)
20
- @api_client = api_client
21
- end
22
- # Get status of an asynchronous verification
23
- # Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
24
- # @param task_id [String] Celery task ID returned by /verify-async endpoint
25
- # @param [Hash] opts the optional parameters
26
- # @return [AsyncTaskStatus]
27
- def get_verification_status_api_v1_verification_verify_async_task_id_status_get(task_id, opts = {})
28
- data, _status_code, _headers = get_verification_status_api_v1_verification_verify_async_task_id_status_get_with_http_info(task_id, opts)
29
- data
30
- end
31
-
32
- # Get status of an asynchronous verification
33
- # Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
34
- # @param task_id [String] Celery task ID returned by /verify-async endpoint
35
- # @param [Hash] opts the optional parameters
36
- # @return [Array<(AsyncTaskStatus, Integer, Hash)>] AsyncTaskStatus data, response status code and response headers
37
- def get_verification_status_api_v1_verification_verify_async_task_id_status_get_with_http_info(task_id, opts = {})
38
- if @api_client.config.debugging
39
- @api_client.config.logger.debug 'Calling API: PDFXMLVerificationApi.get_verification_status_api_v1_verification_verify_async_task_id_status_get ...'
40
- end
41
- # verify the required parameter 'task_id' is set
42
- if @api_client.config.client_side_validation && task_id.nil?
43
- fail ArgumentError, "Missing the required parameter 'task_id' when calling PDFXMLVerificationApi.get_verification_status_api_v1_verification_verify_async_task_id_status_get"
44
- end
45
- # resource path
46
- local_var_path = '/api/v1/verification/verify-async/{task_id}/status'.sub('{' + 'task_id' + '}', CGI.escape(task_id.to_s))
47
-
48
- # query parameters
49
- query_params = opts[:query_params] || {}
50
-
51
- # header parameters
52
- header_params = opts[:header_params] || {}
53
- # HTTP header 'Accept' (if needed)
54
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
-
56
- # form parameters
57
- form_params = opts[:form_params] || {}
58
-
59
- # http body (model)
60
- post_body = opts[:debug_body]
61
-
62
- # return_type
63
- return_type = opts[:debug_return_type] || 'AsyncTaskStatus'
64
-
65
- # auth_names
66
- auth_names = opts[:debug_auth_names] || ['HTTPBearer']
67
-
68
- new_options = opts.merge(
69
- :operation => :"PDFXMLVerificationApi.get_verification_status_api_v1_verification_verify_async_task_id_status_get",
70
- :header_params => header_params,
71
- :query_params => query_params,
72
- :form_params => form_params,
73
- :body => post_body,
74
- :auth_names => auth_names,
75
- :return_type => return_type
76
- )
77
-
78
- data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
79
- if @api_client.config.debugging
80
- @api_client.config.logger.debug "API called: PDFXMLVerificationApi#get_verification_status_api_v1_verification_verify_async_task_id_status_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
81
- end
82
- return data, status_code, headers
83
- end
84
-
85
- # Get status of an asynchronous verification
86
- # Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
87
- # @param task_id [String] Celery task ID returned by /verify-async endpoint
88
- # @param [Hash] opts the optional parameters
89
- # @return [AsyncTaskStatus]
90
- def get_verification_status_api_v1_verification_verify_async_task_id_status_get_0(task_id, opts = {})
91
- data, _status_code, _headers = get_verification_status_api_v1_verification_verify_async_task_id_status_get_0_with_http_info(task_id, opts)
92
- data
93
- end
94
-
95
- # Get status of an asynchronous verification
96
- # Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - &#x60;PENDING&#x60;: Task waiting in queue - &#x60;STARTED&#x60;: Task currently running - &#x60;SUCCESS&#x60;: Task completed successfully (see &#x60;result&#x60;) - &#x60;FAILURE&#x60;: System error (unhandled exception) **Note:** The &#x60;result.status&#x60; field can be \&quot;SUCCESS\&quot; or \&quot;ERROR\&quot; independently of Celery status (which will always be SUCCESS if the task ran).
97
- # @param task_id [String] Celery task ID returned by /verify-async endpoint
98
- # @param [Hash] opts the optional parameters
99
- # @return [Array<(AsyncTaskStatus, Integer, Hash)>] AsyncTaskStatus data, response status code and response headers
100
- def get_verification_status_api_v1_verification_verify_async_task_id_status_get_0_with_http_info(task_id, opts = {})
101
- if @api_client.config.debugging
102
- @api_client.config.logger.debug 'Calling API: PDFXMLVerificationApi.get_verification_status_api_v1_verification_verify_async_task_id_status_get_0 ...'
103
- end
104
- # verify the required parameter 'task_id' is set
105
- if @api_client.config.client_side_validation && task_id.nil?
106
- fail ArgumentError, "Missing the required parameter 'task_id' when calling PDFXMLVerificationApi.get_verification_status_api_v1_verification_verify_async_task_id_status_get_0"
107
- end
108
- # resource path
109
- local_var_path = '/api/v1/verification/verify-async/{task_id}/status'.sub('{' + 'task_id' + '}', CGI.escape(task_id.to_s))
110
-
111
- # query parameters
112
- query_params = opts[:query_params] || {}
113
-
114
- # header parameters
115
- header_params = opts[:header_params] || {}
116
- # HTTP header 'Accept' (if needed)
117
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
118
-
119
- # form parameters
120
- form_params = opts[:form_params] || {}
121
-
122
- # http body (model)
123
- post_body = opts[:debug_body]
124
-
125
- # return_type
126
- return_type = opts[:debug_return_type] || 'AsyncTaskStatus'
127
-
128
- # auth_names
129
- auth_names = opts[:debug_auth_names] || ['HTTPBearer']
130
-
131
- new_options = opts.merge(
132
- :operation => :"PDFXMLVerificationApi.get_verification_status_api_v1_verification_verify_async_task_id_status_get_0",
133
- :header_params => header_params,
134
- :query_params => query_params,
135
- :form_params => form_params,
136
- :body => post_body,
137
- :auth_names => auth_names,
138
- :return_type => return_type
139
- )
140
-
141
- data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
142
- if @api_client.config.debugging
143
- @api_client.config.logger.debug "API called: PDFXMLVerificationApi#get_verification_status_api_v1_verification_verify_async_task_id_status_get_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
144
- end
145
- return data, status_code, headers
146
- end
147
-
148
- # Verify PDF/XML Factur-X compliance (asynchronous)
149
- # Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn't block the server ## Webhook notification (recommended) Instead of polling, you can receive a webhook notification when verification completes: ``` callback_url=https://your-server.com/webhook ``` The webhook will POST a JSON payload with: - `event_type`: `verification.completed` or `verification.failed` - `data.is_compliant`: Whether the PDF/XML are consistent - `data.compliance_score`: Compliance score (0-1) - `X-Webhook-Signature` header for HMAC verification
150
- # @param pdf_file [File] Factur-X PDF file to verify
151
- # @param [Hash] opts the optional parameters
152
- # @option opts [Boolean] :force_ocr Force OCR usage even if PDF contains native text (default to false)
153
- # @option opts [String] :callback_url
154
- # @option opts [String] :webhook_mode Webhook content delivery: &#39;inline&#39; (base64 in payload) or &#39;download_url&#39; (temporary URL, 1h TTL) (default to 'inline')
155
- # @return [TaskResponse]
156
- def verify_pdf_async_api_v1_verification_verify_async_post(pdf_file, opts = {})
157
- data, _status_code, _headers = verify_pdf_async_api_v1_verification_verify_async_post_with_http_info(pdf_file, opts)
158
- data
159
- end
160
-
161
- # Verify PDF/XML Factur-X compliance (asynchronous)
162
- # Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a &#x60;NOT_FACTURX&#x60; error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if &#x60;force_ocr&#x3D;true&#x60;. **Returns immediately** a task ID. Use &#x60;/verify-async/{task_id}/status&#x60; to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn&#39;t block the server ## Webhook notification (recommended) Instead of polling, you can receive a webhook notification when verification completes: &#x60;&#x60;&#x60; callback_url&#x3D;https://your-server.com/webhook &#x60;&#x60;&#x60; The webhook will POST a JSON payload with: - &#x60;event_type&#x60;: &#x60;verification.completed&#x60; or &#x60;verification.failed&#x60; - &#x60;data.is_compliant&#x60;: Whether the PDF/XML are consistent - &#x60;data.compliance_score&#x60;: Compliance score (0-1) - &#x60;X-Webhook-Signature&#x60; header for HMAC verification
163
- # @param pdf_file [File] Factur-X PDF file to verify
164
- # @param [Hash] opts the optional parameters
165
- # @option opts [Boolean] :force_ocr Force OCR usage even if PDF contains native text (default to false)
166
- # @option opts [String] :callback_url
167
- # @option opts [String] :webhook_mode Webhook content delivery: &#39;inline&#39; (base64 in payload) or &#39;download_url&#39; (temporary URL, 1h TTL) (default to 'inline')
168
- # @return [Array<(TaskResponse, Integer, Hash)>] TaskResponse data, response status code and response headers
169
- def verify_pdf_async_api_v1_verification_verify_async_post_with_http_info(pdf_file, opts = {})
170
- if @api_client.config.debugging
171
- @api_client.config.logger.debug 'Calling API: PDFXMLVerificationApi.verify_pdf_async_api_v1_verification_verify_async_post ...'
172
- end
173
- # verify the required parameter 'pdf_file' is set
174
- if @api_client.config.client_side_validation && pdf_file.nil?
175
- fail ArgumentError, "Missing the required parameter 'pdf_file' when calling PDFXMLVerificationApi.verify_pdf_async_api_v1_verification_verify_async_post"
176
- end
177
- # resource path
178
- local_var_path = '/api/v1/verification/verify-async'
179
-
180
- # query parameters
181
- query_params = opts[:query_params] || {}
182
-
183
- # header parameters
184
- header_params = opts[:header_params] || {}
185
- # HTTP header 'Accept' (if needed)
186
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
187
- # HTTP header 'Content-Type'
188
- content_type = @api_client.select_header_content_type(['multipart/form-data'])
189
- if !content_type.nil?
190
- header_params['Content-Type'] = content_type
191
- end
192
-
193
- # form parameters
194
- form_params = opts[:form_params] || {}
195
- form_params['pdf_file'] = pdf_file
196
- form_params['force_ocr'] = opts[:'force_ocr'] if !opts[:'force_ocr'].nil?
197
- form_params['callback_url'] = opts[:'callback_url'] if !opts[:'callback_url'].nil?
198
- form_params['webhook_mode'] = opts[:'webhook_mode'] if !opts[:'webhook_mode'].nil?
199
-
200
- # http body (model)
201
- post_body = opts[:debug_body]
202
-
203
- # return_type
204
- return_type = opts[:debug_return_type] || 'TaskResponse'
205
-
206
- # auth_names
207
- auth_names = opts[:debug_auth_names] || ['HTTPBearer']
208
-
209
- new_options = opts.merge(
210
- :operation => :"PDFXMLVerificationApi.verify_pdf_async_api_v1_verification_verify_async_post",
211
- :header_params => header_params,
212
- :query_params => query_params,
213
- :form_params => form_params,
214
- :body => post_body,
215
- :auth_names => auth_names,
216
- :return_type => return_type
217
- )
218
-
219
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
220
- if @api_client.config.debugging
221
- @api_client.config.logger.debug "API called: PDFXMLVerificationApi#verify_pdf_async_api_v1_verification_verify_async_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
222
- end
223
- return data, status_code, headers
224
- end
225
-
226
- # Verify PDF/XML Factur-X compliance (asynchronous)
227
- # Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn't block the server ## Webhook notification (recommended) Instead of polling, you can receive a webhook notification when verification completes: ``` callback_url=https://your-server.com/webhook ``` The webhook will POST a JSON payload with: - `event_type`: `verification.completed` or `verification.failed` - `data.is_compliant`: Whether the PDF/XML are consistent - `data.compliance_score`: Compliance score (0-1) - `X-Webhook-Signature` header for HMAC verification
228
- # @param pdf_file [File] Factur-X PDF file to verify
229
- # @param [Hash] opts the optional parameters
230
- # @option opts [Boolean] :force_ocr Force OCR usage even if PDF contains native text (default to false)
231
- # @option opts [String] :callback_url
232
- # @option opts [String] :webhook_mode Webhook content delivery: &#39;inline&#39; (base64 in payload) or &#39;download_url&#39; (temporary URL, 1h TTL) (default to 'inline')
233
- # @return [TaskResponse]
234
- def verify_pdf_async_api_v1_verification_verify_async_post_0(pdf_file, opts = {})
235
- data, _status_code, _headers = verify_pdf_async_api_v1_verification_verify_async_post_0_with_http_info(pdf_file, opts)
236
- data
237
- end
238
-
239
- # Verify PDF/XML Factur-X compliance (asynchronous)
240
- # Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a &#x60;NOT_FACTURX&#x60; error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if &#x60;force_ocr&#x3D;true&#x60;. **Returns immediately** a task ID. Use &#x60;/verify-async/{task_id}/status&#x60; to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn&#39;t block the server ## Webhook notification (recommended) Instead of polling, you can receive a webhook notification when verification completes: &#x60;&#x60;&#x60; callback_url&#x3D;https://your-server.com/webhook &#x60;&#x60;&#x60; The webhook will POST a JSON payload with: - &#x60;event_type&#x60;: &#x60;verification.completed&#x60; or &#x60;verification.failed&#x60; - &#x60;data.is_compliant&#x60;: Whether the PDF/XML are consistent - &#x60;data.compliance_score&#x60;: Compliance score (0-1) - &#x60;X-Webhook-Signature&#x60; header for HMAC verification
241
- # @param pdf_file [File] Factur-X PDF file to verify
242
- # @param [Hash] opts the optional parameters
243
- # @option opts [Boolean] :force_ocr Force OCR usage even if PDF contains native text (default to false)
244
- # @option opts [String] :callback_url
245
- # @option opts [String] :webhook_mode Webhook content delivery: &#39;inline&#39; (base64 in payload) or &#39;download_url&#39; (temporary URL, 1h TTL) (default to 'inline')
246
- # @return [Array<(TaskResponse, Integer, Hash)>] TaskResponse data, response status code and response headers
247
- def verify_pdf_async_api_v1_verification_verify_async_post_0_with_http_info(pdf_file, opts = {})
248
- if @api_client.config.debugging
249
- @api_client.config.logger.debug 'Calling API: PDFXMLVerificationApi.verify_pdf_async_api_v1_verification_verify_async_post_0 ...'
250
- end
251
- # verify the required parameter 'pdf_file' is set
252
- if @api_client.config.client_side_validation && pdf_file.nil?
253
- fail ArgumentError, "Missing the required parameter 'pdf_file' when calling PDFXMLVerificationApi.verify_pdf_async_api_v1_verification_verify_async_post_0"
254
- end
255
- # resource path
256
- local_var_path = '/api/v1/verification/verify-async'
257
-
258
- # query parameters
259
- query_params = opts[:query_params] || {}
260
-
261
- # header parameters
262
- header_params = opts[:header_params] || {}
263
- # HTTP header 'Accept' (if needed)
264
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
265
- # HTTP header 'Content-Type'
266
- content_type = @api_client.select_header_content_type(['multipart/form-data'])
267
- if !content_type.nil?
268
- header_params['Content-Type'] = content_type
269
- end
270
-
271
- # form parameters
272
- form_params = opts[:form_params] || {}
273
- form_params['pdf_file'] = pdf_file
274
- form_params['force_ocr'] = opts[:'force_ocr'] if !opts[:'force_ocr'].nil?
275
- form_params['callback_url'] = opts[:'callback_url'] if !opts[:'callback_url'].nil?
276
- form_params['webhook_mode'] = opts[:'webhook_mode'] if !opts[:'webhook_mode'].nil?
277
-
278
- # http body (model)
279
- post_body = opts[:debug_body]
280
-
281
- # return_type
282
- return_type = opts[:debug_return_type] || 'TaskResponse'
283
-
284
- # auth_names
285
- auth_names = opts[:debug_auth_names] || ['HTTPBearer']
286
-
287
- new_options = opts.merge(
288
- :operation => :"PDFXMLVerificationApi.verify_pdf_async_api_v1_verification_verify_async_post_0",
289
- :header_params => header_params,
290
- :query_params => query_params,
291
- :form_params => form_params,
292
- :body => post_body,
293
- :auth_names => auth_names,
294
- :return_type => return_type
295
- )
296
-
297
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
298
- if @api_client.config.debugging
299
- @api_client.config.logger.debug "API called: PDFXMLVerificationApi#verify_pdf_async_api_v1_verification_verify_async_post_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
300
- end
301
- return data, status_code, headers
302
- end
303
-
304
- # Verify PDF/XML Factur-X compliance (synchronous)
305
- # Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the `/verify-async` endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
306
- # @param pdf_file [File] Factur-X PDF file to verify
307
- # @param [Hash] opts the optional parameters
308
- # @return [VerificationSuccessResponse]
309
- def verify_pdf_sync_api_v1_verification_verify_post(pdf_file, opts = {})
310
- data, _status_code, _headers = verify_pdf_sync_api_v1_verification_verify_post_with_http_info(pdf_file, opts)
311
- data
312
- end
313
-
314
- # Verify PDF/XML Factur-X compliance (synchronous)
315
- # Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the &#x60;/verify-async&#x60; endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
316
- # @param pdf_file [File] Factur-X PDF file to verify
317
- # @param [Hash] opts the optional parameters
318
- # @return [Array<(VerificationSuccessResponse, Integer, Hash)>] VerificationSuccessResponse data, response status code and response headers
319
- def verify_pdf_sync_api_v1_verification_verify_post_with_http_info(pdf_file, opts = {})
320
- if @api_client.config.debugging
321
- @api_client.config.logger.debug 'Calling API: PDFXMLVerificationApi.verify_pdf_sync_api_v1_verification_verify_post ...'
322
- end
323
- # verify the required parameter 'pdf_file' is set
324
- if @api_client.config.client_side_validation && pdf_file.nil?
325
- fail ArgumentError, "Missing the required parameter 'pdf_file' when calling PDFXMLVerificationApi.verify_pdf_sync_api_v1_verification_verify_post"
326
- end
327
- # resource path
328
- local_var_path = '/api/v1/verification/verify'
329
-
330
- # query parameters
331
- query_params = opts[:query_params] || {}
332
-
333
- # header parameters
334
- header_params = opts[:header_params] || {}
335
- # HTTP header 'Accept' (if needed)
336
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
337
- # HTTP header 'Content-Type'
338
- content_type = @api_client.select_header_content_type(['multipart/form-data'])
339
- if !content_type.nil?
340
- header_params['Content-Type'] = content_type
341
- end
342
-
343
- # form parameters
344
- form_params = opts[:form_params] || {}
345
- form_params['pdf_file'] = pdf_file
346
-
347
- # http body (model)
348
- post_body = opts[:debug_body]
349
-
350
- # return_type
351
- return_type = opts[:debug_return_type] || 'VerificationSuccessResponse'
352
-
353
- # auth_names
354
- auth_names = opts[:debug_auth_names] || ['HTTPBearer']
355
-
356
- new_options = opts.merge(
357
- :operation => :"PDFXMLVerificationApi.verify_pdf_sync_api_v1_verification_verify_post",
358
- :header_params => header_params,
359
- :query_params => query_params,
360
- :form_params => form_params,
361
- :body => post_body,
362
- :auth_names => auth_names,
363
- :return_type => return_type
364
- )
365
-
366
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
367
- if @api_client.config.debugging
368
- @api_client.config.logger.debug "API called: PDFXMLVerificationApi#verify_pdf_sync_api_v1_verification_verify_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
369
- end
370
- return data, status_code, headers
371
- end
372
-
373
- # Verify PDF/XML Factur-X compliance (synchronous)
374
- # Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the `/verify-async` endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
375
- # @param pdf_file [File] Factur-X PDF file to verify
376
- # @param [Hash] opts the optional parameters
377
- # @return [VerificationSuccessResponse]
378
- def verify_pdf_sync_api_v1_verification_verify_post_0(pdf_file, opts = {})
379
- data, _status_code, _headers = verify_pdf_sync_api_v1_verification_verify_post_0_with_http_info(pdf_file, opts)
380
- data
381
- end
382
-
383
- # Verify PDF/XML Factur-X compliance (synchronous)
384
- # Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the &#x60;/verify-async&#x60; endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
385
- # @param pdf_file [File] Factur-X PDF file to verify
386
- # @param [Hash] opts the optional parameters
387
- # @return [Array<(VerificationSuccessResponse, Integer, Hash)>] VerificationSuccessResponse data, response status code and response headers
388
- def verify_pdf_sync_api_v1_verification_verify_post_0_with_http_info(pdf_file, opts = {})
389
- if @api_client.config.debugging
390
- @api_client.config.logger.debug 'Calling API: PDFXMLVerificationApi.verify_pdf_sync_api_v1_verification_verify_post_0 ...'
391
- end
392
- # verify the required parameter 'pdf_file' is set
393
- if @api_client.config.client_side_validation && pdf_file.nil?
394
- fail ArgumentError, "Missing the required parameter 'pdf_file' when calling PDFXMLVerificationApi.verify_pdf_sync_api_v1_verification_verify_post_0"
395
- end
396
- # resource path
397
- local_var_path = '/api/v1/verification/verify'
398
-
399
- # query parameters
400
- query_params = opts[:query_params] || {}
401
-
402
- # header parameters
403
- header_params = opts[:header_params] || {}
404
- # HTTP header 'Accept' (if needed)
405
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
406
- # HTTP header 'Content-Type'
407
- content_type = @api_client.select_header_content_type(['multipart/form-data'])
408
- if !content_type.nil?
409
- header_params['Content-Type'] = content_type
410
- end
411
-
412
- # form parameters
413
- form_params = opts[:form_params] || {}
414
- form_params['pdf_file'] = pdf_file
415
-
416
- # http body (model)
417
- post_body = opts[:debug_body]
418
-
419
- # return_type
420
- return_type = opts[:debug_return_type] || 'VerificationSuccessResponse'
421
-
422
- # auth_names
423
- auth_names = opts[:debug_auth_names] || ['HTTPBearer']
424
-
425
- new_options = opts.merge(
426
- :operation => :"PDFXMLVerificationApi.verify_pdf_sync_api_v1_verification_verify_post_0",
427
- :header_params => header_params,
428
- :query_params => query_params,
429
- :form_params => form_params,
430
- :body => post_body,
431
- :auth_names => auth_names,
432
- :return_type => return_type
433
- )
434
-
435
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
436
- if @api_client.config.debugging
437
- @api_client.config.logger.debug "API called: PDFXMLVerificationApi#verify_pdf_sync_api_v1_verification_verify_post_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
438
- end
439
- return data, status_code, headers
440
- end
441
- end
442
- end
@@ -1,79 +0,0 @@
1
- =begin
2
- #FactPulse REST API
3
-
4
- # REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: contact@factpulse.fr
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.20.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'cgi'
14
-
15
- module FactPulse
16
- class UserApi
17
- attr_accessor :api_client
18
-
19
- def initialize(api_client = ApiClient.default)
20
- @api_client = api_client
21
- end
22
- # Get current user information
23
- # Returns information about the authenticated user. This endpoint allows you to: - Verify that authentication works - Get connected account details - Test JWT token validity - Check your consumption quota **Requires valid authentication.**
24
- # @param [Hash] opts the optional parameters
25
- # @return [Object]
26
- def get_user_info_api_v1_me_get(opts = {})
27
- data, _status_code, _headers = get_user_info_api_v1_me_get_with_http_info(opts)
28
- data
29
- end
30
-
31
- # Get current user information
32
- # Returns information about the authenticated user. This endpoint allows you to: - Verify that authentication works - Get connected account details - Test JWT token validity - Check your consumption quota **Requires valid authentication.**
33
- # @param [Hash] opts the optional parameters
34
- # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
35
- def get_user_info_api_v1_me_get_with_http_info(opts = {})
36
- if @api_client.config.debugging
37
- @api_client.config.logger.debug 'Calling API: UserApi.get_user_info_api_v1_me_get ...'
38
- end
39
- # resource path
40
- local_var_path = '/api/v1/me'
41
-
42
- # query parameters
43
- query_params = opts[:query_params] || {}
44
-
45
- # header parameters
46
- header_params = opts[:header_params] || {}
47
- # HTTP header 'Accept' (if needed)
48
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
49
-
50
- # form parameters
51
- form_params = opts[:form_params] || {}
52
-
53
- # http body (model)
54
- post_body = opts[:debug_body]
55
-
56
- # return_type
57
- return_type = opts[:debug_return_type] || 'Object'
58
-
59
- # auth_names
60
- auth_names = opts[:debug_auth_names] || ['HTTPBearer']
61
-
62
- new_options = opts.merge(
63
- :operation => :"UserApi.get_user_info_api_v1_me_get",
64
- :header_params => header_params,
65
- :query_params => query_params,
66
- :form_params => form_params,
67
- :body => post_body,
68
- :auth_names => auth_names,
69
- :return_type => return_type
70
- )
71
-
72
- data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
73
- if @api_client.config.debugging
74
- @api_client.config.logger.debug "API called: UserApi#get_user_info_api_v1_me_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
- end
76
- return data, status_code, headers
77
- end
78
- end
79
- end