factpulse 1.0.0 → 1.0.8

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 (194) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -3
  3. data/Gemfile.lock +1 -1
  4. data/README.md +73 -119
  5. data/docs/AFNORPDPPADirectoryServiceApi.md +31 -1148
  6. data/docs/BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost.md +22 -0
  7. data/docs/BodyCompleterFactureApiV1ChorusProFacturesCompleterPost.md +22 -0
  8. data/docs/BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet.md +20 -0
  9. data/docs/BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost.md +22 -0
  10. data/docs/BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost.md +22 -0
  11. data/docs/BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost.md +22 -0
  12. data/docs/BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost.md +22 -0
  13. data/docs/BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost.md +22 -0
  14. data/docs/BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost.md +22 -0
  15. data/docs/BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost.md +22 -0
  16. data/docs/BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost.md +22 -0
  17. data/docs/ChorusProApi.md +70 -66
  18. data/docs/Destinataire.md +0 -4
  19. data/docs/{MontantAPayer.md → DirectionFlux.md} +2 -2
  20. data/docs/FactureEnrichieInfoInput.md +32 -0
  21. data/docs/{FactureEnrichieInfo.md → FactureEnrichieInfoOutput.md} +2 -2
  22. data/docs/FactureFacturX.md +0 -2
  23. data/docs/FluxResume.md +32 -0
  24. data/docs/Fournisseur.md +0 -2
  25. data/docs/LigneDePoste.md +2 -2
  26. data/docs/LigneDePosteMontantTotalLigneHt.md +15 -0
  27. data/docs/LigneDeTVA.md +2 -2
  28. data/docs/MontantTotal.md +5 -5
  29. data/docs/MontantTotalMontantRemiseGlobaleTtc.md +15 -0
  30. data/docs/{MontantBaseHt.md → Montantapayer.md} +2 -2
  31. data/docs/Montantbaseht.md +15 -0
  32. data/docs/Montanthttotal.md +15 -0
  33. data/docs/Montantttctotal.md +15 -0
  34. data/docs/{ErrorLevel.md → Montanttva.md} +2 -2
  35. data/docs/{ErrorSource.md → Montanttva1.md} +2 -2
  36. data/docs/Montantunitaireht.md +15 -0
  37. data/docs/OptionsProcessing.md +1 -1
  38. data/docs/PDPCredentials.md +24 -0
  39. data/docs/ProcessingEndpointsUnifisApi.md +147 -0
  40. data/docs/{StatutCelery.md → ProfilFlux.md} +2 -2
  41. data/docs/QuotaInfo.md +26 -0
  42. data/docs/ReponseHealthcheckAFNOR.md +22 -0
  43. data/docs/ReponseRechercheFlux.md +24 -0
  44. data/docs/ReponseSoumissionFlux.md +30 -0
  45. data/docs/RequeteRechercheFlux.md +34 -0
  46. data/docs/RequeteSoumissionFlux.md +28 -0
  47. data/docs/SantApi.md +0 -62
  48. data/docs/SignatureLectroniqueApi.md +315 -0
  49. data/docs/SoumettreFactureCompleteResponse.md +1 -1
  50. data/docs/SoumettreFactureRequest.md +3 -3
  51. data/docs/StatutAcquittement.md +15 -0
  52. data/docs/StatutTache.md +2 -2
  53. data/docs/SyntaxeFlux.md +15 -0
  54. data/docs/TraitementFactureApi.md +2 -2
  55. data/docs/TypeFlux.md +15 -0
  56. data/docs/Utilisateur.md +40 -0
  57. data/factpulse.gemspec +2 -2
  58. data/lib/factpulse/api/afnorpdppa_api.rb +1 -1
  59. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +30 -1014
  60. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +1 -1
  61. data/lib/factpulse/api/chorus_pro_api.rb +108 -95
  62. data/lib/factpulse/api/processing_endpoints_unifis_api.rb +158 -0
  63. data/lib/factpulse/api/sant_api.rb +1 -58
  64. data/lib/factpulse/api/signature_lectronique_api.rb +333 -0
  65. data/lib/factpulse/api/traitement_facture_api.rb +5 -5
  66. data/lib/factpulse/api/utilisateur_api.rb +1 -1
  67. data/lib/factpulse/api_client.rb +3 -7
  68. data/lib/factpulse/api_error.rb +1 -1
  69. data/lib/factpulse/api_model_base.rb +1 -1
  70. data/lib/factpulse/configuration.rb +1 -1
  71. data/lib/factpulse/models/adresse_electronique.rb +1 -1
  72. data/lib/factpulse/models/adresse_postale.rb +1 -1
  73. data/lib/factpulse/models/body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post.rb +202 -0
  74. data/lib/factpulse/models/body_completer_facture_api_v1_chorus_pro_factures_completer_post.rb +202 -0
  75. data/lib/factpulse/models/body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get.rb +174 -0
  76. data/lib/factpulse/models/body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post.rb +202 -0
  77. data/lib/factpulse/models/body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post.rb +202 -0
  78. data/lib/factpulse/models/body_recycler_facture_api_v1_chorus_pro_factures_recycler_post.rb +202 -0
  79. data/lib/factpulse/models/{api_error.rb → body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post.rb} +44 -47
  80. data/lib/factpulse/models/{note.rb → body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post.rb} +55 -28
  81. data/lib/factpulse/models/body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post.rb +202 -0
  82. data/lib/factpulse/models/body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post.rb +202 -0
  83. data/lib/factpulse/models/body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post.rb +202 -0
  84. data/lib/factpulse/models/cadre_de_facturation.rb +1 -1
  85. data/lib/factpulse/models/categorie_tva.rb +11 -11
  86. data/lib/factpulse/models/certificate_info_response.rb +1 -1
  87. data/lib/factpulse/models/chorus_pro_credentials.rb +1 -1
  88. data/lib/factpulse/models/code_cadre_facturation.rb +1 -1
  89. data/lib/factpulse/models/code_raison_reduction.rb +9 -9
  90. data/lib/factpulse/models/consulter_facture_request.rb +1 -1
  91. data/lib/factpulse/models/consulter_facture_response.rb +1 -1
  92. data/lib/factpulse/models/consulter_structure_request.rb +1 -1
  93. data/lib/factpulse/models/consulter_structure_response.rb +1 -1
  94. data/lib/factpulse/models/credentials_afnor.rb +1 -1
  95. data/lib/factpulse/models/credentials_chorus_pro.rb +1 -1
  96. data/lib/factpulse/models/destinataire.rb +2 -22
  97. data/lib/factpulse/models/destination.rb +1 -1
  98. data/lib/factpulse/models/destination_afnor.rb +1 -1
  99. data/lib/factpulse/models/destination_chorus_pro.rb +1 -1
  100. data/lib/factpulse/models/{statut_celery.rb → direction_flux.rb} +7 -10
  101. data/lib/factpulse/models/donnees_facture_simplifiees.rb +1 -1
  102. data/lib/factpulse/models/facture_enrichie_info_input.rb +315 -0
  103. data/lib/factpulse/models/{facture_enrichie_info.rb → facture_enrichie_info_output.rb} +4 -4
  104. data/lib/factpulse/models/facture_factur_x.rb +2 -13
  105. data/lib/factpulse/models/flux_resume.rb +251 -0
  106. data/lib/factpulse/models/format_sortie.rb +1 -1
  107. data/lib/factpulse/models/fournisseur.rb +2 -12
  108. data/lib/factpulse/models/generate_certificate_request.rb +1 -1
  109. data/lib/factpulse/models/generate_certificate_response.rb +1 -1
  110. data/lib/factpulse/models/http_validation_error.rb +1 -1
  111. data/lib/factpulse/models/information_signature_api.rb +1 -1
  112. data/lib/factpulse/models/ligne_de_poste.rb +4 -3
  113. data/lib/factpulse/models/ligne_de_poste_montant_remise_ht.rb +2 -2
  114. data/lib/factpulse/models/{montant_total_ligne_ht.rb → ligne_de_poste_montant_total_ligne_ht.rb} +3 -3
  115. data/lib/factpulse/models/ligne_de_poste_taux_tva_manuel.rb +2 -2
  116. data/lib/factpulse/models/ligne_de_tva.rb +3 -3
  117. data/lib/factpulse/models/mode_depot.rb +1 -1
  118. data/lib/factpulse/models/mode_paiement.rb +1 -1
  119. data/lib/factpulse/models/montant_ht_total.rb +1 -2
  120. data/lib/factpulse/models/montant_total.rb +7 -6
  121. data/lib/factpulse/models/montant_total_acompte.rb +2 -2
  122. data/lib/factpulse/models/{montant_a_payer.rb → montant_total_montant_remise_globale_ttc.rb} +3 -3
  123. data/lib/factpulse/models/montant_ttc_total.rb +1 -2
  124. data/lib/factpulse/models/montant_tva.rb +1 -2
  125. data/lib/factpulse/models/{montant_tva_total.rb → montantapayer.rb} +3 -3
  126. data/lib/factpulse/models/{montant_tva_ligne.rb → montantbaseht.rb} +3 -3
  127. data/lib/factpulse/models/montanthttotal.rb +104 -0
  128. data/lib/factpulse/models/montantttctotal.rb +104 -0
  129. data/lib/factpulse/models/montanttva.rb +104 -0
  130. data/lib/factpulse/models/montanttva1.rb +104 -0
  131. data/lib/factpulse/models/{montant_unitaire_ht.rb → montantunitaireht.rb} +2 -2
  132. data/lib/factpulse/models/obtenir_id_chorus_pro_request.rb +1 -1
  133. data/lib/factpulse/models/obtenir_id_chorus_pro_response.rb +1 -1
  134. data/lib/factpulse/models/options_processing.rb +16 -2
  135. data/lib/factpulse/models/parametres_signature.rb +1 -1
  136. data/lib/factpulse/models/parametres_structure.rb +1 -1
  137. data/lib/factpulse/models/pdf_factur_x_info.rb +1 -1
  138. data/lib/factpulse/models/pdp_credentials.rb +247 -0
  139. data/lib/factpulse/models/piece_jointe_complementaire.rb +1 -1
  140. data/lib/factpulse/models/profil_api.rb +1 -1
  141. data/lib/factpulse/models/profil_flux.rb +41 -0
  142. data/lib/factpulse/models/quantite.rb +1 -1
  143. data/lib/factpulse/models/quota_info.rb +269 -0
  144. data/lib/factpulse/models/rechercher_services_response.rb +1 -1
  145. data/lib/factpulse/models/rechercher_structure_request.rb +1 -1
  146. data/lib/factpulse/models/rechercher_structure_response.rb +1 -1
  147. data/lib/factpulse/models/references.rb +1 -1
  148. data/lib/factpulse/models/reponse_healthcheck_afnor.rb +220 -0
  149. data/lib/factpulse/models/reponse_recherche_flux.rb +249 -0
  150. data/lib/factpulse/models/reponse_soumission_flux.rb +294 -0
  151. data/lib/factpulse/models/reponse_tache.rb +1 -1
  152. data/lib/factpulse/models/reponse_validation_erreur.rb +1 -1
  153. data/lib/factpulse/models/reponse_validation_succes.rb +1 -1
  154. data/lib/factpulse/models/requete_recherche_flux.rb +306 -0
  155. data/lib/factpulse/models/{validation_error_detail.rb → requete_soumission_flux.rb} +61 -68
  156. data/lib/factpulse/models/resultat_afnor.rb +1 -1
  157. data/lib/factpulse/models/resultat_chorus_pro.rb +1 -1
  158. data/lib/factpulse/models/resultat_validation_pdfapi.rb +1 -1
  159. data/lib/factpulse/models/scheme_id.rb +7 -7
  160. data/lib/factpulse/models/service_structure.rb +1 -1
  161. data/lib/factpulse/models/signature_info.rb +1 -1
  162. data/lib/factpulse/models/soumettre_facture_complete_request.rb +1 -1
  163. data/lib/factpulse/models/soumettre_facture_complete_response.rb +2 -2
  164. data/lib/factpulse/models/soumettre_facture_request.rb +7 -4
  165. data/lib/factpulse/models/soumettre_facture_response.rb +1 -1
  166. data/lib/factpulse/models/{error_level.rb → statut_acquittement.rb} +7 -6
  167. data/lib/factpulse/models/statut_facture.rb +1 -1
  168. data/lib/factpulse/models/statut_tache.rb +5 -30
  169. data/lib/factpulse/models/structure_info.rb +1 -1
  170. data/lib/factpulse/models/{error_source.rb → syntaxe_flux.rb} +10 -13
  171. data/lib/factpulse/models/tauxmanuel.rb +2 -2
  172. data/lib/factpulse/models/type_facture.rb +1 -1
  173. data/lib/factpulse/models/type_flux.rb +43 -0
  174. data/lib/factpulse/models/type_tva.rb +1 -1
  175. data/lib/factpulse/models/unite.rb +1 -1
  176. data/lib/factpulse/models/utilisateur.rb +328 -0
  177. data/lib/factpulse/models/validation_error.rb +1 -1
  178. data/lib/factpulse/models/validation_error_loc_inner.rb +1 -1
  179. data/lib/factpulse/version.rb +2 -2
  180. data/lib/factpulse.rb +39 -15
  181. metadata +79 -42
  182. data/docs/APIError.md +0 -22
  183. data/docs/MontantRemiseGlobaleTtc.md +0 -15
  184. data/docs/MontantTotalLigneHt.md +0 -15
  185. data/docs/MontantTvaLigne.md +0 -15
  186. data/docs/MontantTvaTotal.md +0 -15
  187. data/docs/MontantUnitaireHt.md +0 -15
  188. data/docs/Note.md +0 -20
  189. data/docs/ValidationErrorDetail.md +0 -26
  190. data/lib/factpulse/helpers/client.rb +0 -300
  191. data/lib/factpulse/helpers/exceptions.rb +0 -21
  192. data/lib/factpulse/helpers.rb +0 -13
  193. data/lib/factpulse/models/montant_base_ht.rb +0 -104
  194. data/lib/factpulse/models/montant_remise_globale_ttc.rb +0 -104
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #API REST FactPulse
3
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/
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\" }' ``` **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
7
 
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #API REST FactPulse
3
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/
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\" }' ``` **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
7
 
@@ -21,26 +21,26 @@ module FactPulse
21
21
  end
22
22
  # Ajouter une pièce jointe
23
23
  # Ajoute une pièce jointe au compte utilisateur courant. **Taille max** : 10 Mo par fichier **Payload exemple** : ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"bon_commande.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Retour** : L'ID de la pièce jointe (`pieceJointeIdFichier`) à utiliser ensuite dans `/factures/completer`. **Extensions acceptées** : PDF, JPG, PNG, ZIP, XML, etc.
24
- # @param request_body [Hash<String, Object>]
24
+ # @param body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post [BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost]
25
25
  # @param [Hash] opts the optional parameters
26
26
  # @return [Object]
27
- def ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post(request_body, opts = {})
28
- data, _status_code, _headers = ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post_with_http_info(request_body, opts)
27
+ def ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post(body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post, opts = {})
28
+ data, _status_code, _headers = ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post_with_http_info(body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post, opts)
29
29
  data
30
30
  end
31
31
 
32
32
  # Ajouter une pièce jointe
33
33
  # Ajoute une pièce jointe au compte utilisateur courant. **Taille max** : 10 Mo par fichier **Payload exemple** : &#x60;&#x60;&#x60;json { \&quot;pieceJointeFichier\&quot;: \&quot;JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\&quot;, \&quot;pieceJointeNom\&quot;: \&quot;bon_commande.pdf\&quot;, \&quot;pieceJointeTypeMime\&quot;: \&quot;application/pdf\&quot;, \&quot;pieceJointeExtension\&quot;: \&quot;PDF\&quot; } &#x60;&#x60;&#x60; **Retour** : L&#39;ID de la pièce jointe (&#x60;pieceJointeIdFichier&#x60;) à utiliser ensuite dans &#x60;/factures/completer&#x60;. **Extensions acceptées** : PDF, JPG, PNG, ZIP, XML, etc.
34
- # @param request_body [Hash<String, Object>]
34
+ # @param body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post [BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost]
35
35
  # @param [Hash] opts the optional parameters
36
36
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
37
- def ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post_with_http_info(request_body, opts = {})
37
+ def ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post_with_http_info(body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post, opts = {})
38
38
  if @api_client.config.debugging
39
39
  @api_client.config.logger.debug 'Calling API: ChorusProApi.ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post ...'
40
40
  end
41
- # verify the required parameter 'request_body' is set
42
- if @api_client.config.client_side_validation && request_body.nil?
43
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post"
41
+ # verify the required parameter 'body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post' is set
42
+ if @api_client.config.client_side_validation && body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post.nil?
43
+ fail ArgumentError, "Missing the required parameter 'body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post' when calling ChorusProApi.ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post"
44
44
  end
45
45
  # resource path
46
46
  local_var_path = '/api/v1/chorus-pro/transverses/ajouter-fichier'
@@ -62,7 +62,7 @@ module FactPulse
62
62
  form_params = opts[:form_params] || {}
63
63
 
64
64
  # http body (model)
65
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post)
66
66
 
67
67
  # return_type
68
68
  return_type = opts[:debug_return_type] || 'Object'
@@ -89,26 +89,26 @@ module FactPulse
89
89
 
90
90
  # Compléter une facture suspendue (Fournisseur)
91
91
  # Complète une facture au statut SUSPENDUE en ajoutant des pièces jointes ou un commentaire. **Statut requis** : SUSPENDUE **Actions possibles** : - Ajouter des pièces jointes (justificatifs, bons de commande, etc.) - Modifier le commentaire **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Voici les justificatifs demandés\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"bon_commande.pdf\" } ] } ``` **Note** : Les pièces jointes doivent d'abord être uploadées via `/transverses/ajouter-fichier`. **Après complétion** : La facture repasse au statut MISE_A_DISPOSITION.
92
- # @param request_body [Hash<String, Object>]
92
+ # @param body_completer_facture_api_v1_chorus_pro_factures_completer_post [BodyCompleterFactureApiV1ChorusProFacturesCompleterPost]
93
93
  # @param [Hash] opts the optional parameters
94
94
  # @return [Object]
95
- def completer_facture_api_v1_chorus_pro_factures_completer_post(request_body, opts = {})
96
- data, _status_code, _headers = completer_facture_api_v1_chorus_pro_factures_completer_post_with_http_info(request_body, opts)
95
+ def completer_facture_api_v1_chorus_pro_factures_completer_post(body_completer_facture_api_v1_chorus_pro_factures_completer_post, opts = {})
96
+ data, _status_code, _headers = completer_facture_api_v1_chorus_pro_factures_completer_post_with_http_info(body_completer_facture_api_v1_chorus_pro_factures_completer_post, opts)
97
97
  data
98
98
  end
99
99
 
100
100
  # Compléter une facture suspendue (Fournisseur)
101
101
  # Complète une facture au statut SUSPENDUE en ajoutant des pièces jointes ou un commentaire. **Statut requis** : SUSPENDUE **Actions possibles** : - Ajouter des pièces jointes (justificatifs, bons de commande, etc.) - Modifier le commentaire **Payload exemple** : &#x60;&#x60;&#x60;json { \&quot;identifiantFactureCPP\&quot;: 12345, \&quot;commentaire\&quot;: \&quot;Voici les justificatifs demandés\&quot;, \&quot;listePiecesJointes\&quot;: [ { \&quot;pieceJointeIdFichier\&quot;: 98765, \&quot;pieceJointeNom\&quot;: \&quot;bon_commande.pdf\&quot; } ] } &#x60;&#x60;&#x60; **Note** : Les pièces jointes doivent d&#39;abord être uploadées via &#x60;/transverses/ajouter-fichier&#x60;. **Après complétion** : La facture repasse au statut MISE_A_DISPOSITION.
102
- # @param request_body [Hash<String, Object>]
102
+ # @param body_completer_facture_api_v1_chorus_pro_factures_completer_post [BodyCompleterFactureApiV1ChorusProFacturesCompleterPost]
103
103
  # @param [Hash] opts the optional parameters
104
104
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
105
- def completer_facture_api_v1_chorus_pro_factures_completer_post_with_http_info(request_body, opts = {})
105
+ def completer_facture_api_v1_chorus_pro_factures_completer_post_with_http_info(body_completer_facture_api_v1_chorus_pro_factures_completer_post, opts = {})
106
106
  if @api_client.config.debugging
107
107
  @api_client.config.logger.debug 'Calling API: ChorusProApi.completer_facture_api_v1_chorus_pro_factures_completer_post ...'
108
108
  end
109
- # verify the required parameter 'request_body' is set
110
- if @api_client.config.client_side_validation && request_body.nil?
111
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.completer_facture_api_v1_chorus_pro_factures_completer_post"
109
+ # verify the required parameter 'body_completer_facture_api_v1_chorus_pro_factures_completer_post' is set
110
+ if @api_client.config.client_side_validation && body_completer_facture_api_v1_chorus_pro_factures_completer_post.nil?
111
+ fail ArgumentError, "Missing the required parameter 'body_completer_facture_api_v1_chorus_pro_factures_completer_post' when calling ChorusProApi.completer_facture_api_v1_chorus_pro_factures_completer_post"
112
112
  end
113
113
  # resource path
114
114
  local_var_path = '/api/v1/chorus-pro/factures/completer'
@@ -130,7 +130,7 @@ module FactPulse
130
130
  form_params = opts[:form_params] || {}
131
131
 
132
132
  # http body (model)
133
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
133
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_completer_facture_api_v1_chorus_pro_factures_completer_post)
134
134
 
135
135
  # return_type
136
136
  return_type = opts[:debug_return_type] || 'Object'
@@ -294,19 +294,21 @@ module FactPulse
294
294
  # Lister les services d'une structure
295
295
  # Récupère la liste des services actifs d'une structure publique. **Cas d'usage** : - Lister les services disponibles pour une administration - Vérifier qu'un code service existe avant de soumettre une facture **Retour** : - Liste des services avec leur code, libellé et statut (actif/inactif)
296
296
  # @param id_structure_cpp [Integer]
297
+ # @param body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get [BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet]
297
298
  # @param [Hash] opts the optional parameters
298
299
  # @return [RechercherServicesResponse]
299
- def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get(id_structure_cpp, opts = {})
300
- data, _status_code, _headers = lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(id_structure_cpp, opts)
300
+ def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get(id_structure_cpp, body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get, opts = {})
301
+ data, _status_code, _headers = lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(id_structure_cpp, body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get, opts)
301
302
  data
302
303
  end
303
304
 
304
305
  # Lister les services d&#39;une structure
305
306
  # Récupère la liste des services actifs d&#39;une structure publique. **Cas d&#39;usage** : - Lister les services disponibles pour une administration - Vérifier qu&#39;un code service existe avant de soumettre une facture **Retour** : - Liste des services avec leur code, libellé et statut (actif/inactif)
306
307
  # @param id_structure_cpp [Integer]
308
+ # @param body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get [BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet]
307
309
  # @param [Hash] opts the optional parameters
308
310
  # @return [Array<(RechercherServicesResponse, Integer, Hash)>] RechercherServicesResponse data, response status code and response headers
309
- def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(id_structure_cpp, opts = {})
311
+ def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(id_structure_cpp, body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get, opts = {})
310
312
  if @api_client.config.debugging
311
313
  @api_client.config.logger.debug 'Calling API: ChorusProApi.lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get ...'
312
314
  end
@@ -314,6 +316,10 @@ module FactPulse
314
316
  if @api_client.config.client_side_validation && id_structure_cpp.nil?
315
317
  fail ArgumentError, "Missing the required parameter 'id_structure_cpp' when calling ChorusProApi.lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get"
316
318
  end
319
+ # verify the required parameter 'body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get' is set
320
+ if @api_client.config.client_side_validation && body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get.nil?
321
+ fail ArgumentError, "Missing the required parameter 'body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get' when calling ChorusProApi.lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get"
322
+ end
317
323
  # resource path
318
324
  local_var_path = '/api/v1/chorus-pro/structures/{id_structure_cpp}/services'.sub('{' + 'id_structure_cpp' + '}', CGI.escape(id_structure_cpp.to_s))
319
325
 
@@ -324,12 +330,17 @@ module FactPulse
324
330
  header_params = opts[:header_params] || {}
325
331
  # HTTP header 'Accept' (if needed)
326
332
  header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
333
+ # HTTP header 'Content-Type'
334
+ content_type = @api_client.select_header_content_type(['application/json'])
335
+ if !content_type.nil?
336
+ header_params['Content-Type'] = content_type
337
+ end
327
338
 
328
339
  # form parameters
329
340
  form_params = opts[:form_params] || {}
330
341
 
331
342
  # http body (model)
332
- post_body = opts[:debug_body]
343
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get)
333
344
 
334
345
  # return_type
335
346
  return_type = opts[:debug_return_type] || 'RechercherServicesResponse'
@@ -424,26 +435,26 @@ module FactPulse
424
435
 
425
436
  # Rechercher factures reçues (Destinataire)
426
437
  # Recherche les factures reçues par le destinataire connecté. **Filtres** : - Téléchargée / non téléchargée - Dates de réception - Statut (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Fournisseur **Indicateur utile** : `factureTelechargeeParDestinataire` permet de savoir si la facture a déjà été téléchargée.
427
- # @param request_body [Hash<String, Object>]
438
+ # @param body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post [BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost]
428
439
  # @param [Hash] opts the optional parameters
429
440
  # @return [Object]
430
- def rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post(request_body, opts = {})
431
- data, _status_code, _headers = rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post_with_http_info(request_body, opts)
441
+ def rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post(body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post, opts = {})
442
+ data, _status_code, _headers = rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post_with_http_info(body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post, opts)
432
443
  data
433
444
  end
434
445
 
435
446
  # Rechercher factures reçues (Destinataire)
436
447
  # Recherche les factures reçues par le destinataire connecté. **Filtres** : - Téléchargée / non téléchargée - Dates de réception - Statut (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Fournisseur **Indicateur utile** : &#x60;factureTelechargeeParDestinataire&#x60; permet de savoir si la facture a déjà été téléchargée.
437
- # @param request_body [Hash<String, Object>]
448
+ # @param body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post [BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost]
438
449
  # @param [Hash] opts the optional parameters
439
450
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
440
- def rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post_with_http_info(request_body, opts = {})
451
+ def rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post_with_http_info(body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post, opts = {})
441
452
  if @api_client.config.debugging
442
453
  @api_client.config.logger.debug 'Calling API: ChorusProApi.rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post ...'
443
454
  end
444
- # verify the required parameter 'request_body' is set
445
- if @api_client.config.client_side_validation && request_body.nil?
446
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post"
455
+ # verify the required parameter 'body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post' is set
456
+ if @api_client.config.client_side_validation && body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post.nil?
457
+ fail ArgumentError, "Missing the required parameter 'body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post' when calling ChorusProApi.rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post"
447
458
  end
448
459
  # resource path
449
460
  local_var_path = '/api/v1/chorus-pro/factures/rechercher-destinataire'
@@ -465,7 +476,7 @@ module FactPulse
465
476
  form_params = opts[:form_params] || {}
466
477
 
467
478
  # http body (model)
468
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
479
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post)
469
480
 
470
481
  # return_type
471
482
  return_type = opts[:debug_return_type] || 'Object'
@@ -492,26 +503,26 @@ module FactPulse
492
503
 
493
504
  # Rechercher factures émises (Fournisseur)
494
505
  # Recherche les factures émises par le fournisseur connecté. **Filtres disponibles** : - Numéro de facture - Dates (début/fin) - Statut - Structure destinataire - Montant **Cas d'usage** : - Suivi des factures émises - Vérification des statuts - Export pour comptabilité
495
- # @param request_body [Hash<String, Object>]
506
+ # @param body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post [BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost]
496
507
  # @param [Hash] opts the optional parameters
497
508
  # @return [Object]
498
- def rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post(request_body, opts = {})
499
- data, _status_code, _headers = rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post_with_http_info(request_body, opts)
509
+ def rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post(body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post, opts = {})
510
+ data, _status_code, _headers = rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post_with_http_info(body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post, opts)
500
511
  data
501
512
  end
502
513
 
503
514
  # Rechercher factures émises (Fournisseur)
504
515
  # Recherche les factures émises par le fournisseur connecté. **Filtres disponibles** : - Numéro de facture - Dates (début/fin) - Statut - Structure destinataire - Montant **Cas d&#39;usage** : - Suivi des factures émises - Vérification des statuts - Export pour comptabilité
505
- # @param request_body [Hash<String, Object>]
516
+ # @param body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post [BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost]
506
517
  # @param [Hash] opts the optional parameters
507
518
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
508
- def rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post_with_http_info(request_body, opts = {})
519
+ def rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post_with_http_info(body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post, opts = {})
509
520
  if @api_client.config.debugging
510
521
  @api_client.config.logger.debug 'Calling API: ChorusProApi.rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post ...'
511
522
  end
512
- # verify the required parameter 'request_body' is set
513
- if @api_client.config.client_side_validation && request_body.nil?
514
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post"
523
+ # verify the required parameter 'body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post' is set
524
+ if @api_client.config.client_side_validation && body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post.nil?
525
+ fail ArgumentError, "Missing the required parameter 'body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post' when calling ChorusProApi.rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post"
515
526
  end
516
527
  # resource path
517
528
  local_var_path = '/api/v1/chorus-pro/factures/rechercher-fournisseur'
@@ -533,7 +544,7 @@ module FactPulse
533
544
  form_params = opts[:form_params] || {}
534
545
 
535
546
  # http body (model)
536
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
547
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post)
537
548
 
538
549
  # return_type
539
550
  return_type = opts[:debug_return_type] || 'Object'
@@ -628,26 +639,26 @@ module FactPulse
628
639
 
629
640
  # Recycler une facture (Fournisseur)
630
641
  # Recycle une facture au statut A_RECYCLER en modifiant les données d'acheminement. **Statut requis** : A_RECYCLER **Champs modifiables** : - Destinataire (`idStructureCPP`) - Code service - Numéro d'engagement **Cas d'usage** : - Erreur de destinataire - Changement de service facturation - Mise à jour du numéro d'engagement **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note** : La facture conserve son numéro et ses montants, seuls les champs d'acheminement changent.
631
- # @param request_body [Hash<String, Object>]
642
+ # @param body_recycler_facture_api_v1_chorus_pro_factures_recycler_post [BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost]
632
643
  # @param [Hash] opts the optional parameters
633
644
  # @return [Object]
634
- def recycler_facture_api_v1_chorus_pro_factures_recycler_post(request_body, opts = {})
635
- data, _status_code, _headers = recycler_facture_api_v1_chorus_pro_factures_recycler_post_with_http_info(request_body, opts)
645
+ def recycler_facture_api_v1_chorus_pro_factures_recycler_post(body_recycler_facture_api_v1_chorus_pro_factures_recycler_post, opts = {})
646
+ data, _status_code, _headers = recycler_facture_api_v1_chorus_pro_factures_recycler_post_with_http_info(body_recycler_facture_api_v1_chorus_pro_factures_recycler_post, opts)
636
647
  data
637
648
  end
638
649
 
639
650
  # Recycler une facture (Fournisseur)
640
651
  # Recycle une facture au statut A_RECYCLER en modifiant les données d&#39;acheminement. **Statut requis** : A_RECYCLER **Champs modifiables** : - Destinataire (&#x60;idStructureCPP&#x60;) - Code service - Numéro d&#39;engagement **Cas d&#39;usage** : - Erreur de destinataire - Changement de service facturation - Mise à jour du numéro d&#39;engagement **Payload exemple** : &#x60;&#x60;&#x60;json { \&quot;identifiantFactureCPP\&quot;: 12345, \&quot;idStructureCPP\&quot;: 67890, \&quot;codeService\&quot;: \&quot;SERVICE_01\&quot;, \&quot;numeroEngagement\&quot;: \&quot;ENG2024001\&quot; } &#x60;&#x60;&#x60; **Note** : La facture conserve son numéro et ses montants, seuls les champs d&#39;acheminement changent.
641
- # @param request_body [Hash<String, Object>]
652
+ # @param body_recycler_facture_api_v1_chorus_pro_factures_recycler_post [BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost]
642
653
  # @param [Hash] opts the optional parameters
643
654
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
644
- def recycler_facture_api_v1_chorus_pro_factures_recycler_post_with_http_info(request_body, opts = {})
655
+ def recycler_facture_api_v1_chorus_pro_factures_recycler_post_with_http_info(body_recycler_facture_api_v1_chorus_pro_factures_recycler_post, opts = {})
645
656
  if @api_client.config.debugging
646
657
  @api_client.config.logger.debug 'Calling API: ChorusProApi.recycler_facture_api_v1_chorus_pro_factures_recycler_post ...'
647
658
  end
648
- # verify the required parameter 'request_body' is set
649
- if @api_client.config.client_side_validation && request_body.nil?
650
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.recycler_facture_api_v1_chorus_pro_factures_recycler_post"
659
+ # verify the required parameter 'body_recycler_facture_api_v1_chorus_pro_factures_recycler_post' is set
660
+ if @api_client.config.client_side_validation && body_recycler_facture_api_v1_chorus_pro_factures_recycler_post.nil?
661
+ fail ArgumentError, "Missing the required parameter 'body_recycler_facture_api_v1_chorus_pro_factures_recycler_post' when calling ChorusProApi.recycler_facture_api_v1_chorus_pro_factures_recycler_post"
651
662
  end
652
663
  # resource path
653
664
  local_var_path = '/api/v1/chorus-pro/factures/recycler'
@@ -669,7 +680,7 @@ module FactPulse
669
680
  form_params = opts[:form_params] || {}
670
681
 
671
682
  # http body (model)
672
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
683
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_recycler_facture_api_v1_chorus_pro_factures_recycler_post)
673
684
 
674
685
  # return_type
675
686
  return_type = opts[:debug_return_type] || 'Object'
@@ -764,26 +775,26 @@ module FactPulse
764
775
 
765
776
  # Télécharger un groupe de factures
766
777
  # Télécharge une ou plusieurs factures (max 10 recommandé) avec leurs pièces jointes. **Formats disponibles** : - PDF : Fichier PDF uniquement - XML : Fichier XML uniquement - ZIP : Archive contenant PDF + XML + pièces jointes **Taille maximale** : 120 Mo par téléchargement **Payload exemple** : ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Retour** : Le fichier est encodé en base64 dans le champ `fichierBase64`. **Note** : Le flag `factureTelechargeeParDestinataire` est mis à jour automatiquement.
767
- # @param request_body [Hash<String, Object>]
778
+ # @param body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post [BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost]
768
779
  # @param [Hash] opts the optional parameters
769
780
  # @return [Object]
770
- def telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post(request_body, opts = {})
771
- data, _status_code, _headers = telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post_with_http_info(request_body, opts)
781
+ def telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post(body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post, opts = {})
782
+ data, _status_code, _headers = telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post_with_http_info(body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post, opts)
772
783
  data
773
784
  end
774
785
 
775
786
  # Télécharger un groupe de factures
776
787
  # Télécharge une ou plusieurs factures (max 10 recommandé) avec leurs pièces jointes. **Formats disponibles** : - PDF : Fichier PDF uniquement - XML : Fichier XML uniquement - ZIP : Archive contenant PDF + XML + pièces jointes **Taille maximale** : 120 Mo par téléchargement **Payload exemple** : &#x60;&#x60;&#x60;json { \&quot;listeIdentifiantsFactureCPP\&quot;: [12345, 12346], \&quot;inclurePiecesJointes\&quot;: true, \&quot;formatFichier\&quot;: \&quot;ZIP\&quot; } &#x60;&#x60;&#x60; **Retour** : Le fichier est encodé en base64 dans le champ &#x60;fichierBase64&#x60;. **Note** : Le flag &#x60;factureTelechargeeParDestinataire&#x60; est mis à jour automatiquement.
777
- # @param request_body [Hash<String, Object>]
788
+ # @param body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post [BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost]
778
789
  # @param [Hash] opts the optional parameters
779
790
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
780
- def telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post_with_http_info(request_body, opts = {})
791
+ def telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post_with_http_info(body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post, opts = {})
781
792
  if @api_client.config.debugging
782
793
  @api_client.config.logger.debug 'Calling API: ChorusProApi.telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post ...'
783
794
  end
784
- # verify the required parameter 'request_body' is set
785
- if @api_client.config.client_side_validation && request_body.nil?
786
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post"
795
+ # verify the required parameter 'body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post' is set
796
+ if @api_client.config.client_side_validation && body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post.nil?
797
+ fail ArgumentError, "Missing the required parameter 'body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post' when calling ChorusProApi.telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post"
787
798
  end
788
799
  # resource path
789
800
  local_var_path = '/api/v1/chorus-pro/factures/telecharger-groupe'
@@ -805,7 +816,7 @@ module FactPulse
805
816
  form_params = opts[:form_params] || {}
806
817
 
807
818
  # http body (model)
808
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
819
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post)
809
820
 
810
821
  # return_type
811
822
  return_type = opts[:debug_return_type] || 'Object'
@@ -832,26 +843,26 @@ module FactPulse
832
843
 
833
844
  # Traiter une facture reçue (Destinataire)
834
845
  # Change le statut d'une facture reçue. **Statuts possibles** : - MISE_A_DISPOSITION : Facture acceptée - SUSPENDUE : En attente d'informations complémentaires (motif obligatoire) - REJETEE : Facture refusée (motif obligatoire) - MANDATEE : Facture mandatée - MISE_EN_PAIEMENT : Facture en cours de paiement - COMPTABILISEE : Facture comptabilisée - MISE_A_DISPOSITION_COMPTABLE : Mise à disposition comptable - A_RECYCLER : À recycler - COMPLETEE : Complétée - SERVICE-FAIT : Service fait - PRISE_EN_COMPTE_DESTINATAIRE : Prise en compte - TRANSMISE_MOA : Transmise à la MOA **Payload exemple** : ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Facture en double\", \"commentaire\": \"Facture déjà reçue sous la référence ABC123\" } ``` **Règles** : - Un motif est **obligatoire** pour SUSPENDUE et REJETEE - Seuls certains statuts sont autorisés selon le statut actuel de la facture
835
- # @param request_body [Hash<String, Object>]
846
+ # @param body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post [BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost]
836
847
  # @param [Hash] opts the optional parameters
837
848
  # @return [Object]
838
- def traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post(request_body, opts = {})
839
- data, _status_code, _headers = traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post_with_http_info(request_body, opts)
849
+ def traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post(body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post, opts = {})
850
+ data, _status_code, _headers = traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post_with_http_info(body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post, opts)
840
851
  data
841
852
  end
842
853
 
843
854
  # Traiter une facture reçue (Destinataire)
844
855
  # Change le statut d&#39;une facture reçue. **Statuts possibles** : - MISE_A_DISPOSITION : Facture acceptée - SUSPENDUE : En attente d&#39;informations complémentaires (motif obligatoire) - REJETEE : Facture refusée (motif obligatoire) - MANDATEE : Facture mandatée - MISE_EN_PAIEMENT : Facture en cours de paiement - COMPTABILISEE : Facture comptabilisée - MISE_A_DISPOSITION_COMPTABLE : Mise à disposition comptable - A_RECYCLER : À recycler - COMPLETEE : Complétée - SERVICE-FAIT : Service fait - PRISE_EN_COMPTE_DESTINATAIRE : Prise en compte - TRANSMISE_MOA : Transmise à la MOA **Payload exemple** : &#x60;&#x60;&#x60;json { \&quot;identifiantFactureCPP\&quot;: 12345, \&quot;nouveauStatut\&quot;: \&quot;REJETEE\&quot;, \&quot;motifRejet\&quot;: \&quot;Facture en double\&quot;, \&quot;commentaire\&quot;: \&quot;Facture déjà reçue sous la référence ABC123\&quot; } &#x60;&#x60;&#x60; **Règles** : - Un motif est **obligatoire** pour SUSPENDUE et REJETEE - Seuls certains statuts sont autorisés selon le statut actuel de la facture
845
- # @param request_body [Hash<String, Object>]
856
+ # @param body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post [BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost]
846
857
  # @param [Hash] opts the optional parameters
847
858
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
848
- def traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post_with_http_info(request_body, opts = {})
859
+ def traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post_with_http_info(body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post, opts = {})
849
860
  if @api_client.config.debugging
850
861
  @api_client.config.logger.debug 'Calling API: ChorusProApi.traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post ...'
851
862
  end
852
- # verify the required parameter 'request_body' is set
853
- if @api_client.config.client_side_validation && request_body.nil?
854
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post"
863
+ # verify the required parameter 'body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post' is set
864
+ if @api_client.config.client_side_validation && body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post.nil?
865
+ fail ArgumentError, "Missing the required parameter 'body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post' when calling ChorusProApi.traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post"
855
866
  end
856
867
  # resource path
857
868
  local_var_path = '/api/v1/chorus-pro/factures/traiter-facture-recue'
@@ -873,7 +884,7 @@ module FactPulse
873
884
  form_params = opts[:form_params] || {}
874
885
 
875
886
  # http body (model)
876
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
887
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post)
877
888
 
878
889
  # return_type
879
890
  return_type = opts[:debug_return_type] || 'Object'
@@ -899,25 +910,27 @@ module FactPulse
899
910
  end
900
911
 
901
912
  # Consulter une facture (Valideur)
902
- # @param request_body [Hash<String, Object>]
913
+ # Consulte facture (valideur).
914
+ # @param body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post [BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost]
903
915
  # @param [Hash] opts the optional parameters
904
916
  # @return [Object]
905
- def valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post(request_body, opts = {})
906
- data, _status_code, _headers = valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post_with_http_info(request_body, opts)
917
+ def valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post(body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post, opts = {})
918
+ data, _status_code, _headers = valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post_with_http_info(body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post, opts)
907
919
  data
908
920
  end
909
921
 
910
922
  # Consulter une facture (Valideur)
911
- # @param request_body [Hash<String, Object>]
923
+ # Consulte facture (valideur).
924
+ # @param body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post [BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost]
912
925
  # @param [Hash] opts the optional parameters
913
926
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
914
- def valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post_with_http_info(request_body, opts = {})
927
+ def valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post_with_http_info(body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post, opts = {})
915
928
  if @api_client.config.debugging
916
929
  @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post ...'
917
930
  end
918
- # verify the required parameter 'request_body' is set
919
- if @api_client.config.client_side_validation && request_body.nil?
920
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post"
931
+ # verify the required parameter 'body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post' is set
932
+ if @api_client.config.client_side_validation && body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post.nil?
933
+ fail ArgumentError, "Missing the required parameter 'body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post' when calling ChorusProApi.valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post"
921
934
  end
922
935
  # resource path
923
936
  local_var_path = '/api/v1/chorus-pro/factures/valideur/consulter'
@@ -939,7 +952,7 @@ module FactPulse
939
952
  form_params = opts[:form_params] || {}
940
953
 
941
954
  # http body (model)
942
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
955
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post)
943
956
 
944
957
  # return_type
945
958
  return_type = opts[:debug_return_type] || 'Object'
@@ -966,26 +979,26 @@ module FactPulse
966
979
 
967
980
  # Rechercher factures à valider (Valideur)
968
981
  # Recherche les factures en attente de validation par le valideur connecté. **Rôle** : Valideur dans le circuit de validation interne. **Filtres** : Dates, structure, service, etc.
969
- # @param request_body [Hash<String, Object>]
982
+ # @param body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post [BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost]
970
983
  # @param [Hash] opts the optional parameters
971
984
  # @return [Object]
972
- def valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post(request_body, opts = {})
973
- data, _status_code, _headers = valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post_with_http_info(request_body, opts)
985
+ def valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post(body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post, opts = {})
986
+ data, _status_code, _headers = valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post_with_http_info(body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post, opts)
974
987
  data
975
988
  end
976
989
 
977
990
  # Rechercher factures à valider (Valideur)
978
991
  # Recherche les factures en attente de validation par le valideur connecté. **Rôle** : Valideur dans le circuit de validation interne. **Filtres** : Dates, structure, service, etc.
979
- # @param request_body [Hash<String, Object>]
992
+ # @param body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post [BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost]
980
993
  # @param [Hash] opts the optional parameters
981
994
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
982
- def valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post_with_http_info(request_body, opts = {})
995
+ def valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post_with_http_info(body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post, opts = {})
983
996
  if @api_client.config.debugging
984
997
  @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post ...'
985
998
  end
986
- # verify the required parameter 'request_body' is set
987
- if @api_client.config.client_side_validation && request_body.nil?
988
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post"
999
+ # verify the required parameter 'body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post' is set
1000
+ if @api_client.config.client_side_validation && body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post.nil?
1001
+ fail ArgumentError, "Missing the required parameter 'body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post' when calling ChorusProApi.valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post"
989
1002
  end
990
1003
  # resource path
991
1004
  local_var_path = '/api/v1/chorus-pro/factures/valideur/rechercher'
@@ -1007,7 +1020,7 @@ module FactPulse
1007
1020
  form_params = opts[:form_params] || {}
1008
1021
 
1009
1022
  # http body (model)
1010
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
1023
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post)
1011
1024
 
1012
1025
  # return_type
1013
1026
  return_type = opts[:debug_return_type] || 'Object'
@@ -1034,26 +1047,26 @@ module FactPulse
1034
1047
 
1035
1048
  # Valider ou refuser une facture (Valideur)
1036
1049
  # Valide ou refuse une facture en attente de validation. **Actions** : - Valider : La facture passe au statut suivant du circuit - Refuser : La facture est rejetée (motif obligatoire)
1037
- # @param request_body [Hash<String, Object>]
1050
+ # @param body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post [BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost]
1038
1051
  # @param [Hash] opts the optional parameters
1039
1052
  # @return [Object]
1040
- def valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post(request_body, opts = {})
1041
- data, _status_code, _headers = valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post_with_http_info(request_body, opts)
1053
+ def valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post(body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post, opts = {})
1054
+ data, _status_code, _headers = valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post_with_http_info(body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post, opts)
1042
1055
  data
1043
1056
  end
1044
1057
 
1045
1058
  # Valider ou refuser une facture (Valideur)
1046
1059
  # Valide ou refuse une facture en attente de validation. **Actions** : - Valider : La facture passe au statut suivant du circuit - Refuser : La facture est rejetée (motif obligatoire)
1047
- # @param request_body [Hash<String, Object>]
1060
+ # @param body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post [BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost]
1048
1061
  # @param [Hash] opts the optional parameters
1049
1062
  # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
1050
- def valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post_with_http_info(request_body, opts = {})
1063
+ def valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post_with_http_info(body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post, opts = {})
1051
1064
  if @api_client.config.debugging
1052
1065
  @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post ...'
1053
1066
  end
1054
- # verify the required parameter 'request_body' is set
1055
- if @api_client.config.client_side_validation && request_body.nil?
1056
- fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post"
1067
+ # verify the required parameter 'body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post' is set
1068
+ if @api_client.config.client_side_validation && body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post.nil?
1069
+ fail ArgumentError, "Missing the required parameter 'body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post' when calling ChorusProApi.valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post"
1057
1070
  end
1058
1071
  # resource path
1059
1072
  local_var_path = '/api/v1/chorus-pro/factures/valideur/traiter'
@@ -1075,7 +1088,7 @@ module FactPulse
1075
1088
  form_params = opts[:form_params] || {}
1076
1089
 
1077
1090
  # http body (model)
1078
- post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
1091
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post)
1079
1092
 
1080
1093
  # return_type
1081
1094
  return_type = opts[:debug_return_type] || 'Object'