factpulse 0.1.0 → 1.0.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 (794) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -4
  3. data/Gemfile.lock +7 -7
  4. data/LICENSE +1 -1
  5. data/README.md +146 -159
  6. data/docs/AFNORPDPPAApi.md +6 -87
  7. data/docs/AFNORPDPPADirectoryServiceApi.md +238 -148
  8. data/docs/AFNORPDPPAFlowServiceApi.md +40 -52
  9. data/docs/APIError.md +2 -2
  10. data/docs/AdresseElectronique.md +20 -0
  11. data/docs/AdressePostale.md +26 -0
  12. data/docs/CadreDeFacturation.md +22 -0
  13. data/docs/CategorieTVA.md +15 -0
  14. data/docs/CertificateInfoResponse.md +20 -20
  15. data/docs/ChorusProApi.md +142 -224
  16. data/docs/ChorusProCredentials.md +5 -5
  17. data/docs/{AFNORDiffusionStatus.md → CodeCadreFacturation.md} +2 -2
  18. data/docs/{AFNORFacilityType.md → CodeRaisonReduction.md} +2 -2
  19. data/docs/{GetInvoiceRequest.md → ConsulterFactureRequest.md} +4 -4
  20. data/docs/ConsulterFactureResponse.md +34 -0
  21. data/docs/ConsulterStructureRequest.md +22 -0
  22. data/docs/ConsulterStructureResponse.md +34 -0
  23. data/docs/{AFNORCredentials.md → CredentialsAFNOR.md} +2 -2
  24. data/docs/{FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md → CredentialsChorusPro.md} +4 -4
  25. data/docs/Destinataire.md +28 -0
  26. data/docs/Destination.md +7 -7
  27. data/docs/DestinationAFNOR.md +24 -0
  28. data/docs/DestinationChorusPro.md +20 -0
  29. data/docs/DonneesFactureSimplifiees.md +34 -0
  30. data/docs/FactureEnrichieInfo.md +32 -0
  31. data/docs/FactureFacturX.md +46 -0
  32. data/docs/FormatSortie.md +15 -0
  33. data/docs/Fournisseur.md +36 -0
  34. data/docs/GenerateCertificateRequest.md +19 -19
  35. data/docs/GenerateCertificateResponse.md +8 -8
  36. data/docs/InformationSignatureAPI.md +28 -0
  37. data/docs/LigneDePoste.md +46 -0
  38. data/docs/LigneDePosteMontantRemiseHt.md +15 -0
  39. data/docs/LigneDePosteTauxTvaManuel.md +15 -0
  40. data/docs/LigneDeTVA.md +26 -0
  41. data/docs/{AmountDue.md → ModeDepot.md} +2 -2
  42. data/docs/ModePaiement.md +15 -0
  43. data/docs/{AFNORFlowType.md → MontantAPayer.md} +2 -2
  44. data/docs/MontantBaseHt.md +15 -0
  45. data/docs/{AFNORAlgorithm.md → MontantHtTotal.md} +2 -2
  46. data/docs/{AFNORContainsOperator.md → MontantRemiseGlobaleTtc.md} +2 -2
  47. data/docs/MontantTotal.md +30 -0
  48. data/docs/{AFNORFacilityNature.md → MontantTotalAcompte.md} +2 -2
  49. data/docs/MontantTotalLigneHt.md +15 -0
  50. data/docs/{AFNORFlowSyntax.md → MontantTtcTotal.md} +2 -2
  51. data/docs/{APIProfile.md → MontantTva.md} +2 -2
  52. data/docs/{AFNOREntityType.md → MontantTvaLigne.md} +2 -2
  53. data/docs/MontantTvaTotal.md +15 -0
  54. data/docs/{AFNORFlowProfile.md → MontantUnitaireHt.md} +2 -2
  55. data/docs/{InvoiceNote.md → Note.md} +3 -3
  56. data/docs/ObtenirIdChorusProRequest.md +22 -0
  57. data/docs/ObtenirIdChorusProResponse.md +24 -0
  58. data/docs/OptionsProcessing.md +24 -0
  59. data/docs/PDFFacturXInfo.md +22 -0
  60. data/docs/ParametresSignature.md +34 -0
  61. data/docs/ParametresStructure.md +22 -0
  62. data/docs/PieceJointeComplementaire.md +26 -0
  63. data/docs/{Amount.md → ProfilAPI.md} +2 -2
  64. data/docs/{Amount2.md → Quantite.md} +2 -2
  65. data/docs/RechercherServicesResponse.md +24 -0
  66. data/docs/RechercherStructureRequest.md +26 -0
  67. data/docs/RechercherStructureResponse.md +24 -0
  68. data/docs/References.md +32 -0
  69. data/docs/ReponseTache.md +18 -0
  70. data/docs/ReponseValidationErreur.md +18 -0
  71. data/docs/ReponseValidationSucces.md +18 -0
  72. data/docs/ResultatAFNOR.md +26 -0
  73. data/docs/ResultatChorusPro.md +22 -0
  74. data/docs/ResultatValidationPDFAPI.md +62 -0
  75. data/docs/SantApi.md +131 -0
  76. data/docs/ServiceStructure.md +24 -0
  77. data/docs/SignatureInfo.md +2 -2
  78. data/docs/SoumettreFactureCompleteRequest.md +26 -0
  79. data/docs/SoumettreFactureCompleteResponse.md +34 -0
  80. data/docs/SoumettreFactureRequest.md +46 -0
  81. data/docs/SoumettreFactureResponse.md +24 -0
  82. data/docs/StatutCelery.md +15 -0
  83. data/docs/{InvoiceStatus.md → StatutFacture.md} +5 -5
  84. data/docs/StatutTache.md +22 -0
  85. data/docs/StructureInfo.md +10 -10
  86. data/docs/Tauxmanuel.md +15 -0
  87. data/docs/TraitementFactureApi.md +831 -0
  88. data/docs/TypeFacture.md +15 -0
  89. data/docs/{Amount1.md → TypeTVA.md} +2 -2
  90. data/docs/{Rate.md → Unite.md} +2 -2
  91. data/docs/UtilisateurApi.md +74 -0
  92. data/docs/ValidationError.md +1 -1
  93. data/docs/ValidationErrorDetail.md +3 -3
  94. data/docs/{AFNORDirectoryLineField.md → ValidationErrorLocInner.md} +2 -2
  95. data/factpulse.gemspec +7 -7
  96. data/lib/factpulse/api/afnorpdppa_api.rb +8 -77
  97. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +143 -143
  98. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +34 -67
  99. data/lib/factpulse/api/chorus_pro_api.rb +147 -149
  100. data/lib/factpulse/api/sant_api.rb +136 -0
  101. data/lib/factpulse/api/traitement_facture_api.rb +835 -0
  102. data/lib/factpulse/api/utilisateur_api.rb +79 -0
  103. data/lib/factpulse/api_client.rb +4 -4
  104. data/lib/factpulse/api_error.rb +4 -4
  105. data/lib/factpulse/api_model_base.rb +4 -4
  106. data/lib/factpulse/configuration.rb +8 -19
  107. data/lib/factpulse/helpers/client.rb +246 -218
  108. data/lib/factpulse/helpers/exceptions.rb +14 -38
  109. data/lib/factpulse/helpers.rb +13 -0
  110. data/lib/factpulse/models/adresse_electronique.rb +196 -0
  111. data/lib/factpulse/models/adresse_postale.rb +189 -0
  112. data/lib/factpulse/models/api_error.rb +7 -7
  113. data/lib/factpulse/models/cadre_de_facturation.rb +207 -0
  114. data/lib/factpulse/models/categorie_tva.rb +47 -0
  115. data/lib/factpulse/models/certificate_info_response.rb +166 -166
  116. data/lib/factpulse/models/chorus_pro_credentials.rb +14 -14
  117. data/lib/factpulse/models/code_cadre_facturation.rb +42 -0
  118. data/lib/factpulse/models/code_raison_reduction.rb +45 -0
  119. data/lib/factpulse/models/consulter_facture_request.rb +176 -0
  120. data/lib/factpulse/models/consulter_facture_response.rb +261 -0
  121. data/lib/factpulse/models/consulter_structure_request.rb +188 -0
  122. data/lib/factpulse/models/consulter_structure_response.rb +261 -0
  123. data/lib/factpulse/models/credentials_afnor.rb +169 -0
  124. data/lib/factpulse/models/credentials_chorus_pro.rb +191 -0
  125. data/lib/factpulse/models/destinataire.rb +215 -0
  126. data/lib/factpulse/models/destination.rb +9 -9
  127. data/lib/factpulse/models/destination_afnor.rb +228 -0
  128. data/lib/factpulse/models/destination_chorus_pro.rb +194 -0
  129. data/lib/factpulse/models/donnees_facture_simplifiees.rb +342 -0
  130. data/lib/factpulse/models/error_level.rb +4 -4
  131. data/lib/factpulse/models/error_source.rb +5 -6
  132. data/lib/factpulse/models/facture_enrichie_info.rb +348 -0
  133. data/lib/factpulse/models/facture_factur_x.rb +443 -0
  134. data/lib/factpulse/models/format_sortie.rb +40 -0
  135. data/lib/factpulse/models/fournisseur.rb +271 -0
  136. data/lib/factpulse/models/generate_certificate_request.rb +108 -108
  137. data/lib/factpulse/models/generate_certificate_response.rb +49 -49
  138. data/lib/factpulse/models/http_validation_error.rb +4 -4
  139. data/lib/factpulse/models/information_signature_api.rb +216 -0
  140. data/lib/factpulse/models/ligne_de_poste.rb +390 -0
  141. data/lib/factpulse/models/ligne_de_poste_montant_remise_ht.rb +104 -0
  142. data/lib/factpulse/models/ligne_de_poste_taux_tva_manuel.rb +104 -0
  143. data/lib/factpulse/models/ligne_de_tva.rb +242 -0
  144. data/lib/factpulse/models/mode_depot.rb +41 -0
  145. data/lib/factpulse/models/mode_paiement.rb +44 -0
  146. data/lib/factpulse/models/montant_a_payer.rb +104 -0
  147. data/lib/factpulse/models/montant_base_ht.rb +104 -0
  148. data/lib/factpulse/models/montant_ht_total.rb +104 -0
  149. data/lib/factpulse/models/montant_remise_globale_ttc.rb +104 -0
  150. data/lib/factpulse/models/montant_total.rb +272 -0
  151. data/lib/factpulse/models/montant_total_acompte.rb +104 -0
  152. data/lib/factpulse/models/montant_total_ligne_ht.rb +104 -0
  153. data/lib/factpulse/models/montant_ttc_total.rb +104 -0
  154. data/lib/factpulse/models/montant_tva.rb +104 -0
  155. data/lib/factpulse/models/montant_tva_ligne.rb +104 -0
  156. data/lib/factpulse/models/montant_tva_total.rb +104 -0
  157. data/lib/factpulse/models/montant_unitaire_ht.rb +104 -0
  158. data/lib/factpulse/models/note.rb +175 -0
  159. data/lib/factpulse/models/obtenir_id_chorus_pro_request.rb +188 -0
  160. data/lib/factpulse/models/obtenir_id_chorus_pro_response.rb +230 -0
  161. data/lib/factpulse/models/options_processing.rb +207 -0
  162. data/lib/factpulse/models/parametres_signature.rb +235 -0
  163. data/lib/factpulse/models/parametres_structure.rb +175 -0
  164. data/lib/factpulse/models/pdf_factur_x_info.rb +205 -0
  165. data/lib/factpulse/models/piece_jointe_complementaire.rb +269 -0
  166. data/lib/factpulse/models/profil_api.rb +42 -0
  167. data/lib/factpulse/models/quantite.rb +104 -0
  168. data/lib/factpulse/models/rechercher_services_response.rb +214 -0
  169. data/lib/factpulse/models/rechercher_structure_request.rb +191 -0
  170. data/lib/factpulse/models/rechercher_structure_response.rb +216 -0
  171. data/lib/factpulse/models/references.rb +290 -0
  172. data/lib/factpulse/models/reponse_tache.rb +165 -0
  173. data/lib/factpulse/models/reponse_validation_erreur.rb +167 -0
  174. data/lib/factpulse/models/reponse_validation_succes.rb +165 -0
  175. data/lib/factpulse/models/resultat_afnor.rb +240 -0
  176. data/lib/factpulse/models/resultat_chorus_pro.rb +186 -0
  177. data/lib/factpulse/models/resultat_validation_pdfapi.rb +523 -0
  178. data/lib/factpulse/models/scheme_id.rb +7 -20
  179. data/lib/factpulse/models/service_structure.rb +247 -0
  180. data/lib/factpulse/models/signature_info.rb +22 -22
  181. data/lib/factpulse/models/soumettre_facture_complete_request.rb +239 -0
  182. data/lib/factpulse/models/soumettre_facture_complete_response.rb +355 -0
  183. data/lib/factpulse/models/soumettre_facture_request.rb +388 -0
  184. data/lib/factpulse/models/soumettre_facture_response.rb +213 -0
  185. data/lib/factpulse/models/statut_celery.rb +43 -0
  186. data/lib/factpulse/models/statut_facture.rb +203 -0
  187. data/lib/factpulse/models/statut_tache.rb +226 -0
  188. data/lib/factpulse/models/structure_info.rb +86 -86
  189. data/lib/factpulse/models/tauxmanuel.rb +104 -0
  190. data/lib/factpulse/models/type_facture.rb +40 -0
  191. data/lib/factpulse/models/type_tva.rb +42 -0
  192. data/lib/factpulse/models/unite.rb +44 -0
  193. data/lib/factpulse/models/validation_error.rb +5 -5
  194. data/lib/factpulse/models/validation_error_detail.rb +8 -8
  195. data/lib/factpulse/models/validation_error_loc_inner.rb +103 -0
  196. data/lib/factpulse/version.rb +5 -5
  197. data/lib/factpulse.rb +79 -315
  198. metadata +215 -676
  199. data/docs/AFNORAcknowledgement.md +0 -20
  200. data/docs/AFNORAcknowledgementDetail.md +0 -24
  201. data/docs/AFNORAddressEdit.md +0 -30
  202. data/docs/AFNORAddressPatch.md +0 -30
  203. data/docs/AFNORAddressPut.md +0 -30
  204. data/docs/AFNORAddressRead.md +0 -32
  205. data/docs/AFNORCreateDirectoryLineBody.md +0 -20
  206. data/docs/AFNORCreateDirectoryLineBodyAddressingInformation.md +0 -24
  207. data/docs/AFNORCreateDirectoryLineBodyPeriod.md +0 -20
  208. data/docs/AFNORCreateRoutingCodeBody.md +0 -32
  209. data/docs/AFNORDestination.md +0 -26
  210. data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCode.md +0 -32
  211. data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodePlatform.md +0 -20
  212. data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodeRoutingCode.md +0 -28
  213. data/docs/AFNORDirectoryLinePost201Response.md +0 -22
  214. data/docs/AFNORDirectoryLineSearchPost200Response.md +0 -22
  215. data/docs/AFNORError.md +0 -26
  216. data/docs/AFNORFacilityAdministrativeStatus.md +0 -15
  217. data/docs/AFNORFacilityPayloadHistory.md +0 -34
  218. data/docs/AFNORFacilityPayloadHistoryUleB2gAdditionalData.md +0 -28
  219. data/docs/AFNORFacilityPayloadIncluded.md +0 -32
  220. data/docs/AFNORFlow.md +0 -38
  221. data/docs/AFNORFlowAckStatus.md +0 -15
  222. data/docs/AFNORFlowDirection.md +0 -15
  223. data/docs/AFNORFlowInfo.md +0 -28
  224. data/docs/AFNORFullFlowInfo.md +0 -32
  225. data/docs/AFNORHealthCheckResponse.md +0 -22
  226. data/docs/AFNORLegalUnitAdministrativeStatus.md +0 -15
  227. data/docs/AFNORLegalUnitPayloadHistory.md +0 -24
  228. data/docs/AFNORLegalUnitPayloadIncluded.md +0 -24
  229. data/docs/AFNORLegalUnitPayloadIncludedNoSiren.md +0 -22
  230. data/docs/AFNORPlatformStatus.md +0 -15
  231. data/docs/AFNORProcessingRule.md +0 -15
  232. data/docs/AFNORReasonCode.md +0 -49
  233. data/docs/AFNORReasonCodeEnum.md +0 -15
  234. data/docs/AFNORRecipientPlatformType.md +0 -15
  235. data/docs/AFNORResult.md +0 -32
  236. data/docs/AFNORRoutingCodeAdministrativeStatus.md +0 -15
  237. data/docs/AFNORRoutingCodeField.md +0 -15
  238. data/docs/AFNORRoutingCodePayloadHistoryLegalUnitFacility.md +0 -34
  239. data/docs/AFNORRoutingCodePost201Response.md +0 -22
  240. data/docs/AFNORRoutingCodeSearch.md +0 -28
  241. data/docs/AFNORRoutingCodeSearchFilters.md +0 -30
  242. data/docs/AFNORRoutingCodeSearchFiltersAdministrativeStatus.md +0 -20
  243. data/docs/AFNORRoutingCodeSearchFiltersRoutingCodeName.md +0 -20
  244. data/docs/AFNORRoutingCodeSearchFiltersRoutingIdentifier.md +0 -20
  245. data/docs/AFNORRoutingCodeSearchPost200Response.md +0 -22
  246. data/docs/AFNORRoutingCodeSearchSortingInner.md +0 -20
  247. data/docs/AFNORSearchDirectoryLine.md +0 -26
  248. data/docs/AFNORSearchDirectoryLineFilters.md +0 -26
  249. data/docs/AFNORSearchDirectoryLineFiltersAddressingIdentifier.md +0 -20
  250. data/docs/AFNORSearchDirectoryLineFiltersAddressingSuffix.md +0 -20
  251. data/docs/AFNORSearchDirectoryLineSortingInner.md +0 -20
  252. data/docs/AFNORSearchFlowContent.md +0 -22
  253. data/docs/AFNORSearchFlowFilters.md +0 -30
  254. data/docs/AFNORSearchFlowParams.md +0 -20
  255. data/docs/AFNORSearchSiren.md +0 -26
  256. data/docs/AFNORSearchSirenFilters.md +0 -24
  257. data/docs/AFNORSearchSirenFiltersAdministrativeStatus.md +0 -20
  258. data/docs/AFNORSearchSirenFiltersBusinessName.md +0 -20
  259. data/docs/AFNORSearchSirenFiltersEntityType.md +0 -20
  260. data/docs/AFNORSearchSirenFiltersSiren.md +0 -20
  261. data/docs/AFNORSearchSirenSortingInner.md +0 -20
  262. data/docs/AFNORSearchSiret.md +0 -28
  263. data/docs/AFNORSearchSiretFilters.md +0 -34
  264. data/docs/AFNORSearchSiretFiltersAddressLines.md +0 -20
  265. data/docs/AFNORSearchSiretFiltersAdministrativeStatus.md +0 -20
  266. data/docs/AFNORSearchSiretFiltersCountrySubdivision.md +0 -20
  267. data/docs/AFNORSearchSiretFiltersFacilityType.md +0 -20
  268. data/docs/AFNORSearchSiretFiltersLocality.md +0 -20
  269. data/docs/AFNORSearchSiretFiltersName.md +0 -20
  270. data/docs/AFNORSearchSiretFiltersPostalCode.md +0 -20
  271. data/docs/AFNORSearchSiretFiltersSiret.md +0 -20
  272. data/docs/AFNORSearchSiretSortingInner.md +0 -20
  273. data/docs/AFNORSirenField.md +0 -15
  274. data/docs/AFNORSirenSearchPost200Response.md +0 -22
  275. data/docs/AFNORSiretField.md +0 -15
  276. data/docs/AFNORSiretSearchPost200Response.md +0 -22
  277. data/docs/AFNORSortingOrder.md +0 -15
  278. data/docs/AFNORStrictOperator.md +0 -15
  279. data/docs/AFNORUpdatePatchDirectoryLineBody.md +0 -18
  280. data/docs/AFNORUpdatePatchRoutingCodeBody.md +0 -24
  281. data/docs/AFNORUpdatePutRoutingCodeBody.md +0 -24
  282. data/docs/AFNORWebhookCallbackContent.md +0 -18
  283. data/docs/AcknowledgmentStatus.md +0 -15
  284. data/docs/ActionCodeInfo.md +0 -22
  285. data/docs/ActionCodesResponse.md +0 -22
  286. data/docs/AdditionalDocument.md +0 -26
  287. data/docs/AggregatedPaymentInput.md +0 -22
  288. data/docs/AggregatedTransactionInput.md +0 -32
  289. data/docs/AllowanceCharge.md +0 -32
  290. data/docs/AllowanceChargeReasonCode.md +0 -15
  291. data/docs/AllowanceReasonCode.md +0 -15
  292. data/docs/AllowanceTotalAmount.md +0 -15
  293. data/docs/AsyncTaskStatus.md +0 -22
  294. data/docs/AsyncTasksApi.md +0 -82
  295. data/docs/BaseAmount.md +0 -15
  296. data/docs/BoundingBoxSchema.md +0 -30
  297. data/docs/Buyercountry.md +0 -15
  298. data/docs/CeleryStatus.md +0 -15
  299. data/docs/ChargeTotalAmount.md +0 -15
  300. data/docs/ChorusProDestination.md +0 -20
  301. data/docs/ChorusProResult.md +0 -22
  302. data/docs/ClientActivateResponse.md +0 -22
  303. data/docs/ClientCreateRequest.md +0 -22
  304. data/docs/ClientDetail.md +0 -38
  305. data/docs/ClientListResponse.md +0 -24
  306. data/docs/ClientManagementApi.md +0 -921
  307. data/docs/ClientSummary.md +0 -38
  308. data/docs/ClientUpdateRequest.md +0 -22
  309. data/docs/Contact.md +0 -24
  310. data/docs/ConvertResumeRequest.md +0 -18
  311. data/docs/ConvertSuccessResponse.md +0 -36
  312. data/docs/ConvertValidationFailedResponse.md +0 -34
  313. data/docs/CountryCode.md +0 -15
  314. data/docs/CreateAggregatedReportRequest.md +0 -36
  315. data/docs/CreateCDARRequest.md +0 -52
  316. data/docs/CreateEReportingRequest.md +0 -38
  317. data/docs/Currency.md +0 -15
  318. data/docs/CurrencyCode.md +0 -15
  319. data/docs/DeliveryParty.md +0 -24
  320. data/docs/DocType.md +0 -15
  321. data/docs/DocumentTypeInfo.md +0 -22
  322. data/docs/DownloadsApi.md +0 -161
  323. data/docs/EReportingFlowType.md +0 -15
  324. data/docs/EReportingValidationError.md +0 -22
  325. data/docs/ElectronicAddress.md +0 -20
  326. data/docs/ElectronicSignatureApi.md +0 -339
  327. data/docs/Encaisseamount.md +0 -15
  328. data/docs/Encaisseamount1.md +0 -15
  329. data/docs/EncaisseeRequest.md +0 -40
  330. data/docs/EnrichedInvoiceInfo.md +0 -32
  331. data/docs/ExtractionInfo.md +0 -24
  332. data/docs/FacturXConversionApi.md +0 -319
  333. data/docs/FacturXGenerationApi.md +0 -254
  334. data/docs/FacturXInvoice.md +0 -76
  335. data/docs/FacturXPDFInfo.md +0 -22
  336. data/docs/FacturXPDFXMLVerificationApi.md +0 -240
  337. data/docs/FacturXValidationApi.md +0 -256
  338. data/docs/FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.md +0 -15
  339. data/docs/FactureElectroniqueRestApiSchemasValidationValidationErrorResponse.md +0 -18
  340. data/docs/FieldStatus.md +0 -15
  341. data/docs/FileInfo.md +0 -20
  342. data/docs/FilesInfo.md +0 -20
  343. data/docs/FlowDirection.md +0 -15
  344. data/docs/FlowProfile.md +0 -15
  345. data/docs/FlowSummary.md +0 -32
  346. data/docs/FlowSyntax.md +0 -15
  347. data/docs/FlowType.md +0 -15
  348. data/docs/Flux10EReportingApi.md +0 -814
  349. data/docs/Flux6InvoiceLifecycleCDARApi.md +0 -698
  350. data/docs/GenerateAggregatedReportResponse.md +0 -30
  351. data/docs/GenerateCDARResponse.md +0 -26
  352. data/docs/GenerateEReportingResponse.md +0 -26
  353. data/docs/GetChorusProIdRequest.md +0 -22
  354. data/docs/GetChorusProIdResponse.md +0 -24
  355. data/docs/GetInvoiceResponse.md +0 -34
  356. data/docs/GetStructureRequest.md +0 -22
  357. data/docs/GetStructureResponse.md +0 -34
  358. data/docs/GlobalAllowanceAmount.md +0 -15
  359. data/docs/GrossUnitPrice.md +0 -15
  360. data/docs/HealthApi.md +0 -203
  361. data/docs/IncomingInvoice.md +0 -54
  362. data/docs/IncomingSupplier.md +0 -32
  363. data/docs/InvoiceFormat.md +0 -15
  364. data/docs/InvoiceInput.md +0 -50
  365. data/docs/InvoiceLine.md +0 -84
  366. data/docs/InvoiceLineAllowanceAmount.md +0 -15
  367. data/docs/InvoicePaymentInput.md +0 -26
  368. data/docs/InvoiceReferences.md +0 -52
  369. data/docs/InvoiceTotals.md +0 -38
  370. data/docs/InvoiceTotalsPrepayment.md +0 -15
  371. data/docs/InvoiceTypeCode.md +0 -15
  372. data/docs/InvoiceTypeCodeOutput.md +0 -15
  373. data/docs/InvoicingFramework.md +0 -24
  374. data/docs/InvoicingFrameworkCode.md +0 -15
  375. data/docs/IssuerRoleCode.md +0 -15
  376. data/docs/KeyRotationRequest.md +0 -20
  377. data/docs/KeyRotationResponse.md +0 -24
  378. data/docs/LineNetAmount.md +0 -15
  379. data/docs/LineSubType.md +0 -15
  380. data/docs/LineTotalAmount.md +0 -15
  381. data/docs/LocationInner.md +0 -15
  382. data/docs/MandatoryNoteSchema.md +0 -30
  383. data/docs/ManualRate.md +0 -15
  384. data/docs/ManualVatRate.md +0 -15
  385. data/docs/MissingField.md +0 -28
  386. data/docs/OperationNature.md +0 -15
  387. data/docs/OutputFormat.md +0 -15
  388. data/docs/PDFValidationResultAPI.md +0 -62
  389. data/docs/PDPConfigResponse.md +0 -46
  390. data/docs/PDPConfigUpdateRequest.md +0 -30
  391. data/docs/PDPCredentials.md +0 -26
  392. data/docs/PageDimensionsSchema.md +0 -20
  393. data/docs/Payee.md +0 -32
  394. data/docs/PaymentAmountByRate.md +0 -20
  395. data/docs/PaymentCard.md +0 -20
  396. data/docs/PaymentMeans.md +0 -15
  397. data/docs/Percentage.md +0 -15
  398. data/docs/PostalAddress.md +0 -30
  399. data/docs/PriceAllowanceAmount.md +0 -15
  400. data/docs/PriceBasisQuantity.md +0 -15
  401. data/docs/ProcessingOptions.md +0 -24
  402. data/docs/ProcessingRule.md +0 -15
  403. data/docs/ProductCharacteristic.md +0 -20
  404. data/docs/ProductClassification.md +0 -22
  405. data/docs/Quantity.md +0 -15
  406. data/docs/Rate1.md +0 -15
  407. data/docs/ReasonCodeInfo.md +0 -22
  408. data/docs/ReasonCodesResponse.md +0 -22
  409. data/docs/Recipient.md +0 -34
  410. data/docs/RecipientInput.md +0 -26
  411. data/docs/RefuseeRequest.md +0 -40
  412. data/docs/ReportIssuer.md +0 -24
  413. data/docs/ReportPeriod.md +0 -20
  414. data/docs/ReportSender.md +0 -22
  415. data/docs/RoundingAmount.md +0 -15
  416. data/docs/SchematronValidationError.md +0 -32
  417. data/docs/SearchFlowRequest.md +0 -34
  418. data/docs/SearchFlowResponse.md +0 -24
  419. data/docs/SearchServicesResponse.md +0 -24
  420. data/docs/SearchStructureRequest.md +0 -26
  421. data/docs/SearchStructureResponse.md +0 -24
  422. data/docs/SecretStatus.md +0 -24
  423. data/docs/Sellercountry.md +0 -15
  424. data/docs/SignatureInfoAPI.md +0 -28
  425. data/docs/SignatureParameters.md +0 -34
  426. data/docs/SimplifiedCDARResponse.md +0 -26
  427. data/docs/SimplifiedInvoiceData.md +0 -42
  428. data/docs/StatusCodeInfo.md +0 -22
  429. data/docs/StatusCodesResponse.md +0 -22
  430. data/docs/StructureParameters.md +0 -22
  431. data/docs/StructureService.md +0 -24
  432. data/docs/SubmissionMode.md +0 -15
  433. data/docs/SubmitAggregatedReportRequest.md +0 -28
  434. data/docs/SubmitCDARRequest.md +0 -62
  435. data/docs/SubmitCDARResponse.md +0 -24
  436. data/docs/SubmitCDARXMLRequest.md +0 -30
  437. data/docs/SubmitCompleteInvoiceRequest.md +0 -26
  438. data/docs/SubmitCompleteInvoiceResponse.md +0 -34
  439. data/docs/SubmitEReportingRequest.md +0 -28
  440. data/docs/SubmitEReportingResponse.md +0 -32
  441. data/docs/SubmitFlowRequest.md +0 -28
  442. data/docs/SubmitFlowResponse.md +0 -30
  443. data/docs/SubmitGrossAmount.md +0 -15
  444. data/docs/SubmitInvoiceRequest.md +0 -46
  445. data/docs/SubmitInvoiceResponse.md +0 -24
  446. data/docs/SubmitNetAmount.md +0 -15
  447. data/docs/SubmitVatAmount.md +0 -15
  448. data/docs/SupplementaryAttachment.md +0 -26
  449. data/docs/Supplier.md +0 -52
  450. data/docs/TaskResponse.md +0 -18
  451. data/docs/TaxBreakdownInput.md +0 -22
  452. data/docs/TaxDueDateType.md +0 -15
  453. data/docs/TaxRepresentative.md +0 -22
  454. data/docs/TaxableAmount.md +0 -15
  455. data/docs/Taxableamount.md +0 -15
  456. data/docs/Taxamount.md +0 -15
  457. data/docs/Taxamount1.md +0 -15
  458. data/docs/Taxamount2.md +0 -15
  459. data/docs/Taxexclusiveamount.md +0 -15
  460. data/docs/Taxexclusiveamount1.md +0 -15
  461. data/docs/TotalGrossAmount.md +0 -15
  462. data/docs/TotalNetAmount.md +0 -15
  463. data/docs/TotalVATAmount.md +0 -15
  464. data/docs/TransactionCategory.md +0 -15
  465. data/docs/TransmissionTypeCode.md +0 -15
  466. data/docs/UnitNetPrice.md +0 -15
  467. data/docs/UnitOfMeasure.md +0 -15
  468. data/docs/VATAccountingCode.md +0 -15
  469. data/docs/VATAmount.md +0 -15
  470. data/docs/VATCategory.md +0 -15
  471. data/docs/VATLine.md +0 -32
  472. data/docs/VATPointDateCode.md +0 -15
  473. data/docs/ValidateCDARRequest.md +0 -32
  474. data/docs/ValidateCDARResponse.md +0 -22
  475. data/docs/ValidateEReportingRequest.md +0 -18
  476. data/docs/ValidateEReportingResponse.md +0 -28
  477. data/docs/ValidationErrorResponse.md +0 -24
  478. data/docs/ValidationInfo.md +0 -28
  479. data/docs/ValidationSuccessResponse.md +0 -18
  480. data/docs/VatRate.md +0 -15
  481. data/docs/VerificationSuccessResponse.md +0 -36
  482. data/docs/VerifiedFieldSchema.md +0 -34
  483. data/docs/WebhookSecretDeleteResponse.md +0 -20
  484. data/docs/WebhookSecretGenerateResponse.md +0 -24
  485. data/docs/WebhookSecretStatusResponse.md +0 -20
  486. data/lib/factpulse/api/async_tasks_api.rb +0 -85
  487. data/lib/factpulse/api/client_management_api.rb +0 -831
  488. data/lib/factpulse/api/downloads_api.rb +0 -151
  489. data/lib/factpulse/api/electronic_signature_api.rb +0 -339
  490. data/lib/factpulse/api/factur_x_conversion_api.rb +0 -306
  491. data/lib/factpulse/api/factur_x_generation_api.rb +0 -254
  492. data/lib/factpulse/api/factur_x_validation_api.rb +0 -256
  493. data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +0 -232
  494. data/lib/factpulse/api/flux10_e_reporting_api.rb +0 -777
  495. data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +0 -670
  496. data/lib/factpulse/api/health_api.rb +0 -193
  497. data/lib/factpulse/helpers/helpers.rb +0 -14
  498. data/lib/factpulse/models/acknowledgment_status.rb +0 -41
  499. data/lib/factpulse/models/action_code_info.rb +0 -220
  500. data/lib/factpulse/models/action_codes_response.rb +0 -207
  501. data/lib/factpulse/models/additional_document.rb +0 -206
  502. data/lib/factpulse/models/afnor_acknowledgement.rb +0 -216
  503. data/lib/factpulse/models/afnor_acknowledgement_detail.rb +0 -267
  504. data/lib/factpulse/models/afnor_address_edit.rb +0 -353
  505. data/lib/factpulse/models/afnor_address_patch.rb +0 -386
  506. data/lib/factpulse/models/afnor_address_put.rb +0 -435
  507. data/lib/factpulse/models/afnor_address_read.rb +0 -382
  508. data/lib/factpulse/models/afnor_algorithm.rb +0 -43
  509. data/lib/factpulse/models/afnor_contains_operator.rb +0 -39
  510. data/lib/factpulse/models/afnor_create_directory_line_body.rb +0 -156
  511. data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +0 -294
  512. data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +0 -175
  513. data/lib/factpulse/models/afnor_create_routing_code_body.rb +0 -412
  514. data/lib/factpulse/models/afnor_credentials.rb +0 -169
  515. data/lib/factpulse/models/afnor_destination.rb +0 -224
  516. data/lib/factpulse/models/afnor_diffusion_status.rb +0 -40
  517. data/lib/factpulse/models/afnor_directory_line_field.rb +0 -44
  518. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +0 -312
  519. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +0 -178
  520. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +0 -308
  521. data/lib/factpulse/models/afnor_directory_line_post201_response.rb +0 -187
  522. data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +0 -168
  523. data/lib/factpulse/models/afnor_entity_type.rb +0 -40
  524. data/lib/factpulse/models/afnor_error.rb +0 -214
  525. data/lib/factpulse/models/afnor_facility_administrative_status.rb +0 -40
  526. data/lib/factpulse/models/afnor_facility_nature.rb +0 -40
  527. data/lib/factpulse/models/afnor_facility_payload_history.rb +0 -323
  528. data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +0 -198
  529. data/lib/factpulse/models/afnor_facility_payload_included.rb +0 -314
  530. data/lib/factpulse/models/afnor_facility_type.rb +0 -40
  531. data/lib/factpulse/models/afnor_flow.rb +0 -315
  532. data/lib/factpulse/models/afnor_flow_ack_status.rb +0 -41
  533. data/lib/factpulse/models/afnor_flow_direction.rb +0 -40
  534. data/lib/factpulse/models/afnor_flow_info.rb +0 -293
  535. data/lib/factpulse/models/afnor_flow_profile.rb +0 -41
  536. data/lib/factpulse/models/afnor_flow_syntax.rb +0 -43
  537. data/lib/factpulse/models/afnor_flow_type.rb +0 -51
  538. data/lib/factpulse/models/afnor_full_flow_info.rb +0 -339
  539. data/lib/factpulse/models/afnor_health_check_response.rb +0 -220
  540. data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +0 -40
  541. data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +0 -247
  542. data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +0 -247
  543. data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +0 -207
  544. data/lib/factpulse/models/afnor_platform_status.rb +0 -40
  545. data/lib/factpulse/models/afnor_processing_rule.rb +0 -44
  546. data/lib/factpulse/models/afnor_reason_code.rb +0 -105
  547. data/lib/factpulse/models/afnor_reason_code_enum.rb +0 -53
  548. data/lib/factpulse/models/afnor_recipient_platform_type.rb +0 -40
  549. data/lib/factpulse/models/afnor_result.rb +0 -270
  550. data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +0 -40
  551. data/lib/factpulse/models/afnor_routing_code_field.rb +0 -46
  552. data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +0 -366
  553. data/lib/factpulse/models/afnor_routing_code_post201_response.rb +0 -228
  554. data/lib/factpulse/models/afnor_routing_code_search.rb +0 -224
  555. data/lib/factpulse/models/afnor_routing_code_search_filters.rb +0 -201
  556. data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +0 -178
  557. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +0 -209
  558. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +0 -209
  559. data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +0 -168
  560. data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +0 -179
  561. data/lib/factpulse/models/afnor_search_directory_line.rb +0 -191
  562. data/lib/factpulse/models/afnor_search_directory_line_filters.rb +0 -183
  563. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +0 -198
  564. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +0 -198
  565. data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +0 -179
  566. data/lib/factpulse/models/afnor_search_flow_content.rb +0 -168
  567. data/lib/factpulse/models/afnor_search_flow_filters.rb +0 -250
  568. data/lib/factpulse/models/afnor_search_flow_params.rb +0 -195
  569. data/lib/factpulse/models/afnor_search_siren.rb +0 -191
  570. data/lib/factpulse/models/afnor_search_siren_filters.rb +0 -174
  571. data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +0 -178
  572. data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +0 -198
  573. data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +0 -178
  574. data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +0 -209
  575. data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +0 -179
  576. data/lib/factpulse/models/afnor_search_siret.rb +0 -224
  577. data/lib/factpulse/models/afnor_search_siret_filters.rb +0 -219
  578. data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +0 -198
  579. data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +0 -178
  580. data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +0 -198
  581. data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +0 -178
  582. data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +0 -198
  583. data/lib/factpulse/models/afnor_search_siret_filters_name.rb +0 -198
  584. data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +0 -209
  585. data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +0 -209
  586. data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +0 -179
  587. data/lib/factpulse/models/afnor_siren_field.rb +0 -43
  588. data/lib/factpulse/models/afnor_siren_search_post200_response.rb +0 -168
  589. data/lib/factpulse/models/afnor_siret_field.rb +0 -52
  590. data/lib/factpulse/models/afnor_siret_search_post200_response.rb +0 -168
  591. data/lib/factpulse/models/afnor_sorting_order.rb +0 -40
  592. data/lib/factpulse/models/afnor_strict_operator.rb +0 -39
  593. data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +0 -148
  594. data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +0 -258
  595. data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +0 -289
  596. data/lib/factpulse/models/afnor_webhook_callback_content.rb +0 -148
  597. data/lib/factpulse/models/aggregated_payment_input.rb +0 -213
  598. data/lib/factpulse/models/aggregated_transaction_input.rb +0 -349
  599. data/lib/factpulse/models/allowance_charge.rb +0 -274
  600. data/lib/factpulse/models/allowance_charge_reason_code.rb +0 -76
  601. data/lib/factpulse/models/allowance_reason_code.rb +0 -45
  602. data/lib/factpulse/models/allowance_total_amount.rb +0 -104
  603. data/lib/factpulse/models/amount.rb +0 -104
  604. data/lib/factpulse/models/amount1.rb +0 -104
  605. data/lib/factpulse/models/amount2.rb +0 -104
  606. data/lib/factpulse/models/amount_due.rb +0 -104
  607. data/lib/factpulse/models/api_profile.rb +0 -43
  608. data/lib/factpulse/models/async_task_status.rb +0 -227
  609. data/lib/factpulse/models/base_amount.rb +0 -104
  610. data/lib/factpulse/models/bounding_box_schema.rb +0 -332
  611. data/lib/factpulse/models/buyercountry.rb +0 -104
  612. data/lib/factpulse/models/celery_status.rb +0 -43
  613. data/lib/factpulse/models/charge_total_amount.rb +0 -104
  614. data/lib/factpulse/models/chorus_pro_destination.rb +0 -194
  615. data/lib/factpulse/models/chorus_pro_result.rb +0 -186
  616. data/lib/factpulse/models/client_activate_response.rb +0 -220
  617. data/lib/factpulse/models/client_create_request.rb +0 -236
  618. data/lib/factpulse/models/client_detail.rb +0 -368
  619. data/lib/factpulse/models/client_list_response.rb +0 -249
  620. data/lib/factpulse/models/client_summary.rb +0 -368
  621. data/lib/factpulse/models/client_update_request.rb +0 -225
  622. data/lib/factpulse/models/contact.rb +0 -179
  623. data/lib/factpulse/models/convert_resume_request.rb +0 -151
  624. data/lib/factpulse/models/convert_success_response.rb +0 -360
  625. data/lib/factpulse/models/convert_validation_failed_response.rb +0 -339
  626. data/lib/factpulse/models/country_code.rb +0 -208
  627. data/lib/factpulse/models/create_aggregated_report_request.rb +0 -320
  628. data/lib/factpulse/models/create_cdar_request.rb +0 -414
  629. data/lib/factpulse/models/create_e_reporting_request.rb +0 -347
  630. data/lib/factpulse/models/currency.rb +0 -104
  631. data/lib/factpulse/models/currency_code.rb +0 -91
  632. data/lib/factpulse/models/delivery_party.rb +0 -179
  633. data/lib/factpulse/models/doc_type.rb +0 -42
  634. data/lib/factpulse/models/document_type_info.rb +0 -220
  635. data/lib/factpulse/models/e_reporting_flow_type.rb +0 -42
  636. data/lib/factpulse/models/e_reporting_validation_error.rb +0 -203
  637. data/lib/factpulse/models/electronic_address.rb +0 -198
  638. data/lib/factpulse/models/encaisseamount.rb +0 -104
  639. data/lib/factpulse/models/encaisseamount1.rb +0 -103
  640. data/lib/factpulse/models/encaissee_request.rb +0 -347
  641. data/lib/factpulse/models/enriched_invoice_info.rb +0 -354
  642. data/lib/factpulse/models/extraction_info.rb +0 -217
  643. data/lib/factpulse/models/factur_x_invoice.rb +0 -580
  644. data/lib/factpulse/models/factur_xpdf_info.rb +0 -205
  645. data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +0 -43
  646. data/lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb +0 -191
  647. data/lib/factpulse/models/facture_electronique_rest_api_schemas_validation_validation_error_response.rb +0 -168
  648. data/lib/factpulse/models/field_status.rb +0 -43
  649. data/lib/factpulse/models/file_info.rb +0 -161
  650. data/lib/factpulse/models/files_info.rb +0 -159
  651. data/lib/factpulse/models/flow_direction.rb +0 -40
  652. data/lib/factpulse/models/flow_profile.rb +0 -41
  653. data/lib/factpulse/models/flow_summary.rb +0 -253
  654. data/lib/factpulse/models/flow_syntax.rb +0 -43
  655. data/lib/factpulse/models/flow_type.rb +0 -51
  656. data/lib/factpulse/models/generate_aggregated_report_response.rb +0 -330
  657. data/lib/factpulse/models/generate_cdar_response.rb +0 -273
  658. data/lib/factpulse/models/generate_e_reporting_response.rb +0 -274
  659. data/lib/factpulse/models/get_chorus_pro_id_request.rb +0 -188
  660. data/lib/factpulse/models/get_chorus_pro_id_response.rb +0 -230
  661. data/lib/factpulse/models/get_invoice_request.rb +0 -176
  662. data/lib/factpulse/models/get_invoice_response.rb +0 -263
  663. data/lib/factpulse/models/get_structure_request.rb +0 -188
  664. data/lib/factpulse/models/get_structure_response.rb +0 -263
  665. data/lib/factpulse/models/global_allowance_amount.rb +0 -104
  666. data/lib/factpulse/models/gross_unit_price.rb +0 -104
  667. data/lib/factpulse/models/incoming_invoice.rb +0 -489
  668. data/lib/factpulse/models/incoming_supplier.rb +0 -236
  669. data/lib/factpulse/models/invoice_format.rb +0 -41
  670. data/lib/factpulse/models/invoice_input.rb +0 -439
  671. data/lib/factpulse/models/invoice_line.rb +0 -593
  672. data/lib/factpulse/models/invoice_line_allowance_amount.rb +0 -104
  673. data/lib/factpulse/models/invoice_note.rb +0 -176
  674. data/lib/factpulse/models/invoice_payment_input.rb +0 -267
  675. data/lib/factpulse/models/invoice_references.rb +0 -393
  676. data/lib/factpulse/models/invoice_status.rb +0 -203
  677. data/lib/factpulse/models/invoice_totals.rb +0 -312
  678. data/lib/factpulse/models/invoice_totals_prepayment.rb +0 -104
  679. data/lib/factpulse/models/invoice_type_code.rb +0 -54
  680. data/lib/factpulse/models/invoice_type_code_output.rb +0 -54
  681. data/lib/factpulse/models/invoicing_framework.rb +0 -218
  682. data/lib/factpulse/models/invoicing_framework_code.rb +0 -42
  683. data/lib/factpulse/models/issuer_role_code.rb +0 -40
  684. data/lib/factpulse/models/key_rotation_request.rb +0 -211
  685. data/lib/factpulse/models/key_rotation_response.rb +0 -232
  686. data/lib/factpulse/models/line_net_amount.rb +0 -104
  687. data/lib/factpulse/models/line_sub_type.rb +0 -41
  688. data/lib/factpulse/models/line_total_amount.rb +0 -104
  689. data/lib/factpulse/models/location_inner.rb +0 -103
  690. data/lib/factpulse/models/mandatory_note_schema.rb +0 -265
  691. data/lib/factpulse/models/manual_rate.rb +0 -104
  692. data/lib/factpulse/models/manual_vat_rate.rb +0 -104
  693. data/lib/factpulse/models/missing_field.rb +0 -269
  694. data/lib/factpulse/models/operation_nature.rb +0 -52
  695. data/lib/factpulse/models/output_format.rb +0 -40
  696. data/lib/factpulse/models/page_dimensions_schema.rb +0 -193
  697. data/lib/factpulse/models/payee.rb +0 -281
  698. data/lib/factpulse/models/payment_amount_by_rate.rb +0 -191
  699. data/lib/factpulse/models/payment_card.rb +0 -159
  700. data/lib/factpulse/models/payment_means.rb +0 -44
  701. data/lib/factpulse/models/pdf_validation_result_api.rb +0 -523
  702. data/lib/factpulse/models/pdp_config_response.rb +0 -306
  703. data/lib/factpulse/models/pdp_config_update_request.rb +0 -315
  704. data/lib/factpulse/models/pdp_credentials.rb +0 -257
  705. data/lib/factpulse/models/percentage.rb +0 -104
  706. data/lib/factpulse/models/postal_address.rb +0 -209
  707. data/lib/factpulse/models/price_allowance_amount.rb +0 -104
  708. data/lib/factpulse/models/price_basis_quantity.rb +0 -104
  709. data/lib/factpulse/models/processing_options.rb +0 -207
  710. data/lib/factpulse/models/processing_rule.rb +0 -44
  711. data/lib/factpulse/models/product_characteristic.rb +0 -193
  712. data/lib/factpulse/models/product_classification.rb +0 -186
  713. data/lib/factpulse/models/quantity.rb +0 -104
  714. data/lib/factpulse/models/rate.rb +0 -104
  715. data/lib/factpulse/models/rate1.rb +0 -104
  716. data/lib/factpulse/models/reason_code_info.rb +0 -220
  717. data/lib/factpulse/models/reason_codes_response.rb +0 -207
  718. data/lib/factpulse/models/recipient.rb +0 -231
  719. data/lib/factpulse/models/recipient_input.rb +0 -191
  720. data/lib/factpulse/models/refusee_request.rb +0 -346
  721. data/lib/factpulse/models/report_issuer.rb +0 -236
  722. data/lib/factpulse/models/report_period.rb +0 -193
  723. data/lib/factpulse/models/report_sender.rb +0 -221
  724. data/lib/factpulse/models/rounding_amount.rb +0 -104
  725. data/lib/factpulse/models/schematron_validation_error.rb +0 -294
  726. data/lib/factpulse/models/search_flow_request.rb +0 -306
  727. data/lib/factpulse/models/search_flow_response.rb +0 -249
  728. data/lib/factpulse/models/search_services_response.rb +0 -217
  729. data/lib/factpulse/models/search_structure_request.rb +0 -191
  730. data/lib/factpulse/models/search_structure_response.rb +0 -216
  731. data/lib/factpulse/models/secret_status.rb +0 -213
  732. data/lib/factpulse/models/sellercountry.rb +0 -104
  733. data/lib/factpulse/models/signature_info_api.rb +0 -216
  734. data/lib/factpulse/models/signature_parameters.rb +0 -235
  735. data/lib/factpulse/models/simplified_cdar_response.rb +0 -274
  736. data/lib/factpulse/models/simplified_invoice_data.rb +0 -404
  737. data/lib/factpulse/models/status_code_info.rb +0 -220
  738. data/lib/factpulse/models/status_codes_response.rb +0 -207
  739. data/lib/factpulse/models/structure_parameters.rb +0 -175
  740. data/lib/factpulse/models/structure_service.rb +0 -247
  741. data/lib/factpulse/models/submission_mode.rb +0 -41
  742. data/lib/factpulse/models/submit_aggregated_report_request.rb +0 -216
  743. data/lib/factpulse/models/submit_cdar_request.rb +0 -466
  744. data/lib/factpulse/models/submit_cdar_response.rb +0 -213
  745. data/lib/factpulse/models/submit_cdarxml_request.rb +0 -228
  746. data/lib/factpulse/models/submit_complete_invoice_request.rb +0 -239
  747. data/lib/factpulse/models/submit_complete_invoice_response.rb +0 -355
  748. data/lib/factpulse/models/submit_e_reporting_request.rb +0 -216
  749. data/lib/factpulse/models/submit_e_reporting_response.rb +0 -306
  750. data/lib/factpulse/models/submit_flow_request.rb +0 -238
  751. data/lib/factpulse/models/submit_flow_response.rb +0 -294
  752. data/lib/factpulse/models/submit_gross_amount.rb +0 -104
  753. data/lib/factpulse/models/submit_invoice_request.rb +0 -388
  754. data/lib/factpulse/models/submit_invoice_response.rb +0 -213
  755. data/lib/factpulse/models/submit_net_amount.rb +0 -104
  756. data/lib/factpulse/models/submit_vat_amount.rb +0 -104
  757. data/lib/factpulse/models/supplementary_attachment.rb +0 -274
  758. data/lib/factpulse/models/supplier.rb +0 -337
  759. data/lib/factpulse/models/task_response.rb +0 -166
  760. data/lib/factpulse/models/tax_breakdown_input.rb +0 -217
  761. data/lib/factpulse/models/tax_due_date_type.rb +0 -44
  762. data/lib/factpulse/models/tax_representative.rb +0 -220
  763. data/lib/factpulse/models/taxable_amount.rb +0 -104
  764. data/lib/factpulse/models/taxableamount.rb +0 -104
  765. data/lib/factpulse/models/taxamount.rb +0 -104
  766. data/lib/factpulse/models/taxamount1.rb +0 -104
  767. data/lib/factpulse/models/taxamount2.rb +0 -104
  768. data/lib/factpulse/models/taxexclusiveamount.rb +0 -104
  769. data/lib/factpulse/models/taxexclusiveamount1.rb +0 -104
  770. data/lib/factpulse/models/total_gross_amount.rb +0 -104
  771. data/lib/factpulse/models/total_net_amount.rb +0 -104
  772. data/lib/factpulse/models/total_vat_amount.rb +0 -104
  773. data/lib/factpulse/models/transaction_category.rb +0 -42
  774. data/lib/factpulse/models/transmission_type_code.rb +0 -40
  775. data/lib/factpulse/models/unit_net_price.rb +0 -104
  776. data/lib/factpulse/models/unit_of_measure.rb +0 -44
  777. data/lib/factpulse/models/validate_cdar_request.rb +0 -219
  778. data/lib/factpulse/models/validate_cdar_response.rb +0 -190
  779. data/lib/factpulse/models/validate_e_reporting_request.rb +0 -166
  780. data/lib/factpulse/models/validate_e_reporting_response.rb +0 -271
  781. data/lib/factpulse/models/validation_error_response.rb +0 -215
  782. data/lib/factpulse/models/validation_info.rb +0 -255
  783. data/lib/factpulse/models/validation_success_response.rb +0 -166
  784. data/lib/factpulse/models/vat_accounting_code.rb +0 -42
  785. data/lib/factpulse/models/vat_amount.rb +0 -104
  786. data/lib/factpulse/models/vat_category.rb +0 -47
  787. data/lib/factpulse/models/vat_line.rb +0 -272
  788. data/lib/factpulse/models/vat_point_date_code.rb +0 -41
  789. data/lib/factpulse/models/vat_rate.rb +0 -104
  790. data/lib/factpulse/models/verification_success_response.rb +0 -343
  791. data/lib/factpulse/models/verified_field_schema.rb +0 -334
  792. data/lib/factpulse/models/webhook_secret_delete_response.rb +0 -193
  793. data/lib/factpulse/models/webhook_secret_generate_response.rb +0 -247
  794. data/lib/factpulse/models/webhook_secret_status_response.rb +0 -176
@@ -1,306 +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 - Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Factur-X - Validation - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) ### ✍️ Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification ### 📋 Flux 6 - Invoice Lifecycle (CDAR) - **CDAR Messages**: Acknowledgements, invoice statuses - **PPF Statuses**: REFUSED (210), PAID (212) ### 📊 Flux 10 - E-Reporting - **Tax Declarations**: International B2B, B2C - **Flow Types**: 10.1 (B2B transactions), 10.2 (B2B payments), 10.3 (B2C transactions), 10.4 (B2C payments) ### 📡 AFNOR PDP/PA (XP Z12-013) - **Flow Service**: Submit and search flows to PDPs - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user ### 🏛️ Chorus Pro - **Public Sector Invoicing**: Complete API for Chorus Pro ### ⏳ Async Tasks - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **Webhooks**: Automatic notifications when tasks complete ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: contact@factpulse.fr
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.20.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'cgi'
14
-
15
- module FactPulse
16
- class FacturXConversionApi
17
- attr_accessor :api_client
18
-
19
- def initialize(api_client = ApiClient.default)
20
- @api_client = api_client
21
- end
22
- # Convert a document to Factur-X (async mode)
23
- # Launch an asynchronous conversion via Celery. ## Workflow 1. **Upload**: Document is sent as multipart/form-data 2. **Celery Task**: Task is queued for processing 3. **Callback**: Webhook notification on completion ## Possible responses - **202**: Task accepted, processing - **400**: Invalid file
24
- # @param file [File] Document to convert (PDF, DOCX, XLSX, JPG, PNG)
25
- # @param [Hash] opts the optional parameters
26
- # @option opts [String] :output Output format: pdf, xml, both (default to 'pdf')
27
- # @option opts [String] :callback_url
28
- # @option opts [String] :webhook_mode Content delivery mode: 'inline' (base64 in webhook) or 'download_url' (temporary URL, 1h TTL) (default to 'inline')
29
- # @return [Object]
30
- def convert_document_async_api_v1_convert_async_post(file, opts = {})
31
- data, _status_code, _headers = convert_document_async_api_v1_convert_async_post_with_http_info(file, opts)
32
- data
33
- end
34
-
35
- # Convert a document to Factur-X (async mode)
36
- # Launch an asynchronous conversion via Celery. ## Workflow 1. **Upload**: Document is sent as multipart/form-data 2. **Celery Task**: Task is queued for processing 3. **Callback**: Webhook notification on completion ## Possible responses - **202**: Task accepted, processing - **400**: Invalid file
37
- # @param file [File] Document to convert (PDF, DOCX, XLSX, JPG, PNG)
38
- # @param [Hash] opts the optional parameters
39
- # @option opts [String] :output Output format: pdf, xml, both (default to 'pdf')
40
- # @option opts [String] :callback_url
41
- # @option opts [String] :webhook_mode Content delivery mode: 'inline' (base64 in webhook) or 'download_url' (temporary URL, 1h TTL) (default to 'inline')
42
- # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
43
- def convert_document_async_api_v1_convert_async_post_with_http_info(file, opts = {})
44
- if @api_client.config.debugging
45
- @api_client.config.logger.debug 'Calling API: FacturXConversionApi.convert_document_async_api_v1_convert_async_post ...'
46
- end
47
- # verify the required parameter 'file' is set
48
- if @api_client.config.client_side_validation && file.nil?
49
- fail ArgumentError, "Missing the required parameter 'file' when calling FacturXConversionApi.convert_document_async_api_v1_convert_async_post"
50
- end
51
- # resource path
52
- local_var_path = '/api/v1/convert/async'
53
-
54
- # query parameters
55
- query_params = opts[:query_params] || {}
56
-
57
- # header parameters
58
- header_params = opts[:header_params] || {}
59
- # HTTP header 'Accept' (if needed)
60
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
- # HTTP header 'Content-Type'
62
- content_type = @api_client.select_header_content_type(['multipart/form-data'])
63
- if !content_type.nil?
64
- header_params['Content-Type'] = content_type
65
- end
66
-
67
- # form parameters
68
- form_params = opts[:form_params] || {}
69
- form_params['file'] = file
70
- form_params['output'] = opts[:'output'] if !opts[:'output'].nil?
71
- form_params['callback_url'] = opts[:'callback_url'] if !opts[:'callback_url'].nil?
72
- form_params['webhook_mode'] = opts[:'webhook_mode'] if !opts[:'webhook_mode'].nil?
73
-
74
- # http body (model)
75
- post_body = opts[:debug_body]
76
-
77
- # return_type
78
- return_type = opts[:debug_return_type] || 'Object'
79
-
80
- # auth_names
81
- auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
82
-
83
- new_options = opts.merge(
84
- :operation => :"FacturXConversionApi.convert_document_async_api_v1_convert_async_post",
85
- :header_params => header_params,
86
- :query_params => query_params,
87
- :form_params => form_params,
88
- :body => post_body,
89
- :auth_names => auth_names,
90
- :return_type => return_type
91
- )
92
-
93
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
94
- if @api_client.config.debugging
95
- @api_client.config.logger.debug "API called: FacturXConversionApi#convert_document_async_api_v1_convert_async_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
96
- end
97
- return data, status_code, headers
98
- end
99
-
100
- # Download a generated file
101
- # Download the generated Factur-X PDF or XML file. ## Available files - `facturx.pdf`: PDF/A-3 with embedded XML - `facturx.xml`: XML CII only (Cross Industry Invoice) Files are available for 24 hours after generation.
102
- # @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
103
- # @param filename [String] File to download: &#39;facturx.pdf&#39; or &#39;facturx.xml&#39;
104
- # @param [Hash] opts the optional parameters
105
- # @return [Object]
106
- def download_file_api_v1_convert_conversion_id_download_filename_get(conversion_id, filename, opts = {})
107
- data, _status_code, _headers = download_file_api_v1_convert_conversion_id_download_filename_get_with_http_info(conversion_id, filename, opts)
108
- data
109
- end
110
-
111
- # Download a generated file
112
- # Download the generated Factur-X PDF or XML file. ## Available files - &#x60;facturx.pdf&#x60;: PDF/A-3 with embedded XML - &#x60;facturx.xml&#x60;: XML CII only (Cross Industry Invoice) Files are available for 24 hours after generation.
113
- # @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
114
- # @param filename [String] File to download: &#39;facturx.pdf&#39; or &#39;facturx.xml&#39;
115
- # @param [Hash] opts the optional parameters
116
- # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
117
- def download_file_api_v1_convert_conversion_id_download_filename_get_with_http_info(conversion_id, filename, opts = {})
118
- if @api_client.config.debugging
119
- @api_client.config.logger.debug 'Calling API: FacturXConversionApi.download_file_api_v1_convert_conversion_id_download_filename_get ...'
120
- end
121
- # verify the required parameter 'conversion_id' is set
122
- if @api_client.config.client_side_validation && conversion_id.nil?
123
- fail ArgumentError, "Missing the required parameter 'conversion_id' when calling FacturXConversionApi.download_file_api_v1_convert_conversion_id_download_filename_get"
124
- end
125
- # verify the required parameter 'filename' is set
126
- if @api_client.config.client_side_validation && filename.nil?
127
- fail ArgumentError, "Missing the required parameter 'filename' when calling FacturXConversionApi.download_file_api_v1_convert_conversion_id_download_filename_get"
128
- end
129
- # resource path
130
- local_var_path = '/api/v1/convert/{conversion_id}/download/{filename}'.sub('{' + 'conversion_id' + '}', CGI.escape(conversion_id.to_s)).sub('{' + 'filename' + '}', CGI.escape(filename.to_s))
131
-
132
- # query parameters
133
- query_params = opts[:query_params] || {}
134
-
135
- # header parameters
136
- header_params = opts[:header_params] || {}
137
- # HTTP header 'Accept' (if needed)
138
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
139
-
140
- # form parameters
141
- form_params = opts[:form_params] || {}
142
-
143
- # http body (model)
144
- post_body = opts[:debug_body]
145
-
146
- # return_type
147
- return_type = opts[:debug_return_type] || 'Object'
148
-
149
- # auth_names
150
- auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
151
-
152
- new_options = opts.merge(
153
- :operation => :"FacturXConversionApi.download_file_api_v1_convert_conversion_id_download_filename_get",
154
- :header_params => header_params,
155
- :query_params => query_params,
156
- :form_params => form_params,
157
- :body => post_body,
158
- :auth_names => auth_names,
159
- :return_type => return_type
160
- )
161
-
162
- data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
163
- if @api_client.config.debugging
164
- @api_client.config.logger.debug "API called: FacturXConversionApi#download_file_api_v1_convert_conversion_id_download_filename_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
165
- end
166
- return data, status_code, headers
167
- end
168
-
169
- # Check conversion status
170
- # Returns the current status of an asynchronous conversion.
171
- # @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
172
- # @param [Hash] opts the optional parameters
173
- # @return [Hash<String, Object>]
174
- def get_conversion_status_api_v1_convert_conversion_id_status_get(conversion_id, opts = {})
175
- data, _status_code, _headers = get_conversion_status_api_v1_convert_conversion_id_status_get_with_http_info(conversion_id, opts)
176
- data
177
- end
178
-
179
- # Check conversion status
180
- # Returns the current status of an asynchronous conversion.
181
- # @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
182
- # @param [Hash] opts the optional parameters
183
- # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
184
- def get_conversion_status_api_v1_convert_conversion_id_status_get_with_http_info(conversion_id, opts = {})
185
- if @api_client.config.debugging
186
- @api_client.config.logger.debug 'Calling API: FacturXConversionApi.get_conversion_status_api_v1_convert_conversion_id_status_get ...'
187
- end
188
- # verify the required parameter 'conversion_id' is set
189
- if @api_client.config.client_side_validation && conversion_id.nil?
190
- fail ArgumentError, "Missing the required parameter 'conversion_id' when calling FacturXConversionApi.get_conversion_status_api_v1_convert_conversion_id_status_get"
191
- end
192
- # resource path
193
- local_var_path = '/api/v1/convert/{conversion_id}/status'.sub('{' + 'conversion_id' + '}', CGI.escape(conversion_id.to_s))
194
-
195
- # query parameters
196
- query_params = opts[:query_params] || {}
197
-
198
- # header parameters
199
- header_params = opts[:header_params] || {}
200
- # HTTP header 'Accept' (if needed)
201
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
202
-
203
- # form parameters
204
- form_params = opts[:form_params] || {}
205
-
206
- # http body (model)
207
- post_body = opts[:debug_body]
208
-
209
- # return_type
210
- return_type = opts[:debug_return_type] || 'Hash<String, Object>'
211
-
212
- # auth_names
213
- auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
214
-
215
- new_options = opts.merge(
216
- :operation => :"FacturXConversionApi.get_conversion_status_api_v1_convert_conversion_id_status_get",
217
- :header_params => header_params,
218
- :query_params => query_params,
219
- :form_params => form_params,
220
- :body => post_body,
221
- :auth_names => auth_names,
222
- :return_type => return_type
223
- )
224
-
225
- data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
226
- if @api_client.config.debugging
227
- @api_client.config.logger.debug "API called: FacturXConversionApi#get_conversion_status_api_v1_convert_conversion_id_status_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
228
- end
229
- return data, status_code, headers
230
- end
231
-
232
- # Resume a conversion with corrections
233
- # Resume a conversion after completing missing data or correcting errors. The OCR extraction is preserved, data is updated with corrections, then a new Schematron validation is performed.
234
- # @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
235
- # @param convert_resume_request [ConvertResumeRequest]
236
- # @param [Hash] opts the optional parameters
237
- # @return [ConvertSuccessResponse]
238
- def resume_conversion_api_v1_convert_conversion_id_resume_post(conversion_id, convert_resume_request, opts = {})
239
- data, _status_code, _headers = resume_conversion_api_v1_convert_conversion_id_resume_post_with_http_info(conversion_id, convert_resume_request, opts)
240
- data
241
- end
242
-
243
- # Resume a conversion with corrections
244
- # Resume a conversion after completing missing data or correcting errors. The OCR extraction is preserved, data is updated with corrections, then a new Schematron validation is performed.
245
- # @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
246
- # @param convert_resume_request [ConvertResumeRequest]
247
- # @param [Hash] opts the optional parameters
248
- # @return [Array<(ConvertSuccessResponse, Integer, Hash)>] ConvertSuccessResponse data, response status code and response headers
249
- def resume_conversion_api_v1_convert_conversion_id_resume_post_with_http_info(conversion_id, convert_resume_request, opts = {})
250
- if @api_client.config.debugging
251
- @api_client.config.logger.debug 'Calling API: FacturXConversionApi.resume_conversion_api_v1_convert_conversion_id_resume_post ...'
252
- end
253
- # verify the required parameter 'conversion_id' is set
254
- if @api_client.config.client_side_validation && conversion_id.nil?
255
- fail ArgumentError, "Missing the required parameter 'conversion_id' when calling FacturXConversionApi.resume_conversion_api_v1_convert_conversion_id_resume_post"
256
- end
257
- # verify the required parameter 'convert_resume_request' is set
258
- if @api_client.config.client_side_validation && convert_resume_request.nil?
259
- fail ArgumentError, "Missing the required parameter 'convert_resume_request' when calling FacturXConversionApi.resume_conversion_api_v1_convert_conversion_id_resume_post"
260
- end
261
- # resource path
262
- local_var_path = '/api/v1/convert/{conversion_id}/resume'.sub('{' + 'conversion_id' + '}', CGI.escape(conversion_id.to_s))
263
-
264
- # query parameters
265
- query_params = opts[:query_params] || {}
266
-
267
- # header parameters
268
- header_params = opts[:header_params] || {}
269
- # HTTP header 'Accept' (if needed)
270
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
271
- # HTTP header 'Content-Type'
272
- content_type = @api_client.select_header_content_type(['application/json'])
273
- if !content_type.nil?
274
- header_params['Content-Type'] = content_type
275
- end
276
-
277
- # form parameters
278
- form_params = opts[:form_params] || {}
279
-
280
- # http body (model)
281
- post_body = opts[:debug_body] || @api_client.object_to_http_body(convert_resume_request)
282
-
283
- # return_type
284
- return_type = opts[:debug_return_type] || 'ConvertSuccessResponse'
285
-
286
- # auth_names
287
- auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
288
-
289
- new_options = opts.merge(
290
- :operation => :"FacturXConversionApi.resume_conversion_api_v1_convert_conversion_id_resume_post",
291
- :header_params => header_params,
292
- :query_params => query_params,
293
- :form_params => form_params,
294
- :body => post_body,
295
- :auth_names => auth_names,
296
- :return_type => return_type
297
- )
298
-
299
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
300
- if @api_client.config.debugging
301
- @api_client.config.logger.debug "API called: FacturXConversionApi#resume_conversion_api_v1_convert_conversion_id_resume_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
302
- end
303
- return data, status_code, headers
304
- end
305
- end
306
- end
@@ -1,254 +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 - Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Factur-X - Validation - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) ### ✍️ Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification ### 📋 Flux 6 - Invoice Lifecycle (CDAR) - **CDAR Messages**: Acknowledgements, invoice statuses - **PPF Statuses**: REFUSED (210), PAID (212) ### 📊 Flux 10 - E-Reporting - **Tax Declarations**: International B2B, B2C - **Flow Types**: 10.1 (B2B transactions), 10.2 (B2B payments), 10.3 (B2C transactions), 10.4 (B2C payments) ### 📡 AFNOR PDP/PA (XP Z12-013) - **Flow Service**: Submit and search flows to PDPs - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user ### 🏛️ Chorus Pro - **Public Sector Invoicing**: Complete API for Chorus Pro ### ⏳ Async Tasks - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **Webhooks**: Automatic notifications when tasks complete ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: contact@factpulse.fr
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.20.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'cgi'
14
-
15
- module FactPulse
16
- class FacturXGenerationApi
17
- attr_accessor :api_client
18
-
19
- def initialize(api_client = ApiClient.default)
20
- @api_client = api_client
21
- end
22
- # Generate a Factur-X invoice
23
- # Generates an electronic invoice in Factur-X format compliant with European standards. ## Applied Standards - **Factur-X** (France): FNFE-MPE standard (Forum National de la Facture Électronique) - **ZUGFeRD** (Germany): German format compatible with Factur-X - **EN 16931**: European semantic standard for electronic invoicing - **ISO 19005-3** (PDF/A-3): Long-term electronic archiving - **Cross Industry Invoice (CII)**: UN/CEFACT XML syntax ## 🆕 New: Simplified format with auto-enrichment (P0.1) You can now create an invoice by providing only: - An invoice number - A supplier SIRET + **IBAN** (required) - A recipient SIRET - Invoice lines (description, quantity, net price) **Simplified format example**: ```json { \"number\": \"FACT-2025-001\", \"supplier\": { \"siret\": \"92019522900017\", \"iban\": \"FR7630001007941234567890185\" }, \"recipient\": {\"siret\": \"35600000000048\"}, \"lines\": [ {\"description\": \"Service\", \"quantity\": 10, \"unitPrice\": 100.00, \"vatRate\": 20.0} ] } ``` **⚠️ Required fields (simplified format)**: - `number`: Unique invoice number - `supplier.siret`: Supplier's SIRET (14 digits) - `supplier.iban`: Bank account IBAN (no public API to retrieve it) - `recipient.siret`: Recipient's SIRET - `lines[]`: At least one invoice line **What happens automatically with `auto_enrich=True`**: - ✅ Name enrichment from Chorus Pro API - ✅ Address enrichment from Business Search API (free, public) - ✅ Automatic intra-EU VAT calculation (FR + key + SIREN) - ✅ Chorus Pro ID retrieval for electronic invoicing - ✅ Net/VAT/Gross totals calculation - ✅ Date generation (today + 30-day due date) - ✅ Multi-rate VAT handling **Supported identifiers**: - SIRET (14 digits): Specific establishment ⭐ Recommended - SIREN (9 digits): Company (auto-selection of headquarters) - Special types: UE_HORS_FRANCE, RIDET, TAHITI, etc. ## Checks performed during generation ### 1. Data validation (Pydantic) - Data types (amounts as Decimal, ISO 8601 dates) - Formats (14-digit SIRET, 9-digit SIREN, IBAN) - Required fields per profile - Amount consistency (Net + VAT = Gross) ### 2. CII-compliant XML generation - Serialization according to Cross Industry Invoice XSD schema - Correct UN/CEFACT namespaces - Hierarchical structure respected - UTF-8 encoding without BOM ### 3. Schematron validation - Business rules for selected profile (MINIMUM, BASIC, EN16931, EXTENDED) - Element cardinality (required, optional, repeatable) - Calculation rules (totals, VAT, discounts) - European EN 16931 compliance ### 4. PDF/A-3 conversion (if output_format='pdf') - Source PDF conversion to PDF/A-3 via Ghostscript - Factur-X XML embedding in PDF - Compliant XMP metadata - ICC sRGB color profile - Removal of forbidden elements (JavaScript, forms) ## How it works 1. **Submission**: Invoice is queued in Celery for asynchronous processing 2. **Immediate return**: You receive a `task_id` (HTTP 202 Accepted) 3. **Tracking**: Use the `/tasks/{task_id}/status` endpoint to track progress ## Webhook notification (recommended) Instead of polling, you can receive a webhook notification when the task completes: ``` callback_url=https://your-server.com/webhook ``` The webhook will POST a JSON payload with: - `event_type`: `generation.completed` or `generation.failed` - `data.task_id`: The Celery task ID - `data.content_b64` or `data.xml_content`: The generated content - `X-Webhook-Signature` header for HMAC verification See `/docs/WEBHOOKS.md` for full documentation. ## Output formats - **xml**: Generates only Factur-X XML (recommended for testing) - **pdf**: Generates PDF/A-3 with embedded XML (requires `source_pdf`) ## Factur-X profiles - **MINIMUM**: Minimal data (simplified invoice) - **BASIC**: Basic information (SMEs) - **EN16931**: European standard (recommended, compliant with directive 2014/55/EU) - **EXTENDED**: All available data (large accounts) ## What you get After successful processing (status `completed`): - **XML only**: Base64-encoded Factur-X compliant XML file - **PDF/A-3**: PDF with embedded XML, ready for sending/archiving - **Metadata**: Profile, Factur-X version, file size - **Validation**: Schematron compliance confirmation ## Validation Data is automatically validated according to detected format. On error, a 422 status is returned with invalid field details.
24
- # @param invoice_data [String] Invoice data in JSON format. Two formats accepted: 1. **Classic format**: Complete FacturXInvoice structure (all fields) 2. **Simplified format** (🆕 P0.1): Minimal structure with auto-enrichment Format is detected automatically!
25
- # @param [Hash] opts the optional parameters
26
- # @option opts [APIProfile] :profile Factur-X profile: MINIMUM, BASIC, EN16931 or EXTENDED.
27
- # @option opts [OutputFormat] :output_format Output format: &#39;xml&#39; (XML only) or &#39;pdf&#39; (Factur-X PDF with embedded XML).
28
- # @option opts [Boolean] :auto_enrich 🆕 Enable auto-enrichment from SIRET/SIREN (simplified format only) (default to true)
29
- # @option opts [File] :source_pdf
30
- # @option opts [String] :callback_url
31
- # @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')
32
- # @option opts [Boolean] :skip_br_fr
33
- # @return [TaskResponse]
34
- def generate_invoice_api_v1_processing_generate_invoice_post(invoice_data, opts = {})
35
- data, _status_code, _headers = generate_invoice_api_v1_processing_generate_invoice_post_with_http_info(invoice_data, opts)
36
- data
37
- end
38
-
39
- # Generate a Factur-X invoice
40
- # Generates an electronic invoice in Factur-X format compliant with European standards. ## Applied Standards - **Factur-X** (France): FNFE-MPE standard (Forum National de la Facture Électronique) - **ZUGFeRD** (Germany): German format compatible with Factur-X - **EN 16931**: European semantic standard for electronic invoicing - **ISO 19005-3** (PDF/A-3): Long-term electronic archiving - **Cross Industry Invoice (CII)**: UN/CEFACT XML syntax ## 🆕 New: Simplified format with auto-enrichment (P0.1) You can now create an invoice by providing only: - An invoice number - A supplier SIRET + **IBAN** (required) - A recipient SIRET - Invoice lines (description, quantity, net price) **Simplified format example**: &#x60;&#x60;&#x60;json { \&quot;number\&quot;: \&quot;FACT-2025-001\&quot;, \&quot;supplier\&quot;: { \&quot;siret\&quot;: \&quot;92019522900017\&quot;, \&quot;iban\&quot;: \&quot;FR7630001007941234567890185\&quot; }, \&quot;recipient\&quot;: {\&quot;siret\&quot;: \&quot;35600000000048\&quot;}, \&quot;lines\&quot;: [ {\&quot;description\&quot;: \&quot;Service\&quot;, \&quot;quantity\&quot;: 10, \&quot;unitPrice\&quot;: 100.00, \&quot;vatRate\&quot;: 20.0} ] } &#x60;&#x60;&#x60; **⚠️ Required fields (simplified format)**: - &#x60;number&#x60;: Unique invoice number - &#x60;supplier.siret&#x60;: Supplier&#39;s SIRET (14 digits) - &#x60;supplier.iban&#x60;: Bank account IBAN (no public API to retrieve it) - &#x60;recipient.siret&#x60;: Recipient&#39;s SIRET - &#x60;lines[]&#x60;: At least one invoice line **What happens automatically with &#x60;auto_enrich&#x3D;True&#x60;**: - ✅ Name enrichment from Chorus Pro API - ✅ Address enrichment from Business Search API (free, public) - ✅ Automatic intra-EU VAT calculation (FR + key + SIREN) - ✅ Chorus Pro ID retrieval for electronic invoicing - ✅ Net/VAT/Gross totals calculation - ✅ Date generation (today + 30-day due date) - ✅ Multi-rate VAT handling **Supported identifiers**: - SIRET (14 digits): Specific establishment ⭐ Recommended - SIREN (9 digits): Company (auto-selection of headquarters) - Special types: UE_HORS_FRANCE, RIDET, TAHITI, etc. ## Checks performed during generation ### 1. Data validation (Pydantic) - Data types (amounts as Decimal, ISO 8601 dates) - Formats (14-digit SIRET, 9-digit SIREN, IBAN) - Required fields per profile - Amount consistency (Net + VAT &#x3D; Gross) ### 2. CII-compliant XML generation - Serialization according to Cross Industry Invoice XSD schema - Correct UN/CEFACT namespaces - Hierarchical structure respected - UTF-8 encoding without BOM ### 3. Schematron validation - Business rules for selected profile (MINIMUM, BASIC, EN16931, EXTENDED) - Element cardinality (required, optional, repeatable) - Calculation rules (totals, VAT, discounts) - European EN 16931 compliance ### 4. PDF/A-3 conversion (if output_format&#x3D;&#39;pdf&#39;) - Source PDF conversion to PDF/A-3 via Ghostscript - Factur-X XML embedding in PDF - Compliant XMP metadata - ICC sRGB color profile - Removal of forbidden elements (JavaScript, forms) ## How it works 1. **Submission**: Invoice is queued in Celery for asynchronous processing 2. **Immediate return**: You receive a &#x60;task_id&#x60; (HTTP 202 Accepted) 3. **Tracking**: Use the &#x60;/tasks/{task_id}/status&#x60; endpoint to track progress ## Webhook notification (recommended) Instead of polling, you can receive a webhook notification when the task 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;generation.completed&#x60; or &#x60;generation.failed&#x60; - &#x60;data.task_id&#x60;: The Celery task ID - &#x60;data.content_b64&#x60; or &#x60;data.xml_content&#x60;: The generated content - &#x60;X-Webhook-Signature&#x60; header for HMAC verification See &#x60;/docs/WEBHOOKS.md&#x60; for full documentation. ## Output formats - **xml**: Generates only Factur-X XML (recommended for testing) - **pdf**: Generates PDF/A-3 with embedded XML (requires &#x60;source_pdf&#x60;) ## Factur-X profiles - **MINIMUM**: Minimal data (simplified invoice) - **BASIC**: Basic information (SMEs) - **EN16931**: European standard (recommended, compliant with directive 2014/55/EU) - **EXTENDED**: All available data (large accounts) ## What you get After successful processing (status &#x60;completed&#x60;): - **XML only**: Base64-encoded Factur-X compliant XML file - **PDF/A-3**: PDF with embedded XML, ready for sending/archiving - **Metadata**: Profile, Factur-X version, file size - **Validation**: Schematron compliance confirmation ## Validation Data is automatically validated according to detected format. On error, a 422 status is returned with invalid field details.
41
- # @param invoice_data [String] Invoice data in JSON format. Two formats accepted: 1. **Classic format**: Complete FacturXInvoice structure (all fields) 2. **Simplified format** (🆕 P0.1): Minimal structure with auto-enrichment Format is detected automatically!
42
- # @param [Hash] opts the optional parameters
43
- # @option opts [APIProfile] :profile Factur-X profile: MINIMUM, BASIC, EN16931 or EXTENDED.
44
- # @option opts [OutputFormat] :output_format Output format: &#39;xml&#39; (XML only) or &#39;pdf&#39; (Factur-X PDF with embedded XML).
45
- # @option opts [Boolean] :auto_enrich 🆕 Enable auto-enrichment from SIRET/SIREN (simplified format only) (default to true)
46
- # @option opts [File] :source_pdf
47
- # @option opts [String] :callback_url
48
- # @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')
49
- # @option opts [Boolean] :skip_br_fr
50
- # @return [Array<(TaskResponse, Integer, Hash)>] TaskResponse data, response status code and response headers
51
- def generate_invoice_api_v1_processing_generate_invoice_post_with_http_info(invoice_data, opts = {})
52
- if @api_client.config.debugging
53
- @api_client.config.logger.debug 'Calling API: FacturXGenerationApi.generate_invoice_api_v1_processing_generate_invoice_post ...'
54
- end
55
- # verify the required parameter 'invoice_data' is set
56
- if @api_client.config.client_side_validation && invoice_data.nil?
57
- fail ArgumentError, "Missing the required parameter 'invoice_data' when calling FacturXGenerationApi.generate_invoice_api_v1_processing_generate_invoice_post"
58
- end
59
- # resource path
60
- local_var_path = '/api/v1/processing/generate-invoice'
61
-
62
- # query parameters
63
- query_params = opts[:query_params] || {}
64
-
65
- # header parameters
66
- header_params = opts[:header_params] || {}
67
- # HTTP header 'Accept' (if needed)
68
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
69
- # HTTP header 'Content-Type'
70
- content_type = @api_client.select_header_content_type(['multipart/form-data'])
71
- if !content_type.nil?
72
- header_params['Content-Type'] = content_type
73
- end
74
-
75
- # form parameters
76
- form_params = opts[:form_params] || {}
77
- form_params['invoice_data'] = invoice_data
78
- form_params['profile'] = opts[:'profile'] if !opts[:'profile'].nil?
79
- form_params['output_format'] = opts[:'output_format'] if !opts[:'output_format'].nil?
80
- form_params['auto_enrich'] = opts[:'auto_enrich'] if !opts[:'auto_enrich'].nil?
81
- form_params['source_pdf'] = opts[:'source_pdf'] if !opts[:'source_pdf'].nil?
82
- form_params['callback_url'] = opts[:'callback_url'] if !opts[:'callback_url'].nil?
83
- form_params['webhook_mode'] = opts[:'webhook_mode'] if !opts[:'webhook_mode'].nil?
84
- form_params['skip_br_fr'] = opts[:'skip_br_fr'] if !opts[:'skip_br_fr'].nil?
85
-
86
- # http body (model)
87
- post_body = opts[:debug_body]
88
-
89
- # return_type
90
- return_type = opts[:debug_return_type] || 'TaskResponse'
91
-
92
- # auth_names
93
- auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
94
-
95
- new_options = opts.merge(
96
- :operation => :"FacturXGenerationApi.generate_invoice_api_v1_processing_generate_invoice_post",
97
- :header_params => header_params,
98
- :query_params => query_params,
99
- :form_params => form_params,
100
- :body => post_body,
101
- :auth_names => auth_names,
102
- :return_type => return_type
103
- )
104
-
105
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
106
- if @api_client.config.debugging
107
- @api_client.config.logger.debug "API called: FacturXGenerationApi#generate_invoice_api_v1_processing_generate_invoice_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
108
- end
109
- return data, status_code, headers
110
- end
111
-
112
- # Submit a complete invoice (generation + signature + submission)
113
- # Unified endpoint to submit a complete invoice to different destinations. **Facture prête pour Flux 2** - Génère une facture Factur-X complète avec signature optionnelle et soumission vers Chorus Pro ou PDP AFNOR. **Automated workflow:** 1. **Auto-enrichment** (optional): retrieves data via public APIs and Chorus Pro/AFNOR 2. **Factur-X PDF generation**: creates a PDF/A-3 with embedded XML 3. **Electronic signature** (optional): signs the PDF with a certificate 4. **Submission**: sends to the chosen destination (Chorus Pro or AFNOR PDP) **Supported destinations:** - **Chorus Pro**: French B2G platform (invoices to public sector) - **AFNOR PDP**: Partner Dematerialization Platforms **Destination credentials - 2 modes available:** **Mode 1 - Retrieval via JWT (recommended):** - Credentials are retrieved automatically via the JWT `client_uid` - Do not provide the `credentials` field in `destination` - Zero-trust architecture: no secrets in the payload - Example: `\"destination\": {\"type\": \"chorus_pro\"}` **Mode 2 - Credentials in the payload:** - Provide credentials directly in the payload - Useful for tests or third-party integrations - Example: `\"destination\": {\"type\": \"chorus_pro\", \"credentials\": {...}}` **Electronic signature (optional) - 2 modes available:** **Mode 1 - Stored certificate (recommended):** - Certificate is retrieved automatically via the JWT `client_uid` - No key to provide in the payload - PAdES-B-LT signature with timestamp (eIDAS compliant) - Example: `\"signature\": {\"reason\": \"Factur-X compliance\"}` **Mode 2 - Keys in the payload (for tests):** - Provide `key_pem` and `cert_pem` directly - PEM format accepted: raw or base64 - Useful for tests or special cases without stored certificate - Example: `\"signature\": {\"key_pem\": \"-----BEGIN...\", \"cert_pem\": \"-----BEGIN...\"}` If `key_pem` and `cert_pem` are provided → Mode 2 Otherwise → Mode 1 (certificate retrieved via `client_uid`)
114
- # @param submit_complete_invoice_request [SubmitCompleteInvoiceRequest]
115
- # @param [Hash] opts the optional parameters
116
- # @return [SubmitCompleteInvoiceResponse]
117
- def submit_complete_invoice_api_v1_processing_invoices_submit_complete_post(submit_complete_invoice_request, opts = {})
118
- data, _status_code, _headers = submit_complete_invoice_api_v1_processing_invoices_submit_complete_post_with_http_info(submit_complete_invoice_request, opts)
119
- data
120
- end
121
-
122
- # Submit a complete invoice (generation + signature + submission)
123
- # Unified endpoint to submit a complete invoice to different destinations. **Facture prête pour Flux 2** - Génère une facture Factur-X complète avec signature optionnelle et soumission vers Chorus Pro ou PDP AFNOR. **Automated workflow:** 1. **Auto-enrichment** (optional): retrieves data via public APIs and Chorus Pro/AFNOR 2. **Factur-X PDF generation**: creates a PDF/A-3 with embedded XML 3. **Electronic signature** (optional): signs the PDF with a certificate 4. **Submission**: sends to the chosen destination (Chorus Pro or AFNOR PDP) **Supported destinations:** - **Chorus Pro**: French B2G platform (invoices to public sector) - **AFNOR PDP**: Partner Dematerialization Platforms **Destination credentials - 2 modes available:** **Mode 1 - Retrieval via JWT (recommended):** - Credentials are retrieved automatically via the JWT &#x60;client_uid&#x60; - Do not provide the &#x60;credentials&#x60; field in &#x60;destination&#x60; - Zero-trust architecture: no secrets in the payload - Example: &#x60;\&quot;destination\&quot;: {\&quot;type\&quot;: \&quot;chorus_pro\&quot;}&#x60; **Mode 2 - Credentials in the payload:** - Provide credentials directly in the payload - Useful for tests or third-party integrations - Example: &#x60;\&quot;destination\&quot;: {\&quot;type\&quot;: \&quot;chorus_pro\&quot;, \&quot;credentials\&quot;: {...}}&#x60; **Electronic signature (optional) - 2 modes available:** **Mode 1 - Stored certificate (recommended):** - Certificate is retrieved automatically via the JWT &#x60;client_uid&#x60; - No key to provide in the payload - PAdES-B-LT signature with timestamp (eIDAS compliant) - Example: &#x60;\&quot;signature\&quot;: {\&quot;reason\&quot;: \&quot;Factur-X compliance\&quot;}&#x60; **Mode 2 - Keys in the payload (for tests):** - Provide &#x60;key_pem&#x60; and &#x60;cert_pem&#x60; directly - PEM format accepted: raw or base64 - Useful for tests or special cases without stored certificate - Example: &#x60;\&quot;signature\&quot;: {\&quot;key_pem\&quot;: \&quot;-----BEGIN...\&quot;, \&quot;cert_pem\&quot;: \&quot;-----BEGIN...\&quot;}&#x60; If &#x60;key_pem&#x60; and &#x60;cert_pem&#x60; are provided → Mode 2 Otherwise → Mode 1 (certificate retrieved via &#x60;client_uid&#x60;)
124
- # @param submit_complete_invoice_request [SubmitCompleteInvoiceRequest]
125
- # @param [Hash] opts the optional parameters
126
- # @return [Array<(SubmitCompleteInvoiceResponse, Integer, Hash)>] SubmitCompleteInvoiceResponse data, response status code and response headers
127
- def submit_complete_invoice_api_v1_processing_invoices_submit_complete_post_with_http_info(submit_complete_invoice_request, opts = {})
128
- if @api_client.config.debugging
129
- @api_client.config.logger.debug 'Calling API: FacturXGenerationApi.submit_complete_invoice_api_v1_processing_invoices_submit_complete_post ...'
130
- end
131
- # verify the required parameter 'submit_complete_invoice_request' is set
132
- if @api_client.config.client_side_validation && submit_complete_invoice_request.nil?
133
- fail ArgumentError, "Missing the required parameter 'submit_complete_invoice_request' when calling FacturXGenerationApi.submit_complete_invoice_api_v1_processing_invoices_submit_complete_post"
134
- end
135
- # resource path
136
- local_var_path = '/api/v1/processing/invoices/submit-complete'
137
-
138
- # query parameters
139
- query_params = opts[:query_params] || {}
140
-
141
- # header parameters
142
- header_params = opts[:header_params] || {}
143
- # HTTP header 'Accept' (if needed)
144
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
145
- # HTTP header 'Content-Type'
146
- content_type = @api_client.select_header_content_type(['application/json'])
147
- if !content_type.nil?
148
- header_params['Content-Type'] = content_type
149
- end
150
-
151
- # form parameters
152
- form_params = opts[:form_params] || {}
153
-
154
- # http body (model)
155
- post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_complete_invoice_request)
156
-
157
- # return_type
158
- return_type = opts[:debug_return_type] || 'SubmitCompleteInvoiceResponse'
159
-
160
- # auth_names
161
- auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
162
-
163
- new_options = opts.merge(
164
- :operation => :"FacturXGenerationApi.submit_complete_invoice_api_v1_processing_invoices_submit_complete_post",
165
- :header_params => header_params,
166
- :query_params => query_params,
167
- :form_params => form_params,
168
- :body => post_body,
169
- :auth_names => auth_names,
170
- :return_type => return_type
171
- )
172
-
173
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
174
- if @api_client.config.debugging
175
- @api_client.config.logger.debug "API called: FacturXGenerationApi#submit_complete_invoice_api_v1_processing_invoices_submit_complete_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
176
- end
177
- return data, status_code, headers
178
- end
179
-
180
- # Submit a complete invoice (asynchronous with Celery)
181
- # Asynchronous version of the `/invoices/submit-complete` endpoint using Celery for background processing. **Facture prête pour Flux 2** - Génère une facture Factur-X complète de manière asynchrone. **Automated workflow (same as synchronous version):** 1. **Auto-enrichment** (optional): retrieves data via public APIs and Chorus Pro/AFNOR 2. **Factur-X PDF generation**: creates a PDF/A-3 with embedded XML 3. **Electronic signature** (optional): signs the PDF with a certificate 4. **Submission**: sends to the chosen destination (Chorus Pro or AFNOR PDP) **Supported destinations:** - **Chorus Pro**: French B2G platform (invoices to public sector) - **AFNOR PDP**: Partner Dematerialization Platforms **Differences with synchronous version:** - ✅ **Non-blocking**: Returns immediately with a `task_id` (HTTP 202 Accepted) - ✅ **Background processing**: Invoice is processed by a Celery worker - ✅ **Progress tracking**: Use `/tasks/{task_id}/status` to track status - ✅ **Ideal for high volumes**: Allows processing many invoices in parallel **How to use:** 1. **Submission**: Call this endpoint with your invoice data 2. **Immediate return**: You receive a `task_id` (e.g., \"abc123-def456\") 3. **Tracking**: Call `/tasks/{task_id}/status` to check progress 4. **Result**: When `status = \"SUCCESS\"`, the `result` field contains the complete response **Webhook notification (recommended):** Instead of polling, add `?callback_url=https://your-server.com/webhook` to receive automatic notification: - `event_type`: `submission.completed`, `submission.failed`, or `submission.partial` - `data.submission_result`: Complete submission result - `X-Webhook-Signature` header for HMAC verification **Credentials and signature**: Same modes as the synchronous version (JWT or payload).
182
- # @param submit_complete_invoice_request [SubmitCompleteInvoiceRequest]
183
- # @param [Hash] opts the optional parameters
184
- # @option opts [String] :callback_url Webhook URL for async notification when submission completes.
185
- # @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')
186
- # @return [TaskResponse]
187
- def submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post(submit_complete_invoice_request, opts = {})
188
- data, _status_code, _headers = submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post_with_http_info(submit_complete_invoice_request, opts)
189
- data
190
- end
191
-
192
- # Submit a complete invoice (asynchronous with Celery)
193
- # Asynchronous version of the &#x60;/invoices/submit-complete&#x60; endpoint using Celery for background processing. **Facture prête pour Flux 2** - Génère une facture Factur-X complète de manière asynchrone. **Automated workflow (same as synchronous version):** 1. **Auto-enrichment** (optional): retrieves data via public APIs and Chorus Pro/AFNOR 2. **Factur-X PDF generation**: creates a PDF/A-3 with embedded XML 3. **Electronic signature** (optional): signs the PDF with a certificate 4. **Submission**: sends to the chosen destination (Chorus Pro or AFNOR PDP) **Supported destinations:** - **Chorus Pro**: French B2G platform (invoices to public sector) - **AFNOR PDP**: Partner Dematerialization Platforms **Differences with synchronous version:** - ✅ **Non-blocking**: Returns immediately with a &#x60;task_id&#x60; (HTTP 202 Accepted) - ✅ **Background processing**: Invoice is processed by a Celery worker - ✅ **Progress tracking**: Use &#x60;/tasks/{task_id}/status&#x60; to track status - ✅ **Ideal for high volumes**: Allows processing many invoices in parallel **How to use:** 1. **Submission**: Call this endpoint with your invoice data 2. **Immediate return**: You receive a &#x60;task_id&#x60; (e.g., \&quot;abc123-def456\&quot;) 3. **Tracking**: Call &#x60;/tasks/{task_id}/status&#x60; to check progress 4. **Result**: When &#x60;status &#x3D; \&quot;SUCCESS\&quot;&#x60;, the &#x60;result&#x60; field contains the complete response **Webhook notification (recommended):** Instead of polling, add &#x60;?callback_url&#x3D;https://your-server.com/webhook&#x60; to receive automatic notification: - &#x60;event_type&#x60;: &#x60;submission.completed&#x60;, &#x60;submission.failed&#x60;, or &#x60;submission.partial&#x60; - &#x60;data.submission_result&#x60;: Complete submission result - &#x60;X-Webhook-Signature&#x60; header for HMAC verification **Credentials and signature**: Same modes as the synchronous version (JWT or payload).
194
- # @param submit_complete_invoice_request [SubmitCompleteInvoiceRequest]
195
- # @param [Hash] opts the optional parameters
196
- # @option opts [String] :callback_url Webhook URL for async notification when submission completes.
197
- # @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')
198
- # @return [Array<(TaskResponse, Integer, Hash)>] TaskResponse data, response status code and response headers
199
- def submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post_with_http_info(submit_complete_invoice_request, opts = {})
200
- if @api_client.config.debugging
201
- @api_client.config.logger.debug 'Calling API: FacturXGenerationApi.submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post ...'
202
- end
203
- # verify the required parameter 'submit_complete_invoice_request' is set
204
- if @api_client.config.client_side_validation && submit_complete_invoice_request.nil?
205
- fail ArgumentError, "Missing the required parameter 'submit_complete_invoice_request' when calling FacturXGenerationApi.submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post"
206
- end
207
- # resource path
208
- local_var_path = '/api/v1/processing/invoices/submit-complete-async'
209
-
210
- # query parameters
211
- query_params = opts[:query_params] || {}
212
- query_params[:'callback_url'] = opts[:'callback_url'] if !opts[:'callback_url'].nil?
213
- query_params[:'webhook_mode'] = opts[:'webhook_mode'] if !opts[:'webhook_mode'].nil?
214
-
215
- # header parameters
216
- header_params = opts[:header_params] || {}
217
- # HTTP header 'Accept' (if needed)
218
- header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
219
- # HTTP header 'Content-Type'
220
- content_type = @api_client.select_header_content_type(['application/json'])
221
- if !content_type.nil?
222
- header_params['Content-Type'] = content_type
223
- end
224
-
225
- # form parameters
226
- form_params = opts[:form_params] || {}
227
-
228
- # http body (model)
229
- post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_complete_invoice_request)
230
-
231
- # return_type
232
- return_type = opts[:debug_return_type] || 'TaskResponse'
233
-
234
- # auth_names
235
- auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
236
-
237
- new_options = opts.merge(
238
- :operation => :"FacturXGenerationApi.submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post",
239
- :header_params => header_params,
240
- :query_params => query_params,
241
- :form_params => form_params,
242
- :body => post_body,
243
- :auth_names => auth_names,
244
- :return_type => return_type
245
- )
246
-
247
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
248
- if @api_client.config.debugging
249
- @api_client.config.logger.debug "API called: FacturXGenerationApi#submit_complete_invoice_async_api_v1_processing_invoices_submit_complete_async_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
250
- end
251
- return data, status_code, headers
252
- end
253
- end
254
- end