factpulse 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 (250) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +28 -0
  3. data/Gemfile +9 -0
  4. data/Gemfile.lock +74 -0
  5. data/LICENSE +21 -0
  6. data/README.md +161 -0
  7. data/Rakefile +10 -0
  8. data/docs/AFNORPDPPAApi.md +69 -0
  9. data/docs/AFNORPDPPADirectoryServiceApi.md +196 -0
  10. data/docs/AFNORPDPPAFlowServiceApi.md +258 -0
  11. data/docs/AdresseElectronique.md +20 -0
  12. data/docs/AdressePostale.md +26 -0
  13. data/docs/BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost.md +22 -0
  14. data/docs/BodyCompleterFactureApiV1ChorusProFacturesCompleterPost.md +22 -0
  15. data/docs/BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet.md +20 -0
  16. data/docs/BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost.md +22 -0
  17. data/docs/BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost.md +22 -0
  18. data/docs/BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost.md +22 -0
  19. data/docs/BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost.md +22 -0
  20. data/docs/BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost.md +22 -0
  21. data/docs/BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost.md +22 -0
  22. data/docs/BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost.md +22 -0
  23. data/docs/BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost.md +22 -0
  24. data/docs/CadreDeFacturation.md +22 -0
  25. data/docs/CategorieTVA.md +15 -0
  26. data/docs/CertificateInfoResponse.md +40 -0
  27. data/docs/ChorusProApi.md +1129 -0
  28. data/docs/ChorusProCredentials.md +26 -0
  29. data/docs/CodeCadreFacturation.md +15 -0
  30. data/docs/CodeRaisonReduction.md +15 -0
  31. data/docs/ConsulterFactureRequest.md +20 -0
  32. data/docs/ConsulterFactureResponse.md +34 -0
  33. data/docs/ConsulterStructureRequest.md +22 -0
  34. data/docs/ConsulterStructureResponse.md +34 -0
  35. data/docs/CredentialsAFNOR.md +22 -0
  36. data/docs/CredentialsChorusPro.md +26 -0
  37. data/docs/Destinataire.md +24 -0
  38. data/docs/Destination.md +79 -0
  39. data/docs/DestinationAFNOR.md +24 -0
  40. data/docs/DestinationChorusPro.md +20 -0
  41. data/docs/DirectionFlux.md +15 -0
  42. data/docs/DonneesFactureSimplifiees.md +34 -0
  43. data/docs/FactureEnrichieInfoInput.md +32 -0
  44. data/docs/FactureEnrichieInfoOutput.md +32 -0
  45. data/docs/FactureFacturX.md +44 -0
  46. data/docs/FluxResume.md +32 -0
  47. data/docs/FormatSortie.md +15 -0
  48. data/docs/Fournisseur.md +34 -0
  49. data/docs/GenerateCertificateRequest.md +38 -0
  50. data/docs/GenerateCertificateResponse.md +32 -0
  51. data/docs/HTTPValidationError.md +18 -0
  52. data/docs/InformationSignatureAPI.md +28 -0
  53. data/docs/LigneDePoste.md +46 -0
  54. data/docs/LigneDePosteMontantRemiseHt.md +15 -0
  55. data/docs/LigneDePosteMontantTotalLigneHt.md +15 -0
  56. data/docs/LigneDePosteTauxTvaManuel.md +15 -0
  57. data/docs/LigneDeTVA.md +26 -0
  58. data/docs/ModeDepot.md +15 -0
  59. data/docs/ModePaiement.md +15 -0
  60. data/docs/MontantHtTotal.md +15 -0
  61. data/docs/MontantTotal.md +30 -0
  62. data/docs/MontantTotalAcompte.md +15 -0
  63. data/docs/MontantTotalMontantRemiseGlobaleTtc.md +15 -0
  64. data/docs/MontantTtcTotal.md +15 -0
  65. data/docs/MontantTva.md +15 -0
  66. data/docs/Montantapayer.md +15 -0
  67. data/docs/Montantbaseht.md +15 -0
  68. data/docs/Montanthttotal.md +15 -0
  69. data/docs/Montantttctotal.md +15 -0
  70. data/docs/Montanttva.md +15 -0
  71. data/docs/Montanttva1.md +15 -0
  72. data/docs/Montantunitaireht.md +15 -0
  73. data/docs/ObtenirIdChorusProRequest.md +22 -0
  74. data/docs/ObtenirIdChorusProResponse.md +24 -0
  75. data/docs/OptionsProcessing.md +24 -0
  76. data/docs/PDFFacturXInfo.md +22 -0
  77. data/docs/PDPCredentials.md +24 -0
  78. data/docs/ParametresSignature.md +34 -0
  79. data/docs/ParametresStructure.md +22 -0
  80. data/docs/PieceJointeComplementaire.md +26 -0
  81. data/docs/ProcessingEndpointsUnifisApi.md +147 -0
  82. data/docs/ProfilAPI.md +15 -0
  83. data/docs/ProfilFlux.md +15 -0
  84. data/docs/Quantite.md +15 -0
  85. data/docs/QuotaInfo.md +26 -0
  86. data/docs/RechercherServicesResponse.md +24 -0
  87. data/docs/RechercherStructureRequest.md +26 -0
  88. data/docs/RechercherStructureResponse.md +24 -0
  89. data/docs/References.md +32 -0
  90. data/docs/ReponseHealthcheckAFNOR.md +22 -0
  91. data/docs/ReponseRechercheFlux.md +24 -0
  92. data/docs/ReponseSoumissionFlux.md +30 -0
  93. data/docs/ReponseTache.md +18 -0
  94. data/docs/ReponseValidationErreur.md +18 -0
  95. data/docs/ReponseValidationSucces.md +18 -0
  96. data/docs/RequeteRechercheFlux.md +34 -0
  97. data/docs/RequeteSoumissionFlux.md +28 -0
  98. data/docs/ResultatAFNOR.md +26 -0
  99. data/docs/ResultatChorusPro.md +22 -0
  100. data/docs/ResultatValidationPDFAPI.md +62 -0
  101. data/docs/SantApi.md +69 -0
  102. data/docs/SchemeID.md +15 -0
  103. data/docs/ServiceStructure.md +24 -0
  104. data/docs/SignatureInfo.md +22 -0
  105. data/docs/SignatureLectroniqueApi.md +315 -0
  106. data/docs/SoumettreFactureCompleteRequest.md +26 -0
  107. data/docs/SoumettreFactureCompleteResponse.md +34 -0
  108. data/docs/SoumettreFactureRequest.md +46 -0
  109. data/docs/SoumettreFactureResponse.md +24 -0
  110. data/docs/StatutAcquittement.md +15 -0
  111. data/docs/StatutFacture.md +22 -0
  112. data/docs/StatutTache.md +22 -0
  113. data/docs/StructureInfo.md +26 -0
  114. data/docs/SyntaxeFlux.md +15 -0
  115. data/docs/Tauxmanuel.md +15 -0
  116. data/docs/TraitementFactureApi.md +831 -0
  117. data/docs/TypeFacture.md +15 -0
  118. data/docs/TypeFlux.md +15 -0
  119. data/docs/TypeTVA.md +15 -0
  120. data/docs/Unite.md +15 -0
  121. data/docs/Utilisateur.md +40 -0
  122. data/docs/UtilisateurApi.md +74 -0
  123. data/docs/ValidationError.md +22 -0
  124. data/docs/ValidationErrorLocInner.md +15 -0
  125. data/factpulse.gemspec +39 -0
  126. data/git_push.sh +57 -0
  127. data/lib/factpulse/api/afnorpdppa_api.rb +79 -0
  128. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +199 -0
  129. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +256 -0
  130. data/lib/factpulse/api/chorus_pro_api.rb +1116 -0
  131. data/lib/factpulse/api/processing_endpoints_unifis_api.rb +158 -0
  132. data/lib/factpulse/api/sant_api.rb +79 -0
  133. data/lib/factpulse/api/signature_lectronique_api.rb +333 -0
  134. data/lib/factpulse/api/traitement_facture_api.rb +835 -0
  135. data/lib/factpulse/api/utilisateur_api.rb +79 -0
  136. data/lib/factpulse/api_client.rb +393 -0
  137. data/lib/factpulse/api_error.rb +58 -0
  138. data/lib/factpulse/api_model_base.rb +88 -0
  139. data/lib/factpulse/configuration.rb +308 -0
  140. data/lib/factpulse/models/adresse_electronique.rb +196 -0
  141. data/lib/factpulse/models/adresse_postale.rb +189 -0
  142. data/lib/factpulse/models/body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post.rb +202 -0
  143. data/lib/factpulse/models/body_completer_facture_api_v1_chorus_pro_factures_completer_post.rb +202 -0
  144. data/lib/factpulse/models/body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get.rb +174 -0
  145. data/lib/factpulse/models/body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post.rb +202 -0
  146. data/lib/factpulse/models/body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post.rb +202 -0
  147. data/lib/factpulse/models/body_recycler_facture_api_v1_chorus_pro_factures_recycler_post.rb +202 -0
  148. data/lib/factpulse/models/body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post.rb +202 -0
  149. data/lib/factpulse/models/body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post.rb +202 -0
  150. data/lib/factpulse/models/body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post.rb +202 -0
  151. data/lib/factpulse/models/body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post.rb +202 -0
  152. data/lib/factpulse/models/body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post.rb +202 -0
  153. data/lib/factpulse/models/cadre_de_facturation.rb +207 -0
  154. data/lib/factpulse/models/categorie_tva.rb +47 -0
  155. data/lib/factpulse/models/certificate_info_response.rb +446 -0
  156. data/lib/factpulse/models/chorus_pro_credentials.rb +259 -0
  157. data/lib/factpulse/models/code_cadre_facturation.rb +42 -0
  158. data/lib/factpulse/models/code_raison_reduction.rb +45 -0
  159. data/lib/factpulse/models/consulter_facture_request.rb +176 -0
  160. data/lib/factpulse/models/consulter_facture_response.rb +261 -0
  161. data/lib/factpulse/models/consulter_structure_request.rb +188 -0
  162. data/lib/factpulse/models/consulter_structure_response.rb +261 -0
  163. data/lib/factpulse/models/credentials_afnor.rb +169 -0
  164. data/lib/factpulse/models/credentials_chorus_pro.rb +191 -0
  165. data/lib/factpulse/models/destinataire.rb +195 -0
  166. data/lib/factpulse/models/destination.rb +56 -0
  167. data/lib/factpulse/models/destination_afnor.rb +228 -0
  168. data/lib/factpulse/models/destination_chorus_pro.rb +194 -0
  169. data/lib/factpulse/models/direction_flux.rb +40 -0
  170. data/lib/factpulse/models/donnees_facture_simplifiees.rb +342 -0
  171. data/lib/factpulse/models/facture_enrichie_info_input.rb +315 -0
  172. data/lib/factpulse/models/facture_enrichie_info_output.rb +348 -0
  173. data/lib/factpulse/models/facture_factur_x.rb +432 -0
  174. data/lib/factpulse/models/flux_resume.rb +251 -0
  175. data/lib/factpulse/models/format_sortie.rb +40 -0
  176. data/lib/factpulse/models/fournisseur.rb +261 -0
  177. data/lib/factpulse/models/generate_certificate_request.rb +323 -0
  178. data/lib/factpulse/models/generate_certificate_response.rb +254 -0
  179. data/lib/factpulse/models/http_validation_error.rb +149 -0
  180. data/lib/factpulse/models/information_signature_api.rb +216 -0
  181. data/lib/factpulse/models/ligne_de_poste.rb +391 -0
  182. data/lib/factpulse/models/ligne_de_poste_montant_remise_ht.rb +104 -0
  183. data/lib/factpulse/models/ligne_de_poste_montant_total_ligne_ht.rb +104 -0
  184. data/lib/factpulse/models/ligne_de_poste_taux_tva_manuel.rb +104 -0
  185. data/lib/factpulse/models/ligne_de_tva.rb +242 -0
  186. data/lib/factpulse/models/mode_depot.rb +41 -0
  187. data/lib/factpulse/models/mode_paiement.rb +44 -0
  188. data/lib/factpulse/models/montant_ht_total.rb +103 -0
  189. data/lib/factpulse/models/montant_total.rb +273 -0
  190. data/lib/factpulse/models/montant_total_acompte.rb +104 -0
  191. data/lib/factpulse/models/montant_total_montant_remise_globale_ttc.rb +104 -0
  192. data/lib/factpulse/models/montant_ttc_total.rb +103 -0
  193. data/lib/factpulse/models/montant_tva.rb +103 -0
  194. data/lib/factpulse/models/montantapayer.rb +104 -0
  195. data/lib/factpulse/models/montantbaseht.rb +104 -0
  196. data/lib/factpulse/models/montanthttotal.rb +104 -0
  197. data/lib/factpulse/models/montantttctotal.rb +104 -0
  198. data/lib/factpulse/models/montanttva.rb +104 -0
  199. data/lib/factpulse/models/montanttva1.rb +104 -0
  200. data/lib/factpulse/models/montantunitaireht.rb +104 -0
  201. data/lib/factpulse/models/obtenir_id_chorus_pro_request.rb +188 -0
  202. data/lib/factpulse/models/obtenir_id_chorus_pro_response.rb +230 -0
  203. data/lib/factpulse/models/options_processing.rb +221 -0
  204. data/lib/factpulse/models/parametres_signature.rb +235 -0
  205. data/lib/factpulse/models/parametres_structure.rb +175 -0
  206. data/lib/factpulse/models/pdf_factur_x_info.rb +205 -0
  207. data/lib/factpulse/models/pdp_credentials.rb +247 -0
  208. data/lib/factpulse/models/piece_jointe_complementaire.rb +269 -0
  209. data/lib/factpulse/models/profil_api.rb +42 -0
  210. data/lib/factpulse/models/profil_flux.rb +41 -0
  211. data/lib/factpulse/models/quantite.rb +104 -0
  212. data/lib/factpulse/models/quota_info.rb +269 -0
  213. data/lib/factpulse/models/rechercher_services_response.rb +214 -0
  214. data/lib/factpulse/models/rechercher_structure_request.rb +191 -0
  215. data/lib/factpulse/models/rechercher_structure_response.rb +216 -0
  216. data/lib/factpulse/models/references.rb +290 -0
  217. data/lib/factpulse/models/reponse_healthcheck_afnor.rb +220 -0
  218. data/lib/factpulse/models/reponse_recherche_flux.rb +249 -0
  219. data/lib/factpulse/models/reponse_soumission_flux.rb +294 -0
  220. data/lib/factpulse/models/reponse_tache.rb +165 -0
  221. data/lib/factpulse/models/reponse_validation_erreur.rb +167 -0
  222. data/lib/factpulse/models/reponse_validation_succes.rb +165 -0
  223. data/lib/factpulse/models/requete_recherche_flux.rb +306 -0
  224. data/lib/factpulse/models/requete_soumission_flux.rb +238 -0
  225. data/lib/factpulse/models/resultat_afnor.rb +240 -0
  226. data/lib/factpulse/models/resultat_chorus_pro.rb +186 -0
  227. data/lib/factpulse/models/resultat_validation_pdfapi.rb +523 -0
  228. data/lib/factpulse/models/scheme_id.rb +43 -0
  229. data/lib/factpulse/models/service_structure.rb +247 -0
  230. data/lib/factpulse/models/signature_info.rb +186 -0
  231. data/lib/factpulse/models/soumettre_facture_complete_request.rb +239 -0
  232. data/lib/factpulse/models/soumettre_facture_complete_response.rb +355 -0
  233. data/lib/factpulse/models/soumettre_facture_request.rb +391 -0
  234. data/lib/factpulse/models/soumettre_facture_response.rb +213 -0
  235. data/lib/factpulse/models/statut_acquittement.rb +41 -0
  236. data/lib/factpulse/models/statut_facture.rb +203 -0
  237. data/lib/factpulse/models/statut_tache.rb +201 -0
  238. data/lib/factpulse/models/structure_info.rb +274 -0
  239. data/lib/factpulse/models/syntaxe_flux.rb +43 -0
  240. data/lib/factpulse/models/tauxmanuel.rb +104 -0
  241. data/lib/factpulse/models/type_facture.rb +40 -0
  242. data/lib/factpulse/models/type_flux.rb +43 -0
  243. data/lib/factpulse/models/type_tva.rb +42 -0
  244. data/lib/factpulse/models/unite.rb +44 -0
  245. data/lib/factpulse/models/utilisateur.rb +328 -0
  246. data/lib/factpulse/models/validation_error.rb +218 -0
  247. data/lib/factpulse/models/validation_error_loc_inner.rb +103 -0
  248. data/lib/factpulse/version.rb +15 -0
  249. data/lib/factpulse.rb +157 -0
  250. metadata +382 -0
@@ -0,0 +1,1116 @@
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\" }' ``` **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 'cgi'
14
+
15
+ module FactPulse
16
+ class ChorusProApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Ajouter une pièce jointe
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 body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post [BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Object]
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
+ data
30
+ end
31
+
32
+ # Ajouter une pièce jointe
33
+ # 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.
34
+ # @param body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post [BodyAjouterFichierApiV1ChorusProTransversesAjouterFichierPost]
35
+ # @param [Hash] opts the optional parameters
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(body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post ...'
40
+ end
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
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/chorus-pro/transverses/ajouter-fichier'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'Object'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"ChorusProApi.ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: ChorusProApi#ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Compléter une facture suspendue (Fournisseur)
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 body_completer_facture_api_v1_chorus_pro_factures_completer_post [BodyCompleterFactureApiV1ChorusProFacturesCompleterPost]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [Object]
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
+ data
98
+ end
99
+
100
+ # Compléter une facture suspendue (Fournisseur)
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 body_completer_facture_api_v1_chorus_pro_factures_completer_post [BodyCompleterFactureApiV1ChorusProFacturesCompleterPost]
103
+ # @param [Hash] opts the optional parameters
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(body_completer_facture_api_v1_chorus_pro_factures_completer_post, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.completer_facture_api_v1_chorus_pro_factures_completer_post ...'
108
+ end
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
+ end
113
+ # resource path
114
+ local_var_path = '/api/v1/chorus-pro/factures/completer'
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
123
+ # HTTP header 'Content-Type'
124
+ content_type = @api_client.select_header_content_type(['application/json'])
125
+ if !content_type.nil?
126
+ header_params['Content-Type'] = content_type
127
+ end
128
+
129
+ # form parameters
130
+ form_params = opts[:form_params] || {}
131
+
132
+ # http body (model)
133
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_completer_facture_api_v1_chorus_pro_factures_completer_post)
134
+
135
+ # return_type
136
+ return_type = opts[:debug_return_type] || 'Object'
137
+
138
+ # auth_names
139
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
140
+
141
+ new_options = opts.merge(
142
+ :operation => :"ChorusProApi.completer_facture_api_v1_chorus_pro_factures_completer_post",
143
+ :header_params => header_params,
144
+ :query_params => query_params,
145
+ :form_params => form_params,
146
+ :body => post_body,
147
+ :auth_names => auth_names,
148
+ :return_type => return_type
149
+ )
150
+
151
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
152
+ if @api_client.config.debugging
153
+ @api_client.config.logger.debug "API called: ChorusProApi#completer_facture_api_v1_chorus_pro_factures_completer_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
154
+ end
155
+ return data, status_code, headers
156
+ end
157
+
158
+ # Consulter le statut d'une facture
159
+ # Récupère les informations et le statut actuel d'une facture soumise à Chorus Pro. **Retour** : - Numéro et date de facture - Montant TTC - **Statut courant** : SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Structure destinataire **Cas d'usage** : - Suivre l'évolution du traitement d'une facture - Vérifier si une facture a été validée ou rejetée - Obtenir la date de mise en paiement **Polling** : Appelez cet endpoint régulièrement pour suivre l'évolution du statut.
160
+ # @param consulter_facture_request [ConsulterFactureRequest]
161
+ # @param [Hash] opts the optional parameters
162
+ # @return [ConsulterFactureResponse]
163
+ def consulter_facture_api_v1_chorus_pro_factures_consulter_post(consulter_facture_request, opts = {})
164
+ data, _status_code, _headers = consulter_facture_api_v1_chorus_pro_factures_consulter_post_with_http_info(consulter_facture_request, opts)
165
+ data
166
+ end
167
+
168
+ # Consulter le statut d&#39;une facture
169
+ # Récupère les informations et le statut actuel d&#39;une facture soumise à Chorus Pro. **Retour** : - Numéro et date de facture - Montant TTC - **Statut courant** : SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Structure destinataire **Cas d&#39;usage** : - Suivre l&#39;évolution du traitement d&#39;une facture - Vérifier si une facture a été validée ou rejetée - Obtenir la date de mise en paiement **Polling** : Appelez cet endpoint régulièrement pour suivre l&#39;évolution du statut.
170
+ # @param consulter_facture_request [ConsulterFactureRequest]
171
+ # @param [Hash] opts the optional parameters
172
+ # @return [Array<(ConsulterFactureResponse, Integer, Hash)>] ConsulterFactureResponse data, response status code and response headers
173
+ def consulter_facture_api_v1_chorus_pro_factures_consulter_post_with_http_info(consulter_facture_request, opts = {})
174
+ if @api_client.config.debugging
175
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.consulter_facture_api_v1_chorus_pro_factures_consulter_post ...'
176
+ end
177
+ # verify the required parameter 'consulter_facture_request' is set
178
+ if @api_client.config.client_side_validation && consulter_facture_request.nil?
179
+ fail ArgumentError, "Missing the required parameter 'consulter_facture_request' when calling ChorusProApi.consulter_facture_api_v1_chorus_pro_factures_consulter_post"
180
+ end
181
+ # resource path
182
+ local_var_path = '/api/v1/chorus-pro/factures/consulter'
183
+
184
+ # query parameters
185
+ query_params = opts[:query_params] || {}
186
+
187
+ # header parameters
188
+ header_params = opts[:header_params] || {}
189
+ # HTTP header 'Accept' (if needed)
190
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
191
+ # HTTP header 'Content-Type'
192
+ content_type = @api_client.select_header_content_type(['application/json'])
193
+ if !content_type.nil?
194
+ header_params['Content-Type'] = content_type
195
+ end
196
+
197
+ # form parameters
198
+ form_params = opts[:form_params] || {}
199
+
200
+ # http body (model)
201
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(consulter_facture_request)
202
+
203
+ # return_type
204
+ return_type = opts[:debug_return_type] || 'ConsulterFactureResponse'
205
+
206
+ # auth_names
207
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
208
+
209
+ new_options = opts.merge(
210
+ :operation => :"ChorusProApi.consulter_facture_api_v1_chorus_pro_factures_consulter_post",
211
+ :header_params => header_params,
212
+ :query_params => query_params,
213
+ :form_params => form_params,
214
+ :body => post_body,
215
+ :auth_names => auth_names,
216
+ :return_type => return_type
217
+ )
218
+
219
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
220
+ if @api_client.config.debugging
221
+ @api_client.config.logger.debug "API called: ChorusProApi#consulter_facture_api_v1_chorus_pro_factures_consulter_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
222
+ end
223
+ return data, status_code, headers
224
+ end
225
+
226
+ # Consulter les détails d'une structure
227
+ # Récupère les informations détaillées d'une structure Chorus Pro. **Retour** : - Raison sociale - Numéro de TVA intracommunautaire - Email de contact - **Paramètres obligatoires** : Indique si le code service et/ou numéro d'engagement sont requis pour soumettre une facture **Étape typique** : Appelée après `rechercher-structures` pour savoir quels champs sont obligatoires avant de soumettre une facture.
228
+ # @param consulter_structure_request [ConsulterStructureRequest]
229
+ # @param [Hash] opts the optional parameters
230
+ # @return [ConsulterStructureResponse]
231
+ def consulter_structure_api_v1_chorus_pro_structures_consulter_post(consulter_structure_request, opts = {})
232
+ data, _status_code, _headers = consulter_structure_api_v1_chorus_pro_structures_consulter_post_with_http_info(consulter_structure_request, opts)
233
+ data
234
+ end
235
+
236
+ # Consulter les détails d&#39;une structure
237
+ # Récupère les informations détaillées d&#39;une structure Chorus Pro. **Retour** : - Raison sociale - Numéro de TVA intracommunautaire - Email de contact - **Paramètres obligatoires** : Indique si le code service et/ou numéro d&#39;engagement sont requis pour soumettre une facture **Étape typique** : Appelée après &#x60;rechercher-structures&#x60; pour savoir quels champs sont obligatoires avant de soumettre une facture.
238
+ # @param consulter_structure_request [ConsulterStructureRequest]
239
+ # @param [Hash] opts the optional parameters
240
+ # @return [Array<(ConsulterStructureResponse, Integer, Hash)>] ConsulterStructureResponse data, response status code and response headers
241
+ def consulter_structure_api_v1_chorus_pro_structures_consulter_post_with_http_info(consulter_structure_request, opts = {})
242
+ if @api_client.config.debugging
243
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.consulter_structure_api_v1_chorus_pro_structures_consulter_post ...'
244
+ end
245
+ # verify the required parameter 'consulter_structure_request' is set
246
+ if @api_client.config.client_side_validation && consulter_structure_request.nil?
247
+ fail ArgumentError, "Missing the required parameter 'consulter_structure_request' when calling ChorusProApi.consulter_structure_api_v1_chorus_pro_structures_consulter_post"
248
+ end
249
+ # resource path
250
+ local_var_path = '/api/v1/chorus-pro/structures/consulter'
251
+
252
+ # query parameters
253
+ query_params = opts[:query_params] || {}
254
+
255
+ # header parameters
256
+ header_params = opts[:header_params] || {}
257
+ # HTTP header 'Accept' (if needed)
258
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
259
+ # HTTP header 'Content-Type'
260
+ content_type = @api_client.select_header_content_type(['application/json'])
261
+ if !content_type.nil?
262
+ header_params['Content-Type'] = content_type
263
+ end
264
+
265
+ # form parameters
266
+ form_params = opts[:form_params] || {}
267
+
268
+ # http body (model)
269
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(consulter_structure_request)
270
+
271
+ # return_type
272
+ return_type = opts[:debug_return_type] || 'ConsulterStructureResponse'
273
+
274
+ # auth_names
275
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
276
+
277
+ new_options = opts.merge(
278
+ :operation => :"ChorusProApi.consulter_structure_api_v1_chorus_pro_structures_consulter_post",
279
+ :header_params => header_params,
280
+ :query_params => query_params,
281
+ :form_params => form_params,
282
+ :body => post_body,
283
+ :auth_names => auth_names,
284
+ :return_type => return_type
285
+ )
286
+
287
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
288
+ if @api_client.config.debugging
289
+ @api_client.config.logger.debug "API called: ChorusProApi#consulter_structure_api_v1_chorus_pro_structures_consulter_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
290
+ end
291
+ return data, status_code, headers
292
+ end
293
+
294
+ # Lister les services d'une structure
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
+ # @param id_structure_cpp [Integer]
297
+ # @param body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get [BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet]
298
+ # @param [Hash] opts the optional parameters
299
+ # @return [RechercherServicesResponse]
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)
302
+ data
303
+ end
304
+
305
+ # Lister les services d&#39;une structure
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)
307
+ # @param id_structure_cpp [Integer]
308
+ # @param body_lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get [BodyListerServicesStructureApiV1ChorusProStructuresIdStructureCppServicesGet]
309
+ # @param [Hash] opts the optional parameters
310
+ # @return [Array<(RechercherServicesResponse, Integer, Hash)>] RechercherServicesResponse data, response status code and response headers
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 = {})
312
+ if @api_client.config.debugging
313
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get ...'
314
+ end
315
+ # verify the required parameter 'id_structure_cpp' is set
316
+ if @api_client.config.client_side_validation && id_structure_cpp.nil?
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"
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
323
+ # resource path
324
+ local_var_path = '/api/v1/chorus-pro/structures/{id_structure_cpp}/services'.sub('{' + 'id_structure_cpp' + '}', CGI.escape(id_structure_cpp.to_s))
325
+
326
+ # query parameters
327
+ query_params = opts[:query_params] || {}
328
+
329
+ # header parameters
330
+ header_params = opts[:header_params] || {}
331
+ # HTTP header 'Accept' (if needed)
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
338
+
339
+ # form parameters
340
+ form_params = opts[:form_params] || {}
341
+
342
+ # http body (model)
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)
344
+
345
+ # return_type
346
+ return_type = opts[:debug_return_type] || 'RechercherServicesResponse'
347
+
348
+ # auth_names
349
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
350
+
351
+ new_options = opts.merge(
352
+ :operation => :"ChorusProApi.lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get",
353
+ :header_params => header_params,
354
+ :query_params => query_params,
355
+ :form_params => form_params,
356
+ :body => post_body,
357
+ :auth_names => auth_names,
358
+ :return_type => return_type
359
+ )
360
+
361
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
362
+ if @api_client.config.debugging
363
+ @api_client.config.logger.debug "API called: ChorusProApi#lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
364
+ end
365
+ return data, status_code, headers
366
+ end
367
+
368
+ # Utilitaire : Obtenir l'ID Chorus Pro depuis un SIRET
369
+ # **Utilitaire pratique** pour obtenir l'ID Chorus Pro d'une structure à partir de son SIRET. Cette fonction wrapper combine : 1. Recherche de la structure par SIRET 2. Extraction de l'`id_structure_cpp` si une seule structure est trouvée **Retour** : - `id_structure_cpp` : ID Chorus Pro (0 si non trouvé ou si plusieurs résultats) - `designation_structure` : Nom de la structure (si trouvée) - `message` : Message explicatif **Cas d'usage** : - Raccourci pour obtenir directement l'ID Chorus Pro avant de soumettre une facture - Alternative simplifiée à `rechercher-structures` + extraction manuelle de l'ID **Note** : Si plusieurs structures correspondent au SIRET (rare), retourne 0 et un message d'erreur.
370
+ # @param obtenir_id_chorus_pro_request [ObtenirIdChorusProRequest]
371
+ # @param [Hash] opts the optional parameters
372
+ # @return [ObtenirIdChorusProResponse]
373
+ def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post(obtenir_id_chorus_pro_request, opts = {})
374
+ data, _status_code, _headers = obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_with_http_info(obtenir_id_chorus_pro_request, opts)
375
+ data
376
+ end
377
+
378
+ # Utilitaire : Obtenir l&#39;ID Chorus Pro depuis un SIRET
379
+ # **Utilitaire pratique** pour obtenir l&#39;ID Chorus Pro d&#39;une structure à partir de son SIRET. Cette fonction wrapper combine : 1. Recherche de la structure par SIRET 2. Extraction de l&#39;&#x60;id_structure_cpp&#x60; si une seule structure est trouvée **Retour** : - &#x60;id_structure_cpp&#x60; : ID Chorus Pro (0 si non trouvé ou si plusieurs résultats) - &#x60;designation_structure&#x60; : Nom de la structure (si trouvée) - &#x60;message&#x60; : Message explicatif **Cas d&#39;usage** : - Raccourci pour obtenir directement l&#39;ID Chorus Pro avant de soumettre une facture - Alternative simplifiée à &#x60;rechercher-structures&#x60; + extraction manuelle de l&#39;ID **Note** : Si plusieurs structures correspondent au SIRET (rare), retourne 0 et un message d&#39;erreur.
380
+ # @param obtenir_id_chorus_pro_request [ObtenirIdChorusProRequest]
381
+ # @param [Hash] opts the optional parameters
382
+ # @return [Array<(ObtenirIdChorusProResponse, Integer, Hash)>] ObtenirIdChorusProResponse data, response status code and response headers
383
+ def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_with_http_info(obtenir_id_chorus_pro_request, opts = {})
384
+ if @api_client.config.debugging
385
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post ...'
386
+ end
387
+ # verify the required parameter 'obtenir_id_chorus_pro_request' is set
388
+ if @api_client.config.client_side_validation && obtenir_id_chorus_pro_request.nil?
389
+ fail ArgumentError, "Missing the required parameter 'obtenir_id_chorus_pro_request' when calling ChorusProApi.obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post"
390
+ end
391
+ # resource path
392
+ local_var_path = '/api/v1/chorus-pro/structures/obtenir-id-depuis-siret'
393
+
394
+ # query parameters
395
+ query_params = opts[:query_params] || {}
396
+
397
+ # header parameters
398
+ header_params = opts[:header_params] || {}
399
+ # HTTP header 'Accept' (if needed)
400
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
401
+ # HTTP header 'Content-Type'
402
+ content_type = @api_client.select_header_content_type(['application/json'])
403
+ if !content_type.nil?
404
+ header_params['Content-Type'] = content_type
405
+ end
406
+
407
+ # form parameters
408
+ form_params = opts[:form_params] || {}
409
+
410
+ # http body (model)
411
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(obtenir_id_chorus_pro_request)
412
+
413
+ # return_type
414
+ return_type = opts[:debug_return_type] || 'ObtenirIdChorusProResponse'
415
+
416
+ # auth_names
417
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
418
+
419
+ new_options = opts.merge(
420
+ :operation => :"ChorusProApi.obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post",
421
+ :header_params => header_params,
422
+ :query_params => query_params,
423
+ :form_params => form_params,
424
+ :body => post_body,
425
+ :auth_names => auth_names,
426
+ :return_type => return_type
427
+ )
428
+
429
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
430
+ if @api_client.config.debugging
431
+ @api_client.config.logger.debug "API called: ChorusProApi#obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
432
+ end
433
+ return data, status_code, headers
434
+ end
435
+
436
+ # Rechercher factures reçues (Destinataire)
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.
438
+ # @param body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post [BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost]
439
+ # @param [Hash] opts the optional parameters
440
+ # @return [Object]
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)
443
+ data
444
+ end
445
+
446
+ # Rechercher factures reçues (Destinataire)
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.
448
+ # @param body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post [BodyRechercherFacturesDestinataireApiV1ChorusProFacturesRechercherDestinatairePost]
449
+ # @param [Hash] opts the optional parameters
450
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
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 = {})
452
+ if @api_client.config.debugging
453
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post ...'
454
+ end
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"
458
+ end
459
+ # resource path
460
+ local_var_path = '/api/v1/chorus-pro/factures/rechercher-destinataire'
461
+
462
+ # query parameters
463
+ query_params = opts[:query_params] || {}
464
+
465
+ # header parameters
466
+ header_params = opts[:header_params] || {}
467
+ # HTTP header 'Accept' (if needed)
468
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
469
+ # HTTP header 'Content-Type'
470
+ content_type = @api_client.select_header_content_type(['application/json'])
471
+ if !content_type.nil?
472
+ header_params['Content-Type'] = content_type
473
+ end
474
+
475
+ # form parameters
476
+ form_params = opts[:form_params] || {}
477
+
478
+ # http body (model)
479
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post)
480
+
481
+ # return_type
482
+ return_type = opts[:debug_return_type] || 'Object'
483
+
484
+ # auth_names
485
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
486
+
487
+ new_options = opts.merge(
488
+ :operation => :"ChorusProApi.rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post",
489
+ :header_params => header_params,
490
+ :query_params => query_params,
491
+ :form_params => form_params,
492
+ :body => post_body,
493
+ :auth_names => auth_names,
494
+ :return_type => return_type
495
+ )
496
+
497
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
498
+ if @api_client.config.debugging
499
+ @api_client.config.logger.debug "API called: ChorusProApi#rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
500
+ end
501
+ return data, status_code, headers
502
+ end
503
+
504
+ # Rechercher factures émises (Fournisseur)
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é
506
+ # @param body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post [BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost]
507
+ # @param [Hash] opts the optional parameters
508
+ # @return [Object]
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)
511
+ data
512
+ end
513
+
514
+ # Rechercher factures émises (Fournisseur)
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é
516
+ # @param body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post [BodyRechercherFacturesFournisseurApiV1ChorusProFacturesRechercherFournisseurPost]
517
+ # @param [Hash] opts the optional parameters
518
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
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 = {})
520
+ if @api_client.config.debugging
521
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post ...'
522
+ end
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"
526
+ end
527
+ # resource path
528
+ local_var_path = '/api/v1/chorus-pro/factures/rechercher-fournisseur'
529
+
530
+ # query parameters
531
+ query_params = opts[:query_params] || {}
532
+
533
+ # header parameters
534
+ header_params = opts[:header_params] || {}
535
+ # HTTP header 'Accept' (if needed)
536
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
537
+ # HTTP header 'Content-Type'
538
+ content_type = @api_client.select_header_content_type(['application/json'])
539
+ if !content_type.nil?
540
+ header_params['Content-Type'] = content_type
541
+ end
542
+
543
+ # form parameters
544
+ form_params = opts[:form_params] || {}
545
+
546
+ # http body (model)
547
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post)
548
+
549
+ # return_type
550
+ return_type = opts[:debug_return_type] || 'Object'
551
+
552
+ # auth_names
553
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
554
+
555
+ new_options = opts.merge(
556
+ :operation => :"ChorusProApi.rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post",
557
+ :header_params => header_params,
558
+ :query_params => query_params,
559
+ :form_params => form_params,
560
+ :body => post_body,
561
+ :auth_names => auth_names,
562
+ :return_type => return_type
563
+ )
564
+
565
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
566
+ if @api_client.config.debugging
567
+ @api_client.config.logger.debug "API called: ChorusProApi#rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
568
+ end
569
+ return data, status_code, headers
570
+ end
571
+
572
+ # Rechercher des structures Chorus Pro
573
+ # Recherche des structures (entreprises, administrations) enregistrées sur Chorus Pro. **Cas d'usage** : - Trouver l'ID Chorus Pro d'une structure à partir de son SIRET - Vérifier si une structure est enregistrée sur Chorus Pro - Lister les structures correspondant à des critères **Filtres disponibles** : - Identifiant (SIRET, SIREN, etc.) - Raison sociale - Type d'identifiant - Structures privées uniquement **Étape typique** : Appelée avant `soumettre-facture` pour obtenir l'`id_structure_cpp` du destinataire.
574
+ # @param rechercher_structure_request [RechercherStructureRequest]
575
+ # @param [Hash] opts the optional parameters
576
+ # @return [RechercherStructureResponse]
577
+ def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post(rechercher_structure_request, opts = {})
578
+ data, _status_code, _headers = rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_with_http_info(rechercher_structure_request, opts)
579
+ data
580
+ end
581
+
582
+ # Rechercher des structures Chorus Pro
583
+ # Recherche des structures (entreprises, administrations) enregistrées sur Chorus Pro. **Cas d&#39;usage** : - Trouver l&#39;ID Chorus Pro d&#39;une structure à partir de son SIRET - Vérifier si une structure est enregistrée sur Chorus Pro - Lister les structures correspondant à des critères **Filtres disponibles** : - Identifiant (SIRET, SIREN, etc.) - Raison sociale - Type d&#39;identifiant - Structures privées uniquement **Étape typique** : Appelée avant &#x60;soumettre-facture&#x60; pour obtenir l&#39;&#x60;id_structure_cpp&#x60; du destinataire.
584
+ # @param rechercher_structure_request [RechercherStructureRequest]
585
+ # @param [Hash] opts the optional parameters
586
+ # @return [Array<(RechercherStructureResponse, Integer, Hash)>] RechercherStructureResponse data, response status code and response headers
587
+ def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_with_http_info(rechercher_structure_request, opts = {})
588
+ if @api_client.config.debugging
589
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.rechercher_structures_api_v1_chorus_pro_structures_rechercher_post ...'
590
+ end
591
+ # verify the required parameter 'rechercher_structure_request' is set
592
+ if @api_client.config.client_side_validation && rechercher_structure_request.nil?
593
+ fail ArgumentError, "Missing the required parameter 'rechercher_structure_request' when calling ChorusProApi.rechercher_structures_api_v1_chorus_pro_structures_rechercher_post"
594
+ end
595
+ # resource path
596
+ local_var_path = '/api/v1/chorus-pro/structures/rechercher'
597
+
598
+ # query parameters
599
+ query_params = opts[:query_params] || {}
600
+
601
+ # header parameters
602
+ header_params = opts[:header_params] || {}
603
+ # HTTP header 'Accept' (if needed)
604
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
605
+ # HTTP header 'Content-Type'
606
+ content_type = @api_client.select_header_content_type(['application/json'])
607
+ if !content_type.nil?
608
+ header_params['Content-Type'] = content_type
609
+ end
610
+
611
+ # form parameters
612
+ form_params = opts[:form_params] || {}
613
+
614
+ # http body (model)
615
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(rechercher_structure_request)
616
+
617
+ # return_type
618
+ return_type = opts[:debug_return_type] || 'RechercherStructureResponse'
619
+
620
+ # auth_names
621
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
622
+
623
+ new_options = opts.merge(
624
+ :operation => :"ChorusProApi.rechercher_structures_api_v1_chorus_pro_structures_rechercher_post",
625
+ :header_params => header_params,
626
+ :query_params => query_params,
627
+ :form_params => form_params,
628
+ :body => post_body,
629
+ :auth_names => auth_names,
630
+ :return_type => return_type
631
+ )
632
+
633
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
634
+ if @api_client.config.debugging
635
+ @api_client.config.logger.debug "API called: ChorusProApi#rechercher_structures_api_v1_chorus_pro_structures_rechercher_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
636
+ end
637
+ return data, status_code, headers
638
+ end
639
+
640
+ # Recycler une facture (Fournisseur)
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.
642
+ # @param body_recycler_facture_api_v1_chorus_pro_factures_recycler_post [BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost]
643
+ # @param [Hash] opts the optional parameters
644
+ # @return [Object]
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)
647
+ data
648
+ end
649
+
650
+ # Recycler une facture (Fournisseur)
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.
652
+ # @param body_recycler_facture_api_v1_chorus_pro_factures_recycler_post [BodyRecyclerFactureApiV1ChorusProFacturesRecyclerPost]
653
+ # @param [Hash] opts the optional parameters
654
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
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 = {})
656
+ if @api_client.config.debugging
657
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.recycler_facture_api_v1_chorus_pro_factures_recycler_post ...'
658
+ end
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"
662
+ end
663
+ # resource path
664
+ local_var_path = '/api/v1/chorus-pro/factures/recycler'
665
+
666
+ # query parameters
667
+ query_params = opts[:query_params] || {}
668
+
669
+ # header parameters
670
+ header_params = opts[:header_params] || {}
671
+ # HTTP header 'Accept' (if needed)
672
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
673
+ # HTTP header 'Content-Type'
674
+ content_type = @api_client.select_header_content_type(['application/json'])
675
+ if !content_type.nil?
676
+ header_params['Content-Type'] = content_type
677
+ end
678
+
679
+ # form parameters
680
+ form_params = opts[:form_params] || {}
681
+
682
+ # http body (model)
683
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_recycler_facture_api_v1_chorus_pro_factures_recycler_post)
684
+
685
+ # return_type
686
+ return_type = opts[:debug_return_type] || 'Object'
687
+
688
+ # auth_names
689
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
690
+
691
+ new_options = opts.merge(
692
+ :operation => :"ChorusProApi.recycler_facture_api_v1_chorus_pro_factures_recycler_post",
693
+ :header_params => header_params,
694
+ :query_params => query_params,
695
+ :form_params => form_params,
696
+ :body => post_body,
697
+ :auth_names => auth_names,
698
+ :return_type => return_type
699
+ )
700
+
701
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
702
+ if @api_client.config.debugging
703
+ @api_client.config.logger.debug "API called: ChorusProApi#recycler_facture_api_v1_chorus_pro_factures_recycler_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
704
+ end
705
+ return data, status_code, headers
706
+ end
707
+
708
+ # Soumettre une facture à Chorus Pro
709
+ # Soumet une facture électronique à une structure publique via Chorus Pro. **📋 Workflow complet** : 1. **Uploader le PDF Factur-X** via `/transverses/ajouter-fichier` → récupérer `pieceJointeId` 2. **Obtenir l'ID structure** via `/structures/rechercher` ou `/structures/obtenir-id-depuis-siret` 3. **Vérifier les paramètres obligatoires** via `/structures/consulter` 4. **Soumettre la facture** avec le `piece_jointe_principale_id` obtenu à l'étape 1 **Pré-requis** : 1. Avoir l'`id_structure_cpp` du destinataire (via `/structures/rechercher`) 2. Connaître les paramètres obligatoires (via `/structures/consulter`) : - Code service si `code_service_doit_etre_renseigne=true` - Numéro d'engagement si `numero_ej_doit_etre_renseigne=true` 3. Avoir uploadé le PDF Factur-X (via `/transverses/ajouter-fichier`) **Format attendu** : - `piece_jointe_principale_id` : ID retourné par `/transverses/ajouter-fichier` - Montants : Chaînes de caractères avec 2 décimales (ex: \"1250.50\") - Dates : Format ISO 8601 (YYYY-MM-DD) **Retour** : - `identifiant_facture_cpp` : ID Chorus Pro de la facture créée - `numero_flux_depot` : Numéro de suivi du dépôt **Statuts possibles après soumission** : - SOUMISE : En attente de validation - VALIDEE : Validée par le destinataire - REJETEE : Rejetée (erreur de données ou refus métier) - SUSPENDUE : En attente d'informations complémentaires **Note** : Utilisez `/factures/consulter` pour suivre l'évolution du statut.
710
+ # @param soumettre_facture_request [SoumettreFactureRequest]
711
+ # @param [Hash] opts the optional parameters
712
+ # @return [SoumettreFactureResponse]
713
+ def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post(soumettre_facture_request, opts = {})
714
+ data, _status_code, _headers = soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_with_http_info(soumettre_facture_request, opts)
715
+ data
716
+ end
717
+
718
+ # Soumettre une facture à Chorus Pro
719
+ # Soumet une facture électronique à une structure publique via Chorus Pro. **📋 Workflow complet** : 1. **Uploader le PDF Factur-X** via &#x60;/transverses/ajouter-fichier&#x60; → récupérer &#x60;pieceJointeId&#x60; 2. **Obtenir l&#39;ID structure** via &#x60;/structures/rechercher&#x60; ou &#x60;/structures/obtenir-id-depuis-siret&#x60; 3. **Vérifier les paramètres obligatoires** via &#x60;/structures/consulter&#x60; 4. **Soumettre la facture** avec le &#x60;piece_jointe_principale_id&#x60; obtenu à l&#39;étape 1 **Pré-requis** : 1. Avoir l&#39;&#x60;id_structure_cpp&#x60; du destinataire (via &#x60;/structures/rechercher&#x60;) 2. Connaître les paramètres obligatoires (via &#x60;/structures/consulter&#x60;) : - Code service si &#x60;code_service_doit_etre_renseigne&#x3D;true&#x60; - Numéro d&#39;engagement si &#x60;numero_ej_doit_etre_renseigne&#x3D;true&#x60; 3. Avoir uploadé le PDF Factur-X (via &#x60;/transverses/ajouter-fichier&#x60;) **Format attendu** : - &#x60;piece_jointe_principale_id&#x60; : ID retourné par &#x60;/transverses/ajouter-fichier&#x60; - Montants : Chaînes de caractères avec 2 décimales (ex: \&quot;1250.50\&quot;) - Dates : Format ISO 8601 (YYYY-MM-DD) **Retour** : - &#x60;identifiant_facture_cpp&#x60; : ID Chorus Pro de la facture créée - &#x60;numero_flux_depot&#x60; : Numéro de suivi du dépôt **Statuts possibles après soumission** : - SOUMISE : En attente de validation - VALIDEE : Validée par le destinataire - REJETEE : Rejetée (erreur de données ou refus métier) - SUSPENDUE : En attente d&#39;informations complémentaires **Note** : Utilisez &#x60;/factures/consulter&#x60; pour suivre l&#39;évolution du statut.
720
+ # @param soumettre_facture_request [SoumettreFactureRequest]
721
+ # @param [Hash] opts the optional parameters
722
+ # @return [Array<(SoumettreFactureResponse, Integer, Hash)>] SoumettreFactureResponse data, response status code and response headers
723
+ def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_with_http_info(soumettre_facture_request, opts = {})
724
+ if @api_client.config.debugging
725
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.soumettre_facture_api_v1_chorus_pro_factures_soumettre_post ...'
726
+ end
727
+ # verify the required parameter 'soumettre_facture_request' is set
728
+ if @api_client.config.client_side_validation && soumettre_facture_request.nil?
729
+ fail ArgumentError, "Missing the required parameter 'soumettre_facture_request' when calling ChorusProApi.soumettre_facture_api_v1_chorus_pro_factures_soumettre_post"
730
+ end
731
+ # resource path
732
+ local_var_path = '/api/v1/chorus-pro/factures/soumettre'
733
+
734
+ # query parameters
735
+ query_params = opts[:query_params] || {}
736
+
737
+ # header parameters
738
+ header_params = opts[:header_params] || {}
739
+ # HTTP header 'Accept' (if needed)
740
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
741
+ # HTTP header 'Content-Type'
742
+ content_type = @api_client.select_header_content_type(['application/json'])
743
+ if !content_type.nil?
744
+ header_params['Content-Type'] = content_type
745
+ end
746
+
747
+ # form parameters
748
+ form_params = opts[:form_params] || {}
749
+
750
+ # http body (model)
751
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(soumettre_facture_request)
752
+
753
+ # return_type
754
+ return_type = opts[:debug_return_type] || 'SoumettreFactureResponse'
755
+
756
+ # auth_names
757
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
758
+
759
+ new_options = opts.merge(
760
+ :operation => :"ChorusProApi.soumettre_facture_api_v1_chorus_pro_factures_soumettre_post",
761
+ :header_params => header_params,
762
+ :query_params => query_params,
763
+ :form_params => form_params,
764
+ :body => post_body,
765
+ :auth_names => auth_names,
766
+ :return_type => return_type
767
+ )
768
+
769
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
770
+ if @api_client.config.debugging
771
+ @api_client.config.logger.debug "API called: ChorusProApi#soumettre_facture_api_v1_chorus_pro_factures_soumettre_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
772
+ end
773
+ return data, status_code, headers
774
+ end
775
+
776
+ # Télécharger un groupe de factures
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.
778
+ # @param body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post [BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost]
779
+ # @param [Hash] opts the optional parameters
780
+ # @return [Object]
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)
783
+ data
784
+ end
785
+
786
+ # Télécharger un groupe de factures
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.
788
+ # @param body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post [BodyTelechargerGroupeFacturesApiV1ChorusProFacturesTelechargerGroupePost]
789
+ # @param [Hash] opts the optional parameters
790
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
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 = {})
792
+ if @api_client.config.debugging
793
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post ...'
794
+ end
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"
798
+ end
799
+ # resource path
800
+ local_var_path = '/api/v1/chorus-pro/factures/telecharger-groupe'
801
+
802
+ # query parameters
803
+ query_params = opts[:query_params] || {}
804
+
805
+ # header parameters
806
+ header_params = opts[:header_params] || {}
807
+ # HTTP header 'Accept' (if needed)
808
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
809
+ # HTTP header 'Content-Type'
810
+ content_type = @api_client.select_header_content_type(['application/json'])
811
+ if !content_type.nil?
812
+ header_params['Content-Type'] = content_type
813
+ end
814
+
815
+ # form parameters
816
+ form_params = opts[:form_params] || {}
817
+
818
+ # http body (model)
819
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post)
820
+
821
+ # return_type
822
+ return_type = opts[:debug_return_type] || 'Object'
823
+
824
+ # auth_names
825
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
826
+
827
+ new_options = opts.merge(
828
+ :operation => :"ChorusProApi.telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post",
829
+ :header_params => header_params,
830
+ :query_params => query_params,
831
+ :form_params => form_params,
832
+ :body => post_body,
833
+ :auth_names => auth_names,
834
+ :return_type => return_type
835
+ )
836
+
837
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
838
+ if @api_client.config.debugging
839
+ @api_client.config.logger.debug "API called: ChorusProApi#telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
840
+ end
841
+ return data, status_code, headers
842
+ end
843
+
844
+ # Traiter une facture reçue (Destinataire)
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
846
+ # @param body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post [BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost]
847
+ # @param [Hash] opts the optional parameters
848
+ # @return [Object]
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)
851
+ data
852
+ end
853
+
854
+ # Traiter une facture reçue (Destinataire)
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
856
+ # @param body_traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post [BodyTraiterFactureRecueApiV1ChorusProFacturesTraiterFactureRecuePost]
857
+ # @param [Hash] opts the optional parameters
858
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
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 = {})
860
+ if @api_client.config.debugging
861
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post ...'
862
+ end
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"
866
+ end
867
+ # resource path
868
+ local_var_path = '/api/v1/chorus-pro/factures/traiter-facture-recue'
869
+
870
+ # query parameters
871
+ query_params = opts[:query_params] || {}
872
+
873
+ # header parameters
874
+ header_params = opts[:header_params] || {}
875
+ # HTTP header 'Accept' (if needed)
876
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
877
+ # HTTP header 'Content-Type'
878
+ content_type = @api_client.select_header_content_type(['application/json'])
879
+ if !content_type.nil?
880
+ header_params['Content-Type'] = content_type
881
+ end
882
+
883
+ # form parameters
884
+ form_params = opts[:form_params] || {}
885
+
886
+ # http body (model)
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)
888
+
889
+ # return_type
890
+ return_type = opts[:debug_return_type] || 'Object'
891
+
892
+ # auth_names
893
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
894
+
895
+ new_options = opts.merge(
896
+ :operation => :"ChorusProApi.traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post",
897
+ :header_params => header_params,
898
+ :query_params => query_params,
899
+ :form_params => form_params,
900
+ :body => post_body,
901
+ :auth_names => auth_names,
902
+ :return_type => return_type
903
+ )
904
+
905
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
906
+ if @api_client.config.debugging
907
+ @api_client.config.logger.debug "API called: ChorusProApi#traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
908
+ end
909
+ return data, status_code, headers
910
+ end
911
+
912
+ # Consulter une facture (Valideur)
913
+ # Consulte facture (valideur).
914
+ # @param body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post [BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost]
915
+ # @param [Hash] opts the optional parameters
916
+ # @return [Object]
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)
919
+ data
920
+ end
921
+
922
+ # Consulter une facture (Valideur)
923
+ # Consulte facture (valideur).
924
+ # @param body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post [BodyValideurConsulterFactureApiV1ChorusProFacturesValideurConsulterPost]
925
+ # @param [Hash] opts the optional parameters
926
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
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 = {})
928
+ if @api_client.config.debugging
929
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post ...'
930
+ end
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"
934
+ end
935
+ # resource path
936
+ local_var_path = '/api/v1/chorus-pro/factures/valideur/consulter'
937
+
938
+ # query parameters
939
+ query_params = opts[:query_params] || {}
940
+
941
+ # header parameters
942
+ header_params = opts[:header_params] || {}
943
+ # HTTP header 'Accept' (if needed)
944
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
945
+ # HTTP header 'Content-Type'
946
+ content_type = @api_client.select_header_content_type(['application/json'])
947
+ if !content_type.nil?
948
+ header_params['Content-Type'] = content_type
949
+ end
950
+
951
+ # form parameters
952
+ form_params = opts[:form_params] || {}
953
+
954
+ # http body (model)
955
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post)
956
+
957
+ # return_type
958
+ return_type = opts[:debug_return_type] || 'Object'
959
+
960
+ # auth_names
961
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
962
+
963
+ new_options = opts.merge(
964
+ :operation => :"ChorusProApi.valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post",
965
+ :header_params => header_params,
966
+ :query_params => query_params,
967
+ :form_params => form_params,
968
+ :body => post_body,
969
+ :auth_names => auth_names,
970
+ :return_type => return_type
971
+ )
972
+
973
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
974
+ if @api_client.config.debugging
975
+ @api_client.config.logger.debug "API called: ChorusProApi#valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
976
+ end
977
+ return data, status_code, headers
978
+ end
979
+
980
+ # Rechercher factures à valider (Valideur)
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.
982
+ # @param body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post [BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost]
983
+ # @param [Hash] opts the optional parameters
984
+ # @return [Object]
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)
987
+ data
988
+ end
989
+
990
+ # Rechercher factures à valider (Valideur)
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.
992
+ # @param body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post [BodyValideurRechercherFacturesApiV1ChorusProFacturesValideurRechercherPost]
993
+ # @param [Hash] opts the optional parameters
994
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
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 = {})
996
+ if @api_client.config.debugging
997
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post ...'
998
+ end
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"
1002
+ end
1003
+ # resource path
1004
+ local_var_path = '/api/v1/chorus-pro/factures/valideur/rechercher'
1005
+
1006
+ # query parameters
1007
+ query_params = opts[:query_params] || {}
1008
+
1009
+ # header parameters
1010
+ header_params = opts[:header_params] || {}
1011
+ # HTTP header 'Accept' (if needed)
1012
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1013
+ # HTTP header 'Content-Type'
1014
+ content_type = @api_client.select_header_content_type(['application/json'])
1015
+ if !content_type.nil?
1016
+ header_params['Content-Type'] = content_type
1017
+ end
1018
+
1019
+ # form parameters
1020
+ form_params = opts[:form_params] || {}
1021
+
1022
+ # http body (model)
1023
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post)
1024
+
1025
+ # return_type
1026
+ return_type = opts[:debug_return_type] || 'Object'
1027
+
1028
+ # auth_names
1029
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
1030
+
1031
+ new_options = opts.merge(
1032
+ :operation => :"ChorusProApi.valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post",
1033
+ :header_params => header_params,
1034
+ :query_params => query_params,
1035
+ :form_params => form_params,
1036
+ :body => post_body,
1037
+ :auth_names => auth_names,
1038
+ :return_type => return_type
1039
+ )
1040
+
1041
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1042
+ if @api_client.config.debugging
1043
+ @api_client.config.logger.debug "API called: ChorusProApi#valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1044
+ end
1045
+ return data, status_code, headers
1046
+ end
1047
+
1048
+ # Valider ou refuser une facture (Valideur)
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)
1050
+ # @param body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post [BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost]
1051
+ # @param [Hash] opts the optional parameters
1052
+ # @return [Object]
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)
1055
+ data
1056
+ end
1057
+
1058
+ # Valider ou refuser une facture (Valideur)
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)
1060
+ # @param body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post [BodyValideurTraiterFactureApiV1ChorusProFacturesValideurTraiterPost]
1061
+ # @param [Hash] opts the optional parameters
1062
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
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 = {})
1064
+ if @api_client.config.debugging
1065
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post ...'
1066
+ end
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"
1070
+ end
1071
+ # resource path
1072
+ local_var_path = '/api/v1/chorus-pro/factures/valideur/traiter'
1073
+
1074
+ # query parameters
1075
+ query_params = opts[:query_params] || {}
1076
+
1077
+ # header parameters
1078
+ header_params = opts[:header_params] || {}
1079
+ # HTTP header 'Accept' (if needed)
1080
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1081
+ # HTTP header 'Content-Type'
1082
+ content_type = @api_client.select_header_content_type(['application/json'])
1083
+ if !content_type.nil?
1084
+ header_params['Content-Type'] = content_type
1085
+ end
1086
+
1087
+ # form parameters
1088
+ form_params = opts[:form_params] || {}
1089
+
1090
+ # http body (model)
1091
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body_valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post)
1092
+
1093
+ # return_type
1094
+ return_type = opts[:debug_return_type] || 'Object'
1095
+
1096
+ # auth_names
1097
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
1098
+
1099
+ new_options = opts.merge(
1100
+ :operation => :"ChorusProApi.valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post",
1101
+ :header_params => header_params,
1102
+ :query_params => query_params,
1103
+ :form_params => form_params,
1104
+ :body => post_body,
1105
+ :auth_names => auth_names,
1106
+ :return_type => return_type
1107
+ )
1108
+
1109
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1110
+ if @api_client.config.debugging
1111
+ @api_client.config.logger.debug "API called: ChorusProApi#valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1112
+ end
1113
+ return data, status_code, headers
1114
+ end
1115
+ end
1116
+ end