@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.
- package/.openapi-generator/FILES +8 -4
- package/CHANGELOG.md +3 -3
- package/api/invoice-processing-api.ts +4 -4
- package/api/pdfxmlverification-api.ts +6 -6
- package/dist/api/invoice-processing-api.d.ts +4 -4
- package/dist/api/pdfxmlverification-api.d.ts +7 -7
- package/dist/esm/api/invoice-processing-api.d.ts +4 -4
- package/dist/esm/api/pdfxmlverification-api.d.ts +7 -7
- package/dist/esm/models/{task-status.d.ts → async-task-status.d.ts} +1 -1
- package/dist/esm/models/index.d.ts +4 -2
- package/dist/esm/models/index.js +4 -2
- package/dist/esm/models/submit-gross-amount.d.ts +16 -0
- package/dist/esm/models/submit-invoice-request.d.ts +6 -6
- package/dist/esm/models/submit-net-amount.d.ts +16 -0
- package/dist/esm/models/submit-net-amount.js +14 -0
- package/dist/{models/vat-amount.d.ts → esm/models/submit-vat-amount.d.ts} +1 -1
- package/dist/esm/models/submit-vat-amount.js +14 -0
- package/dist/models/{task-status.d.ts → async-task-status.d.ts} +1 -1
- package/dist/models/index.d.ts +4 -2
- package/dist/models/index.js +4 -2
- package/dist/models/submit-gross-amount.d.ts +16 -0
- package/dist/models/submit-invoice-request.d.ts +6 -6
- package/dist/models/submit-net-amount.d.ts +16 -0
- package/dist/models/submit-net-amount.js +15 -0
- package/dist/{esm/models/vat-amount.d.ts → models/submit-vat-amount.d.ts} +1 -1
- package/dist/models/submit-vat-amount.js +15 -0
- package/docs/{TaskStatus.md → AsyncTaskStatus.md} +3 -3
- package/docs/InvoiceProcessingApi.md +2 -2
- package/docs/PDFXMLVerificationApi.md +4 -4
- package/docs/SubmitGrossAmount.md +19 -0
- package/docs/SubmitInvoiceRequest.md +3 -3
- package/docs/SubmitNetAmount.md +19 -0
- package/docs/{VatAmount.md → SubmitVatAmount.md} +3 -3
- package/models/{task-status.ts → async-task-status.ts} +1 -1
- package/models/index.ts +4 -2
- package/models/submit-gross-amount.ts +22 -0
- package/models/submit-invoice-request.ts +6 -6
- package/models/submit-net-amount.ts +22 -0
- package/models/{vat-amount.ts → submit-vat-amount.ts} +1 -1
- package/package.json +1 -1
- /package/dist/esm/models/{task-status.js → async-task-status.js} +0 -0
- /package/dist/esm/models/{vat-amount.js → submit-gross-amount.js} +0 -0
- /package/dist/models/{task-status.js → async-task-status.js} +0 -0
- /package/dist/models/{vat-amount.js → submit-gross-amount.js} +0 -0
package/.openapi-generator/FILES
CHANGED
|
@@ -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.
|
|
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.
|
|
28
|
-
[3.0.
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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
|
|
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';
|
package/dist/esm/models/index.js
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,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 {
|
|
14
|
-
import type {
|
|
15
|
-
import type {
|
|
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':
|
|
37
|
-
'vat_amount':
|
|
38
|
-
'total_gross_amount':
|
|
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 {};
|
|
@@ -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
|
|
16
|
+
export interface AsyncTaskStatus {
|
|
17
17
|
/**
|
|
18
18
|
* Unique task identifier
|
|
19
19
|
*/
|
package/dist/models/index.d.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';
|
package/dist/models/index.js
CHANGED
|
@@ -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 {
|
|
14
|
-
import type {
|
|
15
|
-
import type {
|
|
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':
|
|
37
|
-
'vat_amount':
|
|
38
|
-
'total_gross_amount':
|
|
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 });
|
|
@@ -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
|
-
#
|
|
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 {
|
|
16
|
+
import { AsyncTaskStatus } from '@factpulse/sdk';
|
|
17
17
|
|
|
18
|
-
const instance:
|
|
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
|
-
>
|
|
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
|
-
**
|
|
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
|
-
>
|
|
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
|
-
**
|
|
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
|
-
>
|
|
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
|
-
**
|
|
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** | [**
|
|
17
|
-
**vat_amount** | [**
|
|
18
|
-
**total_gross_amount** | [**
|
|
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
|
-
#
|
|
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 {
|
|
13
|
+
import { SubmitVatAmount } from '@factpulse/sdk';
|
|
14
14
|
|
|
15
|
-
const instance:
|
|
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
|
|
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 {
|
|
21
|
+
import type { SubmitGrossAmount } from './submit-gross-amount';
|
|
22
22
|
// May contain unused imports in some cases
|
|
23
23
|
// @ts-ignore
|
|
24
|
-
import type {
|
|
24
|
+
import type { SubmitNetAmount } from './submit-net-amount';
|
|
25
25
|
// May contain unused imports in some cases
|
|
26
26
|
// @ts-ignore
|
|
27
|
-
import type {
|
|
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':
|
|
50
|
-
'vat_amount':
|
|
51
|
-
'total_gross_amount':
|
|
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
|
+
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|