invoicetronic_sdk 1.8 → 1.9

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 (124) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -1
  3. data/Gemfile.lock +2 -2
  4. data/README.md +19 -5
  5. data/docs/SendApi.md +20 -10
  6. data/docs/WebhookApi.md +5 -5
  7. data/invoicetronic_sdk.gemspec +2 -2
  8. data/lib/invoicetronic_sdk/api/company_api.rb +2 -2
  9. data/lib/invoicetronic_sdk/api/export_api.rb +2 -2
  10. data/lib/invoicetronic_sdk/api/health_api.rb +2 -2
  11. data/lib/invoicetronic_sdk/api/log_api.rb +2 -2
  12. data/lib/invoicetronic_sdk/api/receive_api.rb +2 -2
  13. data/lib/invoicetronic_sdk/api/send_api.rb +49 -14
  14. data/lib/invoicetronic_sdk/api/status_api.rb +2 -2
  15. data/lib/invoicetronic_sdk/api/update_api.rb +2 -2
  16. data/lib/invoicetronic_sdk/api/webhook_api.rb +12 -12
  17. data/lib/invoicetronic_sdk/api_client.rb +3 -3
  18. data/lib/invoicetronic_sdk/api_error.rb +2 -2
  19. data/lib/invoicetronic_sdk/api_model_base.rb +2 -2
  20. data/lib/invoicetronic_sdk/configuration.rb +2 -2
  21. data/lib/invoicetronic_sdk/models/company.rb +2 -2
  22. data/lib/invoicetronic_sdk/models/document_data.rb +2 -2
  23. data/lib/invoicetronic_sdk/models/error.rb +2 -2
  24. data/lib/invoicetronic_sdk/models/event.rb +2 -2
  25. data/lib/invoicetronic_sdk/models/model_send.rb +2 -2
  26. data/lib/invoicetronic_sdk/models/problem_details.rb +2 -2
  27. data/lib/invoicetronic_sdk/models/receive.rb +2 -2
  28. data/lib/invoicetronic_sdk/models/send_reduced.rb +2 -2
  29. data/lib/invoicetronic_sdk/models/status.rb +2 -2
  30. data/lib/invoicetronic_sdk/models/update.rb +2 -2
  31. data/lib/invoicetronic_sdk/models/web_hook.rb +2 -2
  32. data/lib/invoicetronic_sdk/models/web_hook_history.rb +2 -2
  33. data/lib/invoicetronic_sdk/version.rb +3 -3
  34. data/lib/invoicetronic_sdk.rb +2 -2
  35. data/spec/api/company_api_spec.rb +2 -2
  36. data/spec/api/export_api_spec.rb +2 -2
  37. data/spec/api/health_api_spec.rb +2 -2
  38. data/spec/api/log_api_spec.rb +2 -2
  39. data/spec/api/receive_api_spec.rb +2 -2
  40. data/spec/api/send_api_spec.rb +13 -8
  41. data/spec/api/status_api_spec.rb +2 -2
  42. data/spec/api/update_api_spec.rb +2 -2
  43. data/spec/api/webhook_api_spec.rb +7 -7
  44. data/spec/models/company_spec.rb +2 -2
  45. data/spec/models/document_data_spec.rb +2 -2
  46. data/spec/models/error_spec.rb +2 -2
  47. data/spec/models/event_spec.rb +2 -2
  48. data/spec/models/model_send_spec.rb +2 -2
  49. data/spec/models/problem_details_spec.rb +2 -2
  50. data/spec/models/receive_spec.rb +2 -2
  51. data/spec/models/send_reduced_spec.rb +2 -2
  52. data/spec/models/status_spec.rb +2 -2
  53. data/spec/models/update_spec.rb +2 -2
  54. data/spec/models/web_hook_history_spec.rb +2 -2
  55. data/spec/models/web_hook_spec.rb +2 -2
  56. data/spec/spec_helper.rb +2 -2
  57. data/vendor/bundle/ruby/3.3.0/cache/psych-5.4.0.gem +0 -0
  58. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-13.0.0/gem_make.out +5 -5
  59. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.5.1/gem_make.out +5 -5
  60. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.2/gem_make.out +5 -5
  61. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  62. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{psych-5.3.1 → psych-5.4.0}/gem_make.out +10 -10
  63. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{psych-5.3.1 → psych-5.4.0}/psych.so +0 -0
  64. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  65. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.2.0/gem_make.out +5 -5
  66. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/README.md +2 -2
  67. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_parser.c +14 -3
  68. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/versions.rb +1 -1
  69. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych.so +0 -0
  70. data/vendor/bundle/ruby/3.3.0/specifications/{psych-5.3.1.gemspec → psych-5.4.0.gemspec} +2 -2
  71. metadata +75 -75
  72. data/vendor/bundle/ruby/3.3.0/cache/psych-5.3.1.gem +0 -0
  73. /data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{psych-5.3.1 → psych-5.4.0}/gem.build_complete +0 -0
  74. /data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{psych-5.3.1 → psych-5.4.0}/mkmf.log +0 -0
  75. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/CONTRIBUTING.md +0 -0
  76. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/LICENSE +0 -0
  77. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/Makefile +0 -0
  78. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/depend +0 -0
  79. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/extconf.rb +0 -0
  80. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych.c +0 -0
  81. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych.h +0 -0
  82. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_emitter.c +0 -0
  83. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_emitter.h +0 -0
  84. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_parser.h +0 -0
  85. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_to_ruby.c +0 -0
  86. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_to_ruby.h +0 -0
  87. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_yaml_tree.c +0 -0
  88. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_yaml_tree.h +0 -0
  89. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/class_loader.rb +0 -0
  90. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/coder.rb +0 -0
  91. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/core_ext.rb +0 -0
  92. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/exception.rb +0 -0
  93. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handler.rb +0 -0
  94. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handlers/document_stream.rb +0 -0
  95. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handlers/recorder.rb +0 -0
  96. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/ruby_events.rb +0 -0
  97. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/stream.rb +0 -0
  98. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/tree_builder.rb +0 -0
  99. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/yaml_events.rb +0 -0
  100. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/alias.rb +0 -0
  101. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/document.rb +0 -0
  102. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/mapping.rb +0 -0
  103. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/node.rb +0 -0
  104. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/scalar.rb +0 -0
  105. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/sequence.rb +0 -0
  106. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/stream.rb +0 -0
  107. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes.rb +0 -0
  108. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/omap.rb +0 -0
  109. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/parser.rb +0 -0
  110. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/scalar_scanner.rb +0 -0
  111. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/set.rb +0 -0
  112. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/stream.rb +0 -0
  113. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/streaming.rb +0 -0
  114. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/syntax_error.rb +0 -0
  115. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/tree_builder.rb +0 -0
  116. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/depth_first.rb +0 -0
  117. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/emitter.rb +0 -0
  118. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/json_tree.rb +0 -0
  119. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/to_ruby.rb +0 -0
  120. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/visitor.rb +0 -0
  121. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/yaml_tree.rb +0 -0
  122. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors.rb +0 -0
  123. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/y.rb +0 -0
  124. /data/vendor/bundle/ruby/3.3.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3552bf7b33706df5138c817bc21092dd75df818bd9f3002a43d97a5b8d71d8cd
4
- data.tar.gz: '03961b3e8d89f3727ce5fd28f8bee81419426dc77a417e0fb9734b133f4a646c'
3
+ metadata.gz: 26528c2b72851b8fb80fa975a54ec6ce01f0fcaa22ec0e857f35ae63d9c57a4a
4
+ data.tar.gz: 1917ebcb258bf9d1c47283766f831962d56eb16d53dd6402fe055f8bbddab890
5
5
  SHA512:
6
- metadata.gz: 78407c0495ed036cb734529eabbdc352f9bb94750eaa23b5fa3cfdb76216d90900cd8732e55e005cf070fd4f7c832e08b7691b541e4ef4c9bb052483280158a8
7
- data.tar.gz: 31be69a91c1ba4a70976ae2f477048c25f56e4fcf1a8d89fb6e2bb9a6c2ea1fd81b4a5fbbb092d2ed759b0b31cd4b3ce80a4098f0c2e3f29b8224e5ef7b94b8c
6
+ metadata.gz: 546eb1877c9bc3ad20524bb3dabe8937aa80be36c2bdb61801e31271ba0b0b67a1b8fc1b1f3e5a33796894d8d7c3adeda23528226af256df235c9c0d44266d69
7
+ data.tar.gz: af27a9504e4d19069967b21071e6f7913b20c52b9b74f6425d1763a774b9bc1bb3430a189b6d65805294c3192a5d729b06143c0d3b329cbf16afd906b54ec53a
data/CHANGELOG.md CHANGED
@@ -1 +1 @@
1
- # Changelog\n\n## [1.7.0] - 2026-04-02\nSee main repository changelog for details.
1
+ # Changelog\n\n## [1.9.0] - 2026-07-07\nSee main repository changelog for details.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- invoicetronic_sdk (1.8)
4
+ invoicetronic_sdk (1.9)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
@@ -42,7 +42,7 @@ GEM
42
42
  pry-byebug (3.12.0)
43
43
  byebug (~> 13.0)
44
44
  pry (>= 0.13, < 0.17)
45
- psych (5.3.1)
45
+ psych (5.4.0)
46
46
  date
47
47
  stringio
48
48
  racc (1.8.1)
data/README.md CHANGED
@@ -4,13 +4,27 @@ The [Invoicetronic API][2] is a RESTful service that allows you to send and rece
4
4
 
5
5
  For more information, see [Invoicetronic website][2]
6
6
 
7
+ ## Before you start
8
+
9
+ For the full integration guide, tutorials, SDKs and quickstarts, see the **[Documentation](https://invoicetronic.com/en/docs/)**. A few cross-cutting topics worth knowing before integrating:
10
+
11
+ - **[Prerequisites](https://invoicetronic.com/en/docs/prerequisites/)** — what you need to start in Sandbox and what's required to move to production.
12
+ - **[API Keys](https://invoicetronic.com/en/docs/apikeys/)** — how `ik_live_` and `ik_test_` keys select the environment.
13
+ - **[Sandbox](https://invoicetronic.com/en/docs/sandbox/)** — free test environment that mirrors the live workflow, with no credits consumed.
14
+ - **[Rate Limiting](https://invoicetronic.com/en/docs/ratelimiting/)** — per-second, per-minute and per-day limits; how to handle `429 Too Many Requests`.
15
+ - **[Pagination](https://invoicetronic.com/en/docs/pagination/)** — `page` and `page_size` parameters and the `Invoicetronic-Total-Count` response header.
16
+ - **[CORS](https://invoicetronic.com/en/docs/cors/)** — calling the API from the browser; allowed origins are configured per key.
17
+ - **[Webhooks](https://invoicetronic.com/en/docs/webhooks/)** — real-time event notifications with HMAC-SHA256 signature validation.
18
+ - **[Localization](https://invoicetronic.com/en/docs/accept-language/)** — use the `Accept-Language` header to receive error messages in Italian, English or German.
19
+
7
20
  [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/
8
21
  [2]: https://invoicetronic.com/
9
22
 
23
+
10
24
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
11
25
 
12
- - API version: 1.12.0
13
- - Package version: 1.8
26
+ - API version: 1.14.0
27
+ - Package version: 1.9
14
28
  - Generator version: 7.20.0
15
29
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
16
30
  For more information, please visit [https://invoicetronic.com/en/contact/](https://invoicetronic.com/en/contact/)
@@ -28,16 +42,16 @@ gem build invoicetronic_sdk.gemspec
28
42
  Then either install the gem locally:
29
43
 
30
44
  ```shell
31
- gem install ./invoicetronic_sdk-1.8.gem
45
+ gem install ./invoicetronic_sdk-1.9.gem
32
46
  ```
33
47
 
34
- (for development, run `gem install --dev ./invoicetronic_sdk-1.8.gem` to install the development dependencies)
48
+ (for development, run `gem install --dev ./invoicetronic_sdk-1.9.gem` to install the development dependencies)
35
49
 
36
50
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
37
51
 
38
52
  Finally add this to the Gemfile:
39
53
 
40
- gem 'invoicetronic_sdk', '~> 1.8'
54
+ gem 'invoicetronic_sdk', '~> 1.9'
41
55
 
42
56
  ### Install from Git
43
57
 
data/docs/SendApi.md CHANGED
@@ -24,7 +24,7 @@ All URIs are relative to *http://localhost*
24
24
 
25
25
  Add an invoice by file
26
26
 
27
- Add a new invoice by uploading a file. Supported formats are XML (FatturaPA) and P7M (signed). The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com).
27
+ Add a new invoice by uploading a file. Supported formats are XML (FatturaPA) and P7M (signed). The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
28
28
 
29
29
  ### Examples
30
30
 
@@ -42,7 +42,8 @@ api_instance = Invoicetronic_Sdk::SendApi.new
42
42
  file = File.new('/path/to/some/file') # File |
43
43
  opts = {
44
44
  validate: true, # Boolean | Validate the document first, and reject it on failure.
45
- signature: 'None' # String | Whether to digitally sign the document.
45
+ signature: 'None', # String | Whether to digitally sign the document.
46
+ idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice.
46
47
  }
47
48
 
48
49
  begin
@@ -79,6 +80,7 @@ end
79
80
  | **file** | **File** | | |
80
81
  | **validate** | **Boolean** | Validate the document first, and reject it on failure. | [optional][default to false] |
81
82
  | **signature** | **String** | Whether to digitally sign the document. | [optional][default to &#39;Auto&#39;] |
83
+ | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. | [optional] |
82
84
 
83
85
  ### Return type
84
86
 
@@ -100,7 +102,7 @@ end
100
102
 
101
103
  List invoices
102
104
 
103
- Retrieve a paginated list of send invoices. Results can be filtered by various criteria such as company, date ranges, document number, and free-text search (`q`). Use `ids` to fetch specific Send records in a single call (comma-separated, up to 100). Returns invoice metadata; set `include_payload` to true to include the full invoice content. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/).
105
+ Retrieve a paginated list of send invoices. Results can be filtered by various criteria such as company, date ranges, document number, current SDI state (`latest_state`), and free-text search (`q`). Use `ids` to fetch specific Send records in a single call (comma-separated, up to 100). Returns invoice metadata; set `include_payload` to true to include the full invoice content. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/).
104
106
 
105
107
  ### Examples
106
108
 
@@ -128,6 +130,7 @@ opts = {
128
130
  document_date_from: Time.parse('2013-10-20T19:20:30+01:00'), # Time | UTC ISO 8601 (2024-11-29T12:34:56Z)
129
131
  document_date_to: Time.parse('2013-10-20T19:20:30+01:00'), # Time | UTC ISO 8601 (2024-11-29T12:34:56Z)
130
132
  document_number: 'document_number_example', # String | Document number.
133
+ latest_state: 'Inviato', # String | Filter by the most recent SDI state for the invoice. Matches the `latest_state` field exposed inline on each Send.
131
134
  include_payload: true, # Boolean | Include payload in the response. Defaults to false.
132
135
  ids: 'ids_example', # String | Comma-separated list of Send ids (max 100). Filters the collection to the matching rows; unknown or unauthorized ids are silently skipped.
133
136
  page: 56, # Integer | Page number.
@@ -179,6 +182,7 @@ end
179
182
  | **document_date_from** | **Time** | UTC ISO 8601 (2024-11-29T12:34:56Z) | [optional] |
180
183
  | **document_date_to** | **Time** | UTC ISO 8601 (2024-11-29T12:34:56Z) | [optional] |
181
184
  | **document_number** | **String** | Document number. | [optional] |
185
+ | **latest_state** | **String** | Filter by the most recent SDI state for the invoice. Matches the &#x60;latest_state&#x60; field exposed inline on each Send. | [optional] |
182
186
  | **include_payload** | **Boolean** | Include payload in the response. Defaults to false. | [optional] |
183
187
  | **ids** | **String** | Comma-separated list of Send ids (max 100). Filters the collection to the matching rows; unknown or unauthorized ids are silently skipped. | [optional] |
184
188
  | **page** | **Integer** | Page number. | [optional][default to 1] |
@@ -423,7 +427,7 @@ end
423
427
 
424
428
  Add an invoice by json
425
429
 
426
- Add a new invoice using a FatturaPA JSON representation. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com).
430
+ Add a new invoice using a FatturaPA JSON representation. Property names mirror the FatturaPA XML schema (PascalCase, e.g. `FatturaElettronicaHeader`). The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
427
431
 
428
432
  ### Examples
429
433
 
@@ -441,7 +445,8 @@ api_instance = Invoicetronic_Sdk::SendApi.new
441
445
  body = { ... } # Object |
442
446
  opts = {
443
447
  validate: true, # Boolean | Validate the document first, and reject it on failure.
444
- signature: 'None' # String | Whether to digitally sign the document.
448
+ signature: 'None', # String | Whether to digitally sign the document.
449
+ idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice.
445
450
  }
446
451
 
447
452
  begin
@@ -478,6 +483,7 @@ end
478
483
  | **body** | **Object** | | |
479
484
  | **validate** | **Boolean** | Validate the document first, and reject it on failure. | [optional][default to false] |
480
485
  | **signature** | **String** | Whether to digitally sign the document. | [optional][default to &#39;Auto&#39;] |
486
+ | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. | [optional] |
481
487
 
482
488
  ### Return type
483
489
 
@@ -499,7 +505,7 @@ end
499
505
 
500
506
  Add an invoice
501
507
 
502
- Add a new invoice using a structured Send object. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com).
508
+ Add a new invoice using a structured Send object. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
503
509
 
504
510
  ### Examples
505
511
 
@@ -517,7 +523,8 @@ api_instance = Invoicetronic_Sdk::SendApi.new
517
523
  model_send = Invoicetronic_Sdk::ModelSend.new({payload: 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cDpGYXR0dXJhRWxldHRyb25pY2EgLi4uPjwvcDpGYXR0dXJhRWxldHRyb25pY2E+'}) # ModelSend |
518
524
  opts = {
519
525
  validate: true, # Boolean | Validate the document first, and reject it on failure.
520
- signature: 'None' # String | Whether to digitally sign the document.
526
+ signature: 'None', # String | Whether to digitally sign the document.
527
+ idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice.
521
528
  }
522
529
 
523
530
  begin
@@ -554,6 +561,7 @@ end
554
561
  | **model_send** | [**ModelSend**](ModelSend.md) | | |
555
562
  | **validate** | **Boolean** | Validate the document first, and reject it on failure. | [optional][default to false] |
556
563
  | **signature** | **String** | Whether to digitally sign the document. | [optional][default to &#39;Auto&#39;] |
564
+ | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. | [optional] |
557
565
 
558
566
  ### Return type
559
567
 
@@ -644,7 +652,7 @@ nil (empty response body)
644
652
 
645
653
  Validate an invoice by json
646
654
 
647
- Validate a JSON invoice without sending it to SDI. Use this to check for errors before actual submission. Returns validation results with any errors found. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/).
655
+ Validate a FatturaPA JSON invoice without sending it to SDI. Property names mirror the FatturaPA XML schema (PascalCase, e.g. `FatturaElettronicaHeader`). Use this to check for errors before actual submission. Returns validation results with any errors found. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/).
648
656
 
649
657
  ### Examples
650
658
 
@@ -851,7 +859,7 @@ nil (empty response body)
851
859
 
852
860
  Add an invoice by xml
853
861
 
854
- Add a new invoice using a raw XML document in FatturaPA format. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com).
862
+ Add a new invoice using a raw XML document in FatturaPA format. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
855
863
 
856
864
  ### Examples
857
865
 
@@ -869,7 +877,8 @@ api_instance = Invoicetronic_Sdk::SendApi.new
869
877
  body = { ... } # Object |
870
878
  opts = {
871
879
  validate: true, # Boolean | Validate the document first, and reject it on failure.
872
- signature: 'None' # String | Whether to digitally sign the document.
880
+ signature: 'None', # String | Whether to digitally sign the document.
881
+ idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice.
873
882
  }
874
883
 
875
884
  begin
@@ -906,6 +915,7 @@ end
906
915
  | **body** | **Object** | | |
907
916
  | **validate** | **Boolean** | Validate the document first, and reject it on failure. | [optional][default to false] |
908
917
  | **signature** | **String** | Whether to digitally sign the document. | [optional][default to &#39;Auto&#39;] |
918
+ | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. | [optional] |
909
919
 
910
920
  ### Return type
911
921
 
data/docs/WebhookApi.md CHANGED
@@ -19,7 +19,7 @@ All URIs are relative to *http://localhost*
19
19
 
20
20
  List webhooks
21
21
 
22
- Retrieve a paginated list of webhooks. Results can be filtered by company, description, enabled status, events, and URL. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
22
+ Retrieve a paginated list of webhooks. Results can be filtered by company, description, enabled status, events, and URL. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). A webhook that fails continuously for 7 days (no successful delivery in between) is automatically disabled (`enabled` set to `false`) and the account owner is notified by email. To resume deliveries, set `enabled` back to `true` from the Dashboard or via `PATCH /webhook/{id}`. For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
23
23
 
24
24
  ### Examples
25
25
 
@@ -105,7 +105,7 @@ end
105
105
 
106
106
  Delete a webhook by id
107
107
 
108
- Delete a webhook subscription by its internal id. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
108
+ Delete a webhook subscription by its internal id. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). A webhook that fails continuously for 7 days (no successful delivery in between) is automatically disabled (`enabled` set to `false`) and the account owner is notified by email. To resume deliveries, set `enabled` back to `true` from the Dashboard or via `PATCH /webhook/{id}`. For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
109
109
 
110
110
  ### Examples
111
111
 
@@ -175,7 +175,7 @@ end
175
175
 
176
176
  Get a webhook by id
177
177
 
178
- Retrieve a webhook by its internal id. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
178
+ Retrieve a webhook by its internal id. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). A webhook that fails continuously for 7 days (no successful delivery in between) is automatically disabled (`enabled` set to `false`) and the account owner is notified by email. To resume deliveries, set `enabled` back to `true` from the Dashboard or via `PATCH /webhook/{id}`. For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
179
179
 
180
180
  ### Examples
181
181
 
@@ -245,7 +245,7 @@ end
245
245
 
246
246
  Add a webhook
247
247
 
248
- Create a new webhook subscription. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
248
+ Create a new webhook subscription. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). A webhook that fails continuously for 7 days (no successful delivery in between) is automatically disabled (`enabled` set to `false`) and the account owner is notified by email. To resume deliveries, set `enabled` back to `true` from the Dashboard or via `PATCH /webhook/{id}`. For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
249
249
 
250
250
  ### Examples
251
251
 
@@ -315,7 +315,7 @@ end
315
315
 
316
316
  Update a webhook
317
317
 
318
- Update an existing webhook subscription. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
318
+ Update an existing webhook subscription. **Webhooks** allow you to receive notifications to an external service when specific events occur, such as invoice creation or status updates. You can subscribe to specific events and receive a notification when they occur. You can also manage webhooks via the [Dashboard](https://dashboard.invoicetronic.com). A webhook that fails continuously for 7 days (no successful delivery in between) is automatically disabled (`enabled` set to `false`) and the account owner is notified by email. To resume deliveries, set `enabled` back to `true` from the Dashboard or via `PATCH /webhook/{id}`. For more information, see the **[Webhooks documentation page](https://invoicetronic.com/en/docs/webhooks/)**.
319
319
 
320
320
  ### Examples
321
321
 
@@ -3,9 +3,9 @@
3
3
  =begin
4
4
  #Invoicetronic API
5
5
 
6
- #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
6
+ #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] ## Before you start For the full integration guide, tutorials, SDKs and quickstarts, see the **[Documentation](https://invoicetronic.com/en/docs/)**. A few cross-cutting topics worth knowing before integrating: - **[Prerequisites](https://invoicetronic.com/en/docs/prerequisites/)** — what you need to start in Sandbox and what's required to move to production. - **[API Keys](https://invoicetronic.com/en/docs/apikeys/)** — how `ik_live_` and `ik_test_` keys select the environment. - **[Sandbox](https://invoicetronic.com/en/docs/sandbox/)** — free test environment that mirrors the live workflow, with no credits consumed. - **[Rate Limiting](https://invoicetronic.com/en/docs/ratelimiting/)** — per-second, per-minute and per-day limits; how to handle `429 Too Many Requests`. - **[Pagination](https://invoicetronic.com/en/docs/pagination/)** — `page` and `page_size` parameters and the `Invoicetronic-Total-Count` response header. - **[CORS](https://invoicetronic.com/en/docs/cors/)** — calling the API from the browser; allowed origins are configured per key. - **[Webhooks](https://invoicetronic.com/en/docs/webhooks/)** — real-time event notifications with HMAC-SHA256 signature validation. - **[Localization](https://invoicetronic.com/en/docs/accept-language/)** — use the `Accept-Language` header to receive error messages in Italian, English or German. [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
7
7
 
8
- The version of the OpenAPI document: 1.12.0
8
+ The version of the OpenAPI document: 1.14.0
9
9
  Contact: info@invoicetronic.com
10
10
  Generated by: https://openapi-generator.tech
11
11
  Generator version: 7.20.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Invoicetronic API
3
3
 
4
- #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
4
+ #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] ## Before you start For the full integration guide, tutorials, SDKs and quickstarts, see the **[Documentation](https://invoicetronic.com/en/docs/)**. A few cross-cutting topics worth knowing before integrating: - **[Prerequisites](https://invoicetronic.com/en/docs/prerequisites/)** — what you need to start in Sandbox and what's required to move to production. - **[API Keys](https://invoicetronic.com/en/docs/apikeys/)** — how `ik_live_` and `ik_test_` keys select the environment. - **[Sandbox](https://invoicetronic.com/en/docs/sandbox/)** — free test environment that mirrors the live workflow, with no credits consumed. - **[Rate Limiting](https://invoicetronic.com/en/docs/ratelimiting/)** — per-second, per-minute and per-day limits; how to handle `429 Too Many Requests`. - **[Pagination](https://invoicetronic.com/en/docs/pagination/)** — `page` and `page_size` parameters and the `Invoicetronic-Total-Count` response header. - **[CORS](https://invoicetronic.com/en/docs/cors/)** — calling the API from the browser; allowed origins are configured per key. - **[Webhooks](https://invoicetronic.com/en/docs/webhooks/)** — real-time event notifications with HMAC-SHA256 signature validation. - **[Localization](https://invoicetronic.com/en/docs/accept-language/)** — use the `Accept-Language` header to receive error messages in Italian, English or German. [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
5
5
 
6
- The version of the OpenAPI document: 1.12.0
6
+ The version of the OpenAPI document: 1.14.0
7
7
  Contact: info@invoicetronic.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.20.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Invoicetronic API
3
3
 
4
- #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
4
+ #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] ## Before you start For the full integration guide, tutorials, SDKs and quickstarts, see the **[Documentation](https://invoicetronic.com/en/docs/)**. A few cross-cutting topics worth knowing before integrating: - **[Prerequisites](https://invoicetronic.com/en/docs/prerequisites/)** — what you need to start in Sandbox and what's required to move to production. - **[API Keys](https://invoicetronic.com/en/docs/apikeys/)** — how `ik_live_` and `ik_test_` keys select the environment. - **[Sandbox](https://invoicetronic.com/en/docs/sandbox/)** — free test environment that mirrors the live workflow, with no credits consumed. - **[Rate Limiting](https://invoicetronic.com/en/docs/ratelimiting/)** — per-second, per-minute and per-day limits; how to handle `429 Too Many Requests`. - **[Pagination](https://invoicetronic.com/en/docs/pagination/)** — `page` and `page_size` parameters and the `Invoicetronic-Total-Count` response header. - **[CORS](https://invoicetronic.com/en/docs/cors/)** — calling the API from the browser; allowed origins are configured per key. - **[Webhooks](https://invoicetronic.com/en/docs/webhooks/)** — real-time event notifications with HMAC-SHA256 signature validation. - **[Localization](https://invoicetronic.com/en/docs/accept-language/)** — use the `Accept-Language` header to receive error messages in Italian, English or German. [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
5
5
 
6
- The version of the OpenAPI document: 1.12.0
6
+ The version of the OpenAPI document: 1.14.0
7
7
  Contact: info@invoicetronic.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.20.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Invoicetronic API
3
3
 
4
- #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
4
+ #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] ## Before you start For the full integration guide, tutorials, SDKs and quickstarts, see the **[Documentation](https://invoicetronic.com/en/docs/)**. A few cross-cutting topics worth knowing before integrating: - **[Prerequisites](https://invoicetronic.com/en/docs/prerequisites/)** — what you need to start in Sandbox and what's required to move to production. - **[API Keys](https://invoicetronic.com/en/docs/apikeys/)** — how `ik_live_` and `ik_test_` keys select the environment. - **[Sandbox](https://invoicetronic.com/en/docs/sandbox/)** — free test environment that mirrors the live workflow, with no credits consumed. - **[Rate Limiting](https://invoicetronic.com/en/docs/ratelimiting/)** — per-second, per-minute and per-day limits; how to handle `429 Too Many Requests`. - **[Pagination](https://invoicetronic.com/en/docs/pagination/)** — `page` and `page_size` parameters and the `Invoicetronic-Total-Count` response header. - **[CORS](https://invoicetronic.com/en/docs/cors/)** — calling the API from the browser; allowed origins are configured per key. - **[Webhooks](https://invoicetronic.com/en/docs/webhooks/)** — real-time event notifications with HMAC-SHA256 signature validation. - **[Localization](https://invoicetronic.com/en/docs/accept-language/)** — use the `Accept-Language` header to receive error messages in Italian, English or German. [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
5
5
 
6
- The version of the OpenAPI document: 1.12.0
6
+ The version of the OpenAPI document: 1.14.0
7
7
  Contact: info@invoicetronic.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.20.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Invoicetronic API
3
3
 
4
- #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
4
+ #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] ## Before you start For the full integration guide, tutorials, SDKs and quickstarts, see the **[Documentation](https://invoicetronic.com/en/docs/)**. A few cross-cutting topics worth knowing before integrating: - **[Prerequisites](https://invoicetronic.com/en/docs/prerequisites/)** — what you need to start in Sandbox and what's required to move to production. - **[API Keys](https://invoicetronic.com/en/docs/apikeys/)** — how `ik_live_` and `ik_test_` keys select the environment. - **[Sandbox](https://invoicetronic.com/en/docs/sandbox/)** — free test environment that mirrors the live workflow, with no credits consumed. - **[Rate Limiting](https://invoicetronic.com/en/docs/ratelimiting/)** — per-second, per-minute and per-day limits; how to handle `429 Too Many Requests`. - **[Pagination](https://invoicetronic.com/en/docs/pagination/)** — `page` and `page_size` parameters and the `Invoicetronic-Total-Count` response header. - **[CORS](https://invoicetronic.com/en/docs/cors/)** — calling the API from the browser; allowed origins are configured per key. - **[Webhooks](https://invoicetronic.com/en/docs/webhooks/)** — real-time event notifications with HMAC-SHA256 signature validation. - **[Localization](https://invoicetronic.com/en/docs/accept-language/)** — use the `Accept-Language` header to receive error messages in Italian, English or German. [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
5
5
 
6
- The version of the OpenAPI document: 1.12.0
6
+ The version of the OpenAPI document: 1.14.0
7
7
  Contact: info@invoicetronic.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.20.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Invoicetronic API
3
3
 
4
- #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
4
+ #The [Invoicetronic API][2] is a RESTful service that allows you to send and receive invoices through the Italian [Servizio di Interscambio (SDI)][1], or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools. For more information, see [Invoicetronic website][2] ## Before you start For the full integration guide, tutorials, SDKs and quickstarts, see the **[Documentation](https://invoicetronic.com/en/docs/)**. A few cross-cutting topics worth knowing before integrating: - **[Prerequisites](https://invoicetronic.com/en/docs/prerequisites/)** — what you need to start in Sandbox and what's required to move to production. - **[API Keys](https://invoicetronic.com/en/docs/apikeys/)** — how `ik_live_` and `ik_test_` keys select the environment. - **[Sandbox](https://invoicetronic.com/en/docs/sandbox/)** — free test environment that mirrors the live workflow, with no credits consumed. - **[Rate Limiting](https://invoicetronic.com/en/docs/ratelimiting/)** — per-second, per-minute and per-day limits; how to handle `429 Too Many Requests`. - **[Pagination](https://invoicetronic.com/en/docs/pagination/)** — `page` and `page_size` parameters and the `Invoicetronic-Total-Count` response header. - **[CORS](https://invoicetronic.com/en/docs/cors/)** — calling the API from the browser; allowed origins are configured per key. - **[Webhooks](https://invoicetronic.com/en/docs/webhooks/)** — real-time event notifications with HMAC-SHA256 signature validation. - **[Localization](https://invoicetronic.com/en/docs/accept-language/)** — use the `Accept-Language` header to receive error messages in Italian, English or German. [1]: https://www.fatturapa.gov.it/it/sistemainterscambio/cose-il-sdi/ [2]: https://invoicetronic.com/
5
5
 
6
- The version of the OpenAPI document: 1.12.0
6
+ The version of the OpenAPI document: 1.14.0
7
7
  Contact: info@invoicetronic.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.20.0