@invoicetronic/ts-sdk 1.8.0 → 1.9.0

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 (135) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +16 -2
  3. package/api.ts +2 -2
  4. package/base.ts +2 -2
  5. package/common.ts +2 -2
  6. package/configuration.ts +3 -3
  7. package/dist/api.d.ts +2 -2
  8. package/dist/api.js +2 -2
  9. package/dist/base.d.ts +2 -2
  10. package/dist/base.js +2 -2
  11. package/dist/common.d.ts +2 -2
  12. package/dist/common.js +2 -2
  13. package/dist/configuration.d.ts +2 -2
  14. package/dist/configuration.js +3 -3
  15. package/dist/esm/api.d.ts +2 -2
  16. package/dist/esm/api.js +2 -2
  17. package/dist/esm/base.d.ts +2 -2
  18. package/dist/esm/base.js +2 -2
  19. package/dist/esm/common.d.ts +2 -2
  20. package/dist/esm/common.js +2 -2
  21. package/dist/esm/configuration.d.ts +2 -2
  22. package/dist/esm/configuration.js +3 -3
  23. package/dist/esm/index.d.ts +2 -2
  24. package/dist/esm/index.js +2 -2
  25. package/dist/esm/src/api/company-api.d.ts +2 -2
  26. package/dist/esm/src/api/company-api.js +2 -2
  27. package/dist/esm/src/api/export-api.d.ts +2 -2
  28. package/dist/esm/src/api/export-api.js +2 -2
  29. package/dist/esm/src/api/health-api.d.ts +2 -2
  30. package/dist/esm/src/api/health-api.js +2 -2
  31. package/dist/esm/src/api/log-api.d.ts +2 -2
  32. package/dist/esm/src/api/log-api.js +2 -2
  33. package/dist/esm/src/api/receive-api.d.ts +2 -2
  34. package/dist/esm/src/api/receive-api.js +2 -2
  35. package/dist/esm/src/api/send-api.d.ts +94 -57
  36. package/dist/esm/src/api/send-api.js +107 -61
  37. package/dist/esm/src/api/status-api.d.ts +2 -2
  38. package/dist/esm/src/api/status-api.js +2 -2
  39. package/dist/esm/src/api/update-api.d.ts +2 -2
  40. package/dist/esm/src/api/update-api.js +2 -2
  41. package/dist/esm/src/api/webhook-api.d.ts +27 -27
  42. package/dist/esm/src/api/webhook-api.js +22 -22
  43. package/dist/esm/src/models/company.d.ts +2 -2
  44. package/dist/esm/src/models/company.js +2 -2
  45. package/dist/esm/src/models/document-data.d.ts +2 -2
  46. package/dist/esm/src/models/document-data.js +2 -2
  47. package/dist/esm/src/models/event.d.ts +2 -2
  48. package/dist/esm/src/models/event.js +2 -2
  49. package/dist/esm/src/models/model-error.d.ts +2 -2
  50. package/dist/esm/src/models/model-error.js +2 -2
  51. package/dist/esm/src/models/problem-details.d.ts +2 -2
  52. package/dist/esm/src/models/problem-details.js +2 -2
  53. package/dist/esm/src/models/receive.d.ts +2 -2
  54. package/dist/esm/src/models/receive.js +2 -2
  55. package/dist/esm/src/models/send-reduced.d.ts +2 -2
  56. package/dist/esm/src/models/send-reduced.js +2 -2
  57. package/dist/esm/src/models/send.d.ts +2 -2
  58. package/dist/esm/src/models/send.js +2 -2
  59. package/dist/esm/src/models/status.d.ts +2 -2
  60. package/dist/esm/src/models/status.js +2 -2
  61. package/dist/esm/src/models/update.d.ts +2 -2
  62. package/dist/esm/src/models/update.js +2 -2
  63. package/dist/esm/src/models/web-hook-history.d.ts +2 -2
  64. package/dist/esm/src/models/web-hook-history.js +2 -2
  65. package/dist/esm/src/models/web-hook.d.ts +2 -2
  66. package/dist/esm/src/models/web-hook.js +2 -2
  67. package/dist/index.d.ts +2 -2
  68. package/dist/index.js +2 -2
  69. package/dist/src/api/company-api.d.ts +2 -2
  70. package/dist/src/api/company-api.js +2 -2
  71. package/dist/src/api/export-api.d.ts +2 -2
  72. package/dist/src/api/export-api.js +2 -2
  73. package/dist/src/api/health-api.d.ts +2 -2
  74. package/dist/src/api/health-api.js +2 -2
  75. package/dist/src/api/log-api.d.ts +2 -2
  76. package/dist/src/api/log-api.js +2 -2
  77. package/dist/src/api/receive-api.d.ts +2 -2
  78. package/dist/src/api/receive-api.js +2 -2
  79. package/dist/src/api/send-api.d.ts +94 -57
  80. package/dist/src/api/send-api.js +108 -62
  81. package/dist/src/api/status-api.d.ts +2 -2
  82. package/dist/src/api/status-api.js +2 -2
  83. package/dist/src/api/update-api.d.ts +2 -2
  84. package/dist/src/api/update-api.js +2 -2
  85. package/dist/src/api/webhook-api.d.ts +27 -27
  86. package/dist/src/api/webhook-api.js +22 -22
  87. package/dist/src/models/company.d.ts +2 -2
  88. package/dist/src/models/company.js +2 -2
  89. package/dist/src/models/document-data.d.ts +2 -2
  90. package/dist/src/models/document-data.js +2 -2
  91. package/dist/src/models/event.d.ts +2 -2
  92. package/dist/src/models/event.js +2 -2
  93. package/dist/src/models/model-error.d.ts +2 -2
  94. package/dist/src/models/model-error.js +2 -2
  95. package/dist/src/models/problem-details.d.ts +2 -2
  96. package/dist/src/models/problem-details.js +2 -2
  97. package/dist/src/models/receive.d.ts +2 -2
  98. package/dist/src/models/receive.js +2 -2
  99. package/dist/src/models/send-reduced.d.ts +2 -2
  100. package/dist/src/models/send-reduced.js +2 -2
  101. package/dist/src/models/send.d.ts +2 -2
  102. package/dist/src/models/send.js +2 -2
  103. package/dist/src/models/status.d.ts +2 -2
  104. package/dist/src/models/status.js +2 -2
  105. package/dist/src/models/update.d.ts +2 -2
  106. package/dist/src/models/update.js +2 -2
  107. package/dist/src/models/web-hook-history.d.ts +2 -2
  108. package/dist/src/models/web-hook-history.js +2 -2
  109. package/dist/src/models/web-hook.d.ts +2 -2
  110. package/dist/src/models/web-hook.js +2 -2
  111. package/docs/SendApi.md +25 -10
  112. package/docs/WebhookApi.md +5 -5
  113. package/index.ts +2 -2
  114. package/package.json +1 -1
  115. package/src/api/company-api.ts +2 -2
  116. package/src/api/export-api.ts +2 -2
  117. package/src/api/health-api.ts +2 -2
  118. package/src/api/log-api.ts +2 -2
  119. package/src/api/receive-api.ts +2 -2
  120. package/src/api/send-api.ts +125 -72
  121. package/src/api/status-api.ts +2 -2
  122. package/src/api/update-api.ts +2 -2
  123. package/src/api/webhook-api.ts +27 -27
  124. package/src/models/company.ts +2 -2
  125. package/src/models/document-data.ts +2 -2
  126. package/src/models/event.ts +2 -2
  127. package/src/models/model-error.ts +2 -2
  128. package/src/models/problem-details.ts +2 -2
  129. package/src/models/receive.ts +2 -2
  130. package/src/models/send-reduced.ts +2 -2
  131. package/src/models/send.ts +2 -2
  132. package/src/models/status.ts +2 -2
  133. package/src/models/update.ts +2 -2
  134. package/src/models/web-hook-history.ts +2 -2
  135. package/src/models/web-hook.ts +2 -2
package/docs/SendApi.md CHANGED
@@ -20,7 +20,7 @@ All URIs are relative to *http://localhost*
20
20
  # **sendFilePost**
21
21
  > Send sendFilePost()
22
22
 
23
- 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).
23
+ 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.
24
24
 
25
25
  ### Example
26
26
 
@@ -36,11 +36,13 @@ const apiInstance = new SendApi(configuration);
36
36
  let file: File; // (default to undefined)
37
37
  let validate: boolean; //Validate the document first, and reject it on failure. (optional) (default to false)
38
38
  let signature: 'None' | 'Apply' | 'Force' | 'Auto'; //Whether to digitally sign the document. (optional) (default to 'Auto')
39
+ let idempotencyKey: 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) (default to undefined)
39
40
 
40
41
  const { status, data } = await apiInstance.sendFilePost(
41
42
  file,
42
43
  validate,
43
- signature
44
+ signature,
45
+ idempotencyKey
44
46
  );
45
47
  ```
46
48
 
@@ -51,6 +53,7 @@ const { status, data } = await apiInstance.sendFilePost(
51
53
  | **file** | [**File**] | | defaults to undefined|
52
54
  | **validate** | [**boolean**] | Validate the document first, and reject it on failure. | (optional) defaults to false|
53
55
  | **signature** | [**&#39;None&#39; | &#39;Apply&#39; | &#39;Force&#39; | &#39;Auto&#39;**]**Array<&#39;None&#39; &#124; &#39;Apply&#39; &#124; &#39;Force&#39; &#124; &#39;Auto&#39;>** | Whether to digitally sign the document. | (optional) defaults to 'Auto'|
56
+ | **idempotencyKey** | [**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) defaults to undefined|
54
57
 
55
58
 
56
59
  ### Return type
@@ -78,7 +81,7 @@ const { status, data } = await apiInstance.sendFilePost(
78
81
  # **sendGet**
79
82
  > Array<Send> sendGet()
80
83
 
81
- 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/).
84
+ 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/).
82
85
 
83
86
  ### Example
84
87
 
@@ -103,6 +106,7 @@ let dateSentTo: string; //UTC ISO 8601 (2024-11-29T12:34:56Z) (optional) (defaul
103
106
  let documentDateFrom: string; //UTC ISO 8601 (2024-11-29T12:34:56Z) (optional) (default to undefined)
104
107
  let documentDateTo: string; //UTC ISO 8601 (2024-11-29T12:34:56Z) (optional) (default to undefined)
105
108
  let documentNumber: string; //Document number. (optional) (default to undefined)
109
+ let latestState: 'Inviato' | 'Consegnato' | 'NonConsegnato' | 'Scartato' | 'AccettatoDalDestinatario' | 'RifiutatoDalDestinatario' | 'ImpossibilitaDiRecapito' | 'DecorrenzaTermini' | 'AttestazioneTrasmissioneFattura'; //Filter by the most recent SDI state for the invoice. Matches the `latest_state` field exposed inline on each Send. (optional) (default to undefined)
106
110
  let includePayload: boolean; //Include payload in the response. Defaults to false. (optional) (default to undefined)
107
111
  let 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) (default to undefined)
108
112
  let page: number; //Page number. (optional) (default to 1)
@@ -123,6 +127,7 @@ const { status, data } = await apiInstance.sendGet(
123
127
  documentDateFrom,
124
128
  documentDateTo,
125
129
  documentNumber,
130
+ latestState,
126
131
  includePayload,
127
132
  ids,
128
133
  page,
@@ -148,6 +153,7 @@ const { status, data } = await apiInstance.sendGet(
148
153
  | **documentDateFrom** | [**string**] | UTC ISO 8601 (2024-11-29T12:34:56Z) | (optional) defaults to undefined|
149
154
  | **documentDateTo** | [**string**] | UTC ISO 8601 (2024-11-29T12:34:56Z) | (optional) defaults to undefined|
150
155
  | **documentNumber** | [**string**] | Document number. | (optional) defaults to undefined|
156
+ | **latestState** | [**&#39;Inviato&#39; | &#39;Consegnato&#39; | &#39;NonConsegnato&#39; | &#39;Scartato&#39; | &#39;AccettatoDalDestinatario&#39; | &#39;RifiutatoDalDestinatario&#39; | &#39;ImpossibilitaDiRecapito&#39; | &#39;DecorrenzaTermini&#39; | &#39;AttestazioneTrasmissioneFattura&#39;**]**Array<&#39;Inviato&#39; &#124; &#39;Consegnato&#39; &#124; &#39;NonConsegnato&#39; &#124; &#39;Scartato&#39; &#124; &#39;AccettatoDalDestinatario&#39; &#124; &#39;RifiutatoDalDestinatario&#39; &#124; &#39;ImpossibilitaDiRecapito&#39; &#124; &#39;DecorrenzaTermini&#39; &#124; &#39;AttestazioneTrasmissioneFattura&#39;>** | Filter by the most recent SDI state for the invoice. Matches the &#x60;latest_state&#x60; field exposed inline on each Send. | (optional) defaults to undefined|
151
157
  | **includePayload** | [**boolean**] | Include payload in the response. Defaults to false. | (optional) defaults to undefined|
152
158
  | **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) defaults to undefined|
153
159
  | **page** | [**number**] | Page number. | (optional) defaults to 1|
@@ -343,7 +349,7 @@ const { status, data } = await apiInstance.sendIdentifierGet(
343
349
  # **sendJsonPost**
344
350
  > Send sendJsonPost(body)
345
351
 
346
- 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).
352
+ 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.
347
353
 
348
354
  ### Example
349
355
 
@@ -359,11 +365,13 @@ const apiInstance = new SendApi(configuration);
359
365
  let body: object; //
360
366
  let validate: boolean; //Validate the document first, and reject it on failure. (optional) (default to false)
361
367
  let signature: 'None' | 'Apply' | 'Force' | 'Auto'; //Whether to digitally sign the document. (optional) (default to 'Auto')
368
+ let idempotencyKey: 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) (default to undefined)
362
369
 
363
370
  const { status, data } = await apiInstance.sendJsonPost(
364
371
  body,
365
372
  validate,
366
- signature
373
+ signature,
374
+ idempotencyKey
367
375
  );
368
376
  ```
369
377
 
@@ -374,6 +382,7 @@ const { status, data } = await apiInstance.sendJsonPost(
374
382
  | **body** | **object**| | |
375
383
  | **validate** | [**boolean**] | Validate the document first, and reject it on failure. | (optional) defaults to false|
376
384
  | **signature** | [**&#39;None&#39; | &#39;Apply&#39; | &#39;Force&#39; | &#39;Auto&#39;**]**Array<&#39;None&#39; &#124; &#39;Apply&#39; &#124; &#39;Force&#39; &#124; &#39;Auto&#39;>** | Whether to digitally sign the document. | (optional) defaults to 'Auto'|
385
+ | **idempotencyKey** | [**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) defaults to undefined|
377
386
 
378
387
 
379
388
  ### Return type
@@ -401,7 +410,7 @@ const { status, data } = await apiInstance.sendJsonPost(
401
410
  # **sendPost**
402
411
  > Send sendPost(send)
403
412
 
404
- 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).
413
+ 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.
405
414
 
406
415
  ### Example
407
416
 
@@ -418,11 +427,13 @@ const apiInstance = new SendApi(configuration);
418
427
  let send: Send; //
419
428
  let validate: boolean; //Validate the document first, and reject it on failure. (optional) (default to false)
420
429
  let signature: 'None' | 'Apply' | 'Force' | 'Auto'; //Whether to digitally sign the document. (optional) (default to 'Auto')
430
+ let idempotencyKey: 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) (default to undefined)
421
431
 
422
432
  const { status, data } = await apiInstance.sendPost(
423
433
  send,
424
434
  validate,
425
- signature
435
+ signature,
436
+ idempotencyKey
426
437
  );
427
438
  ```
428
439
 
@@ -433,6 +444,7 @@ const { status, data } = await apiInstance.sendPost(
433
444
  | **send** | **Send**| | |
434
445
  | **validate** | [**boolean**] | Validate the document first, and reject it on failure. | (optional) defaults to false|
435
446
  | **signature** | [**&#39;None&#39; | &#39;Apply&#39; | &#39;Force&#39; | &#39;Auto&#39;**]**Array<&#39;None&#39; &#124; &#39;Apply&#39; &#124; &#39;Force&#39; &#124; &#39;Auto&#39;>** | Whether to digitally sign the document. | (optional) defaults to 'Auto'|
447
+ | **idempotencyKey** | [**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) defaults to undefined|
436
448
 
437
449
 
438
450
  ### Return type
@@ -512,7 +524,7 @@ void (empty response body)
512
524
  # **sendValidateJsonPost**
513
525
  > sendValidateJsonPost(body)
514
526
 
515
- 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/).
527
+ 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/).
516
528
 
517
529
  ### Example
518
530
 
@@ -669,7 +681,7 @@ void (empty response body)
669
681
  # **sendXmlPost**
670
682
  > Send sendXmlPost(body)
671
683
 
672
- 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).
684
+ 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.
673
685
 
674
686
  ### Example
675
687
 
@@ -685,11 +697,13 @@ const apiInstance = new SendApi(configuration);
685
697
  let body: object; //
686
698
  let validate: boolean; //Validate the document first, and reject it on failure. (optional) (default to false)
687
699
  let signature: 'None' | 'Apply' | 'Force' | 'Auto'; //Whether to digitally sign the document. (optional) (default to 'Auto')
700
+ let idempotencyKey: 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) (default to undefined)
688
701
 
689
702
  const { status, data } = await apiInstance.sendXmlPost(
690
703
  body,
691
704
  validate,
692
- signature
705
+ signature,
706
+ idempotencyKey
693
707
  );
694
708
  ```
695
709
 
@@ -700,6 +714,7 @@ const { status, data } = await apiInstance.sendXmlPost(
700
714
  | **body** | **object**| | |
701
715
  | **validate** | [**boolean**] | Validate the document first, and reject it on failure. | (optional) defaults to false|
702
716
  | **signature** | [**&#39;None&#39; | &#39;Apply&#39; | &#39;Force&#39; | &#39;Auto&#39;**]**Array<&#39;None&#39; &#124; &#39;Apply&#39; &#124; &#39;Force&#39; &#124; &#39;Auto&#39;>** | Whether to digitally sign the document. | (optional) defaults to 'Auto'|
717
+ | **idempotencyKey** | [**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) defaults to undefined|
703
718
 
704
719
 
705
720
  ### Return type
@@ -15,7 +15,7 @@ All URIs are relative to *http://localhost*
15
15
  # **webhookGet**
16
16
  > Array<WebHook> webhookGet()
17
17
 
18
- 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/)**.
18
+ 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/)**.
19
19
 
20
20
  ### Example
21
21
 
@@ -88,7 +88,7 @@ const { status, data } = await apiInstance.webhookGet(
88
88
  # **webhookIdDelete**
89
89
  > WebHook webhookIdDelete()
90
90
 
91
- 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/)**.
91
+ 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/)**.
92
92
 
93
93
  ### Example
94
94
 
@@ -140,7 +140,7 @@ const { status, data } = await apiInstance.webhookIdDelete(
140
140
  # **webhookIdGet**
141
141
  > WebHook webhookIdGet()
142
142
 
143
- 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/)**.
143
+ 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/)**.
144
144
 
145
145
  ### Example
146
146
 
@@ -192,7 +192,7 @@ const { status, data } = await apiInstance.webhookIdGet(
192
192
  # **webhookPost**
193
193
  > WebHook webhookPost(webHook)
194
194
 
195
- 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/)**.
195
+ 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/)**.
196
196
 
197
197
  ### Example
198
198
 
@@ -245,7 +245,7 @@ const { status, data } = await apiInstance.webhookPost(
245
245
  # **webhookPut**
246
246
  > WebHook webhookPut(webHook)
247
247
 
248
- 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/)**.
248
+ 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/)**.
249
249
 
250
250
  ### Example
251
251
 
package/index.ts CHANGED
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * Invoicetronic API
5
- * 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/
5
+ * 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/
6
6
  *
7
- * The version of the OpenAPI document: 1.12.0
7
+ * The version of the OpenAPI document: 1.14.0
8
8
  * Contact: info@invoicetronic.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invoicetronic/ts-sdk",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "description": "OpenAPI client for @invoicetronic/ts-sdk",
5
5
  "author": "OpenAPI-Generator Contributors",
6
6
  "repository": {
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * Invoicetronic API
5
- * 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/
5
+ * 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/
6
6
  *
7
- * The version of the OpenAPI document: 1.12.0
7
+ * The version of the OpenAPI document: 1.14.0
8
8
  * Contact: info@invoicetronic.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * Invoicetronic API
5
- * 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/
5
+ * 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/
6
6
  *
7
- * The version of the OpenAPI document: 1.12.0
7
+ * The version of the OpenAPI document: 1.14.0
8
8
  * Contact: info@invoicetronic.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * Invoicetronic API
5
- * 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/
5
+ * 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/
6
6
  *
7
- * The version of the OpenAPI document: 1.12.0
7
+ * The version of the OpenAPI document: 1.14.0
8
8
  * Contact: info@invoicetronic.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * Invoicetronic API
5
- * 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/
5
+ * 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/
6
6
  *
7
- * The version of the OpenAPI document: 1.12.0
7
+ * The version of the OpenAPI document: 1.14.0
8
8
  * Contact: info@invoicetronic.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * Invoicetronic API
5
- * 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/
5
+ * 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/
6
6
  *
7
- * The version of the OpenAPI document: 1.12.0
7
+ * The version of the OpenAPI document: 1.14.0
8
8
  * Contact: info@invoicetronic.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).