factpulse 2.0.9 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -3
- data/Gemfile.lock +1 -1
- data/README.md +119 -73
- data/docs/ChorusProApi.md +1 -1
- data/docs/{FactureEnrichieInfoOutput.md → FactureEnrichieInfo.md} +2 -2
- data/docs/LigneDePoste.md +6 -6
- data/docs/LigneDePosteMontantRemiseHt.md +15 -0
- data/docs/LigneDePosteTauxTvaManuel.md +15 -0
- data/docs/LigneDeTVA.md +6 -6
- data/docs/{MontantHtTotal1.md → MontantAPayer.md} +2 -2
- data/docs/{MontantTtcTotal1.md → MontantBaseHt.md} +2 -2
- data/docs/MontantRemiseGlobaleTtc.md +15 -0
- data/docs/MontantTotal.md +12 -12
- data/docs/MontantTotalAcompte.md +15 -0
- data/docs/MontantTotalLigneHt.md +15 -0
- data/docs/MontantTvaLigne.md +15 -0
- data/docs/MontantTvaTotal.md +15 -0
- data/docs/SantApi.md +62 -0
- data/docs/SoumettreFactureCompleteResponse.md +1 -1
- data/docs/SoumettreFactureRequest.md +3 -3
- data/docs/{MontantTva1.md → Tauxmanuel.md} +2 -2
- data/lib/factpulse/api/sant_api.rb +57 -0
- data/lib/factpulse/api_client.rb +6 -2
- data/lib/factpulse/models/{facture_enrichie_info_output.rb → facture_enrichie_info.rb} +3 -3
- data/lib/factpulse/models/ligne_de_poste.rb +3 -61
- data/lib/factpulse/models/ligne_de_poste_montant_remise_ht.rb +104 -0
- data/lib/factpulse/models/ligne_de_poste_taux_tva_manuel.rb +104 -0
- data/lib/factpulse/models/ligne_de_tva.rb +3 -49
- data/lib/factpulse/models/{montant_tva1.rb → montant_a_payer.rb} +2 -2
- data/lib/factpulse/models/montant_base_ht.rb +104 -0
- data/lib/factpulse/models/montant_ht_total.rb +1 -0
- data/lib/factpulse/models/montant_remise_globale_ttc.rb +104 -0
- data/lib/factpulse/models/montant_total.rb +6 -94
- data/lib/factpulse/models/{montant_ht_total1.rb → montant_total_acompte.rb} +2 -2
- data/lib/factpulse/models/montant_total_ligne_ht.rb +104 -0
- data/lib/factpulse/models/montant_ttc_total.rb +1 -0
- data/lib/factpulse/models/montant_tva.rb +1 -0
- data/lib/factpulse/models/montant_tva_ligne.rb +104 -0
- data/lib/factpulse/models/{montant_ttc_total1.rb → montant_tva_total.rb} +2 -2
- data/lib/factpulse/models/soumettre_facture_complete_response.rb +1 -1
- data/lib/factpulse/models/soumettre_facture_request.rb +3 -3
- data/lib/factpulse/models/tauxmanuel.rb +104 -0
- data/lib/factpulse/version.rb +1 -1
- data/lib/factpulse.rb +11 -5
- metadata +24 -12
- data/docs/FactureEnrichieInfoInput.md +0 -32
- 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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d8516f2ce85ad111b182a047879e4867fea6a196c1ce50aa2e2212176842d1f
|
|
4
|
+
data.tar.gz: d197f51ba594977a5b50defbb38897e24f94ba35a0c000953013e25811714293
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
+
## [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.
|
|
28
|
-
[2.0.
|
|
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
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
|
-
- **
|
|
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
|
-
###
|
|
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
|
-
#
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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:
|
|
50
|
-
date_facture:
|
|
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:
|
|
55
|
-
siret:
|
|
47
|
+
nom: 'Mon Entreprise SAS',
|
|
48
|
+
siret: '12345678901234',
|
|
56
49
|
adresse_postale: {
|
|
57
|
-
ligne_un:
|
|
58
|
-
code_postal:
|
|
59
|
-
nom_ville:
|
|
60
|
-
pays_code_iso:
|
|
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:
|
|
65
|
-
siret:
|
|
57
|
+
nom: 'Client SARL',
|
|
58
|
+
siret: '98765432109876',
|
|
66
59
|
adresse_postale: {
|
|
67
|
-
ligne_un:
|
|
68
|
-
code_postal:
|
|
69
|
-
nom_ville:
|
|
70
|
-
pays_code_iso:
|
|
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:
|
|
76
|
-
quantite:
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
#
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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.
|
|
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
|
-
|
|
97
|
+
### Méthode alternative : SDK brut
|
|
111
98
|
|
|
112
|
-
|
|
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
|
-
|
|
131
|
-
|
|
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
|
-
|
|
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
|
-
|
|
151
|
+
### Client UID (multi-clients)
|
|
152
|
+
|
|
153
|
+
Si vous gérez plusieurs clients :
|
|
137
154
|
|
|
138
155
|
```ruby
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
160
|
+
)
|
|
144
161
|
```
|
|
145
162
|
|
|
146
|
-
###
|
|
163
|
+
### Configuration avancée
|
|
147
164
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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::
|
|
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::
|
|
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::
|
|
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** | **
|
|
14
|
-
| **montant_total_ligne_ht** | **
|
|
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** | **
|
|
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:
|
|
36
|
-
montant_total_ligne_ht:
|
|
35
|
+
montant_remise_ht: null,
|
|
36
|
+
montant_total_ligne_ht: null,
|
|
37
37
|
taux_tva: null,
|
|
38
|
-
taux_tva_manuel:
|
|
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** | **
|
|
8
|
-
| **montant_tva** | **
|
|
7
|
+
| **montant_base_ht** | [**MontantBaseHt**](MontantBaseHt.md) | | |
|
|
8
|
+
| **montant_tva** | [**MontantTvaLigne**](MontantTvaLigne.md) | | |
|
|
9
9
|
| **taux** | **String** | | [optional] |
|
|
10
|
-
| **taux_manuel** | **
|
|
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:
|
|
20
|
-
montant_tva:
|
|
19
|
+
montant_base_ht: null,
|
|
20
|
+
montant_tva: null,
|
|
21
21
|
taux: null,
|
|
22
|
-
taux_manuel:
|
|
22
|
+
taux_manuel: null,
|
|
23
23
|
categorie: null
|
|
24
24
|
)
|
|
25
25
|
```
|
|
@@ -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** | **
|
|
8
|
-
| **montant_tva** | **
|
|
9
|
-
| **montant_ttc_total** | **
|
|
10
|
-
| **montant_a_payer** | **
|
|
11
|
-
| **acompte** | **
|
|
12
|
-
| **montant_remise_globale_ttc** | **
|
|
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:
|
|
22
|
-
montant_tva:
|
|
23
|
-
montant_ttc_total:
|
|
24
|
-
montant_a_payer:
|
|
25
|
-
acompte:
|
|
26
|
-
montant_remise_globale_ttc:
|
|
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
|
```
|
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** | [**
|
|
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** | [**
|
|
15
|
-
| **montant_tva** | [**
|
|
16
|
-
| **montant_ttc_total** | [**
|
|
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] |
|