factpulse 2.0.10 → 2.0.11

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -3
  3. data/Gemfile.lock +1 -1
  4. data/README.md +119 -73
  5. data/docs/ChorusProApi.md +1 -1
  6. data/docs/{FactureEnrichieInfoOutput.md → FactureEnrichieInfo.md} +2 -2
  7. data/docs/LigneDePoste.md +6 -6
  8. data/docs/LigneDePosteMontantRemiseHt.md +15 -0
  9. data/docs/LigneDePosteTauxTvaManuel.md +15 -0
  10. data/docs/LigneDeTVA.md +6 -6
  11. data/docs/{MontantHtTotal1.md → MontantAPayer.md} +2 -2
  12. data/docs/{MontantTtcTotal1.md → MontantBaseHt.md} +2 -2
  13. data/docs/MontantRemiseGlobaleTtc.md +15 -0
  14. data/docs/MontantTotal.md +12 -12
  15. data/docs/MontantTotalAcompte.md +15 -0
  16. data/docs/MontantTotalLigneHt.md +15 -0
  17. data/docs/MontantTvaLigne.md +15 -0
  18. data/docs/MontantTvaTotal.md +15 -0
  19. data/docs/SantApi.md +62 -0
  20. data/docs/SoumettreFactureCompleteResponse.md +1 -1
  21. data/docs/SoumettreFactureRequest.md +3 -3
  22. data/docs/{MontantTva1.md → Tauxmanuel.md} +2 -2
  23. data/lib/factpulse/api/sant_api.rb +57 -0
  24. data/lib/factpulse/models/{facture_enrichie_info_output.rb → facture_enrichie_info.rb} +3 -3
  25. data/lib/factpulse/models/ligne_de_poste.rb +3 -61
  26. data/lib/factpulse/models/ligne_de_poste_montant_remise_ht.rb +104 -0
  27. data/lib/factpulse/models/ligne_de_poste_taux_tva_manuel.rb +104 -0
  28. data/lib/factpulse/models/ligne_de_tva.rb +3 -49
  29. data/lib/factpulse/models/{montant_tva1.rb → montant_a_payer.rb} +2 -2
  30. data/lib/factpulse/models/montant_base_ht.rb +104 -0
  31. data/lib/factpulse/models/montant_ht_total.rb +1 -0
  32. data/lib/factpulse/models/montant_remise_globale_ttc.rb +104 -0
  33. data/lib/factpulse/models/montant_total.rb +6 -94
  34. data/lib/factpulse/models/{montant_ht_total1.rb → montant_total_acompte.rb} +2 -2
  35. data/lib/factpulse/models/montant_total_ligne_ht.rb +104 -0
  36. data/lib/factpulse/models/montant_ttc_total.rb +1 -0
  37. data/lib/factpulse/models/montant_tva.rb +1 -0
  38. data/lib/factpulse/models/montant_tva_ligne.rb +104 -0
  39. data/lib/factpulse/models/{montant_ttc_total1.rb → montant_tva_total.rb} +2 -2
  40. data/lib/factpulse/models/soumettre_facture_complete_response.rb +1 -1
  41. data/lib/factpulse/models/soumettre_facture_request.rb +3 -3
  42. data/lib/factpulse/models/tauxmanuel.rb +104 -0
  43. data/lib/factpulse/version.rb +1 -1
  44. data/lib/factpulse.rb +11 -5
  45. metadata +24 -12
  46. data/docs/FactureEnrichieInfoInput.md +0 -32
  47. data/lib/factpulse/models/facture_enrichie_info_input.rb +0 -315
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ad9f29aadf9b50e5ffbf41dcdd4be0bb9c5635413e2b57f70191508543d38e8
4
- data.tar.gz: 3f09ce60856fb8f03ab2cb76e645f4cc520fe9f55ef3b49ae7e24266ec69e4ab
3
+ metadata.gz: 3d8516f2ce85ad111b182a047879e4867fea6a196c1ce50aa2e2212176842d1f
4
+ data.tar.gz: d197f51ba594977a5b50defbb38897e24f94ba35a0c000953013e25811714293
5
5
  SHA512:
6
- metadata.gz: cd9f6a5e9b928172122d999f2507ab6714cc7a85e988bb4d0f4f91f22e0530cbcfc1c8acf2de9a12f4b5dc86b74396c555e1b905bca076ed20d867ca2eb05c1a
7
- data.tar.gz: bf3258d4cfe497c632eebcf07f15351e3de6e86c3183a35d2cc5e66aaa17e09c69f7782f9c889b1b0452ef90cf6cc5efaa44fbac25a57304f8920a856fffbd1c
6
+ metadata.gz: b9e81ebb15e218f1ad45dfa86e2ce9788088e1e3f118c4386e4076cefbc2f18bba345d64340eb9b2692a4838993b8d1d88a862bd759034bbbafa5d21f54a35e9
7
+ data.tar.gz: 4bee9e53cb63ba6844dc6bad853085cd9306051b2a5ecc1d3196dcc8c19b2f837cab7a4bcba3ac1be0ab1381f0f788f9b0a07a32b0d58031a62dd887e7001aac
data/CHANGELOG.md CHANGED
@@ -7,7 +7,7 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [2.0.10] - 2025-11-20
10
+ ## [2.0.11] - 2025-11-26
11
11
 
12
12
  ### Added
13
13
  - Version initiale du SDK ruby
@@ -24,5 +24,5 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
24
24
  - Guide d'authentification JWT
25
25
  - Configuration avancée (timeout, proxy, debug)
26
26
 
27
- [Unreleased]: https://github.com/factpulse/sdk-ruby/compare/v2.0.10...HEAD
28
- [2.0.10]: https://github.com/factpulse/sdk-ruby/releases/tag/v2.0.10
27
+ [Unreleased]: https://github.com/factpulse/sdk-ruby/compare/v2.0.11...HEAD
28
+ [2.0.11]: https://github.com/factpulse/sdk-ruby/releases/tag/v2.0.11
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- factpulse (2.0.10)
4
+ factpulse (2.0.11)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -8,7 +8,7 @@ Client Ruby officiel pour l'API FactPulse - Facturation électronique française
8
8
  - **Chorus Pro** : Intégration avec la plateforme de facturation publique française
9
9
  - **AFNOR PDP/PA** : Soumission de flux conformes à la norme XP Z12-013
10
10
  - **Signature électronique** : Signature PDF (PAdES-B-B, PAdES-B-T, PAdES-B-LT)
11
- - **Traitement asynchrone** : Support Celery pour opérations longues
11
+ - **Client simplifié** : Authentification JWT et polling intégrés via `helpers`
12
12
  - **Ruby 2.7+** : Compatible avec les versions modernes de Ruby
13
13
 
14
14
  ## 🚀 Installation
@@ -25,129 +25,175 @@ gem 'factpulse'
25
25
 
26
26
  ## 📖 Démarrage rapide
27
27
 
28
- ### 1. Authentification
28
+ ### Méthode recommandée : Client simplifié avec helpers
29
+
30
+ Le module `helpers` offre une API simplifiée avec authentification et polling automatiques :
29
31
 
30
32
  ```ruby
31
33
  require 'factpulse'
34
+ require 'factpulse/helpers'
32
35
 
33
- # Configuration du client
34
- FactPulse.configure do |config|
35
- config.host = 'https://factpulse.fr/api/facturation'
36
- config.access_token = 'votre_token_jwt'
37
- end
38
-
39
- api_instance = FactPulse::TraitementFactureApi.new
40
- ```
41
-
42
- ### 2. Générer une facture Factur-X
43
-
44
- ```ruby
45
- require 'json'
36
+ # Créer le client (authentification automatique)
37
+ client = Factpulse::Helpers::FactPulseClient.new(
38
+ email: 'votre_email@example.com',
39
+ password: 'votre_mot_de_passe'
40
+ )
46
41
 
47
42
  # Données de la facture
48
43
  facture_data = {
49
- numero_facture: "FAC-2025-001",
50
- date_facture: "2025-01-15",
51
- montant_total_ht: "1000.00",
52
- montant_total_ttc: "1200.00",
44
+ numero_facture: 'FAC-2025-001',
45
+ date_facture: '2025-01-15',
53
46
  fournisseur: {
54
- nom: "Mon Entreprise SAS",
55
- siret: "12345678901234",
47
+ nom: 'Mon Entreprise SAS',
48
+ siret: '12345678901234',
56
49
  adresse_postale: {
57
- ligne_un: "123 Rue Example",
58
- code_postal: "75001",
59
- nom_ville: "Paris",
60
- pays_code_iso: "FR"
50
+ ligne_un: '123 Rue Example',
51
+ code_postal: '75001',
52
+ nom_ville: 'Paris',
53
+ pays_code_iso: 'FR'
61
54
  }
62
55
  },
63
56
  destinataire: {
64
- nom: "Client SARL",
65
- siret: "98765432109876",
57
+ nom: 'Client SARL',
58
+ siret: '98765432109876',
66
59
  adresse_postale: {
67
- ligne_un: "456 Avenue Test",
68
- code_postal: "69001",
69
- nom_ville: "Lyon",
70
- pays_code_iso: "FR"
60
+ ligne_un: '456 Avenue Test',
61
+ code_postal: '69001',
62
+ nom_ville: 'Lyon',
63
+ pays_code_iso: 'FR'
71
64
  }
72
65
  },
66
+ montant_total: {
67
+ montant_ht_total: '1000.00',
68
+ montant_tva: '200.00',
69
+ montant_ttc_total: '1200.00',
70
+ montant_a_payer: '1200.00'
71
+ },
73
72
  lignes_de_poste: [{
74
73
  numero: 1,
75
- denomination: "Prestation de conseil",
76
- quantite: "10.00",
77
- montant_unitaire_ht: "100.00",
78
- montant_ligne_ht: "1000.00"
74
+ denomination: 'Prestation de conseil',
75
+ quantite: '10.00',
76
+ unite: 'PIECE',
77
+ montant_unitaire_ht: '100.00'
79
78
  }]
80
79
  }
81
80
 
82
- # Générer le PDF Factur-X
83
- pdf_bytes = api_instance.generer_facture_api_v1_traitement_generer_facture_post(
84
- facture_data.to_json,
85
- 'EN16931',
86
- 'pdf'
81
+ # Lire le PDF source
82
+ pdf_source = File.binread('facture_source.pdf')
83
+
84
+ # Générer le PDF Factur-X (polling automatique)
85
+ pdf_bytes = client.generer_facturx(
86
+ facture_data,
87
+ pdf_source,
88
+ profil: 'EN16931',
89
+ format_sortie: 'pdf',
90
+ sync: true # Attend le résultat automatiquement
87
91
  )
88
92
 
89
93
  # Sauvegarder
90
- File.open('facture.pdf', 'wb') { |f| f.write(pdf_bytes) }
91
- ```
92
-
93
- ### 3. Soumettre une facture complète (Chorus Pro / AFNOR PDP)
94
-
95
- ```ruby
96
- response = api_instance.soumettre_facture_complete_api_v1_traitement_factures_soumettre_complete_post({
97
- facture: facture_data,
98
- destination: {
99
- type: "chorus_pro",
100
- credentials: {
101
- login: "votre_login_chorus",
102
- password: "votre_password_chorus"
103
- }
104
- }
105
- })
106
-
107
- puts "Facture soumise : #{response.id_facture_chorus}"
94
+ File.binwrite('facture_facturx.pdf', pdf_bytes)
108
95
  ```
109
96
 
110
- ## 🔑 Obtention du token JWT
97
+ ### Méthode alternative : SDK brut
111
98
 
112
- ### Via l'API
99
+ Pour un contrôle total, utilisez le SDK généré directement :
113
100
 
114
101
  ```ruby
102
+ require 'factpulse'
115
103
  require 'net/http'
116
104
  require 'json'
117
- require 'uri'
118
105
 
106
+ # 1. Obtenir le token JWT
119
107
  uri = URI('https://factpulse.fr/api/token/')
120
108
  http = Net::HTTP.new(uri.host, uri.port)
121
109
  http.use_ssl = true
122
110
 
123
- request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
111
+ request = Net::HTTP::Post.new(uri.path, { 'Content-Type' => 'application/json' })
124
112
  request.body = {
125
113
  username: 'votre_email@example.com',
126
114
  password: 'votre_mot_de_passe'
127
115
  }.to_json
128
116
 
129
117
  response = http.request(request)
130
- result = JSON.parse(response.body)
131
- token = result['access']
118
+ token = JSON.parse(response.body)['access']
119
+
120
+ # 2. Configurer le client
121
+ Factpulse.configure do |config|
122
+ config.host = 'https://factpulse.fr/api/facturation'
123
+ config.access_token = token
124
+ end
125
+
126
+ # 3. Appeler l'API
127
+ api = Factpulse::TraitementFactureApi.new
128
+ response = api.generer_facture_api_v1_traitement_generer_facture_post(
129
+ facture_data.to_json,
130
+ 'EN16931',
131
+ 'pdf',
132
+ File.open('facture_source.pdf', 'rb')
133
+ )
134
+
135
+ # 4. Polling manuel pour récupérer le résultat
136
+ task_id = response.id_tache
137
+ # ... (implémenter le polling)
132
138
  ```
133
139
 
134
- **Accès aux credentials d'un client spécifique :**
140
+ ## 🔧 Avantages des helpers
141
+
142
+ | Fonctionnalité | SDK brut | helpers |
143
+ |----------------|----------|---------|
144
+ | Authentification | Manuelle | Automatique |
145
+ | Refresh token | Manuel | Automatique |
146
+ | Polling tâches async | Manuel | Automatique (backoff) |
147
+ | Retry sur 401 | Manuel | Automatique |
148
+
149
+ ## 🔑 Options d'authentification
135
150
 
136
- Si vous gérez plusieurs clients et souhaitez accéder aux credentials (Chorus Pro, AFNOR PDP) d'un client particulier, ajoutez le champ `client_uid` :
151
+ ### Client UID (multi-clients)
152
+
153
+ Si vous gérez plusieurs clients :
137
154
 
138
155
  ```ruby
139
- request.body = {
140
- username: 'votre_email@example.com',
156
+ client = Factpulse::Helpers::FactPulseClient.new(
157
+ email: 'votre_email@example.com',
141
158
  password: 'votre_mot_de_passe',
142
159
  client_uid: 'identifiant_client' # UID du client cible
143
- }.to_json
160
+ )
144
161
  ```
145
162
 
146
- ### Via le Dashboard
163
+ ### Configuration avancée
147
164
 
148
- 1. Connectez-vous sur https://factpulse.fr/api/dashboard/
149
- 2. Générez un token API
150
- 3. Copiez et utilisez le token dans votre configuration
165
+ ```ruby
166
+ client = Factpulse::Helpers::FactPulseClient.new(
167
+ email: 'votre_email@example.com',
168
+ password: 'votre_mot_de_passe',
169
+ api_url: 'https://factpulse.fr', # URL personnalisée
170
+ polling_interval: 2.0, # Intervalle de polling initial (secondes)
171
+ polling_timeout: 120.0, # Timeout de polling (secondes)
172
+ max_retries: 2 # Tentatives en cas de 401
173
+ )
174
+ ```
175
+
176
+ ## 💡 Formats de montants acceptés
177
+
178
+ L'API accepte plusieurs formats pour les montants :
179
+
180
+ ```ruby
181
+ # String (recommandé pour la précision)
182
+ montant = '1234.56'
183
+
184
+ # Float
185
+ montant = 1234.56
186
+
187
+ # Integer
188
+ montant = 1234
189
+
190
+ # BigDecimal
191
+ require 'bigdecimal'
192
+ montant = BigDecimal('1234.56')
193
+
194
+ # Helper de formatage
195
+ montant_formate = Factpulse::Helpers::FactPulseClient.format_montant(1234.5) # => "1234.50"
196
+ ```
151
197
 
152
198
  ## 📚 Ressources
153
199
 
data/docs/ChorusProApi.md CHANGED
@@ -734,7 +734,7 @@ FactPulse.configure do |config|
734
734
  end
735
735
 
736
736
  api_instance = FactPulse::ChorusProApi.new
737
- soumettre_facture_request = FactPulse::SoumettreFactureRequest.new({numero_facture: 'numero_facture_example', date_facture: 'date_facture_example', id_structure_cpp: 37, montant_ht_total: FactPulse::MontantHtTotal1.new, montant_tva: FactPulse::MontantTva1.new, montant_ttc_total: FactPulse::MontantTtcTotal1.new}) # SoumettreFactureRequest |
737
+ soumettre_facture_request = FactPulse::SoumettreFactureRequest.new({numero_facture: 'numero_facture_example', date_facture: 'date_facture_example', id_structure_cpp: 37, montant_ht_total: FactPulse::MontantHtTotal.new, montant_tva: FactPulse::MontantTva.new, montant_ttc_total: FactPulse::MontantTtcTotal.new}) # SoumettreFactureRequest |
738
738
 
739
739
  begin
740
740
  # Soumettre une facture à Chorus Pro
@@ -1,4 +1,4 @@
1
- # FactPulse::FactureEnrichieInfoOutput
1
+ # FactPulse::FactureEnrichieInfo
2
2
 
3
3
  ## Properties
4
4
 
@@ -18,7 +18,7 @@
18
18
  ```ruby
19
19
  require 'factpulse'
20
20
 
21
- instance = FactPulse::FactureEnrichieInfoOutput.new(
21
+ instance = FactPulse::FactureEnrichieInfo.new(
22
22
  numero_facture: null,
23
23
  id_emetteur: null,
24
24
  id_destinataire: null,
data/docs/LigneDePoste.md CHANGED
@@ -10,10 +10,10 @@
10
10
  | **quantite** | [**Quantite**](Quantite.md) | | |
11
11
  | **unite** | [**Unite**](Unite.md) | | |
12
12
  | **montant_unitaire_ht** | [**MontantUnitaireHt**](MontantUnitaireHt.md) | | |
13
- | **montant_remise_ht** | **Float** | Montant de la remise HT. | [optional] |
14
- | **montant_total_ligne_ht** | **Float** | Montant total HT de la ligne (quantité × prix unitaire - remise). | [optional] |
13
+ | **montant_remise_ht** | [**LigneDePosteMontantRemiseHt**](LigneDePosteMontantRemiseHt.md) | | [optional] |
14
+ | **montant_total_ligne_ht** | [**MontantTotalLigneHt**](MontantTotalLigneHt.md) | | [optional] |
15
15
  | **taux_tva** | **String** | | [optional] |
16
- | **taux_tva_manuel** | **Float** | Taux de TVA avec valeur manuelle. | [optional] |
16
+ | **taux_tva_manuel** | [**LigneDePosteTauxTvaManuel**](LigneDePosteTauxTvaManuel.md) | | [optional] |
17
17
  | **categorie_tva** | [**CategorieTVA**](CategorieTVA.md) | | [optional] |
18
18
  | **date_debut_periode** | **String** | | [optional] |
19
19
  | **date_fin_periode** | **String** | | [optional] |
@@ -32,10 +32,10 @@ instance = FactPulse::LigneDePoste.new(
32
32
  quantite: null,
33
33
  unite: null,
34
34
  montant_unitaire_ht: null,
35
- montant_remise_ht: 1000.50,
36
- montant_total_ligne_ht: 1000.50,
35
+ montant_remise_ht: null,
36
+ montant_total_ligne_ht: null,
37
37
  taux_tva: null,
38
- taux_tva_manuel: 1000.50,
38
+ taux_tva_manuel: null,
39
39
  categorie_tva: null,
40
40
  date_debut_periode: null,
41
41
  date_fin_periode: null,
@@ -0,0 +1,15 @@
1
+ # FactPulse::LigneDePosteMontantRemiseHt
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'factpulse'
12
+
13
+ instance = FactPulse::LigneDePosteMontantRemiseHt.new()
14
+ ```
15
+
@@ -0,0 +1,15 @@
1
+ # FactPulse::LigneDePosteTauxTvaManuel
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'factpulse'
12
+
13
+ instance = FactPulse::LigneDePosteTauxTvaManuel.new()
14
+ ```
15
+
data/docs/LigneDeTVA.md CHANGED
@@ -4,10 +4,10 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **montant_base_ht** | **Float** | Montant de la base HT pour cette ligne de TVA. | |
8
- | **montant_tva** | **Float** | Montant de la TVA pour cette ligne. | |
7
+ | **montant_base_ht** | [**MontantBaseHt**](MontantBaseHt.md) | | |
8
+ | **montant_tva** | [**MontantTvaLigne**](MontantTvaLigne.md) | | |
9
9
  | **taux** | **String** | | [optional] |
10
- | **taux_manuel** | **Float** | Taux de TVA avec valeur manuelle. | [optional] |
10
+ | **taux_manuel** | [**Tauxmanuel**](Tauxmanuel.md) | | [optional] |
11
11
  | **categorie** | [**CategorieTVA**](CategorieTVA.md) | | [optional] |
12
12
 
13
13
  ## Example
@@ -16,10 +16,10 @@
16
16
  require 'factpulse'
17
17
 
18
18
  instance = FactPulse::LigneDeTVA.new(
19
- montant_base_ht: 1000.50,
20
- montant_tva: 1000.50,
19
+ montant_base_ht: null,
20
+ montant_tva: null,
21
21
  taux: null,
22
- taux_manuel: 1000.50,
22
+ taux_manuel: null,
23
23
  categorie: null
24
24
  )
25
25
  ```
@@ -1,4 +1,4 @@
1
- # FactPulse::MontantHtTotal1
1
+ # FactPulse::MontantAPayer
2
2
 
3
3
  ## Properties
4
4
 
@@ -10,6 +10,6 @@
10
10
  ```ruby
11
11
  require 'factpulse'
12
12
 
13
- instance = FactPulse::MontantHtTotal1.new()
13
+ instance = FactPulse::MontantAPayer.new()
14
14
  ```
15
15
 
@@ -1,4 +1,4 @@
1
- # FactPulse::MontantTtcTotal1
1
+ # FactPulse::MontantBaseHt
2
2
 
3
3
  ## Properties
4
4
 
@@ -10,6 +10,6 @@
10
10
  ```ruby
11
11
  require 'factpulse'
12
12
 
13
- instance = FactPulse::MontantTtcTotal1.new()
13
+ instance = FactPulse::MontantBaseHt.new()
14
14
  ```
15
15
 
@@ -0,0 +1,15 @@
1
+ # FactPulse::MontantRemiseGlobaleTtc
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'factpulse'
12
+
13
+ instance = FactPulse::MontantRemiseGlobaleTtc.new()
14
+ ```
15
+
data/docs/MontantTotal.md CHANGED
@@ -4,12 +4,12 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **montant_ht_total** | **Float** | Montant total HT. | |
8
- | **montant_tva** | **Float** | Montant total de la TVA. | |
9
- | **montant_ttc_total** | **Float** | Montant total TTC. | |
10
- | **montant_a_payer** | **Float** | Montant à payer. | |
11
- | **acompte** | **Float** | Acompte versé. | [optional] |
12
- | **montant_remise_globale_ttc** | **Float** | Montant de la remise globale TTC. | [optional] |
7
+ | **montant_ht_total** | [**MontantHtTotal**](MontantHtTotal.md) | | |
8
+ | **montant_tva** | [**MontantTvaTotal**](MontantTvaTotal.md) | | |
9
+ | **montant_ttc_total** | [**MontantTtcTotal**](MontantTtcTotal.md) | | |
10
+ | **montant_a_payer** | [**MontantAPayer**](MontantAPayer.md) | | |
11
+ | **acompte** | [**MontantTotalAcompte**](MontantTotalAcompte.md) | | [optional] |
12
+ | **montant_remise_globale_ttc** | [**MontantRemiseGlobaleTtc**](MontantRemiseGlobaleTtc.md) | | [optional] |
13
13
  | **motif_remise_globale_ttc** | **String** | | [optional] |
14
14
 
15
15
  ## Example
@@ -18,12 +18,12 @@
18
18
  require 'factpulse'
19
19
 
20
20
  instance = FactPulse::MontantTotal.new(
21
- montant_ht_total: 1000.50,
22
- montant_tva: 1000.50,
23
- montant_ttc_total: 1000.50,
24
- montant_a_payer: 1000.50,
25
- acompte: 1000.50,
26
- montant_remise_globale_ttc: 1000.50,
21
+ montant_ht_total: null,
22
+ montant_tva: null,
23
+ montant_ttc_total: null,
24
+ montant_a_payer: null,
25
+ acompte: null,
26
+ montant_remise_globale_ttc: null,
27
27
  motif_remise_globale_ttc: null
28
28
  )
29
29
  ```
@@ -0,0 +1,15 @@
1
+ # FactPulse::MontantTotalAcompte
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'factpulse'
12
+
13
+ instance = FactPulse::MontantTotalAcompte.new()
14
+ ```
15
+
@@ -0,0 +1,15 @@
1
+ # FactPulse::MontantTotalLigneHt
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'factpulse'
12
+
13
+ instance = FactPulse::MontantTotalLigneHt.new()
14
+ ```
15
+
@@ -0,0 +1,15 @@
1
+ # FactPulse::MontantTvaLigne
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'factpulse'
12
+
13
+ instance = FactPulse::MontantTvaLigne.new()
14
+ ```
15
+
@@ -0,0 +1,15 @@
1
+ # FactPulse::MontantTvaTotal
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'factpulse'
12
+
13
+ instance = FactPulse::MontantTvaTotal.new()
14
+ ```
15
+
data/docs/SantApi.md CHANGED
@@ -4,9 +4,71 @@ All URIs are relative to *http://localhost*
4
4
 
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
+ | [**healthcheck_healthcheck_get**](SantApi.md#healthcheck_healthcheck_get) | **GET** /healthcheck | Endpoint de healthcheck pour Docker |
7
8
  | [**racine_get**](SantApi.md#racine_get) | **GET** / | Vérifier l'état de l'API |
8
9
 
9
10
 
11
+ ## healthcheck_healthcheck_get
12
+
13
+ > Object healthcheck_healthcheck_get
14
+
15
+ Endpoint de healthcheck pour Docker
16
+
17
+ Endpoint de healthcheck pour Docker et les load balancers. Utile pour : - Docker healthcheck - Kubernetes liveness/readiness probes - Load balancers (Nginx, HAProxy) - Monitoring de disponibilité - Déploiement zero downtime Retourne un code 200 si l'API est opérationnelle.
18
+
19
+ ### Examples
20
+
21
+ ```ruby
22
+ require 'time'
23
+ require 'factpulse'
24
+
25
+ api_instance = FactPulse::SantApi.new
26
+
27
+ begin
28
+ # Endpoint de healthcheck pour Docker
29
+ result = api_instance.healthcheck_healthcheck_get
30
+ p result
31
+ rescue FactPulse::ApiError => e
32
+ puts "Error when calling SantApi->healthcheck_healthcheck_get: #{e}"
33
+ end
34
+ ```
35
+
36
+ #### Using the healthcheck_healthcheck_get_with_http_info variant
37
+
38
+ This returns an Array which contains the response data, status code and headers.
39
+
40
+ > <Array(Object, Integer, Hash)> healthcheck_healthcheck_get_with_http_info
41
+
42
+ ```ruby
43
+ begin
44
+ # Endpoint de healthcheck pour Docker
45
+ data, status_code, headers = api_instance.healthcheck_healthcheck_get_with_http_info
46
+ p status_code # => 2xx
47
+ p headers # => { ... }
48
+ p data # => Object
49
+ rescue FactPulse::ApiError => e
50
+ puts "Error when calling SantApi->healthcheck_healthcheck_get_with_http_info: #{e}"
51
+ end
52
+ ```
53
+
54
+ ### Parameters
55
+
56
+ This endpoint does not need any parameter.
57
+
58
+ ### Return type
59
+
60
+ **Object**
61
+
62
+ ### Authorization
63
+
64
+ No authorization required
65
+
66
+ ### HTTP request headers
67
+
68
+ - **Content-Type**: Not defined
69
+ - **Accept**: application/json
70
+
71
+
10
72
  ## racine_get
11
73
 
12
74
  > Object racine_get
@@ -8,7 +8,7 @@
8
8
  | **destination_type** | **String** | Type de destination | |
9
9
  | **resultat_chorus** | [**ResultatChorusPro**](ResultatChorusPro.md) | | [optional] |
10
10
  | **resultat_afnor** | [**ResultatAFNOR**](ResultatAFNOR.md) | | [optional] |
11
- | **facture_enrichie** | [**FactureEnrichieInfoOutput**](FactureEnrichieInfoOutput.md) | Données de la facture enrichie | |
11
+ | **facture_enrichie** | [**FactureEnrichieInfo**](FactureEnrichieInfo.md) | Données de la facture enrichie | |
12
12
  | **pdf_facturx** | [**PDFFacturXInfo**](PDFFacturXInfo.md) | Informations sur le PDF généré | |
13
13
  | **signature** | [**SignatureInfo**](SignatureInfo.md) | | [optional] |
14
14
  | **pdf_base64** | **String** | PDF Factur-X généré (et signé si demandé) encodé en base64 | |
@@ -11,9 +11,9 @@
11
11
  | **id_structure_cpp** | **Integer** | ID Chorus Pro de la structure destinataire | |
12
12
  | **code_service** | **String** | | [optional] |
13
13
  | **numero_engagement** | **String** | | [optional] |
14
- | **montant_ht_total** | [**MontantHtTotal1**](MontantHtTotal1.md) | | |
15
- | **montant_tva** | [**MontantTva1**](MontantTva1.md) | | |
16
- | **montant_ttc_total** | [**MontantTtcTotal1**](MontantTtcTotal1.md) | | |
14
+ | **montant_ht_total** | [**MontantHtTotal**](MontantHtTotal.md) | | |
15
+ | **montant_tva** | [**MontantTva**](MontantTva.md) | | |
16
+ | **montant_ttc_total** | [**MontantTtcTotal**](MontantTtcTotal.md) | | |
17
17
  | **piece_jointe_principale_id** | **Integer** | | [optional] |
18
18
  | **piece_jointe_principale_designation** | **String** | | [optional] |
19
19
  | **commentaire** | **String** | | [optional] |