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,12 +1,12 @@
1
1
  =begin
2
- #FactPulse REST API
2
+ #API REST FactPulse
3
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/
4
+ # API REST pour la facturation électronique en France : Factur-X, AFNOR PDP/PA, signatures électroniques. ## 🎯 Fonctionnalités principales ### 📄 Génération de factures Factur-X - **Formats** : XML seul ou PDF/A-3 avec XML embarqué - **Profils** : MINIMUM, BASIC, EN16931, EXTENDED - **Normes** : EN 16931 (directive UE 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Format simplifié** : Génération à partir de SIRET + auto-enrichissement (API Chorus Pro + Recherche Entreprises) ### ✅ Validation et conformité - **Validation XML** : Schematron (45 à 210+ règles selon profil) - **Validation PDF** : PDF/A-3, métadonnées XMP Factur-X, signatures électroniques - **VeraPDF** : Validation stricte PDF/A (146+ règles ISO 19005-3) - **Traitement asynchrone** : Support Celery pour validations lourdes (VeraPDF) ### 📡 Intégration AFNOR PDP/PA (XP Z12-013) - **Soumission de flux** : Envoi de factures vers Plateformes de Dématérialisation Partenaires - **Recherche de flux** : Consultation des factures soumises - **Téléchargement** : Récupération des PDF/A-3 avec XML - **Directory Service** : Recherche d'entreprises (SIREN/SIRET) - **Multi-client** : Support de plusieurs configs PDP par utilisateur (stored credentials ou zero-storage) ### ✍️ Signature électronique PDF - **Standards** : PAdES-B-B, PAdES-B-T (horodatage RFC 3161), PAdES-B-LT (archivage long terme) - **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO) - **Validation** : Vérification intégrité cryptographique et certificats - **Génération de certificats** : Certificats X.509 auto-signés pour tests ### 🔄 Traitement asynchrone - **Celery** : Génération, validation et signature asynchrones - **Polling** : Suivi d'état via `/taches/{id_tache}/statut` - **Pas de timeout** : Idéal pour gros fichiers ou validations lourdes ## 🔒 Authentification Toutes les requêtes nécessitent un **token JWT** dans le header Authorization : ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### Comment obtenir un token JWT ? #### 🔑 Méthode 1 : API `/api/token/` (Recommandée) **URL :** `https://www.factpulse.fr/api/token/` Cette méthode est **recommandée** pour l'intégration dans vos applications et workflows CI/CD. **Prérequis :** Avoir défini un mot de passe sur votre compte **Pour les utilisateurs inscrits via email/password :** - Vous avez déjà un mot de passe, utilisez-le directement **Pour les utilisateurs inscrits via OAuth (Google/GitHub) :** - Vous devez d'abord définir un mot de passe sur : https://www.factpulse.fr/accounts/password/set/ - Une fois le mot de passe créé, vous pourrez utiliser l'API **Exemple de requête :** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\" }' ``` **Paramètre optionnel `client_uid` :** Pour sélectionner les credentials d'un client spécifique (PA/PDP, Chorus Pro, certificats de signature), ajoutez `client_uid` : ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` Le `client_uid` sera inclus dans le JWT et permettra à l'API d'utiliser automatiquement : - Les credentials AFNOR/PDP configurés pour ce client - Les credentials Chorus Pro configurés pour ce client - Les certificats de signature électronique configurés pour ce client **Réponse :** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Token d'accès (validité: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Token de rafraîchissement (validité: 7 jours) } ``` **Avantages :** - ✅ Automatisation complète (CI/CD, scripts) - ✅ Gestion programmatique des tokens - ✅ Support du refresh token pour renouveler automatiquement l'accès - ✅ Intégration facile dans n'importe quel langage/outil #### 🖥️ Méthode 2 : Génération via Dashboard (Alternative) **URL :** https://www.factpulse.fr/dashboard/ Cette méthode convient pour des tests rapides ou une utilisation occasionnelle via l'interface graphique. **Fonctionnement :** - Connectez-vous au dashboard - Utilisez les boutons \"Generate Test Token\" ou \"Generate Production Token\" - Fonctionne pour **tous** les utilisateurs (OAuth et email/password), sans nécessiter de mot de passe **Types de tokens :** - **Token Test** : Validité 24h, quota 1000 appels/jour (gratuit) - **Token Production** : Validité 7 jours, quota selon votre forfait **Avantages :** - ✅ Rapide pour tester l'API - ✅ Aucun mot de passe requis - ✅ Interface visuelle simple **Inconvénients :** - ❌ Nécessite une action manuelle - ❌ Pas de refresh token - ❌ Moins adapté pour l'automatisation ### 📚 Documentation complète Pour plus d'informations sur l'authentification et l'utilisation de l'API : https://www.factpulse.fr/documentation-api/
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
- Contact: contact@factpulse.fr
7
+
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.20.0-SNAPSHOT
9
+ Generator version: 7.18.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,216 @@
1
+ =begin
2
+ #API REST FactPulse
3
+
4
+ # API REST pour la facturation électronique en France : Factur-X, AFNOR PDP/PA, signatures électroniques. ## 🎯 Fonctionnalités principales ### 📄 Génération de factures Factur-X - **Formats** : XML seul ou PDF/A-3 avec XML embarqué - **Profils** : MINIMUM, BASIC, EN16931, EXTENDED - **Normes** : EN 16931 (directive UE 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Format simplifié** : Génération à partir de SIRET + auto-enrichissement (API Chorus Pro + Recherche Entreprises) ### ✅ Validation et conformité - **Validation XML** : Schematron (45 à 210+ règles selon profil) - **Validation PDF** : PDF/A-3, métadonnées XMP Factur-X, signatures électroniques - **VeraPDF** : Validation stricte PDF/A (146+ règles ISO 19005-3) - **Traitement asynchrone** : Support Celery pour validations lourdes (VeraPDF) ### 📡 Intégration AFNOR PDP/PA (XP Z12-013) - **Soumission de flux** : Envoi de factures vers Plateformes de Dématérialisation Partenaires - **Recherche de flux** : Consultation des factures soumises - **Téléchargement** : Récupération des PDF/A-3 avec XML - **Directory Service** : Recherche d'entreprises (SIREN/SIRET) - **Multi-client** : Support de plusieurs configs PDP par utilisateur (stored credentials ou zero-storage) ### ✍️ Signature électronique PDF - **Standards** : PAdES-B-B, PAdES-B-T (horodatage RFC 3161), PAdES-B-LT (archivage long terme) - **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO) - **Validation** : Vérification intégrité cryptographique et certificats - **Génération de certificats** : Certificats X.509 auto-signés pour tests ### 🔄 Traitement asynchrone - **Celery** : Génération, validation et signature asynchrones - **Polling** : Suivi d'état via `/taches/{id_tache}/statut` - **Pas de timeout** : Idéal pour gros fichiers ou validations lourdes ## 🔒 Authentification Toutes les requêtes nécessitent un **token JWT** dans le header Authorization : ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### Comment obtenir un token JWT ? #### 🔑 Méthode 1 : API `/api/token/` (Recommandée) **URL :** `https://www.factpulse.fr/api/token/` Cette méthode est **recommandée** pour l'intégration dans vos applications et workflows CI/CD. **Prérequis :** Avoir défini un mot de passe sur votre compte **Pour les utilisateurs inscrits via email/password :** - Vous avez déjà un mot de passe, utilisez-le directement **Pour les utilisateurs inscrits via OAuth (Google/GitHub) :** - Vous devez d'abord définir un mot de passe sur : https://www.factpulse.fr/accounts/password/set/ - Une fois le mot de passe créé, vous pourrez utiliser l'API **Exemple de requête :** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\" }' ``` **Paramètre optionnel `client_uid` :** Pour sélectionner les credentials d'un client spécifique (PA/PDP, Chorus Pro, certificats de signature), ajoutez `client_uid` : ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` Le `client_uid` sera inclus dans le JWT et permettra à l'API d'utiliser automatiquement : - Les credentials AFNOR/PDP configurés pour ce client - Les credentials Chorus Pro configurés pour ce client - Les certificats de signature électronique configurés pour ce client **Réponse :** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Token d'accès (validité: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Token de rafraîchissement (validité: 7 jours) } ``` **Avantages :** - ✅ Automatisation complète (CI/CD, scripts) - ✅ Gestion programmatique des tokens - ✅ Support du refresh token pour renouveler automatiquement l'accès - ✅ Intégration facile dans n'importe quel langage/outil #### 🖥️ Méthode 2 : Génération via Dashboard (Alternative) **URL :** https://www.factpulse.fr/dashboard/ Cette méthode convient pour des tests rapides ou une utilisation occasionnelle via l'interface graphique. **Fonctionnement :** - Connectez-vous au dashboard - Utilisez les boutons \"Generate Test Token\" ou \"Generate Production Token\" - Fonctionne pour **tous** les utilisateurs (OAuth et email/password), sans nécessiter de mot de passe **Types de tokens :** - **Token Test** : Validité 24h, quota 1000 appels/jour (gratuit) - **Token Production** : Validité 7 jours, quota selon votre forfait **Avantages :** - ✅ Rapide pour tester l'API - ✅ Aucun mot de passe requis - ✅ Interface visuelle simple **Inconvénients :** - ❌ Nécessite une action manuelle - ❌ Pas de refresh token - ❌ Moins adapté pour l'automatisation ### 📚 Documentation complète Pour plus d'informations sur l'authentification et l'utilisation de l'API : https://www.factpulse.fr/documentation-api/
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.18.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FactPulse
17
+ # Informations sur une signature électronique dans un PDF.
18
+ class InformationSignatureAPI < ApiModelBase
19
+ # Nom du champ de signature dans le PDF
20
+ attr_accessor :nom_champ
21
+
22
+ attr_accessor :signataire
23
+
24
+ attr_accessor :date_signature
25
+
26
+ attr_accessor :raison
27
+
28
+ attr_accessor :localisation
29
+
30
+ attr_accessor :est_valide
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'nom_champ' => :'nom_champ',
36
+ :'signataire' => :'signataire',
37
+ :'date_signature' => :'date_signature',
38
+ :'raison' => :'raison',
39
+ :'localisation' => :'localisation',
40
+ :'est_valide' => :'est_valide'
41
+ }
42
+ end
43
+
44
+ # Returns attribute mapping this model knows about
45
+ def self.acceptable_attribute_map
46
+ attribute_map
47
+ end
48
+
49
+ # Returns all the JSON keys this model knows about
50
+ def self.acceptable_attributes
51
+ acceptable_attribute_map.values
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.openapi_types
56
+ {
57
+ :'nom_champ' => :'String',
58
+ :'signataire' => :'String',
59
+ :'date_signature' => :'String',
60
+ :'raison' => :'String',
61
+ :'localisation' => :'String',
62
+ :'est_valide' => :'Boolean'
63
+ }
64
+ end
65
+
66
+ # List of attributes with nullable: true
67
+ def self.openapi_nullable
68
+ Set.new([
69
+ :'signataire',
70
+ :'date_signature',
71
+ :'raison',
72
+ :'localisation',
73
+ :'est_valide'
74
+ ])
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ if (!attributes.is_a?(Hash))
81
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FactPulse::InformationSignatureAPI` initialize method"
82
+ end
83
+
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ acceptable_attribute_map = self.class.acceptable_attribute_map
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!acceptable_attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FactPulse::InformationSignatureAPI`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'nom_champ')
94
+ self.nom_champ = attributes[:'nom_champ']
95
+ else
96
+ self.nom_champ = nil
97
+ end
98
+
99
+ if attributes.key?(:'signataire')
100
+ self.signataire = attributes[:'signataire']
101
+ end
102
+
103
+ if attributes.key?(:'date_signature')
104
+ self.date_signature = attributes[:'date_signature']
105
+ end
106
+
107
+ if attributes.key?(:'raison')
108
+ self.raison = attributes[:'raison']
109
+ end
110
+
111
+ if attributes.key?(:'localisation')
112
+ self.localisation = attributes[:'localisation']
113
+ end
114
+
115
+ if attributes.key?(:'est_valide')
116
+ self.est_valide = attributes[:'est_valide']
117
+ end
118
+ end
119
+
120
+ # Show invalid properties with the reasons. Usually used together with valid?
121
+ # @return Array for valid properties with the reasons
122
+ def list_invalid_properties
123
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
124
+ invalid_properties = Array.new
125
+ if @nom_champ.nil?
126
+ invalid_properties.push('invalid value for "nom_champ", nom_champ cannot be nil.')
127
+ end
128
+
129
+ invalid_properties
130
+ end
131
+
132
+ # Check to see if the all the properties in the model are valid
133
+ # @return true if the model is valid
134
+ def valid?
135
+ warn '[DEPRECATED] the `valid?` method is obsolete'
136
+ return false if @nom_champ.nil?
137
+ true
138
+ end
139
+
140
+ # Custom attribute writer method with validation
141
+ # @param [Object] nom_champ Value to be assigned
142
+ def nom_champ=(nom_champ)
143
+ if nom_champ.nil?
144
+ fail ArgumentError, 'nom_champ cannot be nil'
145
+ end
146
+
147
+ @nom_champ = nom_champ
148
+ end
149
+
150
+ # Checks equality by comparing each attribute.
151
+ # @param [Object] Object to be compared
152
+ def ==(o)
153
+ return true if self.equal?(o)
154
+ self.class == o.class &&
155
+ nom_champ == o.nom_champ &&
156
+ signataire == o.signataire &&
157
+ date_signature == o.date_signature &&
158
+ raison == o.raison &&
159
+ localisation == o.localisation &&
160
+ est_valide == o.est_valide
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [nom_champ, signataire, date_signature, raison, localisation, est_valide].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ return nil unless attributes.is_a?(Hash)
180
+ attributes = attributes.transform_keys(&:to_sym)
181
+ transformed_hash = {}
182
+ openapi_types.each_pair do |key, type|
183
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
184
+ transformed_hash["#{key}"] = nil
185
+ elsif type =~ /\AArray<(.*)>/i
186
+ # check to ensure the input is an array given that the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[attribute_map[key]].is_a?(Array)
189
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
190
+ end
191
+ elsif !attributes[attribute_map[key]].nil?
192
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
193
+ end
194
+ end
195
+ new(transformed_hash)
196
+ end
197
+
198
+ # Returns the object in the form of hash
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_hash
201
+ hash = {}
202
+ self.class.attribute_map.each_pair do |attr, param|
203
+ value = self.send(attr)
204
+ if value.nil?
205
+ is_nullable = self.class.openapi_nullable.include?(attr)
206
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
207
+ end
208
+
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ end
215
+
216
+ end
@@ -0,0 +1,390 @@
1
+ =begin
2
+ #API REST FactPulse
3
+
4
+ # API REST pour la facturation électronique en France : Factur-X, AFNOR PDP/PA, signatures électroniques. ## 🎯 Fonctionnalités principales ### 📄 Génération de factures Factur-X - **Formats** : XML seul ou PDF/A-3 avec XML embarqué - **Profils** : MINIMUM, BASIC, EN16931, EXTENDED - **Normes** : EN 16931 (directive UE 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Format simplifié** : Génération à partir de SIRET + auto-enrichissement (API Chorus Pro + Recherche Entreprises) ### ✅ Validation et conformité - **Validation XML** : Schematron (45 à 210+ règles selon profil) - **Validation PDF** : PDF/A-3, métadonnées XMP Factur-X, signatures électroniques - **VeraPDF** : Validation stricte PDF/A (146+ règles ISO 19005-3) - **Traitement asynchrone** : Support Celery pour validations lourdes (VeraPDF) ### 📡 Intégration AFNOR PDP/PA (XP Z12-013) - **Soumission de flux** : Envoi de factures vers Plateformes de Dématérialisation Partenaires - **Recherche de flux** : Consultation des factures soumises - **Téléchargement** : Récupération des PDF/A-3 avec XML - **Directory Service** : Recherche d'entreprises (SIREN/SIRET) - **Multi-client** : Support de plusieurs configs PDP par utilisateur (stored credentials ou zero-storage) ### ✍️ Signature électronique PDF - **Standards** : PAdES-B-B, PAdES-B-T (horodatage RFC 3161), PAdES-B-LT (archivage long terme) - **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO) - **Validation** : Vérification intégrité cryptographique et certificats - **Génération de certificats** : Certificats X.509 auto-signés pour tests ### 🔄 Traitement asynchrone - **Celery** : Génération, validation et signature asynchrones - **Polling** : Suivi d'état via `/taches/{id_tache}/statut` - **Pas de timeout** : Idéal pour gros fichiers ou validations lourdes ## 🔒 Authentification Toutes les requêtes nécessitent un **token JWT** dans le header Authorization : ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### Comment obtenir un token JWT ? #### 🔑 Méthode 1 : API `/api/token/` (Recommandée) **URL :** `https://www.factpulse.fr/api/token/` Cette méthode est **recommandée** pour l'intégration dans vos applications et workflows CI/CD. **Prérequis :** Avoir défini un mot de passe sur votre compte **Pour les utilisateurs inscrits via email/password :** - Vous avez déjà un mot de passe, utilisez-le directement **Pour les utilisateurs inscrits via OAuth (Google/GitHub) :** - Vous devez d'abord définir un mot de passe sur : https://www.factpulse.fr/accounts/password/set/ - Une fois le mot de passe créé, vous pourrez utiliser l'API **Exemple de requête :** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\" }' ``` **Paramètre optionnel `client_uid` :** Pour sélectionner les credentials d'un client spécifique (PA/PDP, Chorus Pro, certificats de signature), ajoutez `client_uid` : ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` Le `client_uid` sera inclus dans le JWT et permettra à l'API d'utiliser automatiquement : - Les credentials AFNOR/PDP configurés pour ce client - Les credentials Chorus Pro configurés pour ce client - Les certificats de signature électronique configurés pour ce client **Réponse :** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Token d'accès (validité: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Token de rafraîchissement (validité: 7 jours) } ``` **Avantages :** - ✅ Automatisation complète (CI/CD, scripts) - ✅ Gestion programmatique des tokens - ✅ Support du refresh token pour renouveler automatiquement l'accès - ✅ Intégration facile dans n'importe quel langage/outil #### 🖥️ Méthode 2 : Génération via Dashboard (Alternative) **URL :** https://www.factpulse.fr/dashboard/ Cette méthode convient pour des tests rapides ou une utilisation occasionnelle via l'interface graphique. **Fonctionnement :** - Connectez-vous au dashboard - Utilisez les boutons \"Generate Test Token\" ou \"Generate Production Token\" - Fonctionne pour **tous** les utilisateurs (OAuth et email/password), sans nécessiter de mot de passe **Types de tokens :** - **Token Test** : Validité 24h, quota 1000 appels/jour (gratuit) - **Token Production** : Validité 7 jours, quota selon votre forfait **Avantages :** - ✅ Rapide pour tester l'API - ✅ Aucun mot de passe requis - ✅ Interface visuelle simple **Inconvénients :** - ❌ Nécessite une action manuelle - ❌ Pas de refresh token - ❌ Moins adapté pour l'automatisation ### 📚 Documentation complète Pour plus d'informations sur l'authentification et l'utilisation de l'API : https://www.factpulse.fr/documentation-api/
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.18.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FactPulse
17
+ # Représente une ligne de détail dans une facture.
18
+ class LigneDePoste < ApiModelBase
19
+ attr_accessor :numero
20
+
21
+ attr_accessor :reference
22
+
23
+ attr_accessor :denomination
24
+
25
+ attr_accessor :quantite
26
+
27
+ attr_accessor :unite
28
+
29
+ attr_accessor :montant_unitaire_ht
30
+
31
+ attr_accessor :montant_remise_ht
32
+
33
+ attr_accessor :montant_total_ligne_ht
34
+
35
+ attr_accessor :taux_tva
36
+
37
+ attr_accessor :taux_tva_manuel
38
+
39
+ attr_accessor :categorie_tva
40
+
41
+ attr_accessor :date_debut_periode
42
+
43
+ attr_accessor :date_fin_periode
44
+
45
+ attr_accessor :code_raison_reduction
46
+
47
+ attr_accessor :raison_reduction
48
+
49
+ class EnumAttributeValidator
50
+ attr_reader :datatype
51
+ attr_reader :allowable_values
52
+
53
+ def initialize(datatype, allowable_values)
54
+ @allowable_values = allowable_values.map do |value|
55
+ case datatype.to_s
56
+ when /Integer/i
57
+ value.to_i
58
+ when /Float/i
59
+ value.to_f
60
+ else
61
+ value
62
+ end
63
+ end
64
+ end
65
+
66
+ def valid?(value)
67
+ !value || allowable_values.include?(value)
68
+ end
69
+ end
70
+
71
+ # Attribute mapping from ruby-style variable name to JSON key.
72
+ def self.attribute_map
73
+ {
74
+ :'numero' => :'numero',
75
+ :'reference' => :'reference',
76
+ :'denomination' => :'denomination',
77
+ :'quantite' => :'quantite',
78
+ :'unite' => :'unite',
79
+ :'montant_unitaire_ht' => :'montantUnitaireHt',
80
+ :'montant_remise_ht' => :'montantRemiseHt',
81
+ :'montant_total_ligne_ht' => :'montantTotalLigneHt',
82
+ :'taux_tva' => :'tauxTva',
83
+ :'taux_tva_manuel' => :'tauxTvaManuel',
84
+ :'categorie_tva' => :'categorieTva',
85
+ :'date_debut_periode' => :'dateDebutPeriode',
86
+ :'date_fin_periode' => :'dateFinPeriode',
87
+ :'code_raison_reduction' => :'codeRaisonReduction',
88
+ :'raison_reduction' => :'raisonReduction'
89
+ }
90
+ end
91
+
92
+ # Returns attribute mapping this model knows about
93
+ def self.acceptable_attribute_map
94
+ attribute_map
95
+ end
96
+
97
+ # Returns all the JSON keys this model knows about
98
+ def self.acceptable_attributes
99
+ acceptable_attribute_map.values
100
+ end
101
+
102
+ # Attribute type mapping.
103
+ def self.openapi_types
104
+ {
105
+ :'numero' => :'Integer',
106
+ :'reference' => :'String',
107
+ :'denomination' => :'String',
108
+ :'quantite' => :'Quantite',
109
+ :'unite' => :'Unite',
110
+ :'montant_unitaire_ht' => :'MontantUnitaireHt',
111
+ :'montant_remise_ht' => :'LigneDePosteMontantRemiseHt',
112
+ :'montant_total_ligne_ht' => :'MontantTotalLigneHt',
113
+ :'taux_tva' => :'String',
114
+ :'taux_tva_manuel' => :'LigneDePosteTauxTvaManuel',
115
+ :'categorie_tva' => :'CategorieTVA',
116
+ :'date_debut_periode' => :'String',
117
+ :'date_fin_periode' => :'String',
118
+ :'code_raison_reduction' => :'CodeRaisonReduction',
119
+ :'raison_reduction' => :'String'
120
+ }
121
+ end
122
+
123
+ # List of attributes with nullable: true
124
+ def self.openapi_nullable
125
+ Set.new([
126
+ :'reference',
127
+ :'montant_remise_ht',
128
+ :'taux_tva',
129
+ :'taux_tva_manuel',
130
+ :'categorie_tva',
131
+ :'date_debut_periode',
132
+ :'date_fin_periode',
133
+ :'code_raison_reduction',
134
+ :'raison_reduction'
135
+ ])
136
+ end
137
+
138
+ # Initializes the object
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ def initialize(attributes = {})
141
+ if (!attributes.is_a?(Hash))
142
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FactPulse::LigneDePoste` initialize method"
143
+ end
144
+
145
+ # check to see if the attribute exists and convert string to symbol for hash key
146
+ acceptable_attribute_map = self.class.acceptable_attribute_map
147
+ attributes = attributes.each_with_object({}) { |(k, v), h|
148
+ if (!acceptable_attribute_map.key?(k.to_sym))
149
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FactPulse::LigneDePoste`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
150
+ end
151
+ h[k.to_sym] = v
152
+ }
153
+
154
+ if attributes.key?(:'numero')
155
+ self.numero = attributes[:'numero']
156
+ else
157
+ self.numero = nil
158
+ end
159
+
160
+ if attributes.key?(:'reference')
161
+ self.reference = attributes[:'reference']
162
+ end
163
+
164
+ if attributes.key?(:'denomination')
165
+ self.denomination = attributes[:'denomination']
166
+ else
167
+ self.denomination = nil
168
+ end
169
+
170
+ if attributes.key?(:'quantite')
171
+ self.quantite = attributes[:'quantite']
172
+ else
173
+ self.quantite = nil
174
+ end
175
+
176
+ if attributes.key?(:'unite')
177
+ self.unite = attributes[:'unite']
178
+ else
179
+ self.unite = nil
180
+ end
181
+
182
+ if attributes.key?(:'montant_unitaire_ht')
183
+ self.montant_unitaire_ht = attributes[:'montant_unitaire_ht']
184
+ else
185
+ self.montant_unitaire_ht = nil
186
+ end
187
+
188
+ if attributes.key?(:'montant_remise_ht')
189
+ self.montant_remise_ht = attributes[:'montant_remise_ht']
190
+ end
191
+
192
+ if attributes.key?(:'montant_total_ligne_ht')
193
+ self.montant_total_ligne_ht = attributes[:'montant_total_ligne_ht']
194
+ end
195
+
196
+ if attributes.key?(:'taux_tva')
197
+ self.taux_tva = attributes[:'taux_tva']
198
+ end
199
+
200
+ if attributes.key?(:'taux_tva_manuel')
201
+ self.taux_tva_manuel = attributes[:'taux_tva_manuel']
202
+ end
203
+
204
+ if attributes.key?(:'categorie_tva')
205
+ self.categorie_tva = attributes[:'categorie_tva']
206
+ end
207
+
208
+ if attributes.key?(:'date_debut_periode')
209
+ self.date_debut_periode = attributes[:'date_debut_periode']
210
+ end
211
+
212
+ if attributes.key?(:'date_fin_periode')
213
+ self.date_fin_periode = attributes[:'date_fin_periode']
214
+ end
215
+
216
+ if attributes.key?(:'code_raison_reduction')
217
+ self.code_raison_reduction = attributes[:'code_raison_reduction']
218
+ end
219
+
220
+ if attributes.key?(:'raison_reduction')
221
+ self.raison_reduction = attributes[:'raison_reduction']
222
+ end
223
+ end
224
+
225
+ # Show invalid properties with the reasons. Usually used together with valid?
226
+ # @return Array for valid properties with the reasons
227
+ def list_invalid_properties
228
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
229
+ invalid_properties = Array.new
230
+ if @numero.nil?
231
+ invalid_properties.push('invalid value for "numero", numero cannot be nil.')
232
+ end
233
+
234
+ if @denomination.nil?
235
+ invalid_properties.push('invalid value for "denomination", denomination cannot be nil.')
236
+ end
237
+
238
+ if @quantite.nil?
239
+ invalid_properties.push('invalid value for "quantite", quantite cannot be nil.')
240
+ end
241
+
242
+ if @unite.nil?
243
+ invalid_properties.push('invalid value for "unite", unite cannot be nil.')
244
+ end
245
+
246
+ if @montant_unitaire_ht.nil?
247
+ invalid_properties.push('invalid value for "montant_unitaire_ht", montant_unitaire_ht cannot be nil.')
248
+ end
249
+
250
+ invalid_properties
251
+ end
252
+
253
+ # Check to see if the all the properties in the model are valid
254
+ # @return true if the model is valid
255
+ def valid?
256
+ warn '[DEPRECATED] the `valid?` method is obsolete'
257
+ return false if @numero.nil?
258
+ return false if @denomination.nil?
259
+ return false if @quantite.nil?
260
+ return false if @unite.nil?
261
+ return false if @montant_unitaire_ht.nil?
262
+ true
263
+ end
264
+
265
+ # Custom attribute writer method with validation
266
+ # @param [Object] numero Value to be assigned
267
+ def numero=(numero)
268
+ if numero.nil?
269
+ fail ArgumentError, 'numero cannot be nil'
270
+ end
271
+
272
+ @numero = numero
273
+ end
274
+
275
+ # Custom attribute writer method with validation
276
+ # @param [Object] denomination Value to be assigned
277
+ def denomination=(denomination)
278
+ if denomination.nil?
279
+ fail ArgumentError, 'denomination cannot be nil'
280
+ end
281
+
282
+ @denomination = denomination
283
+ end
284
+
285
+ # Custom attribute writer method with validation
286
+ # @param [Object] quantite Value to be assigned
287
+ def quantite=(quantite)
288
+ if quantite.nil?
289
+ fail ArgumentError, 'quantite cannot be nil'
290
+ end
291
+
292
+ @quantite = quantite
293
+ end
294
+
295
+ # Custom attribute writer method with validation
296
+ # @param [Object] unite Value to be assigned
297
+ def unite=(unite)
298
+ if unite.nil?
299
+ fail ArgumentError, 'unite cannot be nil'
300
+ end
301
+
302
+ @unite = unite
303
+ end
304
+
305
+ # Custom attribute writer method with validation
306
+ # @param [Object] montant_unitaire_ht Value to be assigned
307
+ def montant_unitaire_ht=(montant_unitaire_ht)
308
+ if montant_unitaire_ht.nil?
309
+ fail ArgumentError, 'montant_unitaire_ht cannot be nil'
310
+ end
311
+
312
+ @montant_unitaire_ht = montant_unitaire_ht
313
+ end
314
+
315
+ # Checks equality by comparing each attribute.
316
+ # @param [Object] Object to be compared
317
+ def ==(o)
318
+ return true if self.equal?(o)
319
+ self.class == o.class &&
320
+ numero == o.numero &&
321
+ reference == o.reference &&
322
+ denomination == o.denomination &&
323
+ quantite == o.quantite &&
324
+ unite == o.unite &&
325
+ montant_unitaire_ht == o.montant_unitaire_ht &&
326
+ montant_remise_ht == o.montant_remise_ht &&
327
+ montant_total_ligne_ht == o.montant_total_ligne_ht &&
328
+ taux_tva == o.taux_tva &&
329
+ taux_tva_manuel == o.taux_tva_manuel &&
330
+ categorie_tva == o.categorie_tva &&
331
+ date_debut_periode == o.date_debut_periode &&
332
+ date_fin_periode == o.date_fin_periode &&
333
+ code_raison_reduction == o.code_raison_reduction &&
334
+ raison_reduction == o.raison_reduction
335
+ end
336
+
337
+ # @see the `==` method
338
+ # @param [Object] Object to be compared
339
+ def eql?(o)
340
+ self == o
341
+ end
342
+
343
+ # Calculates hash code according to all attributes.
344
+ # @return [Integer] Hash code
345
+ def hash
346
+ [numero, reference, denomination, quantite, unite, montant_unitaire_ht, montant_remise_ht, montant_total_ligne_ht, taux_tva, taux_tva_manuel, categorie_tva, date_debut_periode, date_fin_periode, code_raison_reduction, raison_reduction].hash
347
+ end
348
+
349
+ # Builds the object from hash
350
+ # @param [Hash] attributes Model attributes in the form of hash
351
+ # @return [Object] Returns the model itself
352
+ def self.build_from_hash(attributes)
353
+ return nil unless attributes.is_a?(Hash)
354
+ attributes = attributes.transform_keys(&:to_sym)
355
+ transformed_hash = {}
356
+ openapi_types.each_pair do |key, type|
357
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
358
+ transformed_hash["#{key}"] = nil
359
+ elsif type =~ /\AArray<(.*)>/i
360
+ # check to ensure the input is an array given that the attribute
361
+ # is documented as an array but the input is not
362
+ if attributes[attribute_map[key]].is_a?(Array)
363
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
364
+ end
365
+ elsif !attributes[attribute_map[key]].nil?
366
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
367
+ end
368
+ end
369
+ new(transformed_hash)
370
+ end
371
+
372
+ # Returns the object in the form of hash
373
+ # @return [Hash] Returns the object in the form of hash
374
+ def to_hash
375
+ hash = {}
376
+ self.class.attribute_map.each_pair do |attr, param|
377
+ value = self.send(attr)
378
+ if value.nil?
379
+ is_nullable = self.class.openapi_nullable.include?(attr)
380
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
381
+ end
382
+
383
+ hash[param] = _to_hash(value)
384
+ end
385
+ hash
386
+ end
387
+
388
+ end
389
+
390
+ end