@factpulse/sdk 3.0.1 → 3.0.3

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 (44) hide show
  1. package/.openapi-generator/FILES +8 -4
  2. package/CHANGELOG.md +3 -3
  3. package/api/invoice-processing-api.ts +4 -4
  4. package/api/pdfxmlverification-api.ts +6 -6
  5. package/dist/api/invoice-processing-api.d.ts +4 -4
  6. package/dist/api/pdfxmlverification-api.d.ts +7 -7
  7. package/dist/esm/api/invoice-processing-api.d.ts +4 -4
  8. package/dist/esm/api/pdfxmlverification-api.d.ts +7 -7
  9. package/dist/esm/models/{task-status.d.ts → async-task-status.d.ts} +1 -1
  10. package/dist/esm/models/index.d.ts +4 -2
  11. package/dist/esm/models/index.js +4 -2
  12. package/dist/esm/models/submit-gross-amount.d.ts +16 -0
  13. package/dist/esm/models/submit-invoice-request.d.ts +6 -6
  14. package/dist/esm/models/submit-net-amount.d.ts +16 -0
  15. package/dist/esm/models/submit-net-amount.js +14 -0
  16. package/dist/{models/vat-amount.d.ts → esm/models/submit-vat-amount.d.ts} +1 -1
  17. package/dist/esm/models/submit-vat-amount.js +14 -0
  18. package/dist/models/{task-status.d.ts → async-task-status.d.ts} +1 -1
  19. package/dist/models/index.d.ts +4 -2
  20. package/dist/models/index.js +4 -2
  21. package/dist/models/submit-gross-amount.d.ts +16 -0
  22. package/dist/models/submit-invoice-request.d.ts +6 -6
  23. package/dist/models/submit-net-amount.d.ts +16 -0
  24. package/dist/models/submit-net-amount.js +15 -0
  25. package/dist/{esm/models/vat-amount.d.ts → models/submit-vat-amount.d.ts} +1 -1
  26. package/dist/models/submit-vat-amount.js +15 -0
  27. package/docs/{TaskStatus.md → AsyncTaskStatus.md} +3 -3
  28. package/docs/InvoiceProcessingApi.md +2 -2
  29. package/docs/PDFXMLVerificationApi.md +4 -4
  30. package/docs/SubmitGrossAmount.md +19 -0
  31. package/docs/SubmitInvoiceRequest.md +3 -3
  32. package/docs/SubmitNetAmount.md +19 -0
  33. package/docs/{VatAmount.md → SubmitVatAmount.md} +3 -3
  34. package/models/{task-status.ts → async-task-status.ts} +1 -1
  35. package/models/index.ts +4 -2
  36. package/models/submit-gross-amount.ts +22 -0
  37. package/models/submit-invoice-request.ts +6 -6
  38. package/models/submit-net-amount.ts +22 -0
  39. package/models/{vat-amount.ts → submit-vat-amount.ts} +1 -1
  40. package/package.json +1 -1
  41. /package/dist/esm/models/{task-status.js → async-task-status.js} +0 -0
  42. /package/dist/esm/models/{vat-amount.js → submit-gross-amount.js} +0 -0
  43. /package/dist/models/{task-status.js → async-task-status.js} +0 -0
  44. /package/dist/models/{vat-amount.js → submit-gross-amount.js} +0 -0
@@ -26,6 +26,7 @@ docs/APIProfile.md
26
26
  docs/AcknowledgmentStatus.md
27
27
  docs/AllowanceReasonCode.md
28
28
  docs/AmountDue.md
29
+ docs/AsyncTaskStatus.md
29
30
  docs/BoundingBoxSchema.md
30
31
  docs/CeleryStatus.md
31
32
  docs/CertificateInfoResponse.md
@@ -107,12 +108,14 @@ docs/SubmitCompleteInvoiceRequest.md
107
108
  docs/SubmitCompleteInvoiceResponse.md
108
109
  docs/SubmitFlowRequest.md
109
110
  docs/SubmitFlowResponse.md
111
+ docs/SubmitGrossAmount.md
110
112
  docs/SubmitInvoiceRequest.md
111
113
  docs/SubmitInvoiceResponse.md
114
+ docs/SubmitNetAmount.md
115
+ docs/SubmitVatAmount.md
112
116
  docs/SupplementaryAttachment.md
113
117
  docs/Supplier.md
114
118
  docs/TaskResponse.md
115
- docs/TaskStatus.md
116
119
  docs/TaxableAmount.md
117
120
  docs/TotalGrossAmount.md
118
121
  docs/TotalNetAmount.md
@@ -129,7 +132,6 @@ docs/ValidationErrorDetail.md
129
132
  docs/ValidationErrorLocInner.md
130
133
  docs/ValidationErrorResponse.md
131
134
  docs/ValidationSuccessResponse.md
132
- docs/VatAmount.md
133
135
  docs/VerificationSuccessResponse.md
134
136
  docs/VerifiedFieldSchema.md
135
137
  git_push.sh
@@ -143,6 +145,7 @@ models/allowance-reason-code.ts
143
145
  models/amount-due.ts
144
146
  models/apierror.ts
145
147
  models/apiprofile.ts
148
+ models/async-task-status.ts
146
149
  models/bounding-box-schema.ts
147
150
  models/celery-status.ts
148
151
  models/certificate-info-response.ts
@@ -221,12 +224,14 @@ models/submit-complete-invoice-request.ts
221
224
  models/submit-complete-invoice-response.ts
222
225
  models/submit-flow-request.ts
223
226
  models/submit-flow-response.ts
227
+ models/submit-gross-amount.ts
224
228
  models/submit-invoice-request.ts
225
229
  models/submit-invoice-response.ts
230
+ models/submit-net-amount.ts
231
+ models/submit-vat-amount.ts
226
232
  models/supplementary-attachment.ts
227
233
  models/supplier.ts
228
234
  models/task-response.ts
229
- models/task-status.ts
230
235
  models/taxable-amount.ts
231
236
  models/total-gross-amount.ts
232
237
  models/total-net-amount.ts
@@ -238,7 +243,6 @@ models/validation-error-loc-inner.ts
238
243
  models/validation-error-response.ts
239
244
  models/validation-error.ts
240
245
  models/validation-success-response.ts
241
- models/vat-amount.ts
242
246
  models/vataccounting-code.ts
243
247
  models/vatamount.ts
244
248
  models/vatcategory.ts
package/CHANGELOG.md CHANGED
@@ -7,7 +7,7 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [3.0.1] - 2025-12-19
10
+ ## [3.0.3] - 2025-12-19
11
11
 
12
12
  ### Added
13
13
  - Version initiale du SDK typescript
@@ -24,5 +24,5 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
24
24
  - Guide d'authentification JWT
25
25
  - Configuration avancée (timeout, proxy, debug)
26
26
 
27
- [Unreleased]: https://github.com/factpulse/sdk-typescript/compare/v3.0.1...HEAD
28
- [3.0.1]: https://github.com/factpulse/sdk-typescript/releases/tag/v3.0.1
27
+ [Unreleased]: https://github.com/factpulse/sdk-typescript/compare/v3.0.3...HEAD
28
+ [3.0.3]: https://github.com/factpulse/sdk-typescript/releases/tag/v3.0.3
@@ -24,6 +24,8 @@ import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError
24
24
  // @ts-ignore
25
25
  import type { APIProfile } from '../models';
26
26
  // @ts-ignore
27
+ import type { AsyncTaskStatus } from '../models';
28
+ // @ts-ignore
27
29
  import type { GenerateCertificateRequest } from '../models';
28
30
  // @ts-ignore
29
31
  import type { GenerateCertificateResponse } from '../models';
@@ -40,8 +42,6 @@ import type { SubmitCompleteInvoiceResponse } from '../models';
40
42
  // @ts-ignore
41
43
  import type { TaskResponse } from '../models';
42
44
  // @ts-ignore
43
- import type { TaskStatus } from '../models';
44
- // @ts-ignore
45
45
  import type { ValidationErrorResponse } from '../models';
46
46
  // @ts-ignore
47
47
  import type { ValidationSuccessResponse } from '../models';
@@ -664,7 +664,7 @@ export const InvoiceProcessingApiFp = function(configuration?: Configuration) {
664
664
  * @param {*} [options] Override http request option.
665
665
  * @throws {RequiredError}
666
666
  */
667
- async getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>> {
667
+ async getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>> {
668
668
  const localVarAxiosArgs = await localVarAxiosParamCreator.getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId, options);
669
669
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
670
670
  const localVarOperationServerBasePath = operationServerMap['InvoiceProcessingApi.getTaskStatusApiV1ProcessingTasksTaskIdStatusGet']?.[localVarOperationServerIndex]?.url;
@@ -831,7 +831,7 @@ export const InvoiceProcessingApiFactory = function (configuration?: Configurati
831
831
  * @param {*} [options] Override http request option.
832
832
  * @throws {RequiredError}
833
833
  */
834
- getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus> {
834
+ getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus> {
835
835
  return localVarFp.getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId, options).then((request) => request(axios, basePath));
836
836
  },
837
837
  /**
@@ -24,12 +24,12 @@ import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError
24
24
  // @ts-ignore
25
25
  import type { APIError } from '../models';
26
26
  // @ts-ignore
27
+ import type { AsyncTaskStatus } from '../models';
28
+ // @ts-ignore
27
29
  import type { HTTPValidationError } from '../models';
28
30
  // @ts-ignore
29
31
  import type { TaskResponse } from '../models';
30
32
  // @ts-ignore
31
- import type { TaskStatus } from '../models';
32
- // @ts-ignore
33
33
  import type { VerificationSuccessResponse } from '../models';
34
34
  /**
35
35
  * PDFXMLVerificationApi - axios parameter creator
@@ -314,7 +314,7 @@ export const PDFXMLVerificationApiFp = function(configuration?: Configuration) {
314
314
  * @param {*} [options] Override http request option.
315
315
  * @throws {RequiredError}
316
316
  */
317
- async getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>> {
317
+ async getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>> {
318
318
  const localVarAxiosArgs = await localVarAxiosParamCreator.getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId, options);
319
319
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
320
320
  const localVarOperationServerBasePath = operationServerMap['PDFXMLVerificationApi.getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet']?.[localVarOperationServerIndex]?.url;
@@ -327,7 +327,7 @@ export const PDFXMLVerificationApiFp = function(configuration?: Configuration) {
327
327
  * @param {*} [options] Override http request option.
328
328
  * @throws {RequiredError}
329
329
  */
330
- async getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>> {
330
+ async getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>> {
331
331
  const localVarAxiosArgs = await localVarAxiosParamCreator.getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId, options);
332
332
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
333
333
  const localVarOperationServerBasePath = operationServerMap['PDFXMLVerificationApi.getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1']?.[localVarOperationServerIndex]?.url;
@@ -403,7 +403,7 @@ export const PDFXMLVerificationApiFactory = function (configuration?: Configurat
403
403
  * @param {*} [options] Override http request option.
404
404
  * @throws {RequiredError}
405
405
  */
406
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus> {
406
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus> {
407
407
  return localVarFp.getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId, options).then((request) => request(axios, basePath));
408
408
  },
409
409
  /**
@@ -413,7 +413,7 @@ export const PDFXMLVerificationApiFactory = function (configuration?: Configurat
413
413
  * @param {*} [options] Override http request option.
414
414
  * @throws {RequiredError}
415
415
  */
416
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus> {
416
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus> {
417
417
  return localVarFp.getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId, options).then((request) => request(axios, basePath));
418
418
  },
419
419
  /**
@@ -13,6 +13,7 @@ import type { Configuration } from '../configuration';
13
13
  import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
14
14
  import { type RequestArgs, BaseAPI } from '../base';
15
15
  import type { APIProfile } from '../models';
16
+ import type { AsyncTaskStatus } from '../models';
16
17
  import type { GenerateCertificateRequest } from '../models';
17
18
  import type { GenerateCertificateResponse } from '../models';
18
19
  import type { OutputFormat } from '../models';
@@ -20,7 +21,6 @@ import type { PDFValidationResultAPI } from '../models';
20
21
  import type { SubmitCompleteInvoiceRequest } from '../models';
21
22
  import type { SubmitCompleteInvoiceResponse } from '../models';
22
23
  import type { TaskResponse } from '../models';
23
- import type { TaskStatus } from '../models';
24
24
  import type { ValidationSuccessResponse } from '../models';
25
25
  /**
26
26
  * InvoiceProcessingApi - axios parameter creator
@@ -167,7 +167,7 @@ export declare const InvoiceProcessingApiFp: (configuration?: Configuration) =>
167
167
  * @param {*} [options] Override http request option.
168
168
  * @throws {RequiredError}
169
169
  */
170
- getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>>;
170
+ getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>>;
171
171
  /**
172
172
  * Signs an uploaded PDF with the electronic certificate configured for the client (via client_uid from JWT). **Supported standards**: PAdES-B-B, PAdES-B-T (timestamping), PAdES-B-LT (long-term archiving). **eIDAS levels**: SES (self-signed), AdES (commercial CA), QES (PSCO - out of scope). **Security**: Double authentication X-Internal-Secret + JWT Bearer to retrieve the certificate. **⚠️ Legal disclaimer**: Generated signatures are electronic seals as defined by the eIDAS regulation. The level of legal validity depends on the certificate used (SES/AdES/QES). FactPulse does not provide QES qualified certificates - you must obtain a certificate from a PSCO (qualified Trust Service Provider) for maximum legal validity.
173
173
  * @summary Sign a PDF with client\'s certificate (PAdES-B-LT)
@@ -281,7 +281,7 @@ export declare const InvoiceProcessingApiFactory: (configuration?: Configuration
281
281
  * @param {*} [options] Override http request option.
282
282
  * @throws {RequiredError}
283
283
  */
284
- getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus>;
284
+ getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus>;
285
285
  /**
286
286
  * Signs an uploaded PDF with the electronic certificate configured for the client (via client_uid from JWT). **Supported standards**: PAdES-B-B, PAdES-B-T (timestamping), PAdES-B-LT (long-term archiving). **eIDAS levels**: SES (self-signed), AdES (commercial CA), QES (PSCO - out of scope). **Security**: Double authentication X-Internal-Secret + JWT Bearer to retrieve the certificate. **⚠️ Legal disclaimer**: Generated signatures are electronic seals as defined by the eIDAS regulation. The level of legal validity depends on the certificate used (SES/AdES/QES). FactPulse does not provide QES qualified certificates - you must obtain a certificate from a PSCO (qualified Trust Service Provider) for maximum legal validity.
287
287
  * @summary Sign a PDF with client\'s certificate (PAdES-B-LT)
@@ -395,7 +395,7 @@ export declare class InvoiceProcessingApi extends BaseAPI {
395
395
  * @param {*} [options] Override http request option.
396
396
  * @throws {RequiredError}
397
397
  */
398
- getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TaskStatus, any, {}>>;
398
+ getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AsyncTaskStatus, any, {}>>;
399
399
  /**
400
400
  * Signs an uploaded PDF with the electronic certificate configured for the client (via client_uid from JWT). **Supported standards**: PAdES-B-B, PAdES-B-T (timestamping), PAdES-B-LT (long-term archiving). **eIDAS levels**: SES (self-signed), AdES (commercial CA), QES (PSCO - out of scope). **Security**: Double authentication X-Internal-Secret + JWT Bearer to retrieve the certificate. **⚠️ Legal disclaimer**: Generated signatures are electronic seals as defined by the eIDAS regulation. The level of legal validity depends on the certificate used (SES/AdES/QES). FactPulse does not provide QES qualified certificates - you must obtain a certificate from a PSCO (qualified Trust Service Provider) for maximum legal validity.
401
401
  * @summary Sign a PDF with client\'s certificate (PAdES-B-LT)
@@ -12,8 +12,8 @@
12
12
  import type { Configuration } from '../configuration';
13
13
  import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
14
14
  import { type RequestArgs, BaseAPI } from '../base';
15
+ import type { AsyncTaskStatus } from '../models';
15
16
  import type { TaskResponse } from '../models';
16
- import type { TaskStatus } from '../models';
17
17
  import type { VerificationSuccessResponse } from '../models';
18
18
  /**
19
19
  * PDFXMLVerificationApi - axios parameter creator
@@ -81,7 +81,7 @@ export declare const PDFXMLVerificationApiFp: (configuration?: Configuration) =>
81
81
  * @param {*} [options] Override http request option.
82
82
  * @throws {RequiredError}
83
83
  */
84
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>>;
84
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>>;
85
85
  /**
86
86
  * Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
87
87
  * @summary Get status of an asynchronous verification
@@ -89,7 +89,7 @@ export declare const PDFXMLVerificationApiFp: (configuration?: Configuration) =>
89
89
  * @param {*} [options] Override http request option.
90
90
  * @throws {RequiredError}
91
91
  */
92
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>>;
92
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>>;
93
93
  /**
94
94
  * Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn\'t block the server
95
95
  * @summary Verify PDF/XML Factur-X compliance (asynchronous)
@@ -136,7 +136,7 @@ export declare const PDFXMLVerificationApiFactory: (configuration?: Configuratio
136
136
  * @param {*} [options] Override http request option.
137
137
  * @throws {RequiredError}
138
138
  */
139
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus>;
139
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus>;
140
140
  /**
141
141
  * Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
142
142
  * @summary Get status of an asynchronous verification
@@ -144,7 +144,7 @@ export declare const PDFXMLVerificationApiFactory: (configuration?: Configuratio
144
144
  * @param {*} [options] Override http request option.
145
145
  * @throws {RequiredError}
146
146
  */
147
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus>;
147
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus>;
148
148
  /**
149
149
  * Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn\'t block the server
150
150
  * @summary Verify PDF/XML Factur-X compliance (asynchronous)
@@ -191,7 +191,7 @@ export declare class PDFXMLVerificationApi extends BaseAPI {
191
191
  * @param {*} [options] Override http request option.
192
192
  * @throws {RequiredError}
193
193
  */
194
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TaskStatus, any, {}>>;
194
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AsyncTaskStatus, any, {}>>;
195
195
  /**
196
196
  * Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
197
197
  * @summary Get status of an asynchronous verification
@@ -199,7 +199,7 @@ export declare class PDFXMLVerificationApi extends BaseAPI {
199
199
  * @param {*} [options] Override http request option.
200
200
  * @throws {RequiredError}
201
201
  */
202
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TaskStatus, any, {}>>;
202
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AsyncTaskStatus, any, {}>>;
203
203
  /**
204
204
  * Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn\'t block the server
205
205
  * @summary Verify PDF/XML Factur-X compliance (asynchronous)
@@ -13,6 +13,7 @@ import type { Configuration } from '../configuration';
13
13
  import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
14
14
  import { type RequestArgs, BaseAPI } from '../base';
15
15
  import type { APIProfile } from '../models';
16
+ import type { AsyncTaskStatus } from '../models';
16
17
  import type { GenerateCertificateRequest } from '../models';
17
18
  import type { GenerateCertificateResponse } from '../models';
18
19
  import type { OutputFormat } from '../models';
@@ -20,7 +21,6 @@ import type { PDFValidationResultAPI } from '../models';
20
21
  import type { SubmitCompleteInvoiceRequest } from '../models';
21
22
  import type { SubmitCompleteInvoiceResponse } from '../models';
22
23
  import type { TaskResponse } from '../models';
23
- import type { TaskStatus } from '../models';
24
24
  import type { ValidationSuccessResponse } from '../models';
25
25
  /**
26
26
  * InvoiceProcessingApi - axios parameter creator
@@ -167,7 +167,7 @@ export declare const InvoiceProcessingApiFp: (configuration?: Configuration) =>
167
167
  * @param {*} [options] Override http request option.
168
168
  * @throws {RequiredError}
169
169
  */
170
- getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>>;
170
+ getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>>;
171
171
  /**
172
172
  * Signs an uploaded PDF with the electronic certificate configured for the client (via client_uid from JWT). **Supported standards**: PAdES-B-B, PAdES-B-T (timestamping), PAdES-B-LT (long-term archiving). **eIDAS levels**: SES (self-signed), AdES (commercial CA), QES (PSCO - out of scope). **Security**: Double authentication X-Internal-Secret + JWT Bearer to retrieve the certificate. **⚠️ Legal disclaimer**: Generated signatures are electronic seals as defined by the eIDAS regulation. The level of legal validity depends on the certificate used (SES/AdES/QES). FactPulse does not provide QES qualified certificates - you must obtain a certificate from a PSCO (qualified Trust Service Provider) for maximum legal validity.
173
173
  * @summary Sign a PDF with client\'s certificate (PAdES-B-LT)
@@ -281,7 +281,7 @@ export declare const InvoiceProcessingApiFactory: (configuration?: Configuration
281
281
  * @param {*} [options] Override http request option.
282
282
  * @throws {RequiredError}
283
283
  */
284
- getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus>;
284
+ getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus>;
285
285
  /**
286
286
  * Signs an uploaded PDF with the electronic certificate configured for the client (via client_uid from JWT). **Supported standards**: PAdES-B-B, PAdES-B-T (timestamping), PAdES-B-LT (long-term archiving). **eIDAS levels**: SES (self-signed), AdES (commercial CA), QES (PSCO - out of scope). **Security**: Double authentication X-Internal-Secret + JWT Bearer to retrieve the certificate. **⚠️ Legal disclaimer**: Generated signatures are electronic seals as defined by the eIDAS regulation. The level of legal validity depends on the certificate used (SES/AdES/QES). FactPulse does not provide QES qualified certificates - you must obtain a certificate from a PSCO (qualified Trust Service Provider) for maximum legal validity.
287
287
  * @summary Sign a PDF with client\'s certificate (PAdES-B-LT)
@@ -395,7 +395,7 @@ export declare class InvoiceProcessingApi extends BaseAPI {
395
395
  * @param {*} [options] Override http request option.
396
396
  * @throws {RequiredError}
397
397
  */
398
- getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TaskStatus, any, {}>>;
398
+ getTaskStatusApiV1ProcessingTasksTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AsyncTaskStatus, any, {}>>;
399
399
  /**
400
400
  * Signs an uploaded PDF with the electronic certificate configured for the client (via client_uid from JWT). **Supported standards**: PAdES-B-B, PAdES-B-T (timestamping), PAdES-B-LT (long-term archiving). **eIDAS levels**: SES (self-signed), AdES (commercial CA), QES (PSCO - out of scope). **Security**: Double authentication X-Internal-Secret + JWT Bearer to retrieve the certificate. **⚠️ Legal disclaimer**: Generated signatures are electronic seals as defined by the eIDAS regulation. The level of legal validity depends on the certificate used (SES/AdES/QES). FactPulse does not provide QES qualified certificates - you must obtain a certificate from a PSCO (qualified Trust Service Provider) for maximum legal validity.
401
401
  * @summary Sign a PDF with client\'s certificate (PAdES-B-LT)
@@ -12,8 +12,8 @@
12
12
  import type { Configuration } from '../configuration';
13
13
  import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
14
14
  import { type RequestArgs, BaseAPI } from '../base';
15
+ import type { AsyncTaskStatus } from '../models';
15
16
  import type { TaskResponse } from '../models';
16
- import type { TaskStatus } from '../models';
17
17
  import type { VerificationSuccessResponse } from '../models';
18
18
  /**
19
19
  * PDFXMLVerificationApi - axios parameter creator
@@ -81,7 +81,7 @@ export declare const PDFXMLVerificationApiFp: (configuration?: Configuration) =>
81
81
  * @param {*} [options] Override http request option.
82
82
  * @throws {RequiredError}
83
83
  */
84
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>>;
84
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>>;
85
85
  /**
86
86
  * Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
87
87
  * @summary Get status of an asynchronous verification
@@ -89,7 +89,7 @@ export declare const PDFXMLVerificationApiFp: (configuration?: Configuration) =>
89
89
  * @param {*} [options] Override http request option.
90
90
  * @throws {RequiredError}
91
91
  */
92
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskStatus>>;
92
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AsyncTaskStatus>>;
93
93
  /**
94
94
  * Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn\'t block the server
95
95
  * @summary Verify PDF/XML Factur-X compliance (asynchronous)
@@ -136,7 +136,7 @@ export declare const PDFXMLVerificationApiFactory: (configuration?: Configuratio
136
136
  * @param {*} [options] Override http request option.
137
137
  * @throws {RequiredError}
138
138
  */
139
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus>;
139
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus>;
140
140
  /**
141
141
  * Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
142
142
  * @summary Get status of an asynchronous verification
@@ -144,7 +144,7 @@ export declare const PDFXMLVerificationApiFactory: (configuration?: Configuratio
144
144
  * @param {*} [options] Override http request option.
145
145
  * @throws {RequiredError}
146
146
  */
147
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<TaskStatus>;
147
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): AxiosPromise<AsyncTaskStatus>;
148
148
  /**
149
149
  * Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn\'t block the server
150
150
  * @summary Verify PDF/XML Factur-X compliance (asynchronous)
@@ -191,7 +191,7 @@ export declare class PDFXMLVerificationApi extends BaseAPI {
191
191
  * @param {*} [options] Override http request option.
192
192
  * @throws {RequiredError}
193
193
  */
194
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TaskStatus, any, {}>>;
194
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AsyncTaskStatus, any, {}>>;
195
195
  /**
196
196
  * Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
197
197
  * @summary Get status of an asynchronous verification
@@ -199,7 +199,7 @@ export declare class PDFXMLVerificationApi extends BaseAPI {
199
199
  * @param {*} [options] Override http request option.
200
200
  * @throws {RequiredError}
201
201
  */
202
- getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TaskStatus, any, {}>>;
202
+ getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_1(taskId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AsyncTaskStatus, any, {}>>;
203
203
  /**
204
204
  * Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn\'t block the server
205
205
  * @summary Verify PDF/XML Factur-X compliance (asynchronous)
@@ -13,7 +13,7 @@ import type { CeleryStatus } from './celery-status';
13
13
  /**
14
14
  * Complete description of an async task status. The `status` field indicates the Celery state of the task. When `status=\"SUCCESS\"`, check `result.status` for the business result (\"SUCCESS\" or \"ERROR\").
15
15
  */
16
- export interface TaskStatus {
16
+ export interface AsyncTaskStatus {
17
17
  /**
18
18
  * Unique task identifier
19
19
  */
@@ -7,6 +7,7 @@ export * from './apiprofile';
7
7
  export * from './acknowledgment-status';
8
8
  export * from './allowance-reason-code';
9
9
  export * from './amount-due';
10
+ export * from './async-task-status';
10
11
  export * from './bounding-box-schema';
11
12
  export * from './celery-status';
12
13
  export * from './certificate-info-response';
@@ -84,12 +85,14 @@ export * from './submit-complete-invoice-request';
84
85
  export * from './submit-complete-invoice-response';
85
86
  export * from './submit-flow-request';
86
87
  export * from './submit-flow-response';
88
+ export * from './submit-gross-amount';
87
89
  export * from './submit-invoice-request';
88
90
  export * from './submit-invoice-response';
91
+ export * from './submit-net-amount';
92
+ export * from './submit-vat-amount';
89
93
  export * from './supplementary-attachment';
90
94
  export * from './supplier';
91
95
  export * from './task-response';
92
- export * from './task-status';
93
96
  export * from './taxable-amount';
94
97
  export * from './total-gross-amount';
95
98
  export * from './total-net-amount';
@@ -105,6 +108,5 @@ export * from './validation-error-detail';
105
108
  export * from './validation-error-loc-inner';
106
109
  export * from './validation-error-response';
107
110
  export * from './validation-success-response';
108
- export * from './vat-amount';
109
111
  export * from './verification-success-response';
110
112
  export * from './verified-field-schema';
@@ -7,6 +7,7 @@ export * from './apiprofile';
7
7
  export * from './acknowledgment-status';
8
8
  export * from './allowance-reason-code';
9
9
  export * from './amount-due';
10
+ export * from './async-task-status';
10
11
  export * from './bounding-box-schema';
11
12
  export * from './celery-status';
12
13
  export * from './certificate-info-response';
@@ -84,12 +85,14 @@ export * from './submit-complete-invoice-request';
84
85
  export * from './submit-complete-invoice-response';
85
86
  export * from './submit-flow-request';
86
87
  export * from './submit-flow-response';
88
+ export * from './submit-gross-amount';
87
89
  export * from './submit-invoice-request';
88
90
  export * from './submit-invoice-response';
91
+ export * from './submit-net-amount';
92
+ export * from './submit-vat-amount';
89
93
  export * from './supplementary-attachment';
90
94
  export * from './supplier';
91
95
  export * from './task-response';
92
- export * from './task-status';
93
96
  export * from './taxable-amount';
94
97
  export * from './total-gross-amount';
95
98
  export * from './total-net-amount';
@@ -105,6 +108,5 @@ export * from './validation-error-detail';
105
108
  export * from './validation-error-loc-inner';
106
109
  export * from './validation-error-response';
107
110
  export * from './validation-success-response';
108
- export * from './vat-amount';
109
111
  export * from './verification-success-response';
110
112
  export * from './verified-field-schema';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * FactPulse REST API
3
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Total gross amount
14
+ */
15
+ export interface SubmitGrossAmount {
16
+ }
@@ -10,9 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { FactureElectroniqueRestApiSchemasChorusProChorusProCredentials } from './facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials';
13
- import type { TotalGrossAmount } from './total-gross-amount';
14
- import type { TotalNetAmount } from './total-net-amount';
15
- import type { VatAmount } from './vat-amount';
13
+ import type { SubmitGrossAmount } from './submit-gross-amount';
14
+ import type { SubmitNetAmount } from './submit-net-amount';
15
+ import type { SubmitVatAmount } from './submit-vat-amount';
16
16
  /**
17
17
  * Submit an invoice to Chorus Pro.
18
18
  */
@@ -33,9 +33,9 @@ export interface SubmitInvoiceRequest {
33
33
  'structure_id': number;
34
34
  'service_code'?: string | null;
35
35
  'engagement_number'?: string | null;
36
- 'total_net_amount': TotalNetAmount;
37
- 'vat_amount': VatAmount;
38
- 'total_gross_amount': TotalGrossAmount;
36
+ 'total_net_amount': SubmitNetAmount;
37
+ 'vat_amount': SubmitVatAmount;
38
+ 'total_gross_amount': SubmitGrossAmount;
39
39
  'main_attachment_id'?: number | null;
40
40
  'main_attachment_label'?: string | null;
41
41
  'comment'?: string | null;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * FactPulse REST API
3
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Total net amount
14
+ */
15
+ export interface SubmitNetAmount {
16
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * FactPulse REST API
5
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -12,5 +12,5 @@
12
12
  /**
13
13
  * VAT amount
14
14
  */
15
- export interface VatAmount {
15
+ export interface SubmitVatAmount {
16
16
  }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * FactPulse REST API
5
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -13,7 +13,7 @@ import type { CeleryStatus } from './celery-status';
13
13
  /**
14
14
  * Complete description of an async task status. The `status` field indicates the Celery state of the task. When `status=\"SUCCESS\"`, check `result.status` for the business result (\"SUCCESS\" or \"ERROR\").
15
15
  */
16
- export interface TaskStatus {
16
+ export interface AsyncTaskStatus {
17
17
  /**
18
18
  * Unique task identifier
19
19
  */
@@ -7,6 +7,7 @@ export * from './apiprofile';
7
7
  export * from './acknowledgment-status';
8
8
  export * from './allowance-reason-code';
9
9
  export * from './amount-due';
10
+ export * from './async-task-status';
10
11
  export * from './bounding-box-schema';
11
12
  export * from './celery-status';
12
13
  export * from './certificate-info-response';
@@ -84,12 +85,14 @@ export * from './submit-complete-invoice-request';
84
85
  export * from './submit-complete-invoice-response';
85
86
  export * from './submit-flow-request';
86
87
  export * from './submit-flow-response';
88
+ export * from './submit-gross-amount';
87
89
  export * from './submit-invoice-request';
88
90
  export * from './submit-invoice-response';
91
+ export * from './submit-net-amount';
92
+ export * from './submit-vat-amount';
89
93
  export * from './supplementary-attachment';
90
94
  export * from './supplier';
91
95
  export * from './task-response';
92
- export * from './task-status';
93
96
  export * from './taxable-amount';
94
97
  export * from './total-gross-amount';
95
98
  export * from './total-net-amount';
@@ -105,6 +108,5 @@ export * from './validation-error-detail';
105
108
  export * from './validation-error-loc-inner';
106
109
  export * from './validation-error-response';
107
110
  export * from './validation-success-response';
108
- export * from './vat-amount';
109
111
  export * from './verification-success-response';
110
112
  export * from './verified-field-schema';
@@ -23,6 +23,7 @@ __exportStar(require("./apiprofile"), exports);
23
23
  __exportStar(require("./acknowledgment-status"), exports);
24
24
  __exportStar(require("./allowance-reason-code"), exports);
25
25
  __exportStar(require("./amount-due"), exports);
26
+ __exportStar(require("./async-task-status"), exports);
26
27
  __exportStar(require("./bounding-box-schema"), exports);
27
28
  __exportStar(require("./celery-status"), exports);
28
29
  __exportStar(require("./certificate-info-response"), exports);
@@ -100,12 +101,14 @@ __exportStar(require("./submit-complete-invoice-request"), exports);
100
101
  __exportStar(require("./submit-complete-invoice-response"), exports);
101
102
  __exportStar(require("./submit-flow-request"), exports);
102
103
  __exportStar(require("./submit-flow-response"), exports);
104
+ __exportStar(require("./submit-gross-amount"), exports);
103
105
  __exportStar(require("./submit-invoice-request"), exports);
104
106
  __exportStar(require("./submit-invoice-response"), exports);
107
+ __exportStar(require("./submit-net-amount"), exports);
108
+ __exportStar(require("./submit-vat-amount"), exports);
105
109
  __exportStar(require("./supplementary-attachment"), exports);
106
110
  __exportStar(require("./supplier"), exports);
107
111
  __exportStar(require("./task-response"), exports);
108
- __exportStar(require("./task-status"), exports);
109
112
  __exportStar(require("./taxable-amount"), exports);
110
113
  __exportStar(require("./total-gross-amount"), exports);
111
114
  __exportStar(require("./total-net-amount"), exports);
@@ -121,6 +124,5 @@ __exportStar(require("./validation-error-detail"), exports);
121
124
  __exportStar(require("./validation-error-loc-inner"), exports);
122
125
  __exportStar(require("./validation-error-response"), exports);
123
126
  __exportStar(require("./validation-success-response"), exports);
124
- __exportStar(require("./vat-amount"), exports);
125
127
  __exportStar(require("./verification-success-response"), exports);
126
128
  __exportStar(require("./verified-field-schema"), exports);
@@ -0,0 +1,16 @@
1
+ /**
2
+ * FactPulse REST API
3
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Total gross amount
14
+ */
15
+ export interface SubmitGrossAmount {
16
+ }
@@ -10,9 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { FactureElectroniqueRestApiSchemasChorusProChorusProCredentials } from './facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials';
13
- import type { TotalGrossAmount } from './total-gross-amount';
14
- import type { TotalNetAmount } from './total-net-amount';
15
- import type { VatAmount } from './vat-amount';
13
+ import type { SubmitGrossAmount } from './submit-gross-amount';
14
+ import type { SubmitNetAmount } from './submit-net-amount';
15
+ import type { SubmitVatAmount } from './submit-vat-amount';
16
16
  /**
17
17
  * Submit an invoice to Chorus Pro.
18
18
  */
@@ -33,9 +33,9 @@ export interface SubmitInvoiceRequest {
33
33
  'structure_id': number;
34
34
  'service_code'?: string | null;
35
35
  'engagement_number'?: string | null;
36
- 'total_net_amount': TotalNetAmount;
37
- 'vat_amount': VatAmount;
38
- 'total_gross_amount': TotalGrossAmount;
36
+ 'total_net_amount': SubmitNetAmount;
37
+ 'vat_amount': SubmitVatAmount;
38
+ 'total_gross_amount': SubmitGrossAmount;
39
39
  'main_attachment_id'?: number | null;
40
40
  'main_attachment_label'?: string | null;
41
41
  'comment'?: string | null;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * FactPulse REST API
3
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Total net amount
14
+ */
15
+ export interface SubmitNetAmount {
16
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * FactPulse REST API
6
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -12,5 +12,5 @@
12
12
  /**
13
13
  * VAT amount
14
14
  */
15
- export interface VatAmount {
15
+ export interface SubmitVatAmount {
16
16
  }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * FactPulse REST API
6
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- # TaskStatus
1
+ # AsyncTaskStatus
2
2
 
3
3
  Complete description of an async task status. The `status` field indicates the Celery state of the task. When `status=\"SUCCESS\"`, check `result.status` for the business result (\"SUCCESS\" or \"ERROR\").
4
4
 
@@ -13,9 +13,9 @@ Name | Type | Description | Notes
13
13
  ## Example
14
14
 
15
15
  ```typescript
16
- import { TaskStatus } from '@factpulse/sdk';
16
+ import { AsyncTaskStatus } from '@factpulse/sdk';
17
17
 
18
- const instance: TaskStatus = {
18
+ const instance: AsyncTaskStatus = {
19
19
  taskId,
20
20
  status,
21
21
  result,
@@ -137,7 +137,7 @@ const { status, data } = await apiInstance.generateTestCertificateApiV1Processin
137
137
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
138
138
 
139
139
  # **getTaskStatusApiV1ProcessingTasksTaskIdStatusGet**
140
- > TaskStatus getTaskStatusApiV1ProcessingTasksTaskIdStatusGet()
140
+ > AsyncTaskStatus getTaskStatusApiV1ProcessingTasksTaskIdStatusGet()
141
141
 
142
142
  Retrieves the progress status of an invoice generation task. ## Possible states The `status` field uses the `CeleryStatus` enum with values: - **PENDING, STARTED, SUCCESS, FAILURE, RETRY** See the `CeleryStatus` schema documentation for details. ## Business result When `status=\"SUCCESS\"`, the `result` field contains: - `status`: \"SUCCESS\" or \"ERROR\" (business result) - `content_b64`: Base64 encoded content (if success) - `errorCode`, `errorMessage`, `details`: AFNOR format (if business error) ## Usage Poll this endpoint every 2-3 seconds until `status` is `SUCCESS` or `FAILURE`.
143
143
 
@@ -168,7 +168,7 @@ const { status, data } = await apiInstance.getTaskStatusApiV1ProcessingTasksTask
168
168
 
169
169
  ### Return type
170
170
 
171
- **TaskStatus**
171
+ **AsyncTaskStatus**
172
172
 
173
173
  ### Authorization
174
174
 
@@ -12,7 +12,7 @@ All URIs are relative to *http://localhost*
12
12
  |[**verifyPdfSyncApiV1VerificationVerifyPost_0**](#verifypdfsyncapiv1verificationverifypost_0) | **POST** /api/v1/verification/verify | Verify PDF/XML Factur-X compliance (synchronous)|
13
13
 
14
14
  # **getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet**
15
- > TaskStatus getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet()
15
+ > AsyncTaskStatus getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet()
16
16
 
17
17
  Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
18
18
 
@@ -43,7 +43,7 @@ const { status, data } = await apiInstance.getVerificationStatusApiV1Verificatio
43
43
 
44
44
  ### Return type
45
45
 
46
- **TaskStatus**
46
+ **AsyncTaskStatus**
47
47
 
48
48
  ### Authorization
49
49
 
@@ -64,7 +64,7 @@ const { status, data } = await apiInstance.getVerificationStatusApiV1Verificatio
64
64
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
65
65
 
66
66
  # **getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_0**
67
- > TaskStatus getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_0()
67
+ > AsyncTaskStatus getVerificationStatusApiV1VerificationVerifyAsyncTaskIdStatusGet_0()
68
68
 
69
69
  Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
70
70
 
@@ -95,7 +95,7 @@ const { status, data } = await apiInstance.getVerificationStatusApiV1Verificatio
95
95
 
96
96
  ### Return type
97
97
 
98
- **TaskStatus**
98
+ **AsyncTaskStatus**
99
99
 
100
100
  ### Authorization
101
101
 
@@ -0,0 +1,19 @@
1
+ # SubmitGrossAmount
2
+
3
+ Total gross amount
4
+
5
+ ## Properties
6
+
7
+ Name | Type | Description | Notes
8
+ ------------ | ------------- | ------------- | -------------
9
+
10
+ ## Example
11
+
12
+ ```typescript
13
+ import { SubmitGrossAmount } from '@factpulse/sdk';
14
+
15
+ const instance: SubmitGrossAmount = {
16
+ };
17
+ ```
18
+
19
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -13,9 +13,9 @@ Name | Type | Description | Notes
13
13
  **structure_id** | **number** | Chorus Pro recipient structure ID | [default to undefined]
14
14
  **service_code** | **string** | | [optional] [default to undefined]
15
15
  **engagement_number** | **string** | | [optional] [default to undefined]
16
- **total_net_amount** | [**TotalNetAmount**](TotalNetAmount.md) | | [default to undefined]
17
- **vat_amount** | [**VatAmount**](VatAmount.md) | | [default to undefined]
18
- **total_gross_amount** | [**TotalGrossAmount**](TotalGrossAmount.md) | | [default to undefined]
16
+ **total_net_amount** | [**SubmitNetAmount**](SubmitNetAmount.md) | | [default to undefined]
17
+ **vat_amount** | [**SubmitVatAmount**](SubmitVatAmount.md) | | [default to undefined]
18
+ **total_gross_amount** | [**SubmitGrossAmount**](SubmitGrossAmount.md) | | [default to undefined]
19
19
  **main_attachment_id** | **number** | | [optional] [default to undefined]
20
20
  **main_attachment_label** | **string** | | [optional] [default to undefined]
21
21
  **comment** | **string** | | [optional] [default to undefined]
@@ -0,0 +1,19 @@
1
+ # SubmitNetAmount
2
+
3
+ Total net amount
4
+
5
+ ## Properties
6
+
7
+ Name | Type | Description | Notes
8
+ ------------ | ------------- | ------------- | -------------
9
+
10
+ ## Example
11
+
12
+ ```typescript
13
+ import { SubmitNetAmount } from '@factpulse/sdk';
14
+
15
+ const instance: SubmitNetAmount = {
16
+ };
17
+ ```
18
+
19
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -1,4 +1,4 @@
1
- # VatAmount
1
+ # SubmitVatAmount
2
2
 
3
3
  VAT amount
4
4
 
@@ -10,9 +10,9 @@ Name | Type | Description | Notes
10
10
  ## Example
11
11
 
12
12
  ```typescript
13
- import { VatAmount } from '@factpulse/sdk';
13
+ import { SubmitVatAmount } from '@factpulse/sdk';
14
14
 
15
- const instance: VatAmount = {
15
+ const instance: SubmitVatAmount = {
16
16
  };
17
17
  ```
18
18
 
@@ -20,7 +20,7 @@ import type { CeleryStatus } from './celery-status';
20
20
  /**
21
21
  * Complete description of an async task status. The `status` field indicates the Celery state of the task. When `status=\"SUCCESS\"`, check `result.status` for the business result (\"SUCCESS\" or \"ERROR\").
22
22
  */
23
- export interface TaskStatus {
23
+ export interface AsyncTaskStatus {
24
24
  /**
25
25
  * Unique task identifier
26
26
  */
package/models/index.ts CHANGED
@@ -7,6 +7,7 @@ export * from './apiprofile';
7
7
  export * from './acknowledgment-status';
8
8
  export * from './allowance-reason-code';
9
9
  export * from './amount-due';
10
+ export * from './async-task-status';
10
11
  export * from './bounding-box-schema';
11
12
  export * from './celery-status';
12
13
  export * from './certificate-info-response';
@@ -84,12 +85,14 @@ export * from './submit-complete-invoice-request';
84
85
  export * from './submit-complete-invoice-response';
85
86
  export * from './submit-flow-request';
86
87
  export * from './submit-flow-response';
88
+ export * from './submit-gross-amount';
87
89
  export * from './submit-invoice-request';
88
90
  export * from './submit-invoice-response';
91
+ export * from './submit-net-amount';
92
+ export * from './submit-vat-amount';
89
93
  export * from './supplementary-attachment';
90
94
  export * from './supplier';
91
95
  export * from './task-response';
92
- export * from './task-status';
93
96
  export * from './taxable-amount';
94
97
  export * from './total-gross-amount';
95
98
  export * from './total-net-amount';
@@ -105,6 +108,5 @@ export * from './validation-error-detail';
105
108
  export * from './validation-error-loc-inner';
106
109
  export * from './validation-error-response';
107
110
  export * from './validation-success-response';
108
- export * from './vat-amount';
109
111
  export * from './verification-success-response';
110
112
  export * from './verified-field-schema';
@@ -0,0 +1,22 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * FactPulse REST API
5
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ * Total gross amount
19
+ */
20
+ export interface SubmitGrossAmount {
21
+ }
22
+
@@ -18,13 +18,13 @@
18
18
  import type { FactureElectroniqueRestApiSchemasChorusProChorusProCredentials } from './facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials';
19
19
  // May contain unused imports in some cases
20
20
  // @ts-ignore
21
- import type { TotalGrossAmount } from './total-gross-amount';
21
+ import type { SubmitGrossAmount } from './submit-gross-amount';
22
22
  // May contain unused imports in some cases
23
23
  // @ts-ignore
24
- import type { TotalNetAmount } from './total-net-amount';
24
+ import type { SubmitNetAmount } from './submit-net-amount';
25
25
  // May contain unused imports in some cases
26
26
  // @ts-ignore
27
- import type { VatAmount } from './vat-amount';
27
+ import type { SubmitVatAmount } from './submit-vat-amount';
28
28
 
29
29
  /**
30
30
  * Submit an invoice to Chorus Pro.
@@ -46,9 +46,9 @@ export interface SubmitInvoiceRequest {
46
46
  'structure_id': number;
47
47
  'service_code'?: string | null;
48
48
  'engagement_number'?: string | null;
49
- 'total_net_amount': TotalNetAmount;
50
- 'vat_amount': VatAmount;
51
- 'total_gross_amount': TotalGrossAmount;
49
+ 'total_net_amount': SubmitNetAmount;
50
+ 'vat_amount': SubmitVatAmount;
51
+ 'total_gross_amount': SubmitGrossAmount;
52
52
  'main_attachment_id'?: number | null;
53
53
  'main_attachment_label'?: string | null;
54
54
  'comment'?: string | null;
@@ -0,0 +1,22 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * FactPulse REST API
5
+ * REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }\' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ * Total net amount
19
+ */
20
+ export interface SubmitNetAmount {
21
+ }
22
+
@@ -17,6 +17,6 @@
17
17
  /**
18
18
  * VAT amount
19
19
  */
20
- export interface VatAmount {
20
+ export interface SubmitVatAmount {
21
21
  }
22
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factpulse/sdk",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "OpenAPI client for @factpulse/sdk",
5
5
  "author": "OpenAPI-Generator Contributors",
6
6
  "repository": {