@factpulse/sdk 3.0.4 → 3.0.6

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 (365) hide show
  1. package/.openapi-generator/FILES +66 -4
  2. package/.openapi-generator/VERSION +1 -1
  3. package/CHANGELOG.md +3 -3
  4. package/api/document-conversion-api.ts +485 -0
  5. package/api/invoice-processing-api.ts +34 -34
  6. package/api.ts +1 -0
  7. package/dist/api/document-conversion-api.d.ts +226 -0
  8. package/dist/api/document-conversion-api.js +464 -0
  9. package/dist/api/invoice-processing-api.d.ts +33 -33
  10. package/dist/api/invoice-processing-api.js +16 -16
  11. package/dist/api.d.ts +1 -0
  12. package/dist/api.js +1 -0
  13. package/dist/esm/api/document-conversion-api.d.ts +226 -0
  14. package/dist/esm/api/document-conversion-api.js +454 -0
  15. package/dist/esm/api/invoice-processing-api.d.ts +33 -33
  16. package/dist/esm/api/invoice-processing-api.js +16 -16
  17. package/dist/esm/api.d.ts +1 -0
  18. package/dist/esm/api.js +1 -0
  19. package/dist/esm/models/additional-document.d.ts +24 -0
  20. package/dist/esm/models/additional-document.js +14 -0
  21. package/dist/esm/models/allowance-charge.d.ts +31 -0
  22. package/dist/esm/models/allowance-charge.js +14 -0
  23. package/dist/esm/models/{apiprofile.d.ts → allowance-total-amount.d.ts} +3 -8
  24. package/dist/esm/models/allowance-total-amount.js +14 -0
  25. package/dist/esm/models/amount-due.d.ts +1 -1
  26. package/dist/{models/apiprofile.d.ts → esm/models/amount.d.ts} +3 -8
  27. package/dist/esm/models/amount.js +14 -0
  28. package/dist/esm/models/base-amount.d.ts +16 -0
  29. package/dist/esm/models/base-amount.js +14 -0
  30. package/dist/esm/models/charge-total-amount.d.ts +16 -0
  31. package/dist/esm/models/charge-total-amount.js +14 -0
  32. package/dist/esm/models/contact.d.ts +20 -0
  33. package/dist/esm/models/contact.js +14 -0
  34. package/dist/esm/models/convert-error-response.d.ts +27 -0
  35. package/dist/esm/models/convert-error-response.js +14 -0
  36. package/dist/esm/models/convert-pending-input-response.d.ts +31 -0
  37. package/dist/esm/models/convert-pending-input-response.js +14 -0
  38. package/dist/esm/models/convert-resume-request.d.ts +22 -0
  39. package/dist/esm/models/convert-resume-request.js +14 -0
  40. package/dist/esm/models/{document-type.d.ts → convert-success-response.d.ts} +29 -19
  41. package/dist/esm/models/convert-success-response.js +14 -0
  42. package/dist/{models/document-type.d.ts → esm/models/convert-validation-failed-response.d.ts} +25 -20
  43. package/dist/esm/models/convert-validation-failed-response.js +14 -0
  44. package/dist/esm/models/delivery-party.d.ts +22 -0
  45. package/dist/esm/models/delivery-party.js +14 -0
  46. package/dist/esm/models/document-type-info.d.ts +28 -0
  47. package/dist/esm/models/document-type-info.js +14 -0
  48. package/dist/esm/models/extraction-info.d.ts +32 -0
  49. package/dist/esm/models/extraction-info.js +14 -0
  50. package/dist/esm/models/factur-xinvoice.d.ts +19 -0
  51. package/dist/esm/models/factur-xprofile.d.ts +21 -0
  52. package/{models/apiprofile.ts → dist/esm/models/factur-xprofile.js} +5 -14
  53. package/dist/esm/models/facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials.d.ts +4 -4
  54. package/dist/esm/models/file-info.d.ts +21 -0
  55. package/dist/esm/models/file-info.js +14 -0
  56. package/dist/esm/models/files-info.d.ts +19 -0
  57. package/dist/esm/models/files-info.js +14 -0
  58. package/dist/esm/models/generate-certificate-request.d.ts +5 -5
  59. package/dist/esm/models/get-chorus-pro-id-request.d.ts +1 -1
  60. package/dist/esm/models/get-invoice-request.d.ts +1 -1
  61. package/dist/esm/models/get-structure-request.d.ts +2 -2
  62. package/dist/esm/models/global-allowance-amount.d.ts +1 -1
  63. package/dist/esm/models/gross-unit-price.d.ts +16 -0
  64. package/dist/esm/models/gross-unit-price.js +14 -0
  65. package/dist/esm/models/incoming-invoice.d.ts +2 -2
  66. package/dist/esm/models/index.d.ts +32 -2
  67. package/dist/esm/models/index.js +32 -2
  68. package/dist/esm/models/invoice-line-allowance-amount.d.ts +1 -1
  69. package/dist/esm/models/invoice-line.d.ts +40 -6
  70. package/dist/esm/models/invoice-references.d.ts +20 -1
  71. package/dist/esm/models/invoice-totals-prepayment.d.ts +1 -1
  72. package/dist/esm/models/invoice-totals.d.ts +10 -2
  73. package/dist/esm/models/line-net-amount.d.ts +1 -1
  74. package/dist/esm/models/line-total-amount.d.ts +16 -0
  75. package/dist/esm/models/line-total-amount.js +14 -0
  76. package/dist/esm/models/manual-rate.d.ts +1 -1
  77. package/dist/esm/models/manual-vat-rate.d.ts +1 -1
  78. package/dist/esm/models/missing-field.d.ts +34 -0
  79. package/dist/esm/models/missing-field.js +14 -0
  80. package/dist/esm/models/payee.d.ts +2 -0
  81. package/dist/esm/models/payment-card.d.ts +18 -0
  82. package/dist/esm/models/payment-card.js +14 -0
  83. package/dist/esm/models/pdpcredentials.d.ts +5 -5
  84. package/dist/esm/models/percentage.d.ts +16 -0
  85. package/dist/esm/models/percentage.js +14 -0
  86. package/dist/esm/models/postal-address.d.ts +3 -1
  87. package/dist/esm/models/price-allowance-amount.d.ts +16 -0
  88. package/dist/esm/models/price-allowance-amount.js +14 -0
  89. package/dist/esm/models/price-basis-quantity.d.ts +16 -0
  90. package/dist/esm/models/price-basis-quantity.js +14 -0
  91. package/dist/esm/models/processing-options.d.ts +3 -3
  92. package/dist/esm/models/product-characteristic.d.ts +24 -0
  93. package/dist/esm/models/product-characteristic.js +14 -0
  94. package/dist/esm/models/product-classification.d.ts +22 -0
  95. package/dist/esm/models/product-classification.js +14 -0
  96. package/dist/esm/models/quantity.d.ts +1 -1
  97. package/dist/esm/models/recipient.d.ts +5 -1
  98. package/dist/esm/models/rounding-amount.d.ts +16 -0
  99. package/dist/esm/models/rounding-amount.js +14 -0
  100. package/dist/esm/models/scheme-id.d.ts +11 -5
  101. package/dist/esm/models/scheme-id.js +11 -5
  102. package/dist/esm/models/search-flow-request.d.ts +7 -7
  103. package/dist/esm/models/search-structure-request.d.ts +4 -4
  104. package/dist/esm/models/submit-flow-request.d.ts +6 -6
  105. package/dist/esm/models/submit-invoice-request.d.ts +13 -13
  106. package/dist/esm/models/supplier.d.ts +10 -1
  107. package/dist/esm/models/tax-representative.d.ts +29 -0
  108. package/dist/esm/models/tax-representative.js +14 -0
  109. package/dist/esm/models/taxable-amount.d.ts +1 -1
  110. package/dist/esm/models/total-gross-amount.d.ts +1 -1
  111. package/dist/esm/models/total-net-amount.d.ts +1 -1
  112. package/dist/esm/models/total-vatamount.d.ts +1 -1
  113. package/dist/esm/models/unit-net-price.d.ts +1 -1
  114. package/dist/esm/models/validation-info.d.ts +38 -0
  115. package/dist/esm/models/validation-info.js +14 -0
  116. package/dist/esm/models/vat-rate.d.ts +16 -0
  117. package/dist/esm/models/vat-rate.js +14 -0
  118. package/dist/esm/models/vatamount.d.ts +1 -1
  119. package/dist/esm/models/vatline.d.ts +3 -1
  120. package/dist/esm/models/vatpoint-date-code.d.ts +20 -0
  121. package/dist/esm/models/{apiprofile.js → vatpoint-date-code.js} +5 -6
  122. package/dist/models/additional-document.d.ts +24 -0
  123. package/dist/models/{apiprofile.js → additional-document.js} +0 -10
  124. package/dist/models/allowance-charge.d.ts +31 -0
  125. package/dist/models/allowance-charge.js +15 -0
  126. package/dist/models/allowance-total-amount.d.ts +16 -0
  127. package/dist/models/allowance-total-amount.js +15 -0
  128. package/dist/models/amount-due.d.ts +1 -1
  129. package/dist/models/amount.d.ts +16 -0
  130. package/dist/models/amount.js +15 -0
  131. package/dist/models/base-amount.d.ts +16 -0
  132. package/dist/models/base-amount.js +15 -0
  133. package/dist/models/charge-total-amount.d.ts +16 -0
  134. package/dist/models/charge-total-amount.js +15 -0
  135. package/dist/models/contact.d.ts +20 -0
  136. package/dist/models/contact.js +15 -0
  137. package/dist/models/convert-error-response.d.ts +27 -0
  138. package/dist/models/convert-error-response.js +15 -0
  139. package/dist/models/convert-pending-input-response.d.ts +31 -0
  140. package/dist/models/convert-pending-input-response.js +15 -0
  141. package/dist/models/convert-resume-request.d.ts +22 -0
  142. package/dist/models/convert-resume-request.js +15 -0
  143. package/dist/models/convert-success-response.d.ts +47 -0
  144. package/dist/models/convert-success-response.js +15 -0
  145. package/dist/models/{document-type.js → convert-validation-failed-response.d.ts} +25 -24
  146. package/dist/models/convert-validation-failed-response.js +15 -0
  147. package/dist/models/delivery-party.d.ts +22 -0
  148. package/dist/models/delivery-party.js +15 -0
  149. package/dist/models/document-type-info.d.ts +28 -0
  150. package/dist/models/document-type-info.js +15 -0
  151. package/dist/models/extraction-info.d.ts +32 -0
  152. package/dist/models/extraction-info.js +15 -0
  153. package/dist/models/factur-xinvoice.d.ts +19 -0
  154. package/dist/models/factur-xprofile.d.ts +21 -0
  155. package/dist/models/factur-xprofile.js +25 -0
  156. package/dist/models/facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials.d.ts +4 -4
  157. package/dist/models/file-info.d.ts +21 -0
  158. package/dist/models/file-info.js +15 -0
  159. package/dist/models/files-info.d.ts +19 -0
  160. package/dist/models/files-info.js +15 -0
  161. package/dist/models/generate-certificate-request.d.ts +5 -5
  162. package/dist/models/get-chorus-pro-id-request.d.ts +1 -1
  163. package/dist/models/get-invoice-request.d.ts +1 -1
  164. package/dist/models/get-structure-request.d.ts +2 -2
  165. package/dist/models/global-allowance-amount.d.ts +1 -1
  166. package/dist/models/gross-unit-price.d.ts +16 -0
  167. package/dist/models/gross-unit-price.js +15 -0
  168. package/dist/models/incoming-invoice.d.ts +2 -2
  169. package/dist/models/index.d.ts +32 -2
  170. package/dist/models/index.js +32 -2
  171. package/dist/models/invoice-line-allowance-amount.d.ts +1 -1
  172. package/dist/models/invoice-line.d.ts +40 -6
  173. package/dist/models/invoice-references.d.ts +20 -1
  174. package/dist/models/invoice-totals-prepayment.d.ts +1 -1
  175. package/dist/models/invoice-totals.d.ts +10 -2
  176. package/dist/models/line-net-amount.d.ts +1 -1
  177. package/dist/models/line-total-amount.d.ts +16 -0
  178. package/dist/models/line-total-amount.js +15 -0
  179. package/dist/models/manual-rate.d.ts +1 -1
  180. package/dist/models/manual-vat-rate.d.ts +1 -1
  181. package/dist/models/missing-field.d.ts +34 -0
  182. package/dist/models/missing-field.js +15 -0
  183. package/dist/models/payee.d.ts +2 -0
  184. package/dist/models/payment-card.d.ts +18 -0
  185. package/dist/models/payment-card.js +15 -0
  186. package/dist/models/pdpcredentials.d.ts +5 -5
  187. package/dist/models/percentage.d.ts +16 -0
  188. package/dist/models/percentage.js +15 -0
  189. package/dist/models/postal-address.d.ts +3 -1
  190. package/dist/models/price-allowance-amount.d.ts +16 -0
  191. package/dist/models/price-allowance-amount.js +15 -0
  192. package/dist/models/price-basis-quantity.d.ts +16 -0
  193. package/dist/models/price-basis-quantity.js +15 -0
  194. package/dist/models/processing-options.d.ts +3 -3
  195. package/dist/models/product-characteristic.d.ts +24 -0
  196. package/dist/models/product-characteristic.js +15 -0
  197. package/dist/models/product-classification.d.ts +22 -0
  198. package/dist/models/product-classification.js +15 -0
  199. package/dist/models/quantity.d.ts +1 -1
  200. package/dist/models/recipient.d.ts +5 -1
  201. package/dist/models/rounding-amount.d.ts +16 -0
  202. package/dist/models/rounding-amount.js +15 -0
  203. package/dist/models/scheme-id.d.ts +11 -5
  204. package/dist/models/scheme-id.js +11 -5
  205. package/dist/models/search-flow-request.d.ts +7 -7
  206. package/dist/models/search-structure-request.d.ts +4 -4
  207. package/dist/models/submit-flow-request.d.ts +6 -6
  208. package/dist/models/submit-invoice-request.d.ts +13 -13
  209. package/dist/models/supplier.d.ts +10 -1
  210. package/dist/models/tax-representative.d.ts +29 -0
  211. package/dist/models/tax-representative.js +15 -0
  212. package/dist/models/taxable-amount.d.ts +1 -1
  213. package/dist/models/total-gross-amount.d.ts +1 -1
  214. package/dist/models/total-net-amount.d.ts +1 -1
  215. package/dist/models/total-vatamount.d.ts +1 -1
  216. package/dist/models/unit-net-price.d.ts +1 -1
  217. package/dist/models/validation-info.d.ts +38 -0
  218. package/dist/models/validation-info.js +15 -0
  219. package/dist/models/vat-rate.d.ts +16 -0
  220. package/dist/models/vat-rate.js +15 -0
  221. package/dist/models/vatamount.d.ts +1 -1
  222. package/dist/models/vatline.d.ts +3 -1
  223. package/dist/models/vatpoint-date-code.d.ts +20 -0
  224. package/dist/models/vatpoint-date-code.js +24 -0
  225. package/docs/AdditionalDocument.md +29 -0
  226. package/docs/AllowanceCharge.md +35 -0
  227. package/docs/AllowanceTotalAmount.md +19 -0
  228. package/docs/Amount.md +19 -0
  229. package/docs/AmountDue.md +1 -1
  230. package/docs/BaseAmount.md +19 -0
  231. package/docs/ChargeTotalAmount.md +19 -0
  232. package/docs/Contact.md +27 -0
  233. package/docs/ConvertErrorResponse.md +29 -0
  234. package/docs/ConvertPendingInputResponse.md +35 -0
  235. package/docs/ConvertResumeRequest.md +21 -0
  236. package/docs/ConvertSuccessResponse.md +39 -0
  237. package/docs/ConvertValidationFailedResponse.md +37 -0
  238. package/docs/DeliveryParty.md +27 -0
  239. package/docs/DocumentConversionApi.md +297 -0
  240. package/docs/DocumentTypeInfo.md +25 -0
  241. package/docs/ExtractionInfo.md +27 -0
  242. package/docs/FacturXInvoice.md +28 -0
  243. package/docs/{APIProfile.md → FacturXProfile.md} +2 -2
  244. package/docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md +8 -8
  245. package/docs/FileInfo.md +23 -0
  246. package/docs/FilesInfo.md +23 -0
  247. package/docs/GenerateCertificateRequest.md +10 -10
  248. package/docs/GetChorusProIdRequest.md +2 -2
  249. package/docs/GetInvoiceRequest.md +2 -2
  250. package/docs/GetStructureRequest.md +4 -4
  251. package/docs/GlobalAllowanceAmount.md +1 -1
  252. package/docs/GrossUnitPrice.md +19 -0
  253. package/docs/IncomingInvoice.md +1 -1
  254. package/docs/InvoiceLine.md +48 -14
  255. package/docs/InvoiceLineAllowanceAmount.md +1 -1
  256. package/docs/InvoiceProcessingApi.md +8 -8
  257. package/docs/InvoiceReferences.md +25 -5
  258. package/docs/InvoiceTotals.md +11 -3
  259. package/docs/InvoiceTotalsPrepayment.md +1 -1
  260. package/docs/LineNetAmount.md +1 -1
  261. package/docs/LineTotalAmount.md +19 -0
  262. package/docs/ManualRate.md +1 -1
  263. package/docs/ManualVatRate.md +1 -1
  264. package/docs/MissingField.md +31 -0
  265. package/docs/PDPCredentials.md +10 -10
  266. package/docs/Payee.md +4 -0
  267. package/docs/PaymentCard.md +23 -0
  268. package/docs/Percentage.md +19 -0
  269. package/docs/PostalAddress.md +5 -1
  270. package/docs/PriceAllowanceAmount.md +19 -0
  271. package/docs/PriceBasisQuantity.md +19 -0
  272. package/docs/ProcessingOptions.md +3 -3
  273. package/docs/ProductCharacteristic.md +23 -0
  274. package/docs/ProductClassification.md +25 -0
  275. package/docs/Quantity.md +1 -1
  276. package/docs/Recipient.md +7 -1
  277. package/docs/RoundingAmount.md +19 -0
  278. package/docs/SchemeID.md +17 -5
  279. package/docs/SearchFlowRequest.md +14 -14
  280. package/docs/SearchStructureRequest.md +8 -8
  281. package/docs/SubmitFlowRequest.md +12 -12
  282. package/docs/SubmitInvoiceRequest.md +26 -26
  283. package/docs/Supplier.md +17 -1
  284. package/docs/TaxRepresentative.md +25 -0
  285. package/docs/TaxableAmount.md +1 -1
  286. package/docs/TotalGrossAmount.md +1 -1
  287. package/docs/TotalNetAmount.md +1 -1
  288. package/docs/TotalVATAmount.md +1 -1
  289. package/docs/UnitNetPrice.md +1 -1
  290. package/docs/VATAmount.md +1 -1
  291. package/docs/VATLine.md +3 -1
  292. package/docs/VATPointDateCode.md +13 -0
  293. package/docs/ValidationInfo.md +31 -0
  294. package/docs/VatRate.md +19 -0
  295. package/models/additional-document.ts +30 -0
  296. package/models/{document-type.ts → allowance-charge.ts} +25 -27
  297. package/models/allowance-total-amount.ts +22 -0
  298. package/models/amount-due.ts +1 -1
  299. package/models/amount.ts +22 -0
  300. package/models/base-amount.ts +22 -0
  301. package/models/charge-total-amount.ts +22 -0
  302. package/models/contact.ts +26 -0
  303. package/models/convert-error-response.ts +33 -0
  304. package/models/convert-pending-input-response.ts +39 -0
  305. package/models/convert-resume-request.ts +26 -0
  306. package/models/convert-success-response.ts +59 -0
  307. package/models/convert-validation-failed-response.ts +52 -0
  308. package/models/delivery-party.ts +32 -0
  309. package/models/document-type-info.ts +34 -0
  310. package/models/extraction-info.ts +38 -0
  311. package/models/factur-xinvoice.ts +29 -0
  312. package/models/factur-xprofile.ts +31 -0
  313. package/models/facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials.ts +4 -4
  314. package/models/file-info.ts +27 -0
  315. package/models/files-info.ts +27 -0
  316. package/models/generate-certificate-request.ts +5 -5
  317. package/models/get-chorus-pro-id-request.ts +1 -1
  318. package/models/get-invoice-request.ts +1 -1
  319. package/models/get-structure-request.ts +2 -2
  320. package/models/global-allowance-amount.ts +1 -1
  321. package/models/gross-unit-price.ts +22 -0
  322. package/models/incoming-invoice.ts +4 -4
  323. package/models/index.ts +32 -2
  324. package/models/invoice-line-allowance-amount.ts +1 -1
  325. package/models/invoice-line.ts +56 -6
  326. package/models/invoice-references.ts +20 -1
  327. package/models/invoice-totals-prepayment.ts +1 -1
  328. package/models/invoice-totals.ts +18 -2
  329. package/models/line-net-amount.ts +1 -1
  330. package/models/line-total-amount.ts +22 -0
  331. package/models/manual-rate.ts +1 -1
  332. package/models/manual-vat-rate.ts +1 -1
  333. package/models/missing-field.ts +40 -0
  334. package/models/payee.ts +2 -0
  335. package/models/payment-card.ts +24 -0
  336. package/models/pdpcredentials.ts +5 -5
  337. package/models/percentage.ts +22 -0
  338. package/models/postal-address.ts +3 -1
  339. package/models/price-allowance-amount.ts +22 -0
  340. package/models/price-basis-quantity.ts +22 -0
  341. package/models/processing-options.ts +3 -3
  342. package/models/product-characteristic.ts +30 -0
  343. package/models/product-classification.ts +28 -0
  344. package/models/quantity.ts +1 -1
  345. package/models/recipient.ts +7 -1
  346. package/models/rounding-amount.ts +22 -0
  347. package/models/scheme-id.ts +11 -5
  348. package/models/search-flow-request.ts +7 -7
  349. package/models/search-structure-request.ts +4 -4
  350. package/models/submit-flow-request.ts +6 -6
  351. package/models/submit-invoice-request.ts +13 -13
  352. package/models/supplier.ts +12 -1
  353. package/models/tax-representative.ts +37 -0
  354. package/models/taxable-amount.ts +1 -1
  355. package/models/total-gross-amount.ts +1 -1
  356. package/models/total-net-amount.ts +1 -1
  357. package/models/total-vatamount.ts +1 -1
  358. package/models/unit-net-price.ts +1 -1
  359. package/{dist/esm/models/document-type.js → models/validation-info.ts} +28 -20
  360. package/models/vat-rate.ts +22 -0
  361. package/models/vatamount.ts +1 -1
  362. package/models/vatline.ts +5 -1
  363. package/models/vatpoint-date-code.ts +30 -0
  364. package/package.json +1 -1
  365. package/docs/DocumentType.md +0 -17
@@ -0,0 +1,485 @@
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
+ import type { Configuration } from '../configuration';
17
+ import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
18
+ import globalAxios from 'axios';
19
+ // Some imports not used depending on template conditions
20
+ // @ts-ignore
21
+ import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
22
+ // @ts-ignore
23
+ import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';
24
+ // @ts-ignore
25
+ import type { ConvertErrorResponse } from '../models';
26
+ // @ts-ignore
27
+ import type { ConvertPendingInputResponse } from '../models';
28
+ // @ts-ignore
29
+ import type { ConvertResumeRequest } from '../models';
30
+ // @ts-ignore
31
+ import type { ConvertSuccessResponse } from '../models';
32
+ // @ts-ignore
33
+ import type { ConvertValidationFailedResponse } from '../models';
34
+ // @ts-ignore
35
+ import type { HTTPValidationError } from '../models';
36
+ /**
37
+ * DocumentConversionApi - axios parameter creator
38
+ */
39
+ export const DocumentConversionApiAxiosParamCreator = function (configuration?: Configuration) {
40
+ return {
41
+ /**
42
+ * Convertit un document (PDF, DOCX, XLSX, image) en Factur-X conforme. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Extraction OCR + Classification** : Mistral OCR extrait les données et classifie le document en un seul appel 3. **Enrichissement** : Les données sont enrichies via SIRENE (SIRET → raison sociale) 4. **Validation** : Les règles Schematron sont appliquées 5. **Génération** : Le Factur-X PDF/A-3 est généré ## Réponses possibles - **200** : Conversion réussie, fichiers disponibles - **202** : Données manquantes, complétion requise - **422** : Validation échouée, corrections nécessaires - **400** : Fichier invalide - **429** : Quota dépassé
43
+ * @summary Convertir un document en Factur-X
44
+ * @param {File} file Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
45
+ * @param {string} [output] Format de sortie: pdf, xml, both
46
+ * @param {string | null} [callbackUrl]
47
+ * @param {*} [options] Override http request option.
48
+ * @throws {RequiredError}
49
+ */
50
+ convertDocumentApiV1ConvertPost: async (file: File, output?: string, callbackUrl?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
51
+ // verify required parameter 'file' is not null or undefined
52
+ assertParamExists('convertDocumentApiV1ConvertPost', 'file', file)
53
+ const localVarPath = `/api/v1/convert`;
54
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
55
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
56
+ let baseOptions;
57
+ if (configuration) {
58
+ baseOptions = configuration.baseOptions;
59
+ }
60
+
61
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
62
+ const localVarHeaderParameter = {} as any;
63
+ const localVarQueryParameter = {} as any;
64
+ const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
65
+
66
+ // authentication HTTPBearer required
67
+ // http bearer authentication required
68
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
69
+
70
+
71
+ if (file !== undefined) {
72
+ localVarFormParams.append('file', file as any);
73
+ }
74
+
75
+ if (output !== undefined) {
76
+ localVarFormParams.append('output', output as any);
77
+ }
78
+
79
+ if (callbackUrl !== undefined) {
80
+ localVarFormParams.append('callback_url', callbackUrl as any);
81
+ }
82
+ localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
83
+ localVarHeaderParameter['Accept'] = 'application/json';
84
+
85
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
86
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
87
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
88
+ localVarRequestOptions.data = localVarFormParams;
89
+
90
+ return {
91
+ url: toPathString(localVarUrlObj),
92
+ options: localVarRequestOptions,
93
+ };
94
+ },
95
+ /**
96
+ * Lance une conversion asynchrone via Celery. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Task Celery** : La tâche est mise en file d\'attente 3. **Callback** : Notification par webhook à la fin ## Réponses possibles - **202** : Tâche acceptée, en cours de traitement - **400** : Fichier invalide
97
+ * @summary Convertir un document en Factur-X (mode asynchrone)
98
+ * @param {File} file Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
99
+ * @param {string} [output] Format de sortie: pdf, xml, both
100
+ * @param {string | null} [callbackUrl]
101
+ * @param {*} [options] Override http request option.
102
+ * @throws {RequiredError}
103
+ */
104
+ convertDocumentAsyncApiV1ConvertAsyncPost: async (file: File, output?: string, callbackUrl?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
105
+ // verify required parameter 'file' is not null or undefined
106
+ assertParamExists('convertDocumentAsyncApiV1ConvertAsyncPost', 'file', file)
107
+ const localVarPath = `/api/v1/convert/async`;
108
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
109
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
110
+ let baseOptions;
111
+ if (configuration) {
112
+ baseOptions = configuration.baseOptions;
113
+ }
114
+
115
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
116
+ const localVarHeaderParameter = {} as any;
117
+ const localVarQueryParameter = {} as any;
118
+ const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
119
+
120
+ // authentication HTTPBearer required
121
+ // http bearer authentication required
122
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
123
+
124
+
125
+ if (file !== undefined) {
126
+ localVarFormParams.append('file', file as any);
127
+ }
128
+
129
+ if (output !== undefined) {
130
+ localVarFormParams.append('output', output as any);
131
+ }
132
+
133
+ if (callbackUrl !== undefined) {
134
+ localVarFormParams.append('callback_url', callbackUrl as any);
135
+ }
136
+ localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
137
+ localVarHeaderParameter['Accept'] = 'application/json';
138
+
139
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
140
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
141
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
142
+ localVarRequestOptions.data = localVarFormParams;
143
+
144
+ return {
145
+ url: toPathString(localVarUrlObj),
146
+ options: localVarRequestOptions,
147
+ };
148
+ },
149
+ /**
150
+ * Télécharge le fichier Factur-X PDF ou XML généré. ## Fichiers disponibles - `facturx.pdf` : PDF/A-3 avec XML embarqué - `facturx.xml` : XML CII seul (Cross Industry Invoice) Les fichiers sont disponibles pendant 24 heures après génération.
151
+ * @summary Télécharger un fichier généré
152
+ * @param {string} conversionId
153
+ * @param {string} filename
154
+ * @param {*} [options] Override http request option.
155
+ * @throws {RequiredError}
156
+ */
157
+ downloadFileApiV1ConvertConversionIdDownloadFilenameGet: async (conversionId: string, filename: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
158
+ // verify required parameter 'conversionId' is not null or undefined
159
+ assertParamExists('downloadFileApiV1ConvertConversionIdDownloadFilenameGet', 'conversionId', conversionId)
160
+ // verify required parameter 'filename' is not null or undefined
161
+ assertParamExists('downloadFileApiV1ConvertConversionIdDownloadFilenameGet', 'filename', filename)
162
+ const localVarPath = `/api/v1/convert/{conversion_id}/download/{filename}`
163
+ .replace(`{${"conversion_id"}}`, encodeURIComponent(String(conversionId)))
164
+ .replace(`{${"filename"}}`, encodeURIComponent(String(filename)));
165
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
166
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
167
+ let baseOptions;
168
+ if (configuration) {
169
+ baseOptions = configuration.baseOptions;
170
+ }
171
+
172
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
173
+ const localVarHeaderParameter = {} as any;
174
+ const localVarQueryParameter = {} as any;
175
+
176
+ // authentication HTTPBearer required
177
+ // http bearer authentication required
178
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
179
+
180
+ localVarHeaderParameter['Accept'] = 'application/json';
181
+
182
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
183
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
184
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
185
+
186
+ return {
187
+ url: toPathString(localVarUrlObj),
188
+ options: localVarRequestOptions,
189
+ };
190
+ },
191
+ /**
192
+ * Retourne le statut actuel d\'une conversion asynchrone.
193
+ * @summary Vérifier le statut d\'une conversion
194
+ * @param {string} conversionId
195
+ * @param {*} [options] Override http request option.
196
+ * @throws {RequiredError}
197
+ */
198
+ getConversionStatusApiV1ConvertConversionIdStatusGet: async (conversionId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
199
+ // verify required parameter 'conversionId' is not null or undefined
200
+ assertParamExists('getConversionStatusApiV1ConvertConversionIdStatusGet', 'conversionId', conversionId)
201
+ const localVarPath = `/api/v1/convert/{conversion_id}/status`
202
+ .replace(`{${"conversion_id"}}`, encodeURIComponent(String(conversionId)));
203
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
204
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
205
+ let baseOptions;
206
+ if (configuration) {
207
+ baseOptions = configuration.baseOptions;
208
+ }
209
+
210
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
211
+ const localVarHeaderParameter = {} as any;
212
+ const localVarQueryParameter = {} as any;
213
+
214
+ // authentication HTTPBearer required
215
+ // http bearer authentication required
216
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
217
+
218
+ localVarHeaderParameter['Accept'] = 'application/json';
219
+
220
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
221
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
222
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
223
+
224
+ return {
225
+ url: toPathString(localVarUrlObj),
226
+ options: localVarRequestOptions,
227
+ };
228
+ },
229
+ /**
230
+ * Reprend une conversion après complétion des données manquantes ou correction des erreurs. L\'extraction OCR est conservée, les données sont mises à jour avec les corrections, puis une nouvelle validation Schematron est effectuée.
231
+ * @summary Reprendre une conversion avec corrections
232
+ * @param {string} conversionId
233
+ * @param {ConvertResumeRequest} convertResumeRequest
234
+ * @param {*} [options] Override http request option.
235
+ * @throws {RequiredError}
236
+ */
237
+ resumeConversionApiV1ConvertConversionIdResumePost: async (conversionId: string, convertResumeRequest: ConvertResumeRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
238
+ // verify required parameter 'conversionId' is not null or undefined
239
+ assertParamExists('resumeConversionApiV1ConvertConversionIdResumePost', 'conversionId', conversionId)
240
+ // verify required parameter 'convertResumeRequest' is not null or undefined
241
+ assertParamExists('resumeConversionApiV1ConvertConversionIdResumePost', 'convertResumeRequest', convertResumeRequest)
242
+ const localVarPath = `/api/v1/convert/{conversion_id}/resume`
243
+ .replace(`{${"conversion_id"}}`, encodeURIComponent(String(conversionId)));
244
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
245
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
246
+ let baseOptions;
247
+ if (configuration) {
248
+ baseOptions = configuration.baseOptions;
249
+ }
250
+
251
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
252
+ const localVarHeaderParameter = {} as any;
253
+ const localVarQueryParameter = {} as any;
254
+
255
+ // authentication HTTPBearer required
256
+ // http bearer authentication required
257
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
258
+
259
+ localVarHeaderParameter['Content-Type'] = 'application/json';
260
+ localVarHeaderParameter['Accept'] = 'application/json';
261
+
262
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
263
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
264
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
265
+ localVarRequestOptions.data = serializeDataIfNeeded(convertResumeRequest, localVarRequestOptions, configuration)
266
+
267
+ return {
268
+ url: toPathString(localVarUrlObj),
269
+ options: localVarRequestOptions,
270
+ };
271
+ },
272
+ }
273
+ };
274
+
275
+ /**
276
+ * DocumentConversionApi - functional programming interface
277
+ */
278
+ export const DocumentConversionApiFp = function(configuration?: Configuration) {
279
+ const localVarAxiosParamCreator = DocumentConversionApiAxiosParamCreator(configuration)
280
+ return {
281
+ /**
282
+ * Convertit un document (PDF, DOCX, XLSX, image) en Factur-X conforme. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Extraction OCR + Classification** : Mistral OCR extrait les données et classifie le document en un seul appel 3. **Enrichissement** : Les données sont enrichies via SIRENE (SIRET → raison sociale) 4. **Validation** : Les règles Schematron sont appliquées 5. **Génération** : Le Factur-X PDF/A-3 est généré ## Réponses possibles - **200** : Conversion réussie, fichiers disponibles - **202** : Données manquantes, complétion requise - **422** : Validation échouée, corrections nécessaires - **400** : Fichier invalide - **429** : Quota dépassé
283
+ * @summary Convertir un document en Factur-X
284
+ * @param {File} file Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
285
+ * @param {string} [output] Format de sortie: pdf, xml, both
286
+ * @param {string | null} [callbackUrl]
287
+ * @param {*} [options] Override http request option.
288
+ * @throws {RequiredError}
289
+ */
290
+ async convertDocumentApiV1ConvertPost(file: File, output?: string, callbackUrl?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConvertSuccessResponse>> {
291
+ const localVarAxiosArgs = await localVarAxiosParamCreator.convertDocumentApiV1ConvertPost(file, output, callbackUrl, options);
292
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
293
+ const localVarOperationServerBasePath = operationServerMap['DocumentConversionApi.convertDocumentApiV1ConvertPost']?.[localVarOperationServerIndex]?.url;
294
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
295
+ },
296
+ /**
297
+ * Lance une conversion asynchrone via Celery. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Task Celery** : La tâche est mise en file d\'attente 3. **Callback** : Notification par webhook à la fin ## Réponses possibles - **202** : Tâche acceptée, en cours de traitement - **400** : Fichier invalide
298
+ * @summary Convertir un document en Factur-X (mode asynchrone)
299
+ * @param {File} file Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
300
+ * @param {string} [output] Format de sortie: pdf, xml, both
301
+ * @param {string | null} [callbackUrl]
302
+ * @param {*} [options] Override http request option.
303
+ * @throws {RequiredError}
304
+ */
305
+ async convertDocumentAsyncApiV1ConvertAsyncPost(file: File, output?: string, callbackUrl?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
306
+ const localVarAxiosArgs = await localVarAxiosParamCreator.convertDocumentAsyncApiV1ConvertAsyncPost(file, output, callbackUrl, options);
307
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
308
+ const localVarOperationServerBasePath = operationServerMap['DocumentConversionApi.convertDocumentAsyncApiV1ConvertAsyncPost']?.[localVarOperationServerIndex]?.url;
309
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
310
+ },
311
+ /**
312
+ * Télécharge le fichier Factur-X PDF ou XML généré. ## Fichiers disponibles - `facturx.pdf` : PDF/A-3 avec XML embarqué - `facturx.xml` : XML CII seul (Cross Industry Invoice) Les fichiers sont disponibles pendant 24 heures après génération.
313
+ * @summary Télécharger un fichier généré
314
+ * @param {string} conversionId
315
+ * @param {string} filename
316
+ * @param {*} [options] Override http request option.
317
+ * @throws {RequiredError}
318
+ */
319
+ async downloadFileApiV1ConvertConversionIdDownloadFilenameGet(conversionId: string, filename: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
320
+ const localVarAxiosArgs = await localVarAxiosParamCreator.downloadFileApiV1ConvertConversionIdDownloadFilenameGet(conversionId, filename, options);
321
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
322
+ const localVarOperationServerBasePath = operationServerMap['DocumentConversionApi.downloadFileApiV1ConvertConversionIdDownloadFilenameGet']?.[localVarOperationServerIndex]?.url;
323
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
324
+ },
325
+ /**
326
+ * Retourne le statut actuel d\'une conversion asynchrone.
327
+ * @summary Vérifier le statut d\'une conversion
328
+ * @param {string} conversionId
329
+ * @param {*} [options] Override http request option.
330
+ * @throws {RequiredError}
331
+ */
332
+ async getConversionStatusApiV1ConvertConversionIdStatusGet(conversionId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: any; }>> {
333
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getConversionStatusApiV1ConvertConversionIdStatusGet(conversionId, options);
334
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
335
+ const localVarOperationServerBasePath = operationServerMap['DocumentConversionApi.getConversionStatusApiV1ConvertConversionIdStatusGet']?.[localVarOperationServerIndex]?.url;
336
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
337
+ },
338
+ /**
339
+ * Reprend une conversion après complétion des données manquantes ou correction des erreurs. L\'extraction OCR est conservée, les données sont mises à jour avec les corrections, puis une nouvelle validation Schematron est effectuée.
340
+ * @summary Reprendre une conversion avec corrections
341
+ * @param {string} conversionId
342
+ * @param {ConvertResumeRequest} convertResumeRequest
343
+ * @param {*} [options] Override http request option.
344
+ * @throws {RequiredError}
345
+ */
346
+ async resumeConversionApiV1ConvertConversionIdResumePost(conversionId: string, convertResumeRequest: ConvertResumeRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConvertSuccessResponse>> {
347
+ const localVarAxiosArgs = await localVarAxiosParamCreator.resumeConversionApiV1ConvertConversionIdResumePost(conversionId, convertResumeRequest, options);
348
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
349
+ const localVarOperationServerBasePath = operationServerMap['DocumentConversionApi.resumeConversionApiV1ConvertConversionIdResumePost']?.[localVarOperationServerIndex]?.url;
350
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
351
+ },
352
+ }
353
+ };
354
+
355
+ /**
356
+ * DocumentConversionApi - factory interface
357
+ */
358
+ export const DocumentConversionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
359
+ const localVarFp = DocumentConversionApiFp(configuration)
360
+ return {
361
+ /**
362
+ * Convertit un document (PDF, DOCX, XLSX, image) en Factur-X conforme. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Extraction OCR + Classification** : Mistral OCR extrait les données et classifie le document en un seul appel 3. **Enrichissement** : Les données sont enrichies via SIRENE (SIRET → raison sociale) 4. **Validation** : Les règles Schematron sont appliquées 5. **Génération** : Le Factur-X PDF/A-3 est généré ## Réponses possibles - **200** : Conversion réussie, fichiers disponibles - **202** : Données manquantes, complétion requise - **422** : Validation échouée, corrections nécessaires - **400** : Fichier invalide - **429** : Quota dépassé
363
+ * @summary Convertir un document en Factur-X
364
+ * @param {File} file Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
365
+ * @param {string} [output] Format de sortie: pdf, xml, both
366
+ * @param {string | null} [callbackUrl]
367
+ * @param {*} [options] Override http request option.
368
+ * @throws {RequiredError}
369
+ */
370
+ convertDocumentApiV1ConvertPost(file: File, output?: string, callbackUrl?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<ConvertSuccessResponse> {
371
+ return localVarFp.convertDocumentApiV1ConvertPost(file, output, callbackUrl, options).then((request) => request(axios, basePath));
372
+ },
373
+ /**
374
+ * Lance une conversion asynchrone via Celery. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Task Celery** : La tâche est mise en file d\'attente 3. **Callback** : Notification par webhook à la fin ## Réponses possibles - **202** : Tâche acceptée, en cours de traitement - **400** : Fichier invalide
375
+ * @summary Convertir un document en Factur-X (mode asynchrone)
376
+ * @param {File} file Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
377
+ * @param {string} [output] Format de sortie: pdf, xml, both
378
+ * @param {string | null} [callbackUrl]
379
+ * @param {*} [options] Override http request option.
380
+ * @throws {RequiredError}
381
+ */
382
+ convertDocumentAsyncApiV1ConvertAsyncPost(file: File, output?: string, callbackUrl?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<any> {
383
+ return localVarFp.convertDocumentAsyncApiV1ConvertAsyncPost(file, output, callbackUrl, options).then((request) => request(axios, basePath));
384
+ },
385
+ /**
386
+ * Télécharge le fichier Factur-X PDF ou XML généré. ## Fichiers disponibles - `facturx.pdf` : PDF/A-3 avec XML embarqué - `facturx.xml` : XML CII seul (Cross Industry Invoice) Les fichiers sont disponibles pendant 24 heures après génération.
387
+ * @summary Télécharger un fichier généré
388
+ * @param {string} conversionId
389
+ * @param {string} filename
390
+ * @param {*} [options] Override http request option.
391
+ * @throws {RequiredError}
392
+ */
393
+ downloadFileApiV1ConvertConversionIdDownloadFilenameGet(conversionId: string, filename: string, options?: RawAxiosRequestConfig): AxiosPromise<any> {
394
+ return localVarFp.downloadFileApiV1ConvertConversionIdDownloadFilenameGet(conversionId, filename, options).then((request) => request(axios, basePath));
395
+ },
396
+ /**
397
+ * Retourne le statut actuel d\'une conversion asynchrone.
398
+ * @summary Vérifier le statut d\'une conversion
399
+ * @param {string} conversionId
400
+ * @param {*} [options] Override http request option.
401
+ * @throws {RequiredError}
402
+ */
403
+ getConversionStatusApiV1ConvertConversionIdStatusGet(conversionId: string, options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: any; }> {
404
+ return localVarFp.getConversionStatusApiV1ConvertConversionIdStatusGet(conversionId, options).then((request) => request(axios, basePath));
405
+ },
406
+ /**
407
+ * Reprend une conversion après complétion des données manquantes ou correction des erreurs. L\'extraction OCR est conservée, les données sont mises à jour avec les corrections, puis une nouvelle validation Schematron est effectuée.
408
+ * @summary Reprendre une conversion avec corrections
409
+ * @param {string} conversionId
410
+ * @param {ConvertResumeRequest} convertResumeRequest
411
+ * @param {*} [options] Override http request option.
412
+ * @throws {RequiredError}
413
+ */
414
+ resumeConversionApiV1ConvertConversionIdResumePost(conversionId: string, convertResumeRequest: ConvertResumeRequest, options?: RawAxiosRequestConfig): AxiosPromise<ConvertSuccessResponse> {
415
+ return localVarFp.resumeConversionApiV1ConvertConversionIdResumePost(conversionId, convertResumeRequest, options).then((request) => request(axios, basePath));
416
+ },
417
+ };
418
+ };
419
+
420
+ /**
421
+ * DocumentConversionApi - object-oriented interface
422
+ */
423
+ export class DocumentConversionApi extends BaseAPI {
424
+ /**
425
+ * Convertit un document (PDF, DOCX, XLSX, image) en Factur-X conforme. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Extraction OCR + Classification** : Mistral OCR extrait les données et classifie le document en un seul appel 3. **Enrichissement** : Les données sont enrichies via SIRENE (SIRET → raison sociale) 4. **Validation** : Les règles Schematron sont appliquées 5. **Génération** : Le Factur-X PDF/A-3 est généré ## Réponses possibles - **200** : Conversion réussie, fichiers disponibles - **202** : Données manquantes, complétion requise - **422** : Validation échouée, corrections nécessaires - **400** : Fichier invalide - **429** : Quota dépassé
426
+ * @summary Convertir un document en Factur-X
427
+ * @param {File} file Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
428
+ * @param {string} [output] Format de sortie: pdf, xml, both
429
+ * @param {string | null} [callbackUrl]
430
+ * @param {*} [options] Override http request option.
431
+ * @throws {RequiredError}
432
+ */
433
+ public convertDocumentApiV1ConvertPost(file: File, output?: string, callbackUrl?: string | null, options?: RawAxiosRequestConfig) {
434
+ return DocumentConversionApiFp(this.configuration).convertDocumentApiV1ConvertPost(file, output, callbackUrl, options).then((request) => request(this.axios, this.basePath));
435
+ }
436
+
437
+ /**
438
+ * Lance une conversion asynchrone via Celery. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Task Celery** : La tâche est mise en file d\'attente 3. **Callback** : Notification par webhook à la fin ## Réponses possibles - **202** : Tâche acceptée, en cours de traitement - **400** : Fichier invalide
439
+ * @summary Convertir un document en Factur-X (mode asynchrone)
440
+ * @param {File} file Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
441
+ * @param {string} [output] Format de sortie: pdf, xml, both
442
+ * @param {string | null} [callbackUrl]
443
+ * @param {*} [options] Override http request option.
444
+ * @throws {RequiredError}
445
+ */
446
+ public convertDocumentAsyncApiV1ConvertAsyncPost(file: File, output?: string, callbackUrl?: string | null, options?: RawAxiosRequestConfig) {
447
+ return DocumentConversionApiFp(this.configuration).convertDocumentAsyncApiV1ConvertAsyncPost(file, output, callbackUrl, options).then((request) => request(this.axios, this.basePath));
448
+ }
449
+
450
+ /**
451
+ * Télécharge le fichier Factur-X PDF ou XML généré. ## Fichiers disponibles - `facturx.pdf` : PDF/A-3 avec XML embarqué - `facturx.xml` : XML CII seul (Cross Industry Invoice) Les fichiers sont disponibles pendant 24 heures après génération.
452
+ * @summary Télécharger un fichier généré
453
+ * @param {string} conversionId
454
+ * @param {string} filename
455
+ * @param {*} [options] Override http request option.
456
+ * @throws {RequiredError}
457
+ */
458
+ public downloadFileApiV1ConvertConversionIdDownloadFilenameGet(conversionId: string, filename: string, options?: RawAxiosRequestConfig) {
459
+ return DocumentConversionApiFp(this.configuration).downloadFileApiV1ConvertConversionIdDownloadFilenameGet(conversionId, filename, options).then((request) => request(this.axios, this.basePath));
460
+ }
461
+
462
+ /**
463
+ * Retourne le statut actuel d\'une conversion asynchrone.
464
+ * @summary Vérifier le statut d\'une conversion
465
+ * @param {string} conversionId
466
+ * @param {*} [options] Override http request option.
467
+ * @throws {RequiredError}
468
+ */
469
+ public getConversionStatusApiV1ConvertConversionIdStatusGet(conversionId: string, options?: RawAxiosRequestConfig) {
470
+ return DocumentConversionApiFp(this.configuration).getConversionStatusApiV1ConvertConversionIdStatusGet(conversionId, options).then((request) => request(this.axios, this.basePath));
471
+ }
472
+
473
+ /**
474
+ * Reprend une conversion après complétion des données manquantes ou correction des erreurs. L\'extraction OCR est conservée, les données sont mises à jour avec les corrections, puis une nouvelle validation Schematron est effectuée.
475
+ * @summary Reprendre une conversion avec corrections
476
+ * @param {string} conversionId
477
+ * @param {ConvertResumeRequest} convertResumeRequest
478
+ * @param {*} [options] Override http request option.
479
+ * @throws {RequiredError}
480
+ */
481
+ public resumeConversionApiV1ConvertConversionIdResumePost(conversionId: string, convertResumeRequest: ConvertResumeRequest, options?: RawAxiosRequestConfig) {
482
+ return DocumentConversionApiFp(this.configuration).resumeConversionApiV1ConvertConversionIdResumePost(conversionId, convertResumeRequest, options).then((request) => request(this.axios, this.basePath));
483
+ }
484
+ }
485
+