factpulse 3.0.25 → 3.0.27

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -3
  3. data/Gemfile.lock +1 -1
  4. data/README.md +19 -26
  5. data/docs/ChorusProCredentials.md +8 -8
  6. data/docs/ChorusProDestination.md +1 -1
  7. data/docs/FactureElectroniqueModelsInvoiceTypeCode.md +15 -0
  8. data/docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md +26 -0
  9. data/docs/GetChorusProIdRequest.md +1 -1
  10. data/docs/GetInvoiceRequest.md +1 -1
  11. data/docs/GetStructureRequest.md +1 -1
  12. data/docs/InvoiceInput.md +1 -1
  13. data/docs/SearchStructureRequest.md +1 -1
  14. data/docs/SimplifiedInvoiceData.md +1 -1
  15. data/docs/SubmitInvoiceRequest.md +1 -1
  16. data/lib/factpulse/helpers/client.rb +5 -5
  17. data/lib/factpulse/models/chorus_pro_credentials.rb +94 -26
  18. data/lib/factpulse/models/chorus_pro_destination.rb +1 -1
  19. data/lib/factpulse/models/{facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb → facture_electronique_models_invoice_type_code.rb} +20 -9
  20. data/lib/factpulse/models/{facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb → facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb} +29 -97
  21. data/lib/factpulse/models/get_chorus_pro_id_request.rb +1 -1
  22. data/lib/factpulse/models/get_invoice_request.rb +1 -1
  23. data/lib/factpulse/models/get_structure_request.rb +1 -1
  24. data/lib/factpulse/models/invoice_input.rb +1 -1
  25. data/lib/factpulse/models/invoice_type_code.rb +6 -17
  26. data/lib/factpulse/models/search_structure_request.rb +1 -1
  27. data/lib/factpulse/models/simplified_invoice_data.rb +1 -1
  28. data/lib/factpulse/models/submit_invoice_request.rb +1 -1
  29. data/lib/factpulse/version.rb +1 -1
  30. data/lib/factpulse.rb +2 -2
  31. metadata +5 -5
  32. data/docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md +0 -26
  33. data/docs/FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.md +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d35d995a30855bdad2e53ec82f5088290fa94ab94de020afc4e8ed9c0f8ef22f
4
- data.tar.gz: 10f976b9d1f5e3fa6caecfc9808ee909cb499ecf1f3d89d3a4800159a6c3e0f9
3
+ metadata.gz: afd9c744626f24a5048ba9d266e8da192313dc2281e8abe90becf0d1a70481e5
4
+ data.tar.gz: 5db03bdd8014b9e1634c1fa6db8698e8b634676cc4c2682a8808396c059932aa
5
5
  SHA512:
6
- metadata.gz: aecd7f091522cf7450e3ce3b11ee9040309fbfdf84df60511e65181ad476c975c91c54df9b4286e904fa81ce535c6f5217e52cf81477835e6de52924bdd3e3c0
7
- data.tar.gz: 007d9c515ac71e5a32434a83f4a70812fd8a37b563be9514491bbfa63a05ae6bdb57a4ed43b4a3b993bbea8c50f8088385fd73b449f622901931ca21d29e1d64
6
+ metadata.gz: '0194b86867c3c9d2a6cf38767dcf363cb2073bdc773f98e259dfae7d78f9090892b874338a42b83ea8355ecde8f7f464f27f0a76cb4995cb7f4e930c789660d5'
7
+ data.tar.gz: c122df51210bcdaa67e62e4eed2f302dff7b740a5ba2c145d403696afa3b7e007ecb3437cdbe596f9116b2da4024fdeaff73496f692d207d2a9faa6f2f63c8be
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
- ## [3.0.25] - 2026-01-15
10
+ ## [3.0.27] - 2026-01-15
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/v3.0.25...HEAD
28
- [3.0.25]: https://github.com/factpulse/sdk-ruby/releases/tag/v3.0.25
27
+ [Unreleased]: https://github.com/factpulse/sdk-ruby/compare/v3.0.27...HEAD
28
+ [3.0.27]: https://github.com/factpulse/sdk-ruby/releases/tag/v3.0.27
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- factpulse (3.0.25)
4
+ factpulse (3.0.27)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -38,37 +38,30 @@ client = FactPulseClient.new(
38
38
  'your_password'
39
39
  )
40
40
 
41
- # Build the invoice with helpers
41
+ # Build the invoice using simplified format (auto-calculates totals)
42
42
  invoice_data = {
43
- invoice_number: 'INV-2025-001',
44
- issue_date: '2025-01-15',
45
- due_date: '2025-02-15',
46
- currency_code: 'EUR',
47
- supplier: supplier(
48
- 'My Company SAS',
49
- '12345678901234',
50
- '123 Example Street',
51
- '75001',
52
- 'Paris'
53
- ),
54
- recipient: recipient(
55
- 'Client SARL',
56
- '98765432109876',
57
- '456 Test Avenue',
58
- '69001',
59
- 'Lyon'
60
- ),
61
- totals: invoice_totals(1000.00, 200.00, 1200.00, 1200.00),
62
- lines: [
63
- invoice_line(1, 'Consulting services', 10, 100.00, 1000.00)
64
- ],
65
- vat_lines: [
66
- vat_line(1000.00, 200.00)
43
+ 'number' => 'INV-2025-001',
44
+ 'supplier' => {
45
+ 'name' => 'My Company SAS',
46
+ 'siret' => '12345678901234',
47
+ 'iban' => 'FR7630001007941234567890185'
48
+ },
49
+ 'recipient' => {
50
+ 'name' => 'Client SARL',
51
+ 'siret' => '98765432109876'
52
+ },
53
+ 'lines' => [
54
+ {
55
+ 'description' => 'Consulting services',
56
+ 'quantity' => 10,
57
+ 'unitPrice' => 100.0,
58
+ 'vatRate' => 20
59
+ }
67
60
  ]
68
61
  }
69
62
 
70
63
  # Generate the Factur-X PDF
71
- pdf_bytes = client.generate_facturx(invoice_data, 'source_invoice.pdf', 'EN16931')
64
+ pdf_bytes = client.generate_facturx(invoice_data, 'source_invoice.pdf')
72
65
 
73
66
  File.binwrite('invoice_facturx.pdf', pdf_bytes)
74
67
  ```
@@ -4,11 +4,11 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **piste_client_id** | **String** | | [optional] |
8
- | **piste_client_secret** | **String** | | [optional] |
9
- | **chorus_login** | **String** | | [optional] |
10
- | **chorus_password** | **String** | | [optional] |
11
- | **sandbox_mode** | **Boolean** | [MODE 2] Use sandbox mode (default: True) | [optional][default to true] |
7
+ | **piste_client_id** | **String** | PISTE Client ID (government API portal) | |
8
+ | **piste_client_secret** | **String** | PISTE Client Secret | |
9
+ | **chorus_pro_login** | **String** | Chorus Pro login | |
10
+ | **chorus_pro_password** | **String** | Chorus Pro password | |
11
+ | **sandbox** | **Boolean** | Use sandbox environment (true) or production (false) | [optional][default to true] |
12
12
 
13
13
  ## Example
14
14
 
@@ -18,9 +18,9 @@ require 'factpulse'
18
18
  instance = FactPulse::ChorusProCredentials.new(
19
19
  piste_client_id: null,
20
20
  piste_client_secret: null,
21
- chorus_login: null,
22
- chorus_password: null,
23
- sandbox_mode: null
21
+ chorus_pro_login: null,
22
+ chorus_pro_password: null,
23
+ sandbox: null
24
24
  )
25
25
  ```
26
26
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **type** | **String** | | [optional][default to 'chorus_pro'] |
8
- | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
+ | **credentials** | [**FactureElectroniqueRestApiSchemasProcessingChorusProCredentials**](FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md) | | [optional] |
9
9
 
10
10
  ## Example
11
11
 
@@ -0,0 +1,15 @@
1
+ # FactPulse::FactureElectroniqueModelsInvoiceTypeCode
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'factpulse'
12
+
13
+ instance = FactPulse::FactureElectroniqueModelsInvoiceTypeCode.new()
14
+ ```
15
+
@@ -0,0 +1,26 @@
1
+ # FactPulse::FactureElectroniqueRestApiSchemasProcessingChorusProCredentials
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **piste_client_id** | **String** | | [optional] |
8
+ | **piste_client_secret** | **String** | | [optional] |
9
+ | **chorus_login** | **String** | | [optional] |
10
+ | **chorus_password** | **String** | | [optional] |
11
+ | **sandbox_mode** | **Boolean** | [MODE 2] Use sandbox mode (default: True) | [optional][default to true] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'factpulse'
17
+
18
+ instance = FactPulse::FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.new(
19
+ piste_client_id: null,
20
+ piste_client_secret: null,
21
+ chorus_login: null,
22
+ chorus_password: null,
23
+ sandbox_mode: null
24
+ )
25
+ ```
26
+
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **credentials** | [**FactureElectroniqueRestApiSchemasChorusProChorusProCredentials**](FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md) | | [optional] |
7
+ | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
8
  | **siret** | **String** | Structure SIRET (14 digits) | |
9
9
  | **identifier_type** | **String** | Identifier type (SIRET, SIREN, UE_HORS_FRANCE, etc.) | [optional][default to 'SIRET'] |
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **credentials** | [**FactureElectroniqueRestApiSchemasChorusProChorusProCredentials**](FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md) | | [optional] |
7
+ | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
8
  | **chorus_invoice_id** | **Integer** | Chorus Pro invoice ID | |
9
9
 
10
10
  ## Example
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **credentials** | [**FactureElectroniqueRestApiSchemasChorusProChorusProCredentials**](FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md) | | [optional] |
7
+ | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
8
  | **structure_id** | **Integer** | Chorus Pro structure ID | |
9
9
  | **language_code** | **String** | Language code (fr, en) | [optional][default to 'fr'] |
10
10
 
data/docs/InvoiceInput.md CHANGED
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **invoice_id** | **String** | Invoice identifier | |
8
8
  | **issue_date** | **Date** | Invoice issue date | |
9
- | **type_code** | [**FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode**](FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.md) | Invoice type code | [optional] |
9
+ | **type_code** | [**InvoiceTypeCode**](InvoiceTypeCode.md) | Invoice type code | [optional] |
10
10
  | **currency** | [**Currency**](Currency.md) | | [optional] |
11
11
  | **due_date** | **Date** | | [optional] |
12
12
  | **seller_siren** | **String** | Seller SIREN/SIRET | |
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **credentials** | [**FactureElectroniqueRestApiSchemasChorusProChorusProCredentials**](FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md) | | [optional] |
7
+ | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
8
  | **structure_identifier** | **String** | | [optional] |
9
9
  | **structure_identifier_type** | **String** | | [optional] |
10
10
  | **company_name** | **String** | | [optional] |
@@ -13,7 +13,7 @@
13
13
  | **comment** | **String** | | [optional] |
14
14
  | **purchase_order_reference** | **String** | | [optional] |
15
15
  | **contract_reference** | **String** | | [optional] |
16
- | **invoice_type** | [**InvoiceTypeCode**](InvoiceTypeCode.md) | Document type (UNTDID 1001). Default: 380 (Invoice). | [optional] |
16
+ | **invoice_type** | [**FactureElectroniqueModelsInvoiceTypeCode**](FactureElectroniqueModelsInvoiceTypeCode.md) | Document type (UNTDID 1001). Default: 380 (Invoice). | [optional] |
17
17
  | **preceding_invoice_reference** | **String** | | [optional] |
18
18
  | **operation_nature** | [**OperationNature**](OperationNature.md) | | [optional] |
19
19
  | **invoicing_framework** | [**InvoicingFrameworkCode**](InvoicingFrameworkCode.md) | | [optional] |
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **credentials** | [**FactureElectroniqueRestApiSchemasChorusProChorusProCredentials**](FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md) | | [optional] |
7
+ | **credentials** | [**ChorusProCredentials**](ChorusProCredentials.md) | | [optional] |
8
8
  | **invoice_number** | **String** | Invoice number | |
9
9
  | **invoice_date** | **String** | Invoice date (ISO format: YYYY-MM-DD) | |
10
10
  | **payment_due_date** | **String** | | [optional] |
@@ -200,10 +200,10 @@ module FactPulse
200
200
  ensure_authenticated; response = http_get(URI("#{@api_url}/api/v1/processing/tasks/#{task_id}/status"))
201
201
  reset_auth and next if response.code == '401'
202
202
  data = JSON.parse(response.body)
203
- return data['resultat'] || {} if data['statut'] == 'SUCCESS'
204
- if data['statut'] == 'FAILURE'
203
+ return data['result'] || {} if data['status'] == 'SUCCESS'
204
+ if data['status'] == 'FAILURE'
205
205
  # Format AFNOR: errorMessage, details
206
- r = data['resultat'] || {}
206
+ r = data['result'] || {}
207
207
  raise FactPulseValidationError.new("Task #{task_id} failed: #{r['errorMessage'] || '?'}", (r['details'] || []).map { |e| ValidationErrorDetail.from_hash(e) })
208
208
  end
209
209
  sleep(current_interval / 1000.0); current_interval = [current_interval * 1.5, 10000].min
@@ -295,8 +295,8 @@ module FactPulse
295
295
 
296
296
  data = JSON.parse(response.body)
297
297
 
298
- if sync && data['task_id']
299
- result = poll_task(data['task_id'], timeout: timeout)
298
+ if sync && data['taskId']
299
+ result = poll_task(data['taskId'], timeout: timeout)
300
300
  if result['contenu_b64']
301
301
  return Base64.decode64(result['contenu_b64'])
302
302
  elsif result['contenu_xml']
@@ -14,27 +14,31 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module FactPulse
17
- # Optional Chorus Pro credentials. **MODE 1 - JWT retrieval (recommended):** Do not provide this `credentials` field in the payload. Credentials will be automatically retrieved via client_uid from JWT (0-trust). **MODE 2 - Credentials in payload:** Provide all required fields below. Useful for tests or third-party integrations.
17
+ # Chorus Pro credentials for Zero-Trust mode. **Zero-Trust Mode**: Credentials are passed in each request and are NEVER stored. **Security**: - Credentials are never persisted in the database - They are used only for the duration of the request - Secure transmission via HTTPS **Use cases**: - High-security environments (banks, administrations) - Strict GDPR compliance - Tests with temporary credentials - Users who don't want to store their credentials
18
18
  class ChorusProCredentials < ApiModelBase
19
+ # PISTE Client ID (government API portal)
19
20
  attr_accessor :piste_client_id
20
21
 
22
+ # PISTE Client Secret
21
23
  attr_accessor :piste_client_secret
22
24
 
23
- attr_accessor :chorus_login
25
+ # Chorus Pro login
26
+ attr_accessor :chorus_pro_login
24
27
 
25
- attr_accessor :chorus_password
28
+ # Chorus Pro password
29
+ attr_accessor :chorus_pro_password
26
30
 
27
- # [MODE 2] Use sandbox mode (default: True)
28
- attr_accessor :sandbox_mode
31
+ # Use sandbox environment (true) or production (false)
32
+ attr_accessor :sandbox
29
33
 
30
34
  # Attribute mapping from ruby-style variable name to JSON key.
31
35
  def self.attribute_map
32
36
  {
33
37
  :'piste_client_id' => :'pisteClientId',
34
38
  :'piste_client_secret' => :'pisteClientSecret',
35
- :'chorus_login' => :'chorusLogin',
36
- :'chorus_password' => :'chorusPassword',
37
- :'sandbox_mode' => :'sandboxMode'
39
+ :'chorus_pro_login' => :'chorusProLogin',
40
+ :'chorus_pro_password' => :'chorusProPassword',
41
+ :'sandbox' => :'sandbox'
38
42
  }
39
43
  end
40
44
 
@@ -53,19 +57,15 @@ module FactPulse
53
57
  {
54
58
  :'piste_client_id' => :'String',
55
59
  :'piste_client_secret' => :'String',
56
- :'chorus_login' => :'String',
57
- :'chorus_password' => :'String',
58
- :'sandbox_mode' => :'Boolean'
60
+ :'chorus_pro_login' => :'String',
61
+ :'chorus_pro_password' => :'String',
62
+ :'sandbox' => :'Boolean'
59
63
  }
60
64
  end
61
65
 
62
66
  # List of attributes with nullable: true
63
67
  def self.openapi_nullable
64
68
  Set.new([
65
- :'piste_client_id',
66
- :'piste_client_secret',
67
- :'chorus_login',
68
- :'chorus_password',
69
69
  ])
70
70
  end
71
71
 
@@ -87,24 +87,32 @@ module FactPulse
87
87
 
88
88
  if attributes.key?(:'piste_client_id')
89
89
  self.piste_client_id = attributes[:'piste_client_id']
90
+ else
91
+ self.piste_client_id = nil
90
92
  end
91
93
 
92
94
  if attributes.key?(:'piste_client_secret')
93
95
  self.piste_client_secret = attributes[:'piste_client_secret']
96
+ else
97
+ self.piste_client_secret = nil
94
98
  end
95
99
 
96
- if attributes.key?(:'chorus_login')
97
- self.chorus_login = attributes[:'chorus_login']
100
+ if attributes.key?(:'chorus_pro_login')
101
+ self.chorus_pro_login = attributes[:'chorus_pro_login']
102
+ else
103
+ self.chorus_pro_login = nil
98
104
  end
99
105
 
100
- if attributes.key?(:'chorus_password')
101
- self.chorus_password = attributes[:'chorus_password']
106
+ if attributes.key?(:'chorus_pro_password')
107
+ self.chorus_pro_password = attributes[:'chorus_pro_password']
108
+ else
109
+ self.chorus_pro_password = nil
102
110
  end
103
111
 
104
- if attributes.key?(:'sandbox_mode')
105
- self.sandbox_mode = attributes[:'sandbox_mode']
112
+ if attributes.key?(:'sandbox')
113
+ self.sandbox = attributes[:'sandbox']
106
114
  else
107
- self.sandbox_mode = true
115
+ self.sandbox = true
108
116
  end
109
117
  end
110
118
 
@@ -113,6 +121,22 @@ module FactPulse
113
121
  def list_invalid_properties
114
122
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
115
123
  invalid_properties = Array.new
124
+ if @piste_client_id.nil?
125
+ invalid_properties.push('invalid value for "piste_client_id", piste_client_id cannot be nil.')
126
+ end
127
+
128
+ if @piste_client_secret.nil?
129
+ invalid_properties.push('invalid value for "piste_client_secret", piste_client_secret cannot be nil.')
130
+ end
131
+
132
+ if @chorus_pro_login.nil?
133
+ invalid_properties.push('invalid value for "chorus_pro_login", chorus_pro_login cannot be nil.')
134
+ end
135
+
136
+ if @chorus_pro_password.nil?
137
+ invalid_properties.push('invalid value for "chorus_pro_password", chorus_pro_password cannot be nil.')
138
+ end
139
+
116
140
  invalid_properties
117
141
  end
118
142
 
@@ -120,9 +144,53 @@ module FactPulse
120
144
  # @return true if the model is valid
121
145
  def valid?
122
146
  warn '[DEPRECATED] the `valid?` method is obsolete'
147
+ return false if @piste_client_id.nil?
148
+ return false if @piste_client_secret.nil?
149
+ return false if @chorus_pro_login.nil?
150
+ return false if @chorus_pro_password.nil?
123
151
  true
124
152
  end
125
153
 
154
+ # Custom attribute writer method with validation
155
+ # @param [Object] piste_client_id Value to be assigned
156
+ def piste_client_id=(piste_client_id)
157
+ if piste_client_id.nil?
158
+ fail ArgumentError, 'piste_client_id cannot be nil'
159
+ end
160
+
161
+ @piste_client_id = piste_client_id
162
+ end
163
+
164
+ # Custom attribute writer method with validation
165
+ # @param [Object] piste_client_secret Value to be assigned
166
+ def piste_client_secret=(piste_client_secret)
167
+ if piste_client_secret.nil?
168
+ fail ArgumentError, 'piste_client_secret cannot be nil'
169
+ end
170
+
171
+ @piste_client_secret = piste_client_secret
172
+ end
173
+
174
+ # Custom attribute writer method with validation
175
+ # @param [Object] chorus_pro_login Value to be assigned
176
+ def chorus_pro_login=(chorus_pro_login)
177
+ if chorus_pro_login.nil?
178
+ fail ArgumentError, 'chorus_pro_login cannot be nil'
179
+ end
180
+
181
+ @chorus_pro_login = chorus_pro_login
182
+ end
183
+
184
+ # Custom attribute writer method with validation
185
+ # @param [Object] chorus_pro_password Value to be assigned
186
+ def chorus_pro_password=(chorus_pro_password)
187
+ if chorus_pro_password.nil?
188
+ fail ArgumentError, 'chorus_pro_password cannot be nil'
189
+ end
190
+
191
+ @chorus_pro_password = chorus_pro_password
192
+ end
193
+
126
194
  # Checks equality by comparing each attribute.
127
195
  # @param [Object] Object to be compared
128
196
  def ==(o)
@@ -130,9 +198,9 @@ module FactPulse
130
198
  self.class == o.class &&
131
199
  piste_client_id == o.piste_client_id &&
132
200
  piste_client_secret == o.piste_client_secret &&
133
- chorus_login == o.chorus_login &&
134
- chorus_password == o.chorus_password &&
135
- sandbox_mode == o.sandbox_mode
201
+ chorus_pro_login == o.chorus_pro_login &&
202
+ chorus_pro_password == o.chorus_pro_password &&
203
+ sandbox == o.sandbox
136
204
  end
137
205
 
138
206
  # @see the `==` method
@@ -144,7 +212,7 @@ module FactPulse
144
212
  # Calculates hash code according to all attributes.
145
213
  # @return [Integer] Hash code
146
214
  def hash
147
- [piste_client_id, piste_client_secret, chorus_login, chorus_password, sandbox_mode].hash
215
+ [piste_client_id, piste_client_secret, chorus_pro_login, chorus_pro_password, sandbox].hash
148
216
  end
149
217
 
150
218
  # Builds the object from hash
@@ -64,7 +64,7 @@ module FactPulse
64
64
  def self.openapi_types
65
65
  {
66
66
  :'type' => :'String',
67
- :'credentials' => :'ChorusProCredentials'
67
+ :'credentials' => :'FactureElectroniqueRestApiSchemasProcessingChorusProCredentials'
68
68
  }
69
69
  end
70
70
 
@@ -14,15 +14,26 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module FactPulse
17
- class FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode
18
- N380 = "380".freeze
19
- N381 = "381".freeze
20
- N384 = "384".freeze
21
- N389 = "389".freeze
22
- N386 = "386".freeze
17
+ class FactureElectroniqueModelsInvoiceTypeCode
18
+ INVOICE = "380".freeze
19
+ SELF_BILLED_INVOICE = "389".freeze
20
+ FACTORED_INVOICE = "393".freeze
21
+ SELF_BILLED_FACTORED_INVOICE = "501".freeze
22
+ PREPAYMENT_INVOICE = "386".freeze
23
+ SELF_BILLED_PREPAYMENT_INVOICE = "500".freeze
24
+ CORRECTIVE_INVOICE = "384".freeze
25
+ SELF_BILLED_CORRECTIVE_INVOICE = "471".freeze
26
+ FACTORED_CORRECTIVE_INVOICE = "472".freeze
27
+ SELF_BILLED_FACTORED_CORRECTIVE_INVOICE = "473".freeze
28
+ CREDIT_NOTE = "381".freeze
29
+ SELF_BILLED_CREDIT_NOTE = "261".freeze
30
+ GLOBAL_ALLOWANCE_CREDIT_NOTE = "262".freeze
31
+ FACTORED_CREDIT_NOTE = "396".freeze
32
+ SELF_BILLED_FACTORED_CREDIT_NOTE = "502".freeze
33
+ PREPAYMENT_CREDIT_NOTE = "503".freeze
23
34
 
24
35
  def self.all_vars
25
- @all_vars ||= [N380, N381, N384, N389, N386].freeze
36
+ @all_vars ||= [INVOICE, SELF_BILLED_INVOICE, FACTORED_INVOICE, SELF_BILLED_FACTORED_INVOICE, PREPAYMENT_INVOICE, SELF_BILLED_PREPAYMENT_INVOICE, CORRECTIVE_INVOICE, SELF_BILLED_CORRECTIVE_INVOICE, FACTORED_CORRECTIVE_INVOICE, SELF_BILLED_FACTORED_CORRECTIVE_INVOICE, CREDIT_NOTE, SELF_BILLED_CREDIT_NOTE, GLOBAL_ALLOWANCE_CREDIT_NOTE, FACTORED_CREDIT_NOTE, SELF_BILLED_FACTORED_CREDIT_NOTE, PREPAYMENT_CREDIT_NOTE].freeze
26
37
  end
27
38
 
28
39
  # Builds the enum from string
@@ -36,8 +47,8 @@ module FactPulse
36
47
  # @param [String] The enum value in the form of the string
37
48
  # @return [String] The enum value
38
49
  def build_from_hash(value)
39
- return value if FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.all_vars.include?(value)
40
- raise "Invalid ENUM value #{value} for class #FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode"
50
+ return value if FactureElectroniqueModelsInvoiceTypeCode.all_vars.include?(value)
51
+ raise "Invalid ENUM value #{value} for class #FactureElectroniqueModelsInvoiceTypeCode"
41
52
  end
42
53
  end
43
54
  end
@@ -14,31 +14,27 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module FactPulse
17
- # Chorus Pro credentials for Zero-Trust mode. **Zero-Trust Mode**: Credentials are passed in each request and are NEVER stored. **Security**: - Credentials are never persisted in the database - They are used only for the duration of the request - Secure transmission via HTTPS **Use cases**: - High-security environments (banks, administrations) - Strict GDPR compliance - Tests with temporary credentials - Users who don't want to store their credentials
18
- class FactureElectroniqueRestApiSchemasChorusProChorusProCredentials < ApiModelBase
19
- # PISTE Client ID (government API portal)
17
+ # Optional Chorus Pro credentials. **MODE 1 - JWT retrieval (recommended):** Do not provide this `credentials` field in the payload. Credentials will be automatically retrieved via client_uid from JWT (0-trust). **MODE 2 - Credentials in payload:** Provide all required fields below. Useful for tests or third-party integrations.
18
+ class FactureElectroniqueRestApiSchemasProcessingChorusProCredentials < ApiModelBase
20
19
  attr_accessor :piste_client_id
21
20
 
22
- # PISTE Client Secret
23
21
  attr_accessor :piste_client_secret
24
22
 
25
- # Chorus Pro login
26
- attr_accessor :chorus_pro_login
23
+ attr_accessor :chorus_login
27
24
 
28
- # Chorus Pro password
29
- attr_accessor :chorus_pro_password
25
+ attr_accessor :chorus_password
30
26
 
31
- # Use sandbox environment (true) or production (false)
32
- attr_accessor :sandbox
27
+ # [MODE 2] Use sandbox mode (default: True)
28
+ attr_accessor :sandbox_mode
33
29
 
34
30
  # Attribute mapping from ruby-style variable name to JSON key.
35
31
  def self.attribute_map
36
32
  {
37
33
  :'piste_client_id' => :'pisteClientId',
38
34
  :'piste_client_secret' => :'pisteClientSecret',
39
- :'chorus_pro_login' => :'chorusProLogin',
40
- :'chorus_pro_password' => :'chorusProPassword',
41
- :'sandbox' => :'sandbox'
35
+ :'chorus_login' => :'chorusLogin',
36
+ :'chorus_password' => :'chorusPassword',
37
+ :'sandbox_mode' => :'sandboxMode'
42
38
  }
43
39
  end
44
40
 
@@ -57,15 +53,19 @@ module FactPulse
57
53
  {
58
54
  :'piste_client_id' => :'String',
59
55
  :'piste_client_secret' => :'String',
60
- :'chorus_pro_login' => :'String',
61
- :'chorus_pro_password' => :'String',
62
- :'sandbox' => :'Boolean'
56
+ :'chorus_login' => :'String',
57
+ :'chorus_password' => :'String',
58
+ :'sandbox_mode' => :'Boolean'
63
59
  }
64
60
  end
65
61
 
66
62
  # List of attributes with nullable: true
67
63
  def self.openapi_nullable
68
64
  Set.new([
65
+ :'piste_client_id',
66
+ :'piste_client_secret',
67
+ :'chorus_login',
68
+ :'chorus_password',
69
69
  ])
70
70
  end
71
71
 
@@ -73,46 +73,38 @@ module FactPulse
73
73
  # @param [Hash] attributes Model attributes in the form of hash
74
74
  def initialize(attributes = {})
75
75
  if (!attributes.is_a?(Hash))
76
- fail ArgumentError, "The input argument (attributes) must be a hash in `FactPulse::FactureElectroniqueRestApiSchemasChorusProChorusProCredentials` initialize method"
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FactPulse::FactureElectroniqueRestApiSchemasProcessingChorusProCredentials` initialize method"
77
77
  end
78
78
 
79
79
  # check to see if the attribute exists and convert string to symbol for hash key
80
80
  acceptable_attribute_map = self.class.acceptable_attribute_map
81
81
  attributes = attributes.each_with_object({}) { |(k, v), h|
82
82
  if (!acceptable_attribute_map.key?(k.to_sym))
83
- fail ArgumentError, "`#{k}` is not a valid attribute in `FactPulse::FactureElectroniqueRestApiSchemasChorusProChorusProCredentials`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FactPulse::FactureElectroniqueRestApiSchemasProcessingChorusProCredentials`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
84
84
  end
85
85
  h[k.to_sym] = v
86
86
  }
87
87
 
88
88
  if attributes.key?(:'piste_client_id')
89
89
  self.piste_client_id = attributes[:'piste_client_id']
90
- else
91
- self.piste_client_id = nil
92
90
  end
93
91
 
94
92
  if attributes.key?(:'piste_client_secret')
95
93
  self.piste_client_secret = attributes[:'piste_client_secret']
96
- else
97
- self.piste_client_secret = nil
98
94
  end
99
95
 
100
- if attributes.key?(:'chorus_pro_login')
101
- self.chorus_pro_login = attributes[:'chorus_pro_login']
102
- else
103
- self.chorus_pro_login = nil
96
+ if attributes.key?(:'chorus_login')
97
+ self.chorus_login = attributes[:'chorus_login']
104
98
  end
105
99
 
106
- if attributes.key?(:'chorus_pro_password')
107
- self.chorus_pro_password = attributes[:'chorus_pro_password']
108
- else
109
- self.chorus_pro_password = nil
100
+ if attributes.key?(:'chorus_password')
101
+ self.chorus_password = attributes[:'chorus_password']
110
102
  end
111
103
 
112
- if attributes.key?(:'sandbox')
113
- self.sandbox = attributes[:'sandbox']
104
+ if attributes.key?(:'sandbox_mode')
105
+ self.sandbox_mode = attributes[:'sandbox_mode']
114
106
  else
115
- self.sandbox = true
107
+ self.sandbox_mode = true
116
108
  end
117
109
  end
118
110
 
@@ -121,22 +113,6 @@ module FactPulse
121
113
  def list_invalid_properties
122
114
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
123
115
  invalid_properties = Array.new
124
- if @piste_client_id.nil?
125
- invalid_properties.push('invalid value for "piste_client_id", piste_client_id cannot be nil.')
126
- end
127
-
128
- if @piste_client_secret.nil?
129
- invalid_properties.push('invalid value for "piste_client_secret", piste_client_secret cannot be nil.')
130
- end
131
-
132
- if @chorus_pro_login.nil?
133
- invalid_properties.push('invalid value for "chorus_pro_login", chorus_pro_login cannot be nil.')
134
- end
135
-
136
- if @chorus_pro_password.nil?
137
- invalid_properties.push('invalid value for "chorus_pro_password", chorus_pro_password cannot be nil.')
138
- end
139
-
140
116
  invalid_properties
141
117
  end
142
118
 
@@ -144,53 +120,9 @@ module FactPulse
144
120
  # @return true if the model is valid
145
121
  def valid?
146
122
  warn '[DEPRECATED] the `valid?` method is obsolete'
147
- return false if @piste_client_id.nil?
148
- return false if @piste_client_secret.nil?
149
- return false if @chorus_pro_login.nil?
150
- return false if @chorus_pro_password.nil?
151
123
  true
152
124
  end
153
125
 
154
- # Custom attribute writer method with validation
155
- # @param [Object] piste_client_id Value to be assigned
156
- def piste_client_id=(piste_client_id)
157
- if piste_client_id.nil?
158
- fail ArgumentError, 'piste_client_id cannot be nil'
159
- end
160
-
161
- @piste_client_id = piste_client_id
162
- end
163
-
164
- # Custom attribute writer method with validation
165
- # @param [Object] piste_client_secret Value to be assigned
166
- def piste_client_secret=(piste_client_secret)
167
- if piste_client_secret.nil?
168
- fail ArgumentError, 'piste_client_secret cannot be nil'
169
- end
170
-
171
- @piste_client_secret = piste_client_secret
172
- end
173
-
174
- # Custom attribute writer method with validation
175
- # @param [Object] chorus_pro_login Value to be assigned
176
- def chorus_pro_login=(chorus_pro_login)
177
- if chorus_pro_login.nil?
178
- fail ArgumentError, 'chorus_pro_login cannot be nil'
179
- end
180
-
181
- @chorus_pro_login = chorus_pro_login
182
- end
183
-
184
- # Custom attribute writer method with validation
185
- # @param [Object] chorus_pro_password Value to be assigned
186
- def chorus_pro_password=(chorus_pro_password)
187
- if chorus_pro_password.nil?
188
- fail ArgumentError, 'chorus_pro_password cannot be nil'
189
- end
190
-
191
- @chorus_pro_password = chorus_pro_password
192
- end
193
-
194
126
  # Checks equality by comparing each attribute.
195
127
  # @param [Object] Object to be compared
196
128
  def ==(o)
@@ -198,9 +130,9 @@ module FactPulse
198
130
  self.class == o.class &&
199
131
  piste_client_id == o.piste_client_id &&
200
132
  piste_client_secret == o.piste_client_secret &&
201
- chorus_pro_login == o.chorus_pro_login &&
202
- chorus_pro_password == o.chorus_pro_password &&
203
- sandbox == o.sandbox
133
+ chorus_login == o.chorus_login &&
134
+ chorus_password == o.chorus_password &&
135
+ sandbox_mode == o.sandbox_mode
204
136
  end
205
137
 
206
138
  # @see the `==` method
@@ -212,7 +144,7 @@ module FactPulse
212
144
  # Calculates hash code according to all attributes.
213
145
  # @return [Integer] Hash code
214
146
  def hash
215
- [piste_client_id, piste_client_secret, chorus_pro_login, chorus_pro_password, sandbox].hash
147
+ [piste_client_id, piste_client_secret, chorus_login, chorus_password, sandbox_mode].hash
216
148
  end
217
149
 
218
150
  # Builds the object from hash
@@ -46,7 +46,7 @@ module FactPulse
46
46
  # Attribute type mapping.
47
47
  def self.openapi_types
48
48
  {
49
- :'credentials' => :'FactureElectroniqueRestApiSchemasChorusProChorusProCredentials',
49
+ :'credentials' => :'ChorusProCredentials',
50
50
  :'siret' => :'String',
51
51
  :'identifier_type' => :'String'
52
52
  }
@@ -42,7 +42,7 @@ module FactPulse
42
42
  # Attribute type mapping.
43
43
  def self.openapi_types
44
44
  {
45
- :'credentials' => :'FactureElectroniqueRestApiSchemasChorusProChorusProCredentials',
45
+ :'credentials' => :'ChorusProCredentials',
46
46
  :'chorus_invoice_id' => :'Integer'
47
47
  }
48
48
  end
@@ -46,7 +46,7 @@ module FactPulse
46
46
  # Attribute type mapping.
47
47
  def self.openapi_types
48
48
  {
49
- :'credentials' => :'FactureElectroniqueRestApiSchemasChorusProChorusProCredentials',
49
+ :'credentials' => :'ChorusProCredentials',
50
50
  :'structure_id' => :'Integer',
51
51
  :'language_code' => :'String'
52
52
  }
@@ -112,7 +112,7 @@ module FactPulse
112
112
  {
113
113
  :'invoice_id' => :'String',
114
114
  :'issue_date' => :'Date',
115
- :'type_code' => :'FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode',
115
+ :'type_code' => :'InvoiceTypeCode',
116
116
  :'currency' => :'Currency',
117
117
  :'due_date' => :'Date',
118
118
  :'seller_siren' => :'String',
@@ -15,25 +15,14 @@ require 'time'
15
15
 
16
16
  module FactPulse
17
17
  class InvoiceTypeCode
18
- INVOICE = "380".freeze
19
- SELF_BILLED_INVOICE = "389".freeze
20
- FACTORED_INVOICE = "393".freeze
21
- SELF_BILLED_FACTORED_INVOICE = "501".freeze
22
- PREPAYMENT_INVOICE = "386".freeze
23
- SELF_BILLED_PREPAYMENT_INVOICE = "500".freeze
24
- CORRECTIVE_INVOICE = "384".freeze
25
- SELF_BILLED_CORRECTIVE_INVOICE = "471".freeze
26
- FACTORED_CORRECTIVE_INVOICE = "472".freeze
27
- SELF_BILLED_FACTORED_CORRECTIVE_INVOICE = "473".freeze
28
- CREDIT_NOTE = "381".freeze
29
- SELF_BILLED_CREDIT_NOTE = "261".freeze
30
- GLOBAL_ALLOWANCE_CREDIT_NOTE = "262".freeze
31
- FACTORED_CREDIT_NOTE = "396".freeze
32
- SELF_BILLED_FACTORED_CREDIT_NOTE = "502".freeze
33
- PREPAYMENT_CREDIT_NOTE = "503".freeze
18
+ N380 = "380".freeze
19
+ N381 = "381".freeze
20
+ N384 = "384".freeze
21
+ N389 = "389".freeze
22
+ N386 = "386".freeze
34
23
 
35
24
  def self.all_vars
36
- @all_vars ||= [INVOICE, SELF_BILLED_INVOICE, FACTORED_INVOICE, SELF_BILLED_FACTORED_INVOICE, PREPAYMENT_INVOICE, SELF_BILLED_PREPAYMENT_INVOICE, CORRECTIVE_INVOICE, SELF_BILLED_CORRECTIVE_INVOICE, FACTORED_CORRECTIVE_INVOICE, SELF_BILLED_FACTORED_CORRECTIVE_INVOICE, CREDIT_NOTE, SELF_BILLED_CREDIT_NOTE, GLOBAL_ALLOWANCE_CREDIT_NOTE, FACTORED_CREDIT_NOTE, SELF_BILLED_FACTORED_CREDIT_NOTE, PREPAYMENT_CREDIT_NOTE].freeze
25
+ @all_vars ||= [N380, N381, N384, N389, N386].freeze
37
26
  end
38
27
 
39
28
  # Builds the enum from string
@@ -51,7 +51,7 @@ module FactPulse
51
51
  # Attribute type mapping.
52
52
  def self.openapi_types
53
53
  {
54
- :'credentials' => :'FactureElectroniqueRestApiSchemasChorusProChorusProCredentials',
54
+ :'credentials' => :'ChorusProCredentials',
55
55
  :'structure_identifier' => :'String',
56
56
  :'structure_identifier_type' => :'String',
57
57
  :'company_name' => :'String',
@@ -111,7 +111,7 @@ module FactPulse
111
111
  :'comment' => :'String',
112
112
  :'purchase_order_reference' => :'String',
113
113
  :'contract_reference' => :'String',
114
- :'invoice_type' => :'InvoiceTypeCode',
114
+ :'invoice_type' => :'FactureElectroniqueModelsInvoiceTypeCode',
115
115
  :'preceding_invoice_reference' => :'String',
116
116
  :'operation_nature' => :'OperationNature',
117
117
  :'invoicing_framework' => :'InvoicingFrameworkCode'
@@ -83,7 +83,7 @@ module FactPulse
83
83
  # Attribute type mapping.
84
84
  def self.openapi_types
85
85
  {
86
- :'credentials' => :'FactureElectroniqueRestApiSchemasChorusProChorusProCredentials',
86
+ :'credentials' => :'ChorusProCredentials',
87
87
  :'invoice_number' => :'String',
88
88
  :'invoice_date' => :'String',
89
89
  :'payment_due_date' => :'String',
@@ -11,5 +11,5 @@ Generator version: 7.19.0-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module FactPulse
14
- VERSION = '3.0.25'
14
+ VERSION = '3.0.27'
15
15
  end
data/lib/factpulse.rb CHANGED
@@ -158,8 +158,8 @@ require 'factpulse/models/error_source'
158
158
  require 'factpulse/models/extraction_info'
159
159
  require 'factpulse/models/factur_x_invoice'
160
160
  require 'factpulse/models/factur_xpdf_info'
161
- require 'factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials'
162
- require 'factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code'
161
+ require 'factpulse/models/facture_electronique_models_invoice_type_code'
162
+ require 'factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials'
163
163
  require 'factpulse/models/field_status'
164
164
  require 'factpulse/models/file_info'
165
165
  require 'factpulse/models/files_info'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factpulse
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.25
4
+ version: 3.0.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -263,8 +263,8 @@ files:
263
263
  - docs/ExtractionInfo.md
264
264
  - docs/FacturXInvoice.md
265
265
  - docs/FacturXPDFInfo.md
266
- - docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md
267
- - docs/FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.md
266
+ - docs/FactureElectroniqueModelsInvoiceTypeCode.md
267
+ - docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md
268
268
  - docs/FieldStatus.md
269
269
  - docs/FileInfo.md
270
270
  - docs/FilesInfo.md
@@ -562,8 +562,8 @@ files:
562
562
  - lib/factpulse/models/extraction_info.rb
563
563
  - lib/factpulse/models/factur_x_invoice.rb
564
564
  - lib/factpulse/models/factur_xpdf_info.rb
565
- - lib/factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb
566
- - lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb
565
+ - lib/factpulse/models/facture_electronique_models_invoice_type_code.rb
566
+ - lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb
567
567
  - lib/factpulse/models/field_status.rb
568
568
  - lib/factpulse/models/file_info.rb
569
569
  - lib/factpulse/models/files_info.rb
@@ -1,26 +0,0 @@
1
- # FactPulse::FactureElectroniqueRestApiSchemasChorusProChorusProCredentials
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **piste_client_id** | **String** | PISTE Client ID (government API portal) | |
8
- | **piste_client_secret** | **String** | PISTE Client Secret | |
9
- | **chorus_pro_login** | **String** | Chorus Pro login | |
10
- | **chorus_pro_password** | **String** | Chorus Pro password | |
11
- | **sandbox** | **Boolean** | Use sandbox environment (true) or production (false) | [optional][default to true] |
12
-
13
- ## Example
14
-
15
- ```ruby
16
- require 'factpulse'
17
-
18
- instance = FactPulse::FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.new(
19
- piste_client_id: null,
20
- piste_client_secret: null,
21
- chorus_pro_login: null,
22
- chorus_pro_password: null,
23
- sandbox: null
24
- )
25
- ```
26
-
@@ -1,15 +0,0 @@
1
- # FactPulse::FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
-
8
- ## Example
9
-
10
- ```ruby
11
- require 'factpulse'
12
-
13
- instance = FactPulse::FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.new()
14
- ```
15
-