@factpulse/sdk 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/.openapi-generator/FILES +30 -6
  2. package/.openapi-generator/VERSION +1 -1
  3. package/CHANGELOG.md +5 -9
  4. package/api/cdarcycle-de-vie-api.ts +186 -86
  5. package/api/client-management-api.ts +672 -0
  6. package/api/downloads-api.ts +0 -152
  7. package/api.ts +1 -0
  8. package/dist/api/cdarcycle-de-vie-api.d.ts +93 -50
  9. package/dist/api/cdarcycle-de-vie-api.js +174 -80
  10. package/dist/api/client-management-api.d.ts +309 -0
  11. package/dist/api/client-management-api.js +642 -0
  12. package/dist/api/downloads-api.d.ts +0 -68
  13. package/dist/api/downloads-api.js +0 -145
  14. package/dist/api.d.ts +1 -0
  15. package/dist/api.js +1 -0
  16. package/dist/esm/api/cdarcycle-de-vie-api.d.ts +93 -50
  17. package/dist/esm/api/cdarcycle-de-vie-api.js +174 -80
  18. package/dist/esm/api/client-management-api.d.ts +309 -0
  19. package/dist/esm/api/client-management-api.js +632 -0
  20. package/dist/esm/api/downloads-api.d.ts +0 -68
  21. package/dist/esm/api/downloads-api.js +0 -145
  22. package/dist/esm/api.d.ts +1 -0
  23. package/dist/esm/api.js +1 -0
  24. package/dist/esm/models/allowance-charge.d.ts +2 -2
  25. package/dist/esm/models/amount.d.ts +1 -1
  26. package/dist/esm/models/amount1.d.ts +1 -1
  27. package/dist/esm/models/amount2.d.ts +16 -0
  28. package/dist/esm/models/{body-submit-cdar-xml-api-v1-cdar-submit-xml-post.d.ts → client-activate-response.d.ts} +16 -5
  29. package/dist/esm/models/client-create-request.d.ts +22 -0
  30. package/dist/esm/models/client-create-request.js +14 -0
  31. package/dist/esm/models/client-detail.d.ts +48 -0
  32. package/dist/esm/models/client-detail.js +14 -0
  33. package/dist/esm/models/client-list-response.d.ts +33 -0
  34. package/dist/esm/models/client-list-response.js +14 -0
  35. package/dist/esm/models/client-summary.d.ts +48 -0
  36. package/dist/esm/models/client-summary.js +14 -0
  37. package/dist/esm/models/client-update-request.d.ts +19 -0
  38. package/dist/esm/models/client-update-request.js +14 -0
  39. package/dist/esm/models/encaissee-request.d.ts +39 -0
  40. package/dist/esm/models/encaissee-request.js +14 -0
  41. package/dist/esm/models/facture-electronique-rest-api-schemas-ereporting-invoice-type-code.d.ts +22 -0
  42. package/dist/esm/models/facture-electronique-rest-api-schemas-ereporting-invoice-type-code.js +23 -0
  43. package/dist/esm/models/index.d.ts +14 -3
  44. package/dist/esm/models/index.js +14 -3
  45. package/dist/esm/models/invoice-input.d.ts +2 -2
  46. package/dist/esm/models/invoice-type-code.d.ts +65 -6
  47. package/dist/esm/models/invoice-type-code.js +65 -6
  48. package/dist/esm/models/payment-amount-by-rate.d.ts +2 -2
  49. package/dist/esm/models/pdpconfig-response.d.ts +34 -0
  50. package/dist/esm/models/pdpconfig-response.js +14 -0
  51. package/dist/esm/models/pdpconfig-update-request.d.ts +40 -0
  52. package/dist/esm/models/pdpconfig-update-request.js +14 -0
  53. package/dist/esm/models/refusee-request.d.ts +38 -0
  54. package/dist/esm/models/refusee-request.js +14 -0
  55. package/dist/esm/models/{body-submit-cdar-api-v1-cdar-submit-post.d.ts → secret-status.d.ts} +12 -5
  56. package/dist/esm/models/secret-status.js +14 -0
  57. package/dist/esm/models/simplified-cdarresponse.d.ts +36 -0
  58. package/dist/esm/models/simplified-cdarresponse.js +14 -0
  59. package/dist/esm/models/simplified-invoice-data.d.ts +2 -2
  60. package/dist/esm/models/submit-cdarrequest.d.ts +4 -0
  61. package/dist/esm/models/submit-cdarxmlrequest.d.ts +4 -0
  62. package/dist/esm/src/helpers/client.d.ts +3 -1
  63. package/dist/esm/src/helpers/client.js +28 -7
  64. package/dist/esm/src/helpers/exceptions.d.ts +3 -1
  65. package/dist/esm/src/helpers/exceptions.js +7 -1
  66. package/dist/models/allowance-charge.d.ts +2 -2
  67. package/dist/models/amount.d.ts +1 -1
  68. package/dist/models/amount1.d.ts +1 -1
  69. package/dist/models/amount2.d.ts +16 -0
  70. package/dist/models/{body-submit-cdar-xml-api-v1-cdar-submit-xml-post.d.ts → client-activate-response.d.ts} +16 -5
  71. package/dist/models/client-create-request.d.ts +22 -0
  72. package/dist/models/client-create-request.js +15 -0
  73. package/dist/models/client-detail.d.ts +48 -0
  74. package/dist/models/client-detail.js +15 -0
  75. package/dist/models/client-list-response.d.ts +33 -0
  76. package/dist/models/client-list-response.js +15 -0
  77. package/dist/models/client-summary.d.ts +48 -0
  78. package/dist/models/client-summary.js +15 -0
  79. package/dist/models/client-update-request.d.ts +19 -0
  80. package/dist/models/client-update-request.js +15 -0
  81. package/dist/models/encaissee-request.d.ts +39 -0
  82. package/dist/models/encaissee-request.js +15 -0
  83. package/dist/models/facture-electronique-rest-api-schemas-ereporting-invoice-type-code.d.ts +22 -0
  84. package/dist/models/facture-electronique-rest-api-schemas-ereporting-invoice-type-code.js +26 -0
  85. package/dist/models/index.d.ts +14 -3
  86. package/dist/models/index.js +14 -3
  87. package/dist/models/invoice-input.d.ts +2 -2
  88. package/dist/models/invoice-type-code.d.ts +65 -6
  89. package/dist/models/invoice-type-code.js +65 -6
  90. package/dist/models/payment-amount-by-rate.d.ts +2 -2
  91. package/dist/models/pdpconfig-response.d.ts +34 -0
  92. package/dist/models/pdpconfig-response.js +15 -0
  93. package/dist/models/pdpconfig-update-request.d.ts +40 -0
  94. package/dist/models/pdpconfig-update-request.js +15 -0
  95. package/dist/models/refusee-request.d.ts +38 -0
  96. package/dist/models/refusee-request.js +15 -0
  97. package/dist/models/{body-submit-cdar-api-v1-cdar-submit-post.d.ts → secret-status.d.ts} +12 -5
  98. package/dist/models/secret-status.js +15 -0
  99. package/dist/models/simplified-cdarresponse.d.ts +36 -0
  100. package/dist/models/simplified-cdarresponse.js +15 -0
  101. package/dist/models/simplified-invoice-data.d.ts +2 -2
  102. package/dist/models/submit-cdarrequest.d.ts +4 -0
  103. package/dist/models/submit-cdarxmlrequest.d.ts +4 -0
  104. package/dist/src/helpers/client.d.ts +3 -1
  105. package/dist/src/helpers/client.js +61 -7
  106. package/dist/src/helpers/exceptions.d.ts +3 -1
  107. package/dist/src/helpers/exceptions.js +7 -1
  108. package/docs/AllowanceCharge.md +1 -1
  109. package/docs/Amount.md +1 -1
  110. package/docs/Amount1.md +1 -1
  111. package/docs/Amount2.md +19 -0
  112. package/docs/CDARCycleDeVieApi.md +126 -30
  113. package/docs/ClientActivateResponse.md +25 -0
  114. package/docs/ClientCreateRequest.md +25 -0
  115. package/docs/ClientDetail.md +41 -0
  116. package/docs/ClientListResponse.md +27 -0
  117. package/docs/ClientManagementApi.md +483 -0
  118. package/docs/ClientSummary.md +41 -0
  119. package/docs/ClientUpdateRequest.md +25 -0
  120. package/docs/DownloadsApi.md +0 -115
  121. package/docs/EncaisseeRequest.md +39 -0
  122. package/docs/FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.md +17 -0
  123. package/docs/InvoiceInput.md +1 -1
  124. package/docs/InvoiceTypeCode.md +28 -6
  125. package/docs/PDPConfigResponse.md +47 -0
  126. package/docs/PDPConfigUpdateRequest.md +31 -0
  127. package/docs/PaymentAmountByRate.md +1 -1
  128. package/docs/RefuseeRequest.md +39 -0
  129. package/docs/SecretStatus.md +23 -0
  130. package/docs/SimplifiedCDARResponse.md +29 -0
  131. package/docs/SimplifiedInvoiceData.md +1 -1
  132. package/docs/SubmitCDARRequest.md +8 -0
  133. package/docs/SubmitCDARXMLRequest.md +8 -0
  134. package/models/allowance-charge.ts +2 -2
  135. package/models/amount.ts +1 -1
  136. package/models/amount1.ts +1 -1
  137. package/models/amount2.ts +22 -0
  138. package/models/client-activate-response.ts +34 -0
  139. package/models/client-create-request.ts +28 -0
  140. package/models/client-detail.ts +54 -0
  141. package/models/{body-submit-cdar-api-v1-cdar-submit-post.ts → client-list-response.ts} +21 -7
  142. package/models/client-summary.ts +54 -0
  143. package/models/client-update-request.ts +25 -0
  144. package/models/encaissee-request.ts +47 -0
  145. package/models/{body-submit-cdar-xml-api-v1-cdar-submit-xml-post.ts → facture-electronique-rest-api-schemas-ereporting-invoice-type-code.ts} +16 -11
  146. package/models/index.ts +14 -3
  147. package/models/invoice-input.ts +2 -2
  148. package/models/invoice-type-code.ts +65 -6
  149. package/models/payment-amount-by-rate.ts +2 -2
  150. package/models/pdpconfig-response.ts +42 -0
  151. package/models/pdpconfig-update-request.ts +46 -0
  152. package/models/refusee-request.ts +44 -0
  153. package/models/secret-status.ts +30 -0
  154. package/models/simplified-cdarresponse.ts +42 -0
  155. package/models/simplified-invoice-data.ts +2 -2
  156. package/models/submit-cdarrequest.ts +4 -0
  157. package/models/submit-cdarxmlrequest.ts +4 -0
  158. package/package.json +1 -1
  159. package/src/helpers/client.ts +24 -6
  160. package/src/helpers/exceptions.ts +9 -1
  161. package/dist/esm/models/facture-electronique-models-invoice-type-code.d.ts +0 -81
  162. package/dist/esm/models/facture-electronique-models-invoice-type-code.js +0 -82
  163. package/dist/models/facture-electronique-models-invoice-type-code.d.ts +0 -81
  164. package/dist/models/facture-electronique-models-invoice-type-code.js +0 -85
  165. package/docs/BodySubmitCdarApiV1CdarSubmitPost.md +0 -22
  166. package/docs/BodySubmitCdarXmlApiV1CdarSubmitXmlPost.md +0 -22
  167. package/docs/FactureElectroniqueModelsInvoiceTypeCode.md +0 -39
  168. package/models/facture-electronique-models-invoice-type-code.ts +0 -91
  169. /package/dist/esm/models/{body-submit-cdar-api-v1-cdar-submit-post.js → amount2.js} +0 -0
  170. /package/dist/esm/models/{body-submit-cdar-xml-api-v1-cdar-submit-xml-post.js → client-activate-response.js} +0 -0
  171. /package/dist/models/{body-submit-cdar-api-v1-cdar-submit-post.js → amount2.js} +0 -0
  172. /package/dist/models/{body-submit-cdar-xml-api-v1-cdar-submit-xml-post.js → client-activate-response.js} +0 -0
@@ -24,14 +24,6 @@ export declare const DownloadsApiAxiosParamCreator: (configuration?: Configurati
24
24
  * @throws {RequiredError}
25
25
  */
26
26
  checkFileApiV1DownloadDownloadIdHead: (downloadId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
27
- /**
28
- * Check if a temporary file exists and get its metadata without downloading. Useful for: - Verifying a download URL is still valid - Getting file size before downloading - Checking expiration time **Security**: Requires authentication, only file owner can check.
29
- * @summary Check if a file exists
30
- * @param {string} downloadId
31
- * @param {*} [options] Override http request option.
32
- * @throws {RequiredError}
33
- */
34
- checkFileApiV1DownloadDownloadIdHead_1: (downloadId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
35
27
  /**
36
28
  * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
37
29
  * @summary Download a temporary file
@@ -41,15 +33,6 @@ export declare const DownloadsApiAxiosParamCreator: (configuration?: Configurati
41
33
  * @throws {RequiredError}
42
34
  */
43
35
  downloadFileApiV1DownloadDownloadIdGet: (downloadId: string, deleteAfter?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
44
- /**
45
- * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
46
- * @summary Download a temporary file
47
- * @param {string} downloadId
48
- * @param {boolean} [deleteAfter] If true, delete the file after download (one-time download)
49
- * @param {*} [options] Override http request option.
50
- * @throws {RequiredError}
51
- */
52
- downloadFileApiV1DownloadDownloadIdGet_2: (downloadId: string, deleteAfter?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
53
36
  };
54
37
  /**
55
38
  * DownloadsApi - functional programming interface
@@ -63,14 +46,6 @@ export declare const DownloadsApiFp: (configuration?: Configuration) => {
63
46
  * @throws {RequiredError}
64
47
  */
65
48
  checkFileApiV1DownloadDownloadIdHead(downloadId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>>;
66
- /**
67
- * Check if a temporary file exists and get its metadata without downloading. Useful for: - Verifying a download URL is still valid - Getting file size before downloading - Checking expiration time **Security**: Requires authentication, only file owner can check.
68
- * @summary Check if a file exists
69
- * @param {string} downloadId
70
- * @param {*} [options] Override http request option.
71
- * @throws {RequiredError}
72
- */
73
- checkFileApiV1DownloadDownloadIdHead_1(downloadId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>>;
74
49
  /**
75
50
  * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
76
51
  * @summary Download a temporary file
@@ -80,15 +55,6 @@ export declare const DownloadsApiFp: (configuration?: Configuration) => {
80
55
  * @throws {RequiredError}
81
56
  */
82
57
  downloadFileApiV1DownloadDownloadIdGet(downloadId: string, deleteAfter?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>>;
83
- /**
84
- * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
85
- * @summary Download a temporary file
86
- * @param {string} downloadId
87
- * @param {boolean} [deleteAfter] If true, delete the file after download (one-time download)
88
- * @param {*} [options] Override http request option.
89
- * @throws {RequiredError}
90
- */
91
- downloadFileApiV1DownloadDownloadIdGet_2(downloadId: string, deleteAfter?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>>;
92
58
  };
93
59
  /**
94
60
  * DownloadsApi - factory interface
@@ -102,14 +68,6 @@ export declare const DownloadsApiFactory: (configuration?: Configuration, basePa
102
68
  * @throws {RequiredError}
103
69
  */
104
70
  checkFileApiV1DownloadDownloadIdHead(downloadId: string, options?: RawAxiosRequestConfig): AxiosPromise<any>;
105
- /**
106
- * Check if a temporary file exists and get its metadata without downloading. Useful for: - Verifying a download URL is still valid - Getting file size before downloading - Checking expiration time **Security**: Requires authentication, only file owner can check.
107
- * @summary Check if a file exists
108
- * @param {string} downloadId
109
- * @param {*} [options] Override http request option.
110
- * @throws {RequiredError}
111
- */
112
- checkFileApiV1DownloadDownloadIdHead_1(downloadId: string, options?: RawAxiosRequestConfig): AxiosPromise<any>;
113
71
  /**
114
72
  * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
115
73
  * @summary Download a temporary file
@@ -119,15 +77,6 @@ export declare const DownloadsApiFactory: (configuration?: Configuration, basePa
119
77
  * @throws {RequiredError}
120
78
  */
121
79
  downloadFileApiV1DownloadDownloadIdGet(downloadId: string, deleteAfter?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<any>;
122
- /**
123
- * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
124
- * @summary Download a temporary file
125
- * @param {string} downloadId
126
- * @param {boolean} [deleteAfter] If true, delete the file after download (one-time download)
127
- * @param {*} [options] Override http request option.
128
- * @throws {RequiredError}
129
- */
130
- downloadFileApiV1DownloadDownloadIdGet_2(downloadId: string, deleteAfter?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<any>;
131
80
  };
132
81
  /**
133
82
  * DownloadsApi - object-oriented interface
@@ -141,14 +90,6 @@ export declare class DownloadsApi extends BaseAPI {
141
90
  * @throws {RequiredError}
142
91
  */
143
92
  checkFileApiV1DownloadDownloadIdHead(downloadId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
144
- /**
145
- * Check if a temporary file exists and get its metadata without downloading. Useful for: - Verifying a download URL is still valid - Getting file size before downloading - Checking expiration time **Security**: Requires authentication, only file owner can check.
146
- * @summary Check if a file exists
147
- * @param {string} downloadId
148
- * @param {*} [options] Override http request option.
149
- * @throws {RequiredError}
150
- */
151
- checkFileApiV1DownloadDownloadIdHead_1(downloadId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
152
93
  /**
153
94
  * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
154
95
  * @summary Download a temporary file
@@ -158,13 +99,4 @@ export declare class DownloadsApi extends BaseAPI {
158
99
  * @throws {RequiredError}
159
100
  */
160
101
  downloadFileApiV1DownloadDownloadIdGet(downloadId: string, deleteAfter?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
161
- /**
162
- * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
163
- * @summary Download a temporary file
164
- * @param {string} downloadId
165
- * @param {boolean} [deleteAfter] If true, delete the file after download (one-time download)
166
- * @param {*} [options] Override http request option.
167
- * @throws {RequiredError}
168
- */
169
- downloadFileApiV1DownloadDownloadIdGet_2(downloadId: string, deleteAfter?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
170
102
  }
@@ -64,39 +64,6 @@ export const DownloadsApiAxiosParamCreator = function (configuration) {
64
64
  options: localVarRequestOptions,
65
65
  };
66
66
  }),
67
- /**
68
- * Check if a temporary file exists and get its metadata without downloading. Useful for: - Verifying a download URL is still valid - Getting file size before downloading - Checking expiration time **Security**: Requires authentication, only file owner can check.
69
- * @summary Check if a file exists
70
- * @param {string} downloadId
71
- * @param {*} [options] Override http request option.
72
- * @throws {RequiredError}
73
- */
74
- checkFileApiV1DownloadDownloadIdHead_1: (downloadId_1, ...args_1) => __awaiter(this, [downloadId_1, ...args_1], void 0, function* (downloadId, options = {}) {
75
- // verify required parameter 'downloadId' is not null or undefined
76
- assertParamExists('checkFileApiV1DownloadDownloadIdHead_1', 'downloadId', downloadId);
77
- const localVarPath = `/api/v1/download/{download_id}`
78
- .replace(`{${"download_id"}}`, encodeURIComponent(String(downloadId)));
79
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
80
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
81
- let baseOptions;
82
- if (configuration) {
83
- baseOptions = configuration.baseOptions;
84
- }
85
- const localVarRequestOptions = Object.assign(Object.assign({ method: 'HEAD' }, baseOptions), options);
86
- const localVarHeaderParameter = {};
87
- const localVarQueryParameter = {};
88
- // authentication HTTPBearer required
89
- // http bearer authentication required
90
- yield setBearerAuthToObject(localVarHeaderParameter, configuration);
91
- localVarHeaderParameter['Accept'] = 'application/json';
92
- setSearchParams(localVarUrlObj, localVarQueryParameter);
93
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
94
- localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
95
- return {
96
- url: toPathString(localVarUrlObj),
97
- options: localVarRequestOptions,
98
- };
99
- }),
100
67
  /**
101
68
  * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
102
69
  * @summary Download a temporary file
@@ -134,43 +101,6 @@ export const DownloadsApiAxiosParamCreator = function (configuration) {
134
101
  options: localVarRequestOptions,
135
102
  };
136
103
  }),
137
- /**
138
- * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
139
- * @summary Download a temporary file
140
- * @param {string} downloadId
141
- * @param {boolean} [deleteAfter] If true, delete the file after download (one-time download)
142
- * @param {*} [options] Override http request option.
143
- * @throws {RequiredError}
144
- */
145
- downloadFileApiV1DownloadDownloadIdGet_2: (downloadId_1, deleteAfter_1, ...args_1) => __awaiter(this, [downloadId_1, deleteAfter_1, ...args_1], void 0, function* (downloadId, deleteAfter, options = {}) {
146
- // verify required parameter 'downloadId' is not null or undefined
147
- assertParamExists('downloadFileApiV1DownloadDownloadIdGet_2', 'downloadId', downloadId);
148
- const localVarPath = `/api/v1/download/{download_id}`
149
- .replace(`{${"download_id"}}`, encodeURIComponent(String(downloadId)));
150
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
151
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
152
- let baseOptions;
153
- if (configuration) {
154
- baseOptions = configuration.baseOptions;
155
- }
156
- const localVarRequestOptions = Object.assign(Object.assign({ method: 'GET' }, baseOptions), options);
157
- const localVarHeaderParameter = {};
158
- const localVarQueryParameter = {};
159
- // authentication HTTPBearer required
160
- // http bearer authentication required
161
- yield setBearerAuthToObject(localVarHeaderParameter, configuration);
162
- if (deleteAfter !== undefined) {
163
- localVarQueryParameter['delete_after'] = deleteAfter;
164
- }
165
- localVarHeaderParameter['Accept'] = 'application/json,application/pdf,application/xml,application/octet-stream';
166
- setSearchParams(localVarUrlObj, localVarQueryParameter);
167
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
168
- localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
169
- return {
170
- url: toPathString(localVarUrlObj),
171
- options: localVarRequestOptions,
172
- };
173
- }),
174
104
  };
175
105
  };
176
106
  /**
@@ -195,22 +125,6 @@ export const DownloadsApiFp = function (configuration) {
195
125
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
196
126
  });
197
127
  },
198
- /**
199
- * Check if a temporary file exists and get its metadata without downloading. Useful for: - Verifying a download URL is still valid - Getting file size before downloading - Checking expiration time **Security**: Requires authentication, only file owner can check.
200
- * @summary Check if a file exists
201
- * @param {string} downloadId
202
- * @param {*} [options] Override http request option.
203
- * @throws {RequiredError}
204
- */
205
- checkFileApiV1DownloadDownloadIdHead_1(downloadId, options) {
206
- return __awaiter(this, void 0, void 0, function* () {
207
- var _a, _b, _c;
208
- const localVarAxiosArgs = yield localVarAxiosParamCreator.checkFileApiV1DownloadDownloadIdHead_1(downloadId, options);
209
- const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
210
- const localVarOperationServerBasePath = (_c = (_b = operationServerMap['DownloadsApi.checkFileApiV1DownloadDownloadIdHead_1']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
211
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
212
- });
213
- },
214
128
  /**
215
129
  * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
216
130
  * @summary Download a temporary file
@@ -228,23 +142,6 @@ export const DownloadsApiFp = function (configuration) {
228
142
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
229
143
  });
230
144
  },
231
- /**
232
- * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
233
- * @summary Download a temporary file
234
- * @param {string} downloadId
235
- * @param {boolean} [deleteAfter] If true, delete the file after download (one-time download)
236
- * @param {*} [options] Override http request option.
237
- * @throws {RequiredError}
238
- */
239
- downloadFileApiV1DownloadDownloadIdGet_2(downloadId, deleteAfter, options) {
240
- return __awaiter(this, void 0, void 0, function* () {
241
- var _a, _b, _c;
242
- const localVarAxiosArgs = yield localVarAxiosParamCreator.downloadFileApiV1DownloadDownloadIdGet_2(downloadId, deleteAfter, options);
243
- const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
244
- const localVarOperationServerBasePath = (_c = (_b = operationServerMap['DownloadsApi.downloadFileApiV1DownloadDownloadIdGet_2']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
245
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
246
- });
247
- },
248
145
  };
249
146
  };
250
147
  /**
@@ -263,16 +160,6 @@ export const DownloadsApiFactory = function (configuration, basePath, axios) {
263
160
  checkFileApiV1DownloadDownloadIdHead(downloadId, options) {
264
161
  return localVarFp.checkFileApiV1DownloadDownloadIdHead(downloadId, options).then((request) => request(axios, basePath));
265
162
  },
266
- /**
267
- * Check if a temporary file exists and get its metadata without downloading. Useful for: - Verifying a download URL is still valid - Getting file size before downloading - Checking expiration time **Security**: Requires authentication, only file owner can check.
268
- * @summary Check if a file exists
269
- * @param {string} downloadId
270
- * @param {*} [options] Override http request option.
271
- * @throws {RequiredError}
272
- */
273
- checkFileApiV1DownloadDownloadIdHead_1(downloadId, options) {
274
- return localVarFp.checkFileApiV1DownloadDownloadIdHead_1(downloadId, options).then((request) => request(axios, basePath));
275
- },
276
163
  /**
277
164
  * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
278
165
  * @summary Download a temporary file
@@ -284,17 +171,6 @@ export const DownloadsApiFactory = function (configuration, basePath, axios) {
284
171
  downloadFileApiV1DownloadDownloadIdGet(downloadId, deleteAfter, options) {
285
172
  return localVarFp.downloadFileApiV1DownloadDownloadIdGet(downloadId, deleteAfter, options).then((request) => request(axios, basePath));
286
173
  },
287
- /**
288
- * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
289
- * @summary Download a temporary file
290
- * @param {string} downloadId
291
- * @param {boolean} [deleteAfter] If true, delete the file after download (one-time download)
292
- * @param {*} [options] Override http request option.
293
- * @throws {RequiredError}
294
- */
295
- downloadFileApiV1DownloadDownloadIdGet_2(downloadId, deleteAfter, options) {
296
- return localVarFp.downloadFileApiV1DownloadDownloadIdGet_2(downloadId, deleteAfter, options).then((request) => request(axios, basePath));
297
- },
298
174
  };
299
175
  };
300
176
  /**
@@ -311,16 +187,6 @@ export class DownloadsApi extends BaseAPI {
311
187
  checkFileApiV1DownloadDownloadIdHead(downloadId, options) {
312
188
  return DownloadsApiFp(this.configuration).checkFileApiV1DownloadDownloadIdHead(downloadId, options).then((request) => request(this.axios, this.basePath));
313
189
  }
314
- /**
315
- * Check if a temporary file exists and get its metadata without downloading. Useful for: - Verifying a download URL is still valid - Getting file size before downloading - Checking expiration time **Security**: Requires authentication, only file owner can check.
316
- * @summary Check if a file exists
317
- * @param {string} downloadId
318
- * @param {*} [options] Override http request option.
319
- * @throws {RequiredError}
320
- */
321
- checkFileApiV1DownloadDownloadIdHead_1(downloadId, options) {
322
- return DownloadsApiFp(this.configuration).checkFileApiV1DownloadDownloadIdHead_1(downloadId, options).then((request) => request(this.axios, this.basePath));
323
- }
324
190
  /**
325
191
  * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
326
192
  * @summary Download a temporary file
@@ -332,15 +198,4 @@ export class DownloadsApi extends BaseAPI {
332
198
  downloadFileApiV1DownloadDownloadIdGet(downloadId, deleteAfter, options) {
333
199
  return DownloadsApiFp(this.configuration).downloadFileApiV1DownloadDownloadIdGet(downloadId, deleteAfter, options).then((request) => request(this.axios, this.basePath));
334
200
  }
335
- /**
336
- * Download a file stored temporarily after asynchronous processing. **Usage**: - This URL is provided in webhook notifications when using `webhook_mode: \"download_url\"` - Files are automatically deleted after 1 hour - Each file can only be downloaded until it expires **Security**: - Requires a valid JWT token - Only the user who initiated the task can download the file
337
- * @summary Download a temporary file
338
- * @param {string} downloadId
339
- * @param {boolean} [deleteAfter] If true, delete the file after download (one-time download)
340
- * @param {*} [options] Override http request option.
341
- * @throws {RequiredError}
342
- */
343
- downloadFileApiV1DownloadDownloadIdGet_2(downloadId, deleteAfter, options) {
344
- return DownloadsApiFp(this.configuration).downloadFileApiV1DownloadDownloadIdGet_2(downloadId, deleteAfter, options).then((request) => request(this.axios, this.basePath));
345
- }
346
201
  }
package/dist/esm/api.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from './api/afnorpdppadirectory-service-api';
14
14
  export * from './api/afnorpdppaflow-service-api';
15
15
  export * from './api/cdarcycle-de-vie-api';
16
16
  export * from './api/chorus-pro-api';
17
+ export * from './api/client-management-api';
17
18
  export * from './api/document-conversion-api';
18
19
  export * from './api/downloads-api';
19
20
  export * from './api/ereporting-api';
package/dist/esm/api.js CHANGED
@@ -16,6 +16,7 @@ export * from './api/afnorpdppadirectory-service-api';
16
16
  export * from './api/afnorpdppaflow-service-api';
17
17
  export * from './api/cdarcycle-de-vie-api';
18
18
  export * from './api/chorus-pro-api';
19
+ export * from './api/client-management-api';
19
20
  export * from './api/document-conversion-api';
20
21
  export * from './api/downloads-api';
21
22
  export * from './api/ereporting-api';
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { AllowanceChargeReasonCode } from './allowance-charge-reason-code';
13
- import type { Amount1 } from './amount1';
13
+ import type { Amount2 } from './amount2';
14
14
  import type { BaseAmount } from './base-amount';
15
15
  import type { Percentage } from './percentage';
16
16
  import type { VATCategory } from './vatcategory';
@@ -23,7 +23,7 @@ export interface AllowanceCharge {
23
23
  * True for charge, False for allowance (ChargeIndicator).
24
24
  */
25
25
  'is_charge': boolean;
26
- 'amount': Amount1;
26
+ 'amount': Amount2;
27
27
  'base_amount'?: BaseAmount | null;
28
28
  'percentage'?: Percentage | null;
29
29
  'reason'?: string | null;
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Payment amount
13
+ * Montant encaissé en EUR (obligatoire, BR-FR-CDV-14)
14
14
  */
15
15
  export interface Amount {
16
16
  }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Allowance/charge amount (BT-92/99/136/141).
13
+ * Payment amount
14
14
  */
15
15
  export interface Amount1 {
16
16
  }
@@ -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://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://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://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://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://factpulse.fr/api/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://factpulse.fr/documentation-api/
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: contact@factpulse.fr
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
+ * Allowance/charge amount (BT-92/99/136/141).
14
+ */
15
+ export interface Amount2 {
16
+ }
@@ -9,9 +9,20 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import type { PDPCredentials } from './pdpcredentials';
13
- import type { SubmitCDARXMLRequest } from './submit-cdarxmlrequest';
14
- export interface BodySubmitCdarXmlApiV1CdarSubmitXmlPost {
15
- 'request': SubmitCDARXMLRequest;
16
- 'pdp_credentials'?: PDPCredentials | null;
12
+ /**
13
+ * Client activation/deactivation response.
14
+ */
15
+ export interface ClientActivateResponse {
16
+ /**
17
+ * Unique client identifier
18
+ */
19
+ 'uid': string;
20
+ /**
21
+ * New status
22
+ */
23
+ 'isActive': boolean;
24
+ /**
25
+ * Confirmation message
26
+ */
27
+ 'message': string;
17
28
  }
@@ -0,0 +1,22 @@
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://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://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://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://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://factpulse.fr/api/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://factpulse.fr/documentation-api/
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: contact@factpulse.fr
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
+ * Client creation request.
14
+ */
15
+ export interface ClientCreateRequest {
16
+ /**
17
+ * Client name
18
+ */
19
+ 'name': string;
20
+ 'description'?: string | null;
21
+ 'siret'?: string | null;
22
+ }
@@ -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://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://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://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://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://factpulse.fr/api/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://factpulse.fr/documentation-api/
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: contact@factpulse.fr
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,48 @@
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://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://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://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://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://factpulse.fr/api/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://factpulse.fr/documentation-api/
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: contact@factpulse.fr
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
+ * Detailed client view (same fields for now).
14
+ */
15
+ export interface ClientDetail {
16
+ /**
17
+ * Unique client identifier
18
+ */
19
+ 'uid': string;
20
+ /**
21
+ * Client name
22
+ */
23
+ 'name': string;
24
+ 'siret'?: string | null;
25
+ 'description'?: string | null;
26
+ /**
27
+ * Whether the client is active
28
+ */
29
+ 'isActive': boolean;
30
+ /**
31
+ * Whether PDP config exists
32
+ */
33
+ 'hasConfigPdp': boolean;
34
+ 'pdpIsActive'?: boolean | null;
35
+ 'pdpIsMock'?: boolean | null;
36
+ /**
37
+ * Whether Chorus Pro config exists
38
+ */
39
+ 'hasConfigChorus': boolean;
40
+ /**
41
+ * Creation date
42
+ */
43
+ 'createdAt': string;
44
+ /**
45
+ * Last update date
46
+ */
47
+ 'updatedAt': string;
48
+ }
@@ -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://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://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://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://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://factpulse.fr/api/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://factpulse.fr/documentation-api/
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: contact@factpulse.fr
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,33 @@
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://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://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://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://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://factpulse.fr/api/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://factpulse.fr/documentation-api/
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: contact@factpulse.fr
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
+ import type { ClientSummary } from './client-summary';
13
+ /**
14
+ * Paginated client list response.
15
+ */
16
+ export interface ClientListResponse {
17
+ /**
18
+ * List of clients
19
+ */
20
+ 'results': Array<ClientSummary>;
21
+ /**
22
+ * Total number of clients
23
+ */
24
+ 'total': number;
25
+ /**
26
+ * Current page
27
+ */
28
+ 'page': number;
29
+ /**
30
+ * Page size
31
+ */
32
+ 'pageSize': number;
33
+ }