@factpulse/sdk 2.0.49 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.openapi-generator/FILES +198 -194
- package/CHANGELOG.md +3 -3
- package/README.md +106 -106
- package/api/afnorpdppaapi.ts +38 -38
- package/api/afnorpdppadirectory-service-api.ts +78 -78
- package/api/afnorpdppaflow-service-api.ts +30 -30
- package/api/chorus-pro-api.ts +210 -210
- package/api/health-api.ts +176 -0
- package/api/invoice-processing-api.ts +1083 -0
- package/api/pdfxmlverification-api.ts +536 -0
- package/api/user-api.ts +119 -0
- package/api.ts +6 -6
- package/base.ts +2 -2
- package/common.ts +2 -2
- package/configuration.ts +2 -2
- package/dist/api/afnorpdppaapi.d.ts +31 -31
- package/dist/api/afnorpdppaapi.js +36 -36
- package/dist/api/afnorpdppadirectory-service-api.d.ts +78 -78
- package/dist/api/afnorpdppadirectory-service-api.js +78 -78
- package/dist/api/afnorpdppaflow-service-api.d.ts +30 -30
- package/dist/api/afnorpdppaflow-service-api.js +30 -30
- package/dist/api/chorus-pro-api.d.ts +180 -180
- package/dist/api/chorus-pro-api.js +196 -196
- package/dist/api/health-api.d.ts +90 -0
- package/dist/api/health-api.js +184 -0
- package/dist/api/invoice-processing-api.d.ts +480 -0
- package/dist/api/invoice-processing-api.js +1010 -0
- package/dist/api/pdfxmlverification-api.d.ts +237 -0
- package/dist/api/pdfxmlverification-api.js +514 -0
- package/dist/api/user-api.d.ts +62 -0
- package/dist/api/user-api.js +128 -0
- package/dist/api.d.ts +6 -6
- package/dist/api.js +6 -6
- package/dist/base.d.ts +2 -2
- package/dist/base.js +2 -2
- package/dist/common.d.ts +2 -2
- package/dist/common.js +2 -2
- package/dist/configuration.d.ts +2 -2
- package/dist/configuration.js +2 -2
- package/dist/esm/api/afnorpdppaapi.d.ts +31 -31
- package/dist/esm/api/afnorpdppaapi.js +36 -36
- package/dist/esm/api/afnorpdppadirectory-service-api.d.ts +78 -78
- package/dist/esm/api/afnorpdppadirectory-service-api.js +78 -78
- package/dist/esm/api/afnorpdppaflow-service-api.d.ts +30 -30
- package/dist/esm/api/afnorpdppaflow-service-api.js +30 -30
- package/dist/esm/api/chorus-pro-api.d.ts +180 -180
- package/dist/esm/api/chorus-pro-api.js +196 -196
- package/dist/esm/api/health-api.d.ts +90 -0
- package/dist/esm/api/health-api.js +174 -0
- package/dist/esm/api/invoice-processing-api.d.ts +480 -0
- package/dist/esm/api/invoice-processing-api.js +1000 -0
- package/dist/esm/api/pdfxmlverification-api.d.ts +237 -0
- package/dist/esm/api/pdfxmlverification-api.js +504 -0
- package/dist/esm/api/user-api.d.ts +62 -0
- package/dist/esm/api/user-api.js +118 -0
- package/dist/esm/api.d.ts +6 -6
- package/dist/esm/api.js +6 -6
- package/dist/esm/base.d.ts +2 -2
- package/dist/esm/base.js +2 -2
- package/dist/esm/common.d.ts +2 -2
- package/dist/esm/common.js +2 -2
- package/dist/esm/configuration.d.ts +2 -2
- package/dist/esm/configuration.js +2 -2
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/models/acknowledgment-status.d.ts +20 -0
- package/dist/esm/models/acknowledgment-status.js +21 -0
- package/dist/esm/models/afnorcredentials.d.ts +19 -0
- package/dist/esm/models/afnorcredentials.js +14 -0
- package/dist/esm/models/afnordestination.d.ts +34 -0
- package/dist/esm/models/afnordestination.js +21 -0
- package/dist/esm/models/afnorhealth-check-response.d.ts +28 -0
- package/dist/esm/models/afnorhealth-check-response.js +14 -0
- package/dist/esm/models/afnorresult.d.ts +30 -0
- package/dist/esm/models/afnorresult.js +14 -0
- package/dist/esm/models/allowance-reason-code.d.ts +24 -0
- package/dist/esm/models/allowance-reason-code.js +25 -0
- package/dist/esm/models/amount-due.d.ts +16 -0
- package/dist/esm/models/amount-due.js +14 -0
- package/dist/esm/models/apierror.d.ts +5 -5
- package/dist/esm/models/apierror.js +2 -2
- package/dist/esm/models/apiprofile.d.ts +21 -0
- package/dist/esm/models/apiprofile.js +22 -0
- package/dist/esm/models/bounding-box-schema.d.ts +10 -10
- package/dist/esm/models/bounding-box-schema.js +2 -2
- package/dist/esm/models/celery-status.d.ts +22 -0
- package/dist/esm/models/celery-status.js +23 -0
- package/dist/esm/models/certificate-info-response.d.ts +23 -23
- package/dist/esm/models/certificate-info-response.js +2 -2
- package/dist/esm/models/chorus-pro-destination.d.ts +23 -0
- package/dist/esm/models/chorus-pro-destination.js +16 -0
- package/dist/esm/models/chorus-pro-result.d.ts +22 -0
- package/dist/esm/models/chorus-pro-result.js +14 -0
- package/dist/esm/models/destination.d.ts +7 -7
- package/dist/esm/models/destination.js +2 -2
- package/dist/esm/models/document-type.d.ts +37 -0
- package/dist/esm/models/document-type.js +38 -0
- package/dist/esm/models/electronic-address.d.ts +19 -0
- package/dist/esm/models/electronic-address.js +14 -0
- package/dist/esm/models/enriched-invoice-info.d.ts +24 -0
- package/dist/esm/models/enriched-invoice-info.js +14 -0
- package/dist/esm/models/error-level.d.ts +2 -2
- package/dist/esm/models/error-level.js +2 -2
- package/dist/esm/models/error-source.d.ts +2 -2
- package/dist/esm/models/error-source.js +2 -2
- package/dist/esm/models/factur-xpdfinfo.d.ts +28 -0
- package/dist/esm/models/factur-xpdfinfo.js +14 -0
- package/dist/esm/models/facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials.d.ts +36 -0
- package/dist/esm/models/facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials.js +14 -0
- package/dist/esm/models/facture-electronique-rest-api-schemas-processing-chorus-pro-credentials.d.ts +24 -0
- package/dist/esm/models/facture-electronique-rest-api-schemas-processing-chorus-pro-credentials.js +14 -0
- package/dist/esm/models/facture-factur-x.d.ts +30 -30
- package/dist/esm/models/facture-factur-x.js +2 -2
- package/dist/esm/models/field-status.d.ts +22 -0
- package/dist/esm/models/field-status.js +23 -0
- package/dist/esm/models/flow-direction.d.ts +19 -0
- package/dist/esm/models/flow-direction.js +20 -0
- package/dist/esm/models/flow-profile.d.ts +20 -0
- package/dist/esm/models/flow-profile.js +21 -0
- package/dist/esm/models/flow-summary.d.ts +24 -0
- package/dist/esm/models/flow-summary.js +14 -0
- package/dist/esm/models/flow-syntax.d.ts +22 -0
- package/dist/esm/models/flow-syntax.js +23 -0
- package/dist/esm/models/flow-type.d.ts +22 -0
- package/dist/esm/models/flow-type.js +23 -0
- package/dist/esm/models/generate-certificate-request.d.ts +21 -21
- package/dist/esm/models/generate-certificate-request.js +2 -2
- package/dist/esm/models/generate-certificate-response.d.ts +12 -12
- package/dist/esm/models/generate-certificate-response.js +2 -2
- package/dist/esm/models/get-chorus-pro-id-request.d.ts +26 -0
- package/dist/esm/models/get-chorus-pro-id-request.js +14 -0
- package/dist/esm/models/get-chorus-pro-id-response.d.ts +29 -0
- package/dist/esm/models/get-chorus-pro-id-response.js +14 -0
- package/dist/esm/models/get-invoice-request.d.ts +22 -0
- package/dist/esm/models/get-invoice-request.js +14 -0
- package/dist/esm/models/get-invoice-response.d.ts +26 -0
- package/dist/esm/models/get-invoice-response.js +14 -0
- package/dist/esm/models/get-structure-request.d.ts +26 -0
- package/dist/esm/models/get-structure-request.js +14 -0
- package/dist/esm/models/get-structure-response.d.ts +26 -0
- package/dist/esm/models/get-structure-response.js +14 -0
- package/dist/esm/models/global-allowance-amount.d.ts +16 -0
- package/dist/esm/models/global-allowance-amount.js +14 -0
- package/dist/esm/models/httpvalidation-error.d.ts +2 -2
- package/dist/esm/models/httpvalidation-error.js +2 -2
- package/dist/esm/models/incoming-invoice.d.ts +68 -0
- package/dist/esm/models/incoming-invoice.js +14 -0
- package/dist/esm/models/incoming-supplier.d.ts +29 -0
- package/dist/esm/models/incoming-supplier.js +14 -0
- package/dist/esm/models/index.d.ts +95 -93
- package/dist/esm/models/index.js +95 -93
- package/dist/esm/models/invoice-format.d.ts +20 -0
- package/dist/esm/models/invoice-format.js +21 -0
- package/dist/esm/models/invoice-line-allowance-amount.d.ts +16 -0
- package/dist/esm/models/invoice-line-allowance-amount.js +14 -0
- package/dist/esm/models/invoice-line.d.ts +39 -0
- package/dist/esm/models/invoice-line.js +14 -0
- package/dist/esm/models/invoice-note.d.ts +18 -0
- package/dist/esm/models/invoice-note.js +14 -0
- package/dist/esm/models/invoice-references.d.ts +27 -0
- package/dist/esm/models/invoice-references.js +14 -0
- package/dist/esm/models/invoice-status.d.ts +25 -0
- package/dist/esm/models/invoice-status.js +14 -0
- package/dist/esm/models/invoice-totals-prepayment.d.ts +16 -0
- package/dist/esm/models/invoice-totals-prepayment.js +14 -0
- package/dist/esm/models/invoice-totals.d.ts +29 -0
- package/dist/esm/models/invoice-totals.js +14 -0
- package/dist/esm/models/invoice-type-code.d.ts +97 -0
- package/dist/esm/models/invoice-type-code.js +98 -0
- package/dist/esm/models/invoicing-framework-code.d.ts +25 -0
- package/dist/esm/models/invoicing-framework-code.js +26 -0
- package/dist/esm/models/invoicing-framework.d.ts +22 -0
- package/dist/esm/models/invoicing-framework.js +14 -0
- package/dist/esm/models/line-net-amount.d.ts +16 -0
- package/dist/esm/models/line-net-amount.js +14 -0
- package/dist/esm/models/mandatory-note-schema.d.ts +34 -0
- package/dist/esm/models/mandatory-note-schema.js +14 -0
- package/dist/esm/models/manual-rate.d.ts +16 -0
- package/dist/esm/models/manual-rate.js +14 -0
- package/dist/esm/models/manual-vat-rate.d.ts +16 -0
- package/dist/esm/models/manual-vat-rate.js +14 -0
- package/dist/esm/models/operation-nature.d.ts +31 -0
- package/dist/esm/models/operation-nature.js +32 -0
- package/dist/esm/models/output-format.d.ts +19 -0
- package/dist/esm/models/output-format.js +20 -0
- package/dist/esm/models/page-dimensions-schema.d.ts +24 -0
- package/dist/esm/models/page-dimensions-schema.js +14 -0
- package/dist/esm/models/payee.d.ts +26 -0
- package/dist/esm/models/payee.js +14 -0
- package/dist/esm/models/payment-means.d.ts +29 -0
- package/dist/esm/models/payment-means.js +30 -0
- package/dist/esm/models/pdfvalidation-result-api.d.ts +93 -0
- package/dist/esm/models/pdfvalidation-result-api.js +14 -0
- package/dist/esm/models/pdpcredentials.d.ts +7 -7
- package/dist/esm/models/pdpcredentials.js +2 -2
- package/dist/esm/models/postal-address.d.ts +21 -0
- package/dist/esm/models/postal-address.js +14 -0
- package/dist/esm/models/processing-options.d.ts +33 -0
- package/dist/esm/models/processing-options.js +14 -0
- package/dist/esm/models/quantity.d.ts +16 -0
- package/dist/esm/models/quantity.js +14 -0
- package/dist/esm/models/recipient.d.ts +24 -0
- package/dist/esm/models/recipient.js +14 -0
- package/dist/esm/models/scheme-id.d.ts +5 -5
- package/dist/esm/models/scheme-id.js +5 -5
- package/dist/esm/models/search-flow-request.d.ts +34 -0
- package/dist/esm/models/search-flow-request.js +14 -0
- package/dist/esm/models/search-flow-response.d.ts +33 -0
- package/dist/esm/models/search-flow-response.js +14 -0
- package/dist/esm/models/search-services-response.d.ts +24 -0
- package/dist/esm/models/search-services-response.js +14 -0
- package/dist/esm/models/search-structure-request.d.ts +25 -0
- package/dist/esm/models/search-structure-request.js +14 -0
- package/dist/esm/models/search-structure-response.d.ts +30 -0
- package/dist/esm/models/search-structure-response.js +14 -0
- package/dist/esm/models/signature-info-api.d.ts +25 -0
- package/dist/esm/models/signature-info-api.js +14 -0
- package/dist/esm/models/signature-info.d.ts +5 -5
- package/dist/esm/models/signature-info.js +2 -2
- package/dist/esm/models/signature-parameters.d.ts +34 -0
- package/dist/esm/models/signature-parameters.js +14 -0
- package/dist/esm/models/simplified-invoice-data.d.ts +46 -0
- package/dist/esm/models/simplified-invoice-data.js +14 -0
- package/dist/esm/models/structure-info.d.ts +13 -13
- package/dist/esm/models/structure-info.js +2 -2
- package/dist/esm/models/structure-parameters.d.ts +28 -0
- package/dist/esm/models/structure-parameters.js +14 -0
- package/dist/esm/models/structure-service.d.ts +32 -0
- package/dist/esm/models/structure-service.js +14 -0
- package/dist/esm/models/submission-mode.d.ts +23 -0
- package/dist/esm/models/submission-mode.js +24 -0
- package/dist/esm/models/submit-complete-invoice-request.d.ts +34 -0
- package/dist/esm/models/submit-complete-invoice-request.js +14 -0
- package/dist/esm/models/submit-complete-invoice-response.d.ts +53 -0
- package/dist/esm/models/submit-complete-invoice-response.js +17 -0
- package/dist/esm/models/submit-flow-request.d.ts +31 -0
- package/dist/esm/models/submit-flow-request.js +14 -0
- package/dist/esm/models/submit-flow-response.d.ts +38 -0
- package/dist/esm/models/submit-flow-response.js +14 -0
- package/dist/esm/models/submit-gross-amount.d.ts +16 -0
- package/dist/esm/models/submit-gross-amount.js +14 -0
- package/dist/esm/models/submit-invoice-request.d.ts +44 -0
- package/dist/esm/models/submit-invoice-request.js +14 -0
- package/dist/esm/models/submit-invoice-response.d.ts +26 -0
- package/dist/esm/models/submit-invoice-response.js +14 -0
- package/dist/esm/models/submit-net-amount.d.ts +16 -0
- package/dist/esm/models/submit-net-amount.js +14 -0
- package/dist/esm/models/submit-vat-amount.d.ts +16 -0
- package/dist/esm/models/submit-vat-amount.js +14 -0
- package/dist/esm/models/supplementary-attachment.d.ts +21 -0
- package/dist/esm/models/supplementary-attachment.js +14 -0
- package/dist/esm/models/supplier.d.ts +28 -0
- package/dist/esm/models/supplier.js +14 -0
- package/dist/esm/models/task-response.d.ts +20 -0
- package/dist/esm/models/task-response.js +14 -0
- package/dist/esm/models/task-status.d.ts +28 -0
- package/dist/esm/models/task-status.js +14 -0
- package/dist/esm/models/taxable-amount.d.ts +16 -0
- package/dist/esm/models/taxable-amount.js +14 -0
- package/dist/esm/models/total-gross-amount.d.ts +16 -0
- package/dist/esm/models/total-gross-amount.js +14 -0
- package/dist/esm/models/total-net-amount.d.ts +16 -0
- package/dist/esm/models/total-net-amount.js +14 -0
- package/dist/esm/models/total-vatamount.d.ts +16 -0
- package/dist/esm/models/total-vatamount.js +14 -0
- package/dist/esm/models/unit-net-price.d.ts +16 -0
- package/dist/esm/models/unit-net-price.js +14 -0
- package/dist/esm/models/unit-of-measure.d.ts +29 -0
- package/dist/esm/models/unit-of-measure.js +30 -0
- package/dist/esm/models/validation-error-detail.d.ts +6 -6
- package/dist/esm/models/validation-error-detail.js +2 -2
- package/dist/esm/models/validation-error-loc-inner.d.ts +2 -2
- package/dist/esm/models/validation-error-loc-inner.js +2 -2
- package/dist/esm/models/validation-error-response.d.ts +20 -0
- package/dist/esm/models/validation-error-response.js +14 -0
- package/dist/esm/models/validation-error.d.ts +2 -2
- package/dist/esm/models/validation-error.js +2 -2
- package/dist/esm/models/validation-success-response.d.ts +20 -0
- package/dist/esm/models/validation-success-response.js +14 -0
- package/dist/esm/models/vataccounting-code.d.ts +25 -0
- package/dist/esm/models/vataccounting-code.js +26 -0
- package/dist/esm/models/vatamount.d.ts +16 -0
- package/dist/esm/models/vatamount.js +14 -0
- package/dist/esm/models/vatcategory.d.ts +26 -0
- package/dist/esm/models/vatcategory.js +27 -0
- package/dist/esm/models/vatline.d.ts +27 -0
- package/dist/esm/models/vatline.js +14 -0
- package/dist/esm/models/verification-success-response.d.ts +56 -0
- package/dist/esm/models/verification-success-response.js +14 -0
- package/dist/esm/models/verified-field-schema.d.ts +42 -0
- package/dist/esm/models/verified-field-schema.js +14 -0
- package/dist/esm/src/helpers/client.d.ts +129 -129
- package/dist/esm/src/helpers/client.js +222 -222
- package/dist/esm/src/helpers/index.d.ts +1 -1
- package/dist/esm/src/helpers/index.js +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/models/acknowledgment-status.d.ts +20 -0
- package/dist/models/acknowledgment-status.js +24 -0
- package/dist/models/afnorcredentials.d.ts +19 -0
- package/dist/models/afnorcredentials.js +15 -0
- package/dist/models/afnordestination.d.ts +34 -0
- package/dist/models/afnordestination.js +24 -0
- package/dist/models/afnorhealth-check-response.d.ts +28 -0
- package/dist/models/afnorhealth-check-response.js +15 -0
- package/dist/models/afnorresult.d.ts +30 -0
- package/dist/models/afnorresult.js +15 -0
- package/dist/models/allowance-reason-code.d.ts +24 -0
- package/dist/models/allowance-reason-code.js +28 -0
- package/dist/models/amount-due.d.ts +16 -0
- package/dist/models/amount-due.js +15 -0
- package/dist/models/apierror.d.ts +5 -5
- package/dist/models/apierror.js +2 -2
- package/dist/models/apiprofile.d.ts +21 -0
- package/dist/models/apiprofile.js +25 -0
- package/dist/models/bounding-box-schema.d.ts +10 -10
- package/dist/models/bounding-box-schema.js +2 -2
- package/dist/models/celery-status.d.ts +22 -0
- package/dist/models/celery-status.js +26 -0
- package/dist/models/certificate-info-response.d.ts +23 -23
- package/dist/models/certificate-info-response.js +2 -2
- package/dist/models/chorus-pro-destination.d.ts +23 -0
- package/dist/models/chorus-pro-destination.js +19 -0
- package/dist/models/chorus-pro-result.d.ts +22 -0
- package/dist/models/chorus-pro-result.js +15 -0
- package/dist/models/destination.d.ts +7 -7
- package/dist/models/destination.js +2 -2
- package/dist/models/document-type.d.ts +37 -0
- package/dist/models/document-type.js +41 -0
- package/dist/models/electronic-address.d.ts +19 -0
- package/dist/models/electronic-address.js +15 -0
- package/dist/models/enriched-invoice-info.d.ts +24 -0
- package/dist/models/enriched-invoice-info.js +15 -0
- package/dist/models/error-level.d.ts +2 -2
- package/dist/models/error-level.js +2 -2
- package/dist/models/error-source.d.ts +2 -2
- package/dist/models/error-source.js +2 -2
- package/dist/models/factur-xpdfinfo.d.ts +28 -0
- package/dist/models/factur-xpdfinfo.js +15 -0
- package/dist/models/facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials.d.ts +36 -0
- package/dist/models/facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials.js +15 -0
- package/dist/models/facture-electronique-rest-api-schemas-processing-chorus-pro-credentials.d.ts +24 -0
- package/dist/models/facture-electronique-rest-api-schemas-processing-chorus-pro-credentials.js +15 -0
- package/dist/models/facture-factur-x.d.ts +30 -30
- package/dist/models/facture-factur-x.js +2 -2
- package/dist/models/field-status.d.ts +22 -0
- package/dist/models/field-status.js +26 -0
- package/dist/models/flow-direction.d.ts +19 -0
- package/dist/models/flow-direction.js +23 -0
- package/dist/models/flow-profile.d.ts +20 -0
- package/dist/models/flow-profile.js +24 -0
- package/dist/models/flow-summary.d.ts +24 -0
- package/dist/models/flow-summary.js +15 -0
- package/dist/models/flow-syntax.d.ts +22 -0
- package/dist/models/flow-syntax.js +26 -0
- package/dist/models/flow-type.d.ts +22 -0
- package/dist/models/flow-type.js +26 -0
- package/dist/models/generate-certificate-request.d.ts +21 -21
- package/dist/models/generate-certificate-request.js +2 -2
- package/dist/models/generate-certificate-response.d.ts +12 -12
- package/dist/models/generate-certificate-response.js +2 -2
- package/dist/models/get-chorus-pro-id-request.d.ts +26 -0
- package/dist/models/get-chorus-pro-id-request.js +15 -0
- package/dist/models/get-chorus-pro-id-response.d.ts +29 -0
- package/dist/models/get-chorus-pro-id-response.js +15 -0
- package/dist/models/get-invoice-request.d.ts +22 -0
- package/dist/models/get-invoice-request.js +15 -0
- package/dist/models/get-invoice-response.d.ts +26 -0
- package/dist/models/get-invoice-response.js +15 -0
- package/dist/models/get-structure-request.d.ts +26 -0
- package/dist/models/get-structure-request.js +15 -0
- package/dist/models/get-structure-response.d.ts +26 -0
- package/dist/models/get-structure-response.js +15 -0
- package/dist/models/global-allowance-amount.d.ts +16 -0
- package/dist/models/global-allowance-amount.js +15 -0
- package/dist/models/httpvalidation-error.d.ts +2 -2
- package/dist/models/httpvalidation-error.js +2 -2
- package/dist/models/incoming-invoice.d.ts +68 -0
- package/dist/models/incoming-invoice.js +15 -0
- package/dist/models/incoming-supplier.d.ts +29 -0
- package/dist/models/incoming-supplier.js +15 -0
- package/dist/models/index.d.ts +95 -93
- package/dist/models/index.js +95 -93
- package/dist/models/invoice-format.d.ts +20 -0
- package/dist/models/invoice-format.js +24 -0
- package/dist/models/invoice-line-allowance-amount.d.ts +16 -0
- package/dist/models/invoice-line-allowance-amount.js +15 -0
- package/dist/models/invoice-line.d.ts +39 -0
- package/dist/models/invoice-line.js +15 -0
- package/dist/models/invoice-note.d.ts +18 -0
- package/dist/models/invoice-note.js +15 -0
- package/dist/models/invoice-references.d.ts +27 -0
- package/dist/models/invoice-references.js +15 -0
- package/dist/models/invoice-status.d.ts +25 -0
- package/dist/models/invoice-status.js +15 -0
- package/dist/models/invoice-totals-prepayment.d.ts +16 -0
- package/dist/models/invoice-totals-prepayment.js +15 -0
- package/dist/models/invoice-totals.d.ts +29 -0
- package/dist/models/invoice-totals.js +15 -0
- package/dist/models/invoice-type-code.d.ts +97 -0
- package/dist/models/invoice-type-code.js +101 -0
- package/dist/models/invoicing-framework-code.d.ts +25 -0
- package/dist/models/invoicing-framework-code.js +29 -0
- package/dist/models/invoicing-framework.d.ts +22 -0
- package/dist/models/invoicing-framework.js +15 -0
- package/dist/models/line-net-amount.d.ts +16 -0
- package/dist/models/line-net-amount.js +15 -0
- package/dist/models/mandatory-note-schema.d.ts +34 -0
- package/dist/models/mandatory-note-schema.js +15 -0
- package/dist/models/manual-rate.d.ts +16 -0
- package/dist/models/manual-rate.js +15 -0
- package/dist/models/manual-vat-rate.d.ts +16 -0
- package/dist/models/manual-vat-rate.js +15 -0
- package/dist/models/operation-nature.d.ts +31 -0
- package/dist/models/operation-nature.js +35 -0
- package/dist/models/output-format.d.ts +19 -0
- package/dist/models/output-format.js +23 -0
- package/dist/models/page-dimensions-schema.d.ts +24 -0
- package/dist/models/page-dimensions-schema.js +15 -0
- package/dist/models/payee.d.ts +26 -0
- package/dist/models/payee.js +15 -0
- package/dist/models/payment-means.d.ts +29 -0
- package/dist/models/payment-means.js +33 -0
- package/dist/models/pdfvalidation-result-api.d.ts +93 -0
- package/dist/models/pdfvalidation-result-api.js +15 -0
- package/dist/models/pdpcredentials.d.ts +7 -7
- package/dist/models/pdpcredentials.js +2 -2
- package/dist/models/postal-address.d.ts +21 -0
- package/dist/models/postal-address.js +15 -0
- package/dist/models/processing-options.d.ts +33 -0
- package/dist/models/processing-options.js +15 -0
- package/dist/models/quantity.d.ts +16 -0
- package/dist/models/quantity.js +15 -0
- package/dist/models/recipient.d.ts +24 -0
- package/dist/models/recipient.js +15 -0
- package/dist/models/scheme-id.d.ts +5 -5
- package/dist/models/scheme-id.js +5 -5
- package/dist/models/search-flow-request.d.ts +34 -0
- package/dist/models/search-flow-request.js +15 -0
- package/dist/models/search-flow-response.d.ts +33 -0
- package/dist/models/search-flow-response.js +15 -0
- package/dist/models/search-services-response.d.ts +24 -0
- package/dist/models/search-services-response.js +15 -0
- package/dist/models/search-structure-request.d.ts +25 -0
- package/dist/models/search-structure-request.js +15 -0
- package/dist/models/search-structure-response.d.ts +30 -0
- package/dist/models/search-structure-response.js +15 -0
- package/dist/models/signature-info-api.d.ts +25 -0
- package/dist/models/signature-info-api.js +15 -0
- package/dist/models/signature-info.d.ts +5 -5
- package/dist/models/signature-info.js +2 -2
- package/dist/models/signature-parameters.d.ts +34 -0
- package/dist/models/signature-parameters.js +15 -0
- package/dist/models/simplified-invoice-data.d.ts +46 -0
- package/dist/models/simplified-invoice-data.js +15 -0
- package/dist/models/structure-info.d.ts +13 -13
- package/dist/models/structure-info.js +2 -2
- package/dist/models/structure-parameters.d.ts +28 -0
- package/dist/models/structure-parameters.js +15 -0
- package/dist/models/structure-service.d.ts +32 -0
- package/dist/models/structure-service.js +15 -0
- package/dist/models/submission-mode.d.ts +23 -0
- package/dist/models/submission-mode.js +27 -0
- package/dist/models/submit-complete-invoice-request.d.ts +34 -0
- package/dist/models/submit-complete-invoice-request.js +15 -0
- package/dist/models/submit-complete-invoice-response.d.ts +53 -0
- package/dist/models/submit-complete-invoice-response.js +20 -0
- package/dist/models/submit-flow-request.d.ts +31 -0
- package/dist/models/submit-flow-request.js +15 -0
- package/dist/models/submit-flow-response.d.ts +38 -0
- package/dist/models/submit-flow-response.js +15 -0
- package/dist/models/submit-gross-amount.d.ts +16 -0
- package/dist/models/submit-gross-amount.js +15 -0
- package/dist/models/submit-invoice-request.d.ts +44 -0
- package/dist/models/submit-invoice-request.js +15 -0
- package/dist/models/submit-invoice-response.d.ts +26 -0
- package/dist/models/submit-invoice-response.js +15 -0
- package/dist/models/submit-net-amount.d.ts +16 -0
- package/dist/models/submit-net-amount.js +15 -0
- package/dist/models/submit-vat-amount.d.ts +16 -0
- package/dist/models/submit-vat-amount.js +15 -0
- package/dist/models/supplementary-attachment.d.ts +21 -0
- package/dist/models/supplementary-attachment.js +15 -0
- package/dist/models/supplier.d.ts +28 -0
- package/dist/models/supplier.js +15 -0
- package/dist/models/task-response.d.ts +20 -0
- package/dist/models/task-response.js +15 -0
- package/dist/models/task-status.d.ts +28 -0
- package/dist/models/task-status.js +15 -0
- package/dist/models/taxable-amount.d.ts +16 -0
- package/dist/models/taxable-amount.js +15 -0
- package/dist/models/total-gross-amount.d.ts +16 -0
- package/dist/models/total-gross-amount.js +15 -0
- package/dist/models/total-net-amount.d.ts +16 -0
- package/dist/models/total-net-amount.js +15 -0
- package/dist/models/total-vatamount.d.ts +16 -0
- package/dist/models/total-vatamount.js +15 -0
- package/dist/models/unit-net-price.d.ts +16 -0
- package/dist/models/unit-net-price.js +15 -0
- package/dist/models/unit-of-measure.d.ts +29 -0
- package/dist/models/unit-of-measure.js +33 -0
- package/dist/models/validation-error-detail.d.ts +6 -6
- package/dist/models/validation-error-detail.js +2 -2
- package/dist/models/validation-error-loc-inner.d.ts +2 -2
- package/dist/models/validation-error-loc-inner.js +2 -2
- package/dist/models/validation-error-response.d.ts +20 -0
- package/dist/models/validation-error-response.js +15 -0
- package/dist/models/validation-error.d.ts +2 -2
- package/dist/models/validation-error.js +2 -2
- package/dist/models/validation-success-response.d.ts +20 -0
- package/dist/models/validation-success-response.js +15 -0
- package/dist/models/vataccounting-code.d.ts +25 -0
- package/dist/models/vataccounting-code.js +29 -0
- package/dist/models/vatamount.d.ts +16 -0
- package/dist/models/vatamount.js +15 -0
- package/dist/models/vatcategory.d.ts +26 -0
- package/dist/models/vatcategory.js +30 -0
- package/dist/models/vatline.d.ts +27 -0
- package/dist/models/vatline.js +15 -0
- package/dist/models/verification-success-response.d.ts +56 -0
- package/dist/models/verification-success-response.js +15 -0
- package/dist/models/verified-field-schema.d.ts +42 -0
- package/dist/models/verified-field-schema.js +15 -0
- package/dist/src/helpers/client.d.ts +129 -129
- package/dist/src/helpers/client.js +231 -231
- package/dist/src/helpers/index.d.ts +1 -1
- package/dist/src/helpers/index.js +12 -11
- package/docs/AFNORCredentials.md +25 -0
- package/docs/AFNORDestination.md +27 -0
- package/docs/AFNORHealthCheckResponse.md +25 -0
- package/docs/AFNORPDPPAApi.md +21 -21
- package/docs/AFNORPDPPADirectoryServiceApi.md +70 -70
- package/docs/AFNORPDPPAFlowServiceApi.md +23 -23
- package/docs/AFNORResult.md +29 -0
- package/docs/APIError.md +3 -3
- package/docs/APIProfile.md +15 -0
- package/docs/AcknowledgmentStatus.md +13 -0
- package/docs/AllowanceReasonCode.md +21 -0
- package/docs/AmountDue.md +19 -0
- package/docs/BoundingBoxSchema.md +8 -8
- package/docs/CeleryStatus.md +17 -0
- package/docs/CertificateInfoResponse.md +21 -21
- package/docs/ChorusProApi.md +63 -63
- package/docs/ChorusProDestination.md +23 -0
- package/docs/ChorusProResult.md +25 -0
- package/docs/Destination.md +6 -6
- package/docs/DocumentType.md +17 -0
- package/docs/ElectronicAddress.md +23 -0
- package/docs/EnrichedInvoiceInfo.md +35 -0
- package/docs/FacturXPDFInfo.md +25 -0
- package/docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md +29 -0
- package/docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md +29 -0
- package/docs/FactureFacturX.md +31 -31
- package/docs/FieldStatus.md +17 -0
- package/docs/FlowDirection.md +11 -0
- package/docs/FlowProfile.md +13 -0
- package/docs/FlowSummary.md +35 -0
- package/docs/FlowSyntax.md +17 -0
- package/docs/FlowType.md +17 -0
- package/docs/GenerateCertificateRequest.md +20 -20
- package/docs/GenerateCertificateResponse.md +11 -11
- package/docs/GetChorusProIdRequest.md +25 -0
- package/docs/GetChorusProIdResponse.md +27 -0
- package/docs/GetInvoiceRequest.md +23 -0
- package/docs/GetInvoiceResponse.md +37 -0
- package/docs/GetStructureRequest.md +25 -0
- package/docs/GetStructureResponse.md +37 -0
- package/docs/GlobalAllowanceAmount.md +19 -0
- package/docs/HealthApi.md +97 -0
- package/docs/IncomingInvoice.md +57 -0
- package/docs/IncomingSupplier.md +35 -0
- package/docs/InvoiceFormat.md +13 -0
- package/docs/InvoiceLine.md +49 -0
- package/docs/InvoiceLineAllowanceAmount.md +19 -0
- package/docs/InvoiceNote.md +23 -0
- package/docs/InvoiceProcessingApi.md +670 -0
- package/docs/InvoiceReferences.md +35 -0
- package/docs/InvoiceStatus.md +25 -0
- package/docs/InvoiceTotals.md +33 -0
- package/docs/InvoiceTotalsPrepayment.md +19 -0
- package/docs/InvoiceTypeCode.md +71 -0
- package/docs/InvoicingFramework.md +27 -0
- package/docs/InvoicingFrameworkCode.md +23 -0
- package/docs/LineNetAmount.md +19 -0
- package/docs/MandatoryNoteSchema.md +33 -0
- package/docs/ManualRate.md +19 -0
- package/docs/ManualVatRate.md +19 -0
- package/docs/OperationNature.md +35 -0
- package/docs/OutputFormat.md +11 -0
- package/docs/PDFValidationResultAPI.md +65 -0
- package/docs/PDFXMLVerificationApi.md +335 -0
- package/docs/PDPCredentials.md +5 -5
- package/docs/PageDimensionsSchema.md +23 -0
- package/docs/Payee.md +31 -0
- package/docs/PaymentMeans.md +31 -0
- package/docs/PostalAddress.md +29 -0
- package/docs/ProcessingOptions.md +27 -0
- package/docs/Quantity.md +19 -0
- package/docs/Recipient.md +31 -0
- package/docs/SchemeID.md +1 -1
- package/docs/SearchFlowRequest.md +37 -0
- package/docs/SearchFlowResponse.md +27 -0
- package/docs/SearchServicesResponse.md +27 -0
- package/docs/SearchStructureRequest.md +29 -0
- package/docs/SearchStructureResponse.md +27 -0
- package/docs/SignatureInfo.md +3 -3
- package/docs/SignatureInfoAPI.md +31 -0
- package/docs/SignatureParameters.md +37 -0
- package/docs/SimplifiedInvoiceData.md +37 -0
- package/docs/StructureInfo.md +11 -11
- package/docs/StructureParameters.md +25 -0
- package/docs/StructureService.md +27 -0
- package/docs/SubmissionMode.md +19 -0
- package/docs/SubmitCompleteInvoiceRequest.md +29 -0
- package/docs/SubmitCompleteInvoiceResponse.md +37 -0
- package/docs/SubmitFlowRequest.md +31 -0
- package/docs/SubmitFlowResponse.md +33 -0
- package/docs/SubmitGrossAmount.md +19 -0
- package/docs/SubmitInvoiceRequest.md +49 -0
- package/docs/SubmitInvoiceResponse.md +27 -0
- package/docs/SubmitNetAmount.md +19 -0
- package/docs/SubmitVatAmount.md +19 -0
- package/docs/SupplementaryAttachment.md +29 -0
- package/docs/Supplier.md +39 -0
- package/docs/TaskResponse.md +21 -0
- package/docs/TaskStatus.md +25 -0
- package/docs/TaxableAmount.md +19 -0
- package/docs/TotalGrossAmount.md +19 -0
- package/docs/TotalNetAmount.md +19 -0
- package/docs/TotalVATAmount.md +19 -0
- package/docs/UnitNetPrice.md +19 -0
- package/docs/UnitOfMeasure.md +31 -0
- package/docs/UserApi.md +52 -0
- package/docs/VATAccountingCode.md +23 -0
- package/docs/VATAmount.md +19 -0
- package/docs/VATCategory.md +25 -0
- package/docs/VATLine.md +33 -0
- package/docs/ValidationErrorDetail.md +4 -4
- package/docs/ValidationErrorResponse.md +21 -0
- package/docs/ValidationSuccessResponse.md +21 -0
- package/docs/VerificationSuccessResponse.md +39 -0
- package/docs/VerifiedFieldSchema.md +37 -0
- package/index.ts +2 -2
- package/models/acknowledgment-status.ts +30 -0
- package/models/afnorcredentials.ts +25 -0
- package/models/afnordestination.ts +46 -0
- package/models/afnorhealth-check-response.ts +34 -0
- package/models/afnorresult.ts +36 -0
- package/models/allowance-reason-code.ts +34 -0
- package/models/amount-due.ts +22 -0
- package/models/apierror.ts +5 -5
- package/models/apiprofile.ts +31 -0
- package/models/bounding-box-schema.ts +10 -10
- package/models/celery-status.ts +32 -0
- package/models/certificate-info-response.ts +23 -23
- package/models/chorus-pro-destination.ts +34 -0
- package/models/chorus-pro-result.ts +28 -0
- package/models/destination.ts +7 -7
- package/models/document-type.ts +47 -0
- package/models/electronic-address.ts +29 -0
- package/models/enriched-invoice-info.ts +30 -0
- package/models/error-level.ts +2 -2
- package/models/error-source.ts +2 -2
- package/models/factur-xpdfinfo.ts +34 -0
- package/models/facture-electronique-rest-api-schemas-chorus-pro-chorus-pro-credentials.ts +42 -0
- package/models/facture-electronique-rest-api-schemas-processing-chorus-pro-credentials.ts +30 -0
- package/models/facture-factur-x.ts +30 -30
- package/models/field-status.ts +32 -0
- package/models/flow-direction.ts +29 -0
- package/models/flow-profile.ts +30 -0
- package/models/flow-summary.ts +30 -0
- package/models/flow-syntax.ts +32 -0
- package/models/flow-type.ts +32 -0
- package/models/generate-certificate-request.ts +21 -21
- package/models/generate-certificate-response.ts +12 -12
- package/models/get-chorus-pro-id-request.ts +34 -0
- package/models/get-chorus-pro-id-response.ts +35 -0
- package/models/get-invoice-request.ts +30 -0
- package/models/get-invoice-response.ts +34 -0
- package/models/get-structure-request.ts +34 -0
- package/models/get-structure-response.ts +34 -0
- package/models/global-allowance-amount.ts +22 -0
- package/models/httpvalidation-error.ts +2 -2
- package/models/incoming-invoice.ts +82 -0
- package/models/incoming-supplier.ts +39 -0
- package/models/index.ts +95 -93
- package/models/invoice-format.ts +30 -0
- package/models/invoice-line-allowance-amount.ts +22 -0
- package/models/invoice-line.ts +63 -0
- package/models/invoice-note.ts +24 -0
- package/models/invoice-references.ts +41 -0
- package/models/invoice-status.ts +31 -0
- package/models/invoice-totals-prepayment.ts +22 -0
- package/models/invoice-totals.ts +47 -0
- package/models/invoice-type-code.ts +107 -0
- package/models/invoicing-framework-code.ts +35 -0
- package/models/invoicing-framework.ts +34 -0
- package/models/line-net-amount.ts +22 -0
- package/models/mandatory-note-schema.ts +46 -0
- package/models/manual-rate.ts +22 -0
- package/models/manual-vat-rate.ts +22 -0
- package/models/operation-nature.ts +41 -0
- package/models/output-format.ts +29 -0
- package/models/page-dimensions-schema.ts +30 -0
- package/models/payee.ts +34 -0
- package/models/payment-means.ts +39 -0
- package/models/pdfvalidation-result-api.ts +99 -0
- package/models/pdpcredentials.ts +7 -7
- package/models/postal-address.ts +27 -0
- package/models/processing-options.ts +43 -0
- package/models/quantity.ts +22 -0
- package/models/recipient.ts +34 -0
- package/models/scheme-id.ts +5 -5
- package/models/search-flow-request.ts +48 -0
- package/models/search-flow-response.ts +41 -0
- package/models/search-services-response.ts +32 -0
- package/models/search-structure-request.ts +33 -0
- package/models/search-structure-response.ts +38 -0
- package/models/signature-info-api.ts +31 -0
- package/models/signature-info.ts +5 -5
- package/models/signature-parameters.ts +40 -0
- package/models/simplified-invoice-data.ts +46 -0
- package/models/structure-info.ts +13 -13
- package/models/structure-parameters.ts +34 -0
- package/models/structure-service.ts +38 -0
- package/models/submission-mode.ts +33 -0
- package/models/submit-complete-invoice-request.ts +48 -0
- package/models/submit-complete-invoice-response.ts +72 -0
- package/models/submit-flow-request.ts +45 -0
- package/models/submit-flow-response.ts +44 -0
- package/models/submit-gross-amount.ts +22 -0
- package/models/submit-invoice-request.ts +58 -0
- package/models/submit-invoice-response.ts +32 -0
- package/models/submit-net-amount.ts +22 -0
- package/models/submit-vat-amount.ts +22 -0
- package/models/supplementary-attachment.ts +27 -0
- package/models/supplier.ts +38 -0
- package/models/task-response.ts +26 -0
- package/models/task-status.ts +36 -0
- package/models/taxable-amount.ts +22 -0
- package/models/total-gross-amount.ts +22 -0
- package/models/total-net-amount.ts +22 -0
- package/models/total-vatamount.ts +22 -0
- package/models/unit-net-price.ts +22 -0
- package/models/unit-of-measure.ts +39 -0
- package/models/validation-error-detail.ts +6 -6
- package/models/validation-error-loc-inner.ts +2 -2
- package/models/validation-error-response.ts +26 -0
- package/models/validation-error.ts +2 -2
- package/models/validation-success-response.ts +26 -0
- package/models/vataccounting-code.ts +35 -0
- package/models/vatamount.ts +22 -0
- package/models/vatcategory.ts +36 -0
- package/models/vatline.ts +43 -0
- package/models/verification-success-response.ts +68 -0
- package/models/verified-field-schema.ts +54 -0
- package/package.json +1 -1
- package/src/helpers/client.ts +233 -233
- package/src/helpers/index.ts +3 -3
- package/api/sant-api.ts +0 -176
- package/api/traitement-facture-api.ts +0 -1083
- package/api/utilisateur-api.ts +0 -119
- package/api/vrification-pdfxmlapi.ts +0 -536
- package/dist/api/sant-api.d.ts +0 -90
- package/dist/api/sant-api.js +0 -184
- package/dist/api/traitement-facture-api.d.ts +0 -480
- package/dist/api/traitement-facture-api.js +0 -1010
- package/dist/api/utilisateur-api.d.ts +0 -62
- package/dist/api/utilisateur-api.js +0 -128
- package/dist/api/vrification-pdfxmlapi.d.ts +0 -237
- package/dist/api/vrification-pdfxmlapi.js +0 -514
- package/dist/esm/api/sant-api.d.ts +0 -90
- package/dist/esm/api/sant-api.js +0 -174
- package/dist/esm/api/traitement-facture-api.d.ts +0 -480
- package/dist/esm/api/traitement-facture-api.js +0 -1000
- package/dist/esm/api/utilisateur-api.d.ts +0 -62
- package/dist/esm/api/utilisateur-api.js +0 -118
- package/dist/esm/api/vrification-pdfxmlapi.d.ts +0 -237
- package/dist/esm/api/vrification-pdfxmlapi.js +0 -504
- package/dist/esm/models/adresse-electronique.d.ts +0 -19
- package/dist/esm/models/adresse-electronique.js +0 -14
- package/dist/esm/models/adresse-postale.d.ts +0 -21
- package/dist/esm/models/adresse-postale.js +0 -14
- package/dist/esm/models/beneficiaire.d.ts +0 -26
- package/dist/esm/models/beneficiaire.js +0 -14
- package/dist/esm/models/cadre-de-facturation.d.ts +0 -22
- package/dist/esm/models/cadre-de-facturation.js +0 -14
- package/dist/esm/models/categorie-tva.d.ts +0 -53
- package/dist/esm/models/categorie-tva.js +0 -54
- package/dist/esm/models/champ-verifie-schema.d.ts +0 -42
- package/dist/esm/models/champ-verifie-schema.js +0 -14
- package/dist/esm/models/chorus-pro-credentials.d.ts +0 -36
- package/dist/esm/models/chorus-pro-credentials.js +0 -14
- package/dist/esm/models/code-cadre-facturation.d.ts +0 -21
- package/dist/esm/models/code-cadre-facturation.js +0 -22
- package/dist/esm/models/code-raison-reduction.d.ts +0 -45
- package/dist/esm/models/code-raison-reduction.js +0 -46
- package/dist/esm/models/consulter-facture-request.d.ts +0 -22
- package/dist/esm/models/consulter-facture-request.js +0 -14
- package/dist/esm/models/consulter-facture-response.d.ts +0 -26
- package/dist/esm/models/consulter-facture-response.js +0 -14
- package/dist/esm/models/consulter-structure-request.d.ts +0 -26
- package/dist/esm/models/consulter-structure-request.js +0 -14
- package/dist/esm/models/consulter-structure-response.d.ts +0 -26
- package/dist/esm/models/consulter-structure-response.js +0 -14
- package/dist/esm/models/credentials-afnor.d.ts +0 -19
- package/dist/esm/models/credentials-afnor.js +0 -14
- package/dist/esm/models/credentials-chorus-pro.d.ts +0 -24
- package/dist/esm/models/credentials-chorus-pro.js +0 -14
- package/dist/esm/models/destinataire.d.ts +0 -24
- package/dist/esm/models/destinataire.js +0 -14
- package/dist/esm/models/destination-afnor.d.ts +0 -34
- package/dist/esm/models/destination-afnor.js +0 -21
- package/dist/esm/models/destination-chorus-pro.d.ts +0 -23
- package/dist/esm/models/destination-chorus-pro.js +0 -16
- package/dist/esm/models/dimension-page-schema.d.ts +0 -24
- package/dist/esm/models/dimension-page-schema.js +0 -14
- package/dist/esm/models/direction-flux.d.ts +0 -19
- package/dist/esm/models/direction-flux.js +0 -20
- package/dist/esm/models/donnees-facture-simplifiees.d.ts +0 -46
- package/dist/esm/models/donnees-facture-simplifiees.js +0 -14
- package/dist/esm/models/facture-enrichie-info.d.ts +0 -24
- package/dist/esm/models/facture-enrichie-info.js +0 -14
- package/dist/esm/models/facture-entrante.d.ts +0 -68
- package/dist/esm/models/facture-entrante.js +0 -14
- package/dist/esm/models/flux-resume.d.ts +0 -24
- package/dist/esm/models/flux-resume.js +0 -14
- package/dist/esm/models/format-facture.d.ts +0 -20
- package/dist/esm/models/format-facture.js +0 -21
- package/dist/esm/models/format-sortie.d.ts +0 -16
- package/dist/esm/models/format-sortie.js +0 -17
- package/dist/esm/models/fournisseur-entrant.d.ts +0 -29
- package/dist/esm/models/fournisseur-entrant.js +0 -14
- package/dist/esm/models/fournisseur.d.ts +0 -28
- package/dist/esm/models/fournisseur.js +0 -14
- package/dist/esm/models/information-signature-api.d.ts +0 -25
- package/dist/esm/models/information-signature-api.js +0 -14
- package/dist/esm/models/ligne-de-poste-montant-remise-ht.d.ts +0 -16
- package/dist/esm/models/ligne-de-poste-montant-remise-ht.js +0 -14
- package/dist/esm/models/ligne-de-poste-taux-tva-manuel.d.ts +0 -16
- package/dist/esm/models/ligne-de-poste-taux-tva-manuel.js +0 -14
- package/dist/esm/models/ligne-de-poste.d.ts +0 -39
- package/dist/esm/models/ligne-de-poste.js +0 -14
- package/dist/esm/models/ligne-de-tva.d.ts +0 -27
- package/dist/esm/models/ligne-de-tva.js +0 -14
- package/dist/esm/models/mode-depot.d.ts +0 -20
- package/dist/esm/models/mode-depot.js +0 -21
- package/dist/esm/models/mode-paiement.d.ts +0 -23
- package/dist/esm/models/mode-paiement.js +0 -24
- package/dist/esm/models/montant-apayer.d.ts +0 -16
- package/dist/esm/models/montant-apayer.js +0 -14
- package/dist/esm/models/montant-base-ht.d.ts +0 -16
- package/dist/esm/models/montant-base-ht.js +0 -14
- package/dist/esm/models/montant-ht-total.d.ts +0 -16
- package/dist/esm/models/montant-ht-total.js +0 -14
- package/dist/esm/models/montant-remise-globale-ttc.d.ts +0 -16
- package/dist/esm/models/montant-remise-globale-ttc.js +0 -14
- package/dist/esm/models/montant-total-acompte.d.ts +0 -16
- package/dist/esm/models/montant-total-acompte.js +0 -14
- package/dist/esm/models/montant-total-ligne-ht.d.ts +0 -16
- package/dist/esm/models/montant-total-ligne-ht.js +0 -14
- package/dist/esm/models/montant-total.d.ts +0 -29
- package/dist/esm/models/montant-total.js +0 -14
- package/dist/esm/models/montant-ttc-total.d.ts +0 -16
- package/dist/esm/models/montant-ttc-total.js +0 -14
- package/dist/esm/models/montant-tva-ligne.d.ts +0 -16
- package/dist/esm/models/montant-tva-ligne.js +0 -14
- package/dist/esm/models/montant-tva-total.d.ts +0 -16
- package/dist/esm/models/montant-tva-total.js +0 -14
- package/dist/esm/models/montant-tva.d.ts +0 -16
- package/dist/esm/models/montant-tva.js +0 -14
- package/dist/esm/models/montant-unitaire-ht.d.ts +0 -16
- package/dist/esm/models/montant-unitaire-ht.js +0 -14
- package/dist/esm/models/nature-operation.d.ts +0 -31
- package/dist/esm/models/nature-operation.js +0 -32
- package/dist/esm/models/note-obligatoire-schema.d.ts +0 -34
- package/dist/esm/models/note-obligatoire-schema.js +0 -14
- package/dist/esm/models/note.d.ts +0 -18
- package/dist/esm/models/note.js +0 -14
- package/dist/esm/models/obtenir-id-chorus-pro-request.d.ts +0 -26
- package/dist/esm/models/obtenir-id-chorus-pro-request.js +0 -14
- package/dist/esm/models/obtenir-id-chorus-pro-response.d.ts +0 -29
- package/dist/esm/models/obtenir-id-chorus-pro-response.js +0 -14
- package/dist/esm/models/options-processing.d.ts +0 -33
- package/dist/esm/models/options-processing.js +0 -14
- package/dist/esm/models/parametres-signature.d.ts +0 -34
- package/dist/esm/models/parametres-signature.js +0 -14
- package/dist/esm/models/parametres-structure.d.ts +0 -28
- package/dist/esm/models/parametres-structure.js +0 -14
- package/dist/esm/models/pdffactur-xinfo.d.ts +0 -28
- package/dist/esm/models/pdffactur-xinfo.js +0 -14
- package/dist/esm/models/piece-jointe-complementaire.d.ts +0 -21
- package/dist/esm/models/piece-jointe-complementaire.js +0 -14
- package/dist/esm/models/profil-api.d.ts +0 -18
- package/dist/esm/models/profil-api.js +0 -19
- package/dist/esm/models/profil-flux.d.ts +0 -20
- package/dist/esm/models/profil-flux.js +0 -21
- package/dist/esm/models/quantite.d.ts +0 -16
- package/dist/esm/models/quantite.js +0 -14
- package/dist/esm/models/rechercher-services-response.d.ts +0 -24
- package/dist/esm/models/rechercher-services-response.js +0 -14
- package/dist/esm/models/rechercher-structure-request.d.ts +0 -25
- package/dist/esm/models/rechercher-structure-request.js +0 -14
- package/dist/esm/models/rechercher-structure-response.d.ts +0 -30
- package/dist/esm/models/rechercher-structure-response.js +0 -14
- package/dist/esm/models/references.d.ts +0 -27
- package/dist/esm/models/references.js +0 -14
- package/dist/esm/models/reponse-healthcheck-afnor.d.ts +0 -28
- package/dist/esm/models/reponse-healthcheck-afnor.js +0 -14
- package/dist/esm/models/reponse-recherche-flux.d.ts +0 -33
- package/dist/esm/models/reponse-recherche-flux.js +0 -14
- package/dist/esm/models/reponse-soumission-flux.d.ts +0 -38
- package/dist/esm/models/reponse-soumission-flux.js +0 -14
- package/dist/esm/models/reponse-tache.d.ts +0 -17
- package/dist/esm/models/reponse-tache.js +0 -14
- package/dist/esm/models/reponse-validation-erreur.d.ts +0 -17
- package/dist/esm/models/reponse-validation-erreur.js +0 -14
- package/dist/esm/models/reponse-validation-succes.d.ts +0 -17
- package/dist/esm/models/reponse-validation-succes.js +0 -14
- package/dist/esm/models/reponse-verification-succes.d.ts +0 -56
- package/dist/esm/models/reponse-verification-succes.js +0 -14
- package/dist/esm/models/requete-recherche-flux.d.ts +0 -34
- package/dist/esm/models/requete-recherche-flux.js +0 -14
- package/dist/esm/models/requete-soumission-flux.d.ts +0 -31
- package/dist/esm/models/requete-soumission-flux.js +0 -14
- package/dist/esm/models/resultat-afnor.d.ts +0 -30
- package/dist/esm/models/resultat-afnor.js +0 -14
- package/dist/esm/models/resultat-chorus-pro.d.ts +0 -22
- package/dist/esm/models/resultat-chorus-pro.js +0 -14
- package/dist/esm/models/resultat-validation-pdfapi.d.ts +0 -93
- package/dist/esm/models/resultat-validation-pdfapi.js +0 -14
- package/dist/esm/models/service-structure.d.ts +0 -32
- package/dist/esm/models/service-structure.js +0 -14
- package/dist/esm/models/soumettre-facture-complete-request.d.ts +0 -34
- package/dist/esm/models/soumettre-facture-complete-request.js +0 -14
- package/dist/esm/models/soumettre-facture-complete-response.d.ts +0 -53
- package/dist/esm/models/soumettre-facture-complete-response.js +0 -17
- package/dist/esm/models/soumettre-facture-request.d.ts +0 -44
- package/dist/esm/models/soumettre-facture-request.js +0 -14
- package/dist/esm/models/soumettre-facture-response.d.ts +0 -26
- package/dist/esm/models/soumettre-facture-response.js +0 -14
- package/dist/esm/models/statut-acquittement.d.ts +0 -20
- package/dist/esm/models/statut-acquittement.js +0 -21
- package/dist/esm/models/statut-celery.d.ts +0 -22
- package/dist/esm/models/statut-celery.js +0 -23
- package/dist/esm/models/statut-champ-api.d.ts +0 -22
- package/dist/esm/models/statut-champ-api.js +0 -23
- package/dist/esm/models/statut-facture.d.ts +0 -25
- package/dist/esm/models/statut-facture.js +0 -14
- package/dist/esm/models/statut-tache.d.ts +0 -25
- package/dist/esm/models/statut-tache.js +0 -14
- package/dist/esm/models/syntaxe-flux.d.ts +0 -22
- package/dist/esm/models/syntaxe-flux.js +0 -23
- package/dist/esm/models/tauxmanuel.d.ts +0 -16
- package/dist/esm/models/tauxmanuel.js +0 -14
- package/dist/esm/models/type-document.d.ts +0 -37
- package/dist/esm/models/type-document.js +0 -38
- package/dist/esm/models/type-facture.d.ts +0 -81
- package/dist/esm/models/type-facture.js +0 -82
- package/dist/esm/models/type-flux.d.ts +0 -22
- package/dist/esm/models/type-flux.js +0 -23
- package/dist/esm/models/type-tva.d.ts +0 -21
- package/dist/esm/models/type-tva.js +0 -22
- package/dist/esm/models/unite.d.ts +0 -23
- package/dist/esm/models/unite.js +0 -24
- package/dist/models/adresse-electronique.d.ts +0 -19
- package/dist/models/adresse-electronique.js +0 -15
- package/dist/models/adresse-postale.d.ts +0 -21
- package/dist/models/adresse-postale.js +0 -15
- package/dist/models/beneficiaire.d.ts +0 -26
- package/dist/models/beneficiaire.js +0 -15
- package/dist/models/cadre-de-facturation.d.ts +0 -22
- package/dist/models/cadre-de-facturation.js +0 -15
- package/dist/models/categorie-tva.d.ts +0 -53
- package/dist/models/categorie-tva.js +0 -57
- package/dist/models/champ-verifie-schema.d.ts +0 -42
- package/dist/models/champ-verifie-schema.js +0 -15
- package/dist/models/chorus-pro-credentials.d.ts +0 -36
- package/dist/models/chorus-pro-credentials.js +0 -15
- package/dist/models/code-cadre-facturation.d.ts +0 -21
- package/dist/models/code-cadre-facturation.js +0 -25
- package/dist/models/code-raison-reduction.d.ts +0 -45
- package/dist/models/code-raison-reduction.js +0 -49
- package/dist/models/consulter-facture-request.d.ts +0 -22
- package/dist/models/consulter-facture-request.js +0 -15
- package/dist/models/consulter-facture-response.d.ts +0 -26
- package/dist/models/consulter-facture-response.js +0 -15
- package/dist/models/consulter-structure-request.d.ts +0 -26
- package/dist/models/consulter-structure-request.js +0 -15
- package/dist/models/consulter-structure-response.d.ts +0 -26
- package/dist/models/consulter-structure-response.js +0 -15
- package/dist/models/credentials-afnor.d.ts +0 -19
- package/dist/models/credentials-afnor.js +0 -15
- package/dist/models/credentials-chorus-pro.d.ts +0 -24
- package/dist/models/credentials-chorus-pro.js +0 -15
- package/dist/models/destinataire.d.ts +0 -24
- package/dist/models/destinataire.js +0 -15
- package/dist/models/destination-afnor.d.ts +0 -34
- package/dist/models/destination-afnor.js +0 -24
- package/dist/models/destination-chorus-pro.d.ts +0 -23
- package/dist/models/destination-chorus-pro.js +0 -19
- package/dist/models/dimension-page-schema.d.ts +0 -24
- package/dist/models/dimension-page-schema.js +0 -15
- package/dist/models/direction-flux.d.ts +0 -19
- package/dist/models/direction-flux.js +0 -23
- package/dist/models/donnees-facture-simplifiees.d.ts +0 -46
- package/dist/models/donnees-facture-simplifiees.js +0 -15
- package/dist/models/facture-enrichie-info.d.ts +0 -24
- package/dist/models/facture-enrichie-info.js +0 -15
- package/dist/models/facture-entrante.d.ts +0 -68
- package/dist/models/facture-entrante.js +0 -15
- package/dist/models/flux-resume.d.ts +0 -24
- package/dist/models/flux-resume.js +0 -15
- package/dist/models/format-facture.d.ts +0 -20
- package/dist/models/format-facture.js +0 -24
- package/dist/models/format-sortie.d.ts +0 -16
- package/dist/models/format-sortie.js +0 -20
- package/dist/models/fournisseur-entrant.d.ts +0 -29
- package/dist/models/fournisseur-entrant.js +0 -15
- package/dist/models/fournisseur.d.ts +0 -28
- package/dist/models/fournisseur.js +0 -15
- package/dist/models/information-signature-api.d.ts +0 -25
- package/dist/models/information-signature-api.js +0 -15
- package/dist/models/ligne-de-poste-montant-remise-ht.d.ts +0 -16
- package/dist/models/ligne-de-poste-montant-remise-ht.js +0 -15
- package/dist/models/ligne-de-poste-taux-tva-manuel.d.ts +0 -16
- package/dist/models/ligne-de-poste-taux-tva-manuel.js +0 -15
- package/dist/models/ligne-de-poste.d.ts +0 -39
- package/dist/models/ligne-de-poste.js +0 -15
- package/dist/models/ligne-de-tva.d.ts +0 -27
- package/dist/models/ligne-de-tva.js +0 -15
- package/dist/models/mode-depot.d.ts +0 -20
- package/dist/models/mode-depot.js +0 -24
- package/dist/models/mode-paiement.d.ts +0 -23
- package/dist/models/mode-paiement.js +0 -27
- package/dist/models/montant-apayer.d.ts +0 -16
- package/dist/models/montant-apayer.js +0 -15
- package/dist/models/montant-base-ht.d.ts +0 -16
- package/dist/models/montant-base-ht.js +0 -15
- package/dist/models/montant-ht-total.d.ts +0 -16
- package/dist/models/montant-ht-total.js +0 -15
- package/dist/models/montant-remise-globale-ttc.d.ts +0 -16
- package/dist/models/montant-remise-globale-ttc.js +0 -15
- package/dist/models/montant-total-acompte.d.ts +0 -16
- package/dist/models/montant-total-acompte.js +0 -15
- package/dist/models/montant-total-ligne-ht.d.ts +0 -16
- package/dist/models/montant-total-ligne-ht.js +0 -15
- package/dist/models/montant-total.d.ts +0 -29
- package/dist/models/montant-total.js +0 -15
- package/dist/models/montant-ttc-total.d.ts +0 -16
- package/dist/models/montant-ttc-total.js +0 -15
- package/dist/models/montant-tva-ligne.d.ts +0 -16
- package/dist/models/montant-tva-ligne.js +0 -15
- package/dist/models/montant-tva-total.d.ts +0 -16
- package/dist/models/montant-tva-total.js +0 -15
- package/dist/models/montant-tva.d.ts +0 -16
- package/dist/models/montant-tva.js +0 -15
- package/dist/models/montant-unitaire-ht.d.ts +0 -16
- package/dist/models/montant-unitaire-ht.js +0 -15
- package/dist/models/nature-operation.d.ts +0 -31
- package/dist/models/nature-operation.js +0 -35
- package/dist/models/note-obligatoire-schema.d.ts +0 -34
- package/dist/models/note-obligatoire-schema.js +0 -15
- package/dist/models/note.d.ts +0 -18
- package/dist/models/note.js +0 -15
- package/dist/models/obtenir-id-chorus-pro-request.d.ts +0 -26
- package/dist/models/obtenir-id-chorus-pro-request.js +0 -15
- package/dist/models/obtenir-id-chorus-pro-response.d.ts +0 -29
- package/dist/models/obtenir-id-chorus-pro-response.js +0 -15
- package/dist/models/options-processing.d.ts +0 -33
- package/dist/models/options-processing.js +0 -15
- package/dist/models/parametres-signature.d.ts +0 -34
- package/dist/models/parametres-signature.js +0 -15
- package/dist/models/parametres-structure.d.ts +0 -28
- package/dist/models/parametres-structure.js +0 -15
- package/dist/models/pdffactur-xinfo.d.ts +0 -28
- package/dist/models/pdffactur-xinfo.js +0 -15
- package/dist/models/piece-jointe-complementaire.d.ts +0 -21
- package/dist/models/piece-jointe-complementaire.js +0 -15
- package/dist/models/profil-api.d.ts +0 -18
- package/dist/models/profil-api.js +0 -22
- package/dist/models/profil-flux.d.ts +0 -20
- package/dist/models/profil-flux.js +0 -24
- package/dist/models/quantite.d.ts +0 -16
- package/dist/models/quantite.js +0 -15
- package/dist/models/rechercher-services-response.d.ts +0 -24
- package/dist/models/rechercher-services-response.js +0 -15
- package/dist/models/rechercher-structure-request.d.ts +0 -25
- package/dist/models/rechercher-structure-request.js +0 -15
- package/dist/models/rechercher-structure-response.d.ts +0 -30
- package/dist/models/rechercher-structure-response.js +0 -15
- package/dist/models/references.d.ts +0 -27
- package/dist/models/references.js +0 -15
- package/dist/models/reponse-healthcheck-afnor.d.ts +0 -28
- package/dist/models/reponse-healthcheck-afnor.js +0 -15
- package/dist/models/reponse-recherche-flux.d.ts +0 -33
- package/dist/models/reponse-recherche-flux.js +0 -15
- package/dist/models/reponse-soumission-flux.d.ts +0 -38
- package/dist/models/reponse-soumission-flux.js +0 -15
- package/dist/models/reponse-tache.d.ts +0 -17
- package/dist/models/reponse-tache.js +0 -15
- package/dist/models/reponse-validation-erreur.d.ts +0 -17
- package/dist/models/reponse-validation-erreur.js +0 -15
- package/dist/models/reponse-validation-succes.d.ts +0 -17
- package/dist/models/reponse-validation-succes.js +0 -15
- package/dist/models/reponse-verification-succes.d.ts +0 -56
- package/dist/models/reponse-verification-succes.js +0 -15
- package/dist/models/requete-recherche-flux.d.ts +0 -34
- package/dist/models/requete-recherche-flux.js +0 -15
- package/dist/models/requete-soumission-flux.d.ts +0 -31
- package/dist/models/requete-soumission-flux.js +0 -15
- package/dist/models/resultat-afnor.d.ts +0 -30
- package/dist/models/resultat-afnor.js +0 -15
- package/dist/models/resultat-chorus-pro.d.ts +0 -22
- package/dist/models/resultat-chorus-pro.js +0 -15
- package/dist/models/resultat-validation-pdfapi.d.ts +0 -93
- package/dist/models/resultat-validation-pdfapi.js +0 -15
- package/dist/models/service-structure.d.ts +0 -32
- package/dist/models/service-structure.js +0 -15
- package/dist/models/soumettre-facture-complete-request.d.ts +0 -34
- package/dist/models/soumettre-facture-complete-request.js +0 -15
- package/dist/models/soumettre-facture-complete-response.d.ts +0 -53
- package/dist/models/soumettre-facture-complete-response.js +0 -20
- package/dist/models/soumettre-facture-request.d.ts +0 -44
- package/dist/models/soumettre-facture-request.js +0 -15
- package/dist/models/soumettre-facture-response.d.ts +0 -26
- package/dist/models/soumettre-facture-response.js +0 -15
- package/dist/models/statut-acquittement.d.ts +0 -20
- package/dist/models/statut-acquittement.js +0 -24
- package/dist/models/statut-celery.d.ts +0 -22
- package/dist/models/statut-celery.js +0 -26
- package/dist/models/statut-champ-api.d.ts +0 -22
- package/dist/models/statut-champ-api.js +0 -26
- package/dist/models/statut-facture.d.ts +0 -25
- package/dist/models/statut-facture.js +0 -15
- package/dist/models/statut-tache.d.ts +0 -25
- package/dist/models/statut-tache.js +0 -15
- package/dist/models/syntaxe-flux.d.ts +0 -22
- package/dist/models/syntaxe-flux.js +0 -26
- package/dist/models/tauxmanuel.d.ts +0 -16
- package/dist/models/tauxmanuel.js +0 -15
- package/dist/models/type-document.d.ts +0 -37
- package/dist/models/type-document.js +0 -41
- package/dist/models/type-facture.d.ts +0 -81
- package/dist/models/type-facture.js +0 -85
- package/dist/models/type-flux.d.ts +0 -22
- package/dist/models/type-flux.js +0 -26
- package/dist/models/type-tva.d.ts +0 -21
- package/dist/models/type-tva.js +0 -25
- package/dist/models/unite.d.ts +0 -23
- package/dist/models/unite.js +0 -27
- package/docs/AdresseElectronique.md +0 -23
- package/docs/AdressePostale.md +0 -29
- package/docs/Beneficiaire.md +0 -31
- package/docs/CadreDeFacturation.md +0 -27
- package/docs/CategorieTVA.md +0 -25
- package/docs/ChampVerifieSchema.md +0 -37
- package/docs/ChorusProCredentials.md +0 -29
- package/docs/CodeCadreFacturation.md +0 -15
- package/docs/CodeRaisonReduction.md +0 -21
- package/docs/ConsulterFactureRequest.md +0 -23
- package/docs/ConsulterFactureResponse.md +0 -37
- package/docs/ConsulterStructureRequest.md +0 -25
- package/docs/ConsulterStructureResponse.md +0 -37
- package/docs/CredentialsAFNOR.md +0 -25
- package/docs/CredentialsChorusPro.md +0 -29
- package/docs/Destinataire.md +0 -31
- package/docs/DestinationAFNOR.md +0 -27
- package/docs/DestinationChorusPro.md +0 -23
- package/docs/DimensionPageSchema.md +0 -23
- package/docs/DirectionFlux.md +0 -11
- package/docs/DonneesFactureSimplifiees.md +0 -37
- package/docs/FactureEnrichieInfo.md +0 -35
- package/docs/FactureEntrante.md +0 -57
- package/docs/FluxResume.md +0 -35
- package/docs/FormatFacture.md +0 -13
- package/docs/FormatSortie.md +0 -10
- package/docs/Fournisseur.md +0 -39
- package/docs/FournisseurEntrant.md +0 -35
- package/docs/InformationSignatureAPI.md +0 -31
- package/docs/LigneDePoste.md +0 -49
- package/docs/LigneDePosteMontantRemiseHt.md +0 -19
- package/docs/LigneDePosteTauxTvaManuel.md +0 -19
- package/docs/LigneDeTVA.md +0 -33
- package/docs/ModeDepot.md +0 -13
- package/docs/ModePaiement.md +0 -19
- package/docs/MontantAPayer.md +0 -19
- package/docs/MontantBaseHt.md +0 -19
- package/docs/MontantHtTotal.md +0 -19
- package/docs/MontantRemiseGlobaleTtc.md +0 -19
- package/docs/MontantTotal.md +0 -33
- package/docs/MontantTotalAcompte.md +0 -19
- package/docs/MontantTotalLigneHt.md +0 -19
- package/docs/MontantTtcTotal.md +0 -19
- package/docs/MontantTva.md +0 -19
- package/docs/MontantTvaLigne.md +0 -19
- package/docs/MontantTvaTotal.md +0 -19
- package/docs/MontantUnitaireHt.md +0 -19
- package/docs/NatureOperation.md +0 -35
- package/docs/Note.md +0 -23
- package/docs/NoteObligatoireSchema.md +0 -33
- package/docs/ObtenirIdChorusProRequest.md +0 -25
- package/docs/ObtenirIdChorusProResponse.md +0 -27
- package/docs/OptionsProcessing.md +0 -27
- package/docs/PDFFacturXInfo.md +0 -25
- package/docs/ParametresSignature.md +0 -37
- package/docs/ParametresStructure.md +0 -25
- package/docs/PieceJointeComplementaire.md +0 -29
- package/docs/ProfilAPI.md +0 -14
- package/docs/ProfilFlux.md +0 -13
- package/docs/Quantite.md +0 -19
- package/docs/RechercherServicesResponse.md +0 -27
- package/docs/RechercherStructureRequest.md +0 -29
- package/docs/RechercherStructureResponse.md +0 -27
- package/docs/References.md +0 -35
- package/docs/ReponseHealthcheckAFNOR.md +0 -25
- package/docs/ReponseRechercheFlux.md +0 -27
- package/docs/ReponseSoumissionFlux.md +0 -33
- package/docs/ReponseTache.md +0 -21
- package/docs/ReponseValidationErreur.md +0 -20
- package/docs/ReponseValidationSucces.md +0 -20
- package/docs/ReponseVerificationSucces.md +0 -39
- package/docs/RequeteRechercheFlux.md +0 -37
- package/docs/RequeteSoumissionFlux.md +0 -31
- package/docs/ResultatAFNOR.md +0 -29
- package/docs/ResultatChorusPro.md +0 -25
- package/docs/ResultatValidationPDFAPI.md +0 -65
- package/docs/SantApi.md +0 -97
- package/docs/ServiceStructure.md +0 -27
- package/docs/SoumettreFactureCompleteRequest.md +0 -29
- package/docs/SoumettreFactureCompleteResponse.md +0 -37
- package/docs/SoumettreFactureRequest.md +0 -49
- package/docs/SoumettreFactureResponse.md +0 -27
- package/docs/StatutAcquittement.md +0 -13
- package/docs/StatutCelery.md +0 -17
- package/docs/StatutChampAPI.md +0 -17
- package/docs/StatutFacture.md +0 -25
- package/docs/StatutTache.md +0 -25
- package/docs/SyntaxeFlux.md +0 -17
- package/docs/Tauxmanuel.md +0 -19
- package/docs/TraitementFactureApi.md +0 -670
- package/docs/TypeDocument.md +0 -17
- package/docs/TypeFacture.md +0 -39
- package/docs/TypeFlux.md +0 -17
- package/docs/TypeTVA.md +0 -15
- package/docs/Unite.md +0 -19
- package/docs/UtilisateurApi.md +0 -52
- package/docs/VrificationPDFXMLApi.md +0 -335
- package/models/adresse-electronique.ts +0 -29
- package/models/adresse-postale.ts +0 -27
- package/models/beneficiaire.ts +0 -34
- package/models/cadre-de-facturation.ts +0 -34
- package/models/categorie-tva.ts +0 -63
- package/models/champ-verifie-schema.ts +0 -54
- package/models/chorus-pro-credentials.ts +0 -42
- package/models/code-cadre-facturation.ts +0 -31
- package/models/code-raison-reduction.ts +0 -55
- package/models/consulter-facture-request.ts +0 -30
- package/models/consulter-facture-response.ts +0 -34
- package/models/consulter-structure-request.ts +0 -34
- package/models/consulter-structure-response.ts +0 -34
- package/models/credentials-afnor.ts +0 -25
- package/models/credentials-chorus-pro.ts +0 -30
- package/models/destinataire.ts +0 -34
- package/models/destination-afnor.ts +0 -46
- package/models/destination-chorus-pro.ts +0 -34
- package/models/dimension-page-schema.ts +0 -30
- package/models/direction-flux.ts +0 -29
- package/models/donnees-facture-simplifiees.ts +0 -46
- package/models/facture-enrichie-info.ts +0 -30
- package/models/facture-entrante.ts +0 -82
- package/models/flux-resume.ts +0 -30
- package/models/format-facture.ts +0 -30
- package/models/format-sortie.ts +0 -26
- package/models/fournisseur-entrant.ts +0 -39
- package/models/fournisseur.ts +0 -38
- package/models/information-signature-api.ts +0 -31
- package/models/ligne-de-poste-montant-remise-ht.ts +0 -22
- package/models/ligne-de-poste-taux-tva-manuel.ts +0 -22
- package/models/ligne-de-poste.ts +0 -63
- package/models/ligne-de-tva.ts +0 -43
- package/models/mode-depot.ts +0 -30
- package/models/mode-paiement.ts +0 -33
- package/models/montant-apayer.ts +0 -22
- package/models/montant-base-ht.ts +0 -22
- package/models/montant-ht-total.ts +0 -22
- package/models/montant-remise-globale-ttc.ts +0 -22
- package/models/montant-total-acompte.ts +0 -22
- package/models/montant-total-ligne-ht.ts +0 -22
- package/models/montant-total.ts +0 -47
- package/models/montant-ttc-total.ts +0 -22
- package/models/montant-tva-ligne.ts +0 -22
- package/models/montant-tva-total.ts +0 -22
- package/models/montant-tva.ts +0 -22
- package/models/montant-unitaire-ht.ts +0 -22
- package/models/nature-operation.ts +0 -41
- package/models/note-obligatoire-schema.ts +0 -46
- package/models/note.ts +0 -24
- package/models/obtenir-id-chorus-pro-request.ts +0 -34
- package/models/obtenir-id-chorus-pro-response.ts +0 -35
- package/models/options-processing.ts +0 -43
- package/models/parametres-signature.ts +0 -40
- package/models/parametres-structure.ts +0 -34
- package/models/pdffactur-xinfo.ts +0 -34
- package/models/piece-jointe-complementaire.ts +0 -27
- package/models/profil-api.ts +0 -28
- package/models/profil-flux.ts +0 -30
- package/models/quantite.ts +0 -22
- package/models/rechercher-services-response.ts +0 -32
- package/models/rechercher-structure-request.ts +0 -33
- package/models/rechercher-structure-response.ts +0 -38
- package/models/references.ts +0 -41
- package/models/reponse-healthcheck-afnor.ts +0 -34
- package/models/reponse-recherche-flux.ts +0 -41
- package/models/reponse-soumission-flux.ts +0 -44
- package/models/reponse-tache.ts +0 -23
- package/models/reponse-validation-erreur.ts +0 -23
- package/models/reponse-validation-succes.ts +0 -23
- package/models/reponse-verification-succes.ts +0 -68
- package/models/requete-recherche-flux.ts +0 -48
- package/models/requete-soumission-flux.ts +0 -45
- package/models/resultat-afnor.ts +0 -36
- package/models/resultat-chorus-pro.ts +0 -28
- package/models/resultat-validation-pdfapi.ts +0 -99
- package/models/service-structure.ts +0 -38
- package/models/soumettre-facture-complete-request.ts +0 -48
- package/models/soumettre-facture-complete-response.ts +0 -72
- package/models/soumettre-facture-request.ts +0 -58
- package/models/soumettre-facture-response.ts +0 -32
- package/models/statut-acquittement.ts +0 -30
- package/models/statut-celery.ts +0 -32
- package/models/statut-champ-api.ts +0 -32
- package/models/statut-facture.ts +0 -31
- package/models/statut-tache.ts +0 -33
- package/models/syntaxe-flux.ts +0 -32
- package/models/tauxmanuel.ts +0 -22
- package/models/type-document.ts +0 -47
- package/models/type-facture.ts +0 -91
- package/models/type-flux.ts +0 -32
- package/models/type-tva.ts +0 -31
- package/models/unite.ts +0 -33
|
@@ -1,480 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API REST FactPulse
|
|
3
|
-
* API REST pour la facturation électronique en France : Factur-X, AFNOR PDP/PA, signatures électroniques. ## 🎯 Fonctionnalités principales ### 📄 Génération de factures Factur-X - **Formats** : XML seul ou PDF/A-3 avec XML embarqué - **Profils** : MINIMUM, BASIC, EN16931, EXTENDED - **Normes** : EN 16931 (directive UE 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Format simplifié** : Génération à partir de SIRET + auto-enrichissement (API Chorus Pro + Recherche Entreprises) ### ✅ Validation et conformité - **Validation XML** : Schematron (45 à 210+ règles selon profil) - **Validation PDF** : PDF/A-3, métadonnées XMP Factur-X, signatures électroniques - **VeraPDF** : Validation stricte PDF/A (146+ règles ISO 19005-3) - **Traitement asynchrone** : Support Celery pour validations lourdes (VeraPDF) ### 📡 Intégration AFNOR PDP/PA (XP Z12-013) - **Soumission de flux** : Envoi de factures vers Plateformes de Dématérialisation Partenaires - **Recherche de flux** : Consultation des factures soumises - **Téléchargement** : Récupération des PDF/A-3 avec XML - **Directory Service** : Recherche d\'entreprises (SIREN/SIRET) - **Multi-client** : Support de plusieurs configs PDP par utilisateur (stored credentials ou zero-storage) ### ✍️ Signature électronique PDF - **Standards** : PAdES-B-B, PAdES-B-T (horodatage RFC 3161), PAdES-B-LT (archivage long terme) - **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO) - **Validation** : Vérification intégrité cryptographique et certificats - **Génération de certificats** : Certificats X.509 auto-signés pour tests ### 🔄 Traitement asynchrone - **Celery** : Génération, validation et signature asynchrones - **Polling** : Suivi d\'état via `/taches/{id_tache}/statut` - **Pas de timeout** : Idéal pour gros fichiers ou validations lourdes ## 🔒 Authentification Toutes les requêtes nécessitent un **token JWT** dans le header Authorization : ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### Comment obtenir un token JWT ? #### 🔑 Méthode 1 : API `/api/token/` (Recommandée) **URL :** `https://www.factpulse.fr/api/token/` Cette méthode est **recommandée** pour l\'intégration dans vos applications et workflows CI/CD. **Prérequis :** Avoir défini un mot de passe sur votre compte **Pour les utilisateurs inscrits via email/password :** - Vous avez déjà un mot de passe, utilisez-le directement **Pour les utilisateurs inscrits via OAuth (Google/GitHub) :** - Vous devez d\'abord définir un mot de passe sur : https://www.factpulse.fr/accounts/password/set/ - Une fois le mot de passe créé, vous pourrez utiliser l\'API **Exemple de requête :** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\" }\' ``` **Paramètre optionnel `client_uid` :** Pour sélectionner les credentials d\'un client spécifique (PA/PDP, Chorus Pro, certificats de signature), ajoutez `client_uid` : ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d \'{ \"username\": \"votre_email@example.com\", \"password\": \"votre_mot_de_passe\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }\' ``` Le `client_uid` sera inclus dans le JWT et permettra à l\'API d\'utiliser automatiquement : - Les credentials AFNOR/PDP configurés pour ce client - Les credentials Chorus Pro configurés pour ce client - Les certificats de signature électronique configurés pour ce client **Réponse :** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Token d\'accès (validité: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Token de rafraîchissement (validité: 7 jours) } ``` **Avantages :** - ✅ Automatisation complète (CI/CD, scripts) - ✅ Gestion programmatique des tokens - ✅ Support du refresh token pour renouveler automatiquement l\'accès - ✅ Intégration facile dans n\'importe quel langage/outil #### 🖥️ Méthode 2 : Génération via Dashboard (Alternative) **URL :** https://www.factpulse.fr/dashboard/ Cette méthode convient pour des tests rapides ou une utilisation occasionnelle via l\'interface graphique. **Fonctionnement :** - Connectez-vous au dashboard - Utilisez les boutons \"Generate Test Token\" ou \"Generate Production Token\" - Fonctionne pour **tous** les utilisateurs (OAuth et email/password), sans nécessiter de mot de passe **Types de tokens :** - **Token Test** : Validité 24h, quota 1000 appels/jour (gratuit) - **Token Production** : Validité 7 jours, quota selon votre forfait **Avantages :** - ✅ Rapide pour tester l\'API - ✅ Aucun mot de passe requis - ✅ Interface visuelle simple **Inconvénients :** - ❌ Nécessite une action manuelle - ❌ Pas de refresh token - ❌ Moins adapté pour l\'automatisation ### 📚 Documentation complète Pour plus d\'informations sur l\'authentification et l\'utilisation de l\'API : https://www.factpulse.fr/documentation-api/
|
|
4
|
-
*
|
|
5
|
-
* The version of the OpenAPI document: 1.0.0
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
-
* https://openapi-generator.tech
|
|
10
|
-
* Do not edit the class manually.
|
|
11
|
-
*/
|
|
12
|
-
import type { Configuration } from '../configuration';
|
|
13
|
-
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
|
|
14
|
-
import { type RequestArgs, BaseAPI } from '../base';
|
|
15
|
-
import type { FormatSortie } from '../models';
|
|
16
|
-
import type { GenerateCertificateRequest } from '../models';
|
|
17
|
-
import type { GenerateCertificateResponse } from '../models';
|
|
18
|
-
import type { ProfilAPI } from '../models';
|
|
19
|
-
import type { ReponseTache } from '../models';
|
|
20
|
-
import type { ReponseValidationSucces } from '../models';
|
|
21
|
-
import type { ResultatValidationPDFAPI } from '../models';
|
|
22
|
-
import type { SoumettreFactureCompleteRequest } from '../models';
|
|
23
|
-
import type { SoumettreFactureCompleteResponse } from '../models';
|
|
24
|
-
import type { StatutTache } from '../models';
|
|
25
|
-
/**
|
|
26
|
-
* TraitementFactureApi - axios parameter creator
|
|
27
|
-
*/
|
|
28
|
-
export declare const TraitementFactureApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
29
|
-
/**
|
|
30
|
-
* Génère un certificat X.509 auto-signé pour les tests de signature électronique PDF. **⚠️ ATTENTION : Certificat de TEST uniquement !** Ce certificat est : - ✅ Adapté pour tests et développement - ✅ Compatible signature PDF (PAdES) - ✅ Conforme eIDAS niveau **SES** (Simple Electronic Signature) - ❌ **JAMAIS utilisable en production** - ❌ **Non reconnu** par les navigateurs et lecteurs PDF - ❌ **Aucune valeur juridique** ## Niveaux eIDAS - **SES** (Simple) : Certificat auto-signé ← Généré par cet endpoint - **AdES** (Advanced) : Certificat CA commerciale (Let\'s Encrypt, etc.) - **QES** (Qualified) : Certificat qualifié PSCO (CertEurope, Universign, etc.) ## Utilisation Une fois généré, le certificat peut être : 1. **Enregistré dans Django** (recommandé) : - Django Admin > Certificats de signature - Upload `certificat_pem` et `cle_privee_pem` 2. **Utilisé directement** : - Signer un PDF avec `/signer-pdf` - Le certificat sera automatiquement utilisé ## Exemple d\'appel ```bash curl -X POST \"https://www.factpulse.fr/api/facturation/generer-certificat-test\" \\ -H \"Authorization: Bearer eyJ0eXAi...\" \\ -H \"Content-Type: application/json\" \\ -d \'{ \"cn\": \"Test Client XYZ\", \"organisation\": \"Client XYZ SARL\", \"email\": \"contact@xyz.fr\", \"duree_jours\": 365 }\' ``` ## Cas d\'usage - Tests de signature PDF en développement - POC de signature électronique - Formation et démos - Tests d\'intégration automatisés ## Conformité technique Certificat généré avec : - Clé RSA 2048 ou 4096 bits - Algorithme SHA-256 - Extensions Key Usage : `digitalSignature`, `contentCommitment` (non-repudiation) - Extensions Extended Key Usage : `codeSigning`, `emailProtection` - Validité : 1 jour à 10 ans (configurable) - Format : PEM (certificat et clé) - Optionnel : PKCS#12 (.p12)
|
|
31
|
-
* @summary Générer un certificat X.509 auto-signé de test
|
|
32
|
-
* @param {GenerateCertificateRequest} generateCertificateRequest
|
|
33
|
-
* @param {*} [options] Override http request option.
|
|
34
|
-
* @throws {RequiredError}
|
|
35
|
-
*/
|
|
36
|
-
genererCertificatTestApiV1TraitementGenererCertificatTestPost: (generateCertificateRequest: GenerateCertificateRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
37
|
-
/**
|
|
38
|
-
* Génère une facture électronique au format Factur-X conforme aux normes européennes. ## Normes appliquées - **Factur-X** (France) : Norme FNFE-MPE (Forum National de la Facture Électronique) - **ZUGFeRD** (Allemagne) : Format allemand compatible Factur-X - **EN 16931** : Norme sémantique européenne pour la facturation électronique - **ISO 19005-3** (PDF/A-3) : Archivage électronique à long terme - **Cross Industry Invoice (CII)** : Syntaxe XML UN/CEFACT ## 🆕 Nouveau : Format simplifié avec auto-enrichissement (P0.1) Vous pouvez désormais créer une facture en fournissant uniquement : - Un numéro de facture - Un SIRET émetteur + **IBAN** (obligatoire) - Un SIRET destinataire - Les lignes de facture (description, quantité, prix HT) **Exemple format simplifié** : ```json { \"numero\": \"FACT-2025-001\", \"emetteur\": { \"siret\": \"92019522900017\", \"iban\": \"FR7630001007941234567890185\" }, \"destinataire\": {\"siret\": \"35600000000048\"}, \"lignes\": [ {\"description\": \"Prestation\", \"quantite\": 10, \"prix_ht\": 100.00, \"tva\": 20.0} ] } ``` **⚠️ Champs obligatoires (format simplifié)** : - `numero` : Numéro de facture unique - `emetteur.siret` : SIRET de l\'émetteur (14 chiffres) - `emetteur.iban` : IBAN du compte bancaire (pas d\'API publique pour le récupérer) - `destinataire.siret` : SIRET du destinataire - `lignes[]` : Au moins une ligne de facture **Ce qui se passe automatiquement avec `auto_enrichir=True`** : - ✅ Enrichissement des noms depuis API Chorus Pro - ✅ Enrichissement des adresses depuis API Recherche Entreprises (gratuite, publique) - ✅ Calcul automatique de la TVA intracommunautaire (FR + clé + SIREN) - ✅ Récupération de l\'ID Chorus Pro pour la facturation électronique - ✅ Calcul des totaux HT/TVA/TTC - ✅ Génération des dates (aujourd\'hui + échéance 30j) - ✅ Gestion multi-taux de TVA **Identifiants supportés** : - SIRET (14 chiffres) : Établissement précis ⭐ Recommandé - SIREN (9 chiffres) : Entreprise (sélection auto du siège) - Types spéciaux : UE_HORS_FRANCE, RIDET, TAHITI, etc. ## Contrôles effectués lors de la génération ### 1. Validation des données (Pydantic) - Types de données (montants en Decimal, dates ISO 8601) - Formats (SIRET 14 chiffres, SIREN 9 chiffres, IBAN) - Champs obligatoires selon le profil - Cohérence des montants (HT + TVA = TTC) ### 2. Génération XML conforme CII - Sérialisation selon schéma XSD Cross Industry Invoice - Namespaces UN/CEFACT corrects - Structure hiérarchique respectée - Encodage UTF-8 sans BOM ### 3. Validation Schematron - Règles métier du profil sélectionné (MINIMUM, BASIC, EN16931, EXTENDED) - Cardinalité des éléments (obligatoire, optionnel, répétable) - Règles de calcul (totaux, TVA, remises) - Conformité européenne EN 16931 ### 4. Conversion PDF/A-3 (si format_sortie=\'pdf\') - Conversion du PDF source en PDF/A-3 via Ghostscript - Embarquement du XML Factur-X dans le PDF - Métadonnées XMP conformes - Profil ICC sRGB pour les couleurs - Suppression des éléments interdits (JavaScript, formulaires) ## Fonctionnement 1. **Soumission** : La facture est mise en file d\'attente Celery pour traitement asynchrone 2. **Retour immédiat** : Vous recevez un `id_tache` (HTTP 202 Accepted) 3. **Suivi** : Utilisez l\'endpoint `/taches/{id_tache}/statut` pour suivre l\'avancement ## Formats de sortie - **xml** : Génère uniquement le XML Factur-X (recommandé pour les tests) - **pdf** : Génère un PDF/A-3 avec XML embarqué (nécessite `source_pdf`) ## Profils Factur-X - **MINIMUM** : Données minimales (facture simplifiée) - **BASIC** : Informations de base (PME) - **EN16931** : Standard européen (recommandé, conforme directive 2014/55/UE) - **EXTENDED** : Toutes les données disponibles (grands comptes) ## Ce que vous obtenez Après traitement réussi (statut `completed`) : - **XML seul** : Fichier XML encodé base64 conforme Factur-X - **PDF/A-3** : PDF avec XML embarqué, prêt pour envoi/archivage - **Métadonnées** : Profil, version Factur-X, taille fichier - **Validation** : Confirmation de conformité Schematron ## Validation Les données sont validées automatiquement selon le format détecté. En cas d\'erreur, un statut 422 est retourné avec les détails des champs invalides.
|
|
39
|
-
* @summary Générer une facture Factur-X
|
|
40
|
-
* @param {string} donneesFacture Données de la facture au format JSON. Deux formats acceptés : 1. **Format classique** : Structure complète FactureFacturX (tous les champs) 2. **Format simplifié** (🆕 P0.1) : Structure minimale avec auto-enrichissement Le format est détecté automatiquement !
|
|
41
|
-
* @param {ProfilAPI} [profil] Profil Factur-X : MINIMUM, BASIC, EN16931 ou EXTENDED.
|
|
42
|
-
* @param {FormatSortie} [formatSortie] Format de sortie : \\\'xml\\\' (XML seul) ou \\\'pdf\\\' (PDF Factur-X avec XML embarqué).
|
|
43
|
-
* @param {boolean} [autoEnrichir] 🆕 Activer l\\\'auto-enrichissement depuis SIRET/SIREN (format simplifié uniquement)
|
|
44
|
-
* @param {File | null} [sourcePdf]
|
|
45
|
-
* @param {*} [options] Override http request option.
|
|
46
|
-
* @throws {RequiredError}
|
|
47
|
-
*/
|
|
48
|
-
genererFactureApiV1TraitementGenererFacturePost: (donneesFacture: string, profil?: ProfilAPI, formatSortie?: FormatSortie, autoEnrichir?: boolean, sourcePdf?: File | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
49
|
-
/**
|
|
50
|
-
* Récupère l\'état d\'avancement d\'une tâche de génération de facture. ## États possibles Le champ `statut` utilise l\'enum `StatutCelery` avec les valeurs : - **PENDING, STARTED, SUCCESS, FAILURE, RETRY** Voir la documentation du schéma `StatutCelery` pour les détails. ## Résultat métier Quand `statut=\"SUCCESS\"`, le champ `resultat` contient : - `statut` : \"SUCCES\" ou \"ERREUR\" (résultat métier) - `chemin_fichier` : Chemin du fichier généré (si succès) - `errorCode`, `errorMessage`, `details` : Format AFNOR (si échec métier) ## Usage Appelez cet endpoint en boucle (polling) toutes les 2-3 secondes jusqu\'à ce que `statut` soit `SUCCESS` ou `FAILURE`.
|
|
51
|
-
* @summary Obtenir le statut d\'une tâche de génération
|
|
52
|
-
* @param {string} idTache
|
|
53
|
-
* @param {*} [options] Override http request option.
|
|
54
|
-
* @throws {RequiredError}
|
|
55
|
-
*/
|
|
56
|
-
obtenirStatutTacheApiV1TraitementTachesIdTacheStatutGet: (idTache: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
57
|
-
/**
|
|
58
|
-
* Signe un PDF uploadé avec le certificat électronique configuré pour le client (via client_uid du JWT). **Standards supportés** : PAdES-B-B, PAdES-B-T (horodatage), PAdES-B-LT (archivage long terme). **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO - hors scope). **Sécurité** : Double authentification X-Internal-Secret + JWT Bearer pour récupérer le certificat. **⚠️ Disclaimer légal** : Les signatures générées sont des cachets électroniques au sens du règlement eIDAS. Le niveau de validité juridique dépend du certificat utilisé (SES/AdES/QES). FactPulse ne fournit pas de certificats qualifiés QES - vous devez obtenir un certificat auprès d\'un PSCO (Prestataire de Services de Confiance qualifié) pour une validité juridique maximale.
|
|
59
|
-
* @summary Signer un PDF avec le certificat du client (PAdES-B-LT)
|
|
60
|
-
* @param {File} fichierPdf Fichier PDF à signer (sera traité puis retourné signé en base64)
|
|
61
|
-
* @param {string | null} [raison]
|
|
62
|
-
* @param {string | null} [localisation]
|
|
63
|
-
* @param {string | null} [contact]
|
|
64
|
-
* @param {string} [fieldName] Nom du champ de signature PDF
|
|
65
|
-
* @param {boolean} [usePadesLt] Activer PAdES-B-LT (archivage long terme avec données de validation embarquées). NÉCESSITE un certificat avec accès OCSP/CRL.
|
|
66
|
-
* @param {boolean} [useTimestamp] Activer l\\\'horodatage RFC 3161 avec FreeTSA (PAdES-B-T)
|
|
67
|
-
* @param {*} [options] Override http request option.
|
|
68
|
-
* @throws {RequiredError}
|
|
69
|
-
*/
|
|
70
|
-
signerPdfApiV1TraitementSignerPdfPost: (fichierPdf: File, raison?: string | null, localisation?: string | null, contact?: string | null, fieldName?: string, usePadesLt?: boolean, useTimestamp?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
71
|
-
/**
|
|
72
|
-
* Signe un PDF uploadé de manière asynchrone via une tâche Celery. **Différence avec /signer-pdf** : - `/signer-pdf` : Signature synchrone (blocage jusqu\'à la fin) - `/signer-pdf-async` : Signature asynchrone (retourne immédiatement un task_id) **Avantages de l\'async** : - Pas de timeout pour les gros fichiers - Pas de blocage du worker FastAPI - Possibilité de suivre la progression via le task_id - Idéal pour les traitements par lot **Standards supportés** : PAdES-B-B, PAdES-B-T (horodatage), PAdES-B-LT (archivage long terme). **⚠️ Disclaimer légal** : Identique à /signer-pdf (voir documentation de cet endpoint).
|
|
73
|
-
* @summary Signer un PDF de manière asynchrone (Celery)
|
|
74
|
-
* @param {File} fichierPdf Fichier PDF à signer (traité de manière asynchrone)
|
|
75
|
-
* @param {string | null} [raison]
|
|
76
|
-
* @param {string | null} [localisation]
|
|
77
|
-
* @param {string | null} [contact]
|
|
78
|
-
* @param {string} [fieldName] Nom du champ de signature PDF
|
|
79
|
-
* @param {boolean} [usePadesLt] Activer PAdES-B-LT (archivage long terme avec données de validation embarquées). NÉCESSITE un certificat avec accès OCSP/CRL.
|
|
80
|
-
* @param {boolean} [useTimestamp] Activer l\\\'horodatage RFC 3161 avec FreeTSA (PAdES-B-T)
|
|
81
|
-
* @param {*} [options] Override http request option.
|
|
82
|
-
* @throws {RequiredError}
|
|
83
|
-
*/
|
|
84
|
-
signerPdfAsyncApiV1TraitementSignerPdfAsyncPost: (fichierPdf: File, raison?: string | null, localisation?: string | null, contact?: string | null, fieldName?: string, usePadesLt?: boolean, useTimestamp?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
85
|
-
/**
|
|
86
|
-
* Endpoint unifié pour soumettre une facture complète vers différentes destinations. **Workflow automatisé :** 1. **Auto-enrichissement** (optionnel) : récupère les données via APIs publiques et Chorus Pro/AFNOR 2. **Génération PDF Factur-X** : crée un PDF/A-3 avec XML embarqué 3. **Signature électronique** (optionnelle) : signe le PDF avec un certificat 4. **Soumission** : envoie vers la destination choisie (Chorus Pro ou AFNOR PDP) **Destinations supportées :** - **Chorus Pro** : plateforme B2G française (factures vers secteur public) - **AFNOR PDP** : Plateformes de Dématérialisation Partenaires **Credentials de destination - 2 modes disponibles :** **Mode 1 - Récupération via JWT (recommandé) :** - Les credentials sont récupérés automatiquement via le `client_uid` du JWT - Ne pas fournir le champ `credentials` dans `destination` - Architecture 0-trust : aucun secret dans le payload - Exemple : `\"destination\": {\"type\": \"chorus_pro\"}` **Mode 2 - Credentials dans le payload :** - Fournir les credentials directement dans le payload - Utile pour tests ou intégrations tierces - Exemple : `\"destination\": {\"type\": \"chorus_pro\", \"credentials\": {...}}` **Signature électronique (optionnelle) - 2 modes disponibles :** **Mode 1 - Certificat stocké (recommandé) :** - Le certificat est récupéré automatiquement via le `client_uid` du JWT - Aucune clé à fournir dans le payload - Signature PAdES-B-LT avec horodatage (conforme eIDAS) - Exemple : `\"signature\": {\"raison\": \"Conformité Factur-X\"}` **Mode 2 - Clés dans le payload (pour tests) :** - Fournir `key_pem` et `cert_pem` directement - Format PEM accepté : brut ou base64 - Utile pour tests ou cas spéciaux sans certificat stocké - Exemple : `\"signature\": {\"key_pem\": \"-----BEGIN...\", \"cert_pem\": \"-----BEGIN...\"}` Si `key_pem` et `cert_pem` sont fournis → Mode 2 Sinon → Mode 1 (certificat récupéré via `client_uid`)
|
|
87
|
-
* @summary Soumettre une facture complète (génération + signature + soumission)
|
|
88
|
-
* @param {SoumettreFactureCompleteRequest} soumettreFactureCompleteRequest
|
|
89
|
-
* @param {*} [options] Override http request option.
|
|
90
|
-
* @throws {RequiredError}
|
|
91
|
-
*/
|
|
92
|
-
soumettreFactureCompleteApiV1TraitementFacturesSoumettreCompletePost: (soumettreFactureCompleteRequest: SoumettreFactureCompleteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
93
|
-
/**
|
|
94
|
-
* Version asynchrone de l\'endpoint `/factures/soumettre-complete` utilisant Celery pour le traitement en arrière-plan. **Workflow automatisé (identique à la version synchrone) :** 1. **Auto-enrichissement** (optionnel) : récupère les données via APIs publiques et Chorus Pro/AFNOR 2. **Génération PDF Factur-X** : crée un PDF/A-3 avec XML embarqué 3. **Signature électronique** (optionnelle) : signe le PDF avec un certificat 4. **Soumission** : envoie vers la destination choisie (Chorus Pro ou AFNOR PDP) **Destinations supportées :** - **Chorus Pro** : plateforme B2G française (factures vers secteur public) - **AFNOR PDP** : Plateformes de Dématérialisation Partenaires **Différences avec la version synchrone :** - ✅ **Non-bloquant** : Retourne immédiatement un `id_tache` (HTTP 202 Accepted) - ✅ **Traitement en arrière-plan** : La facture est traitée par un worker Celery - ✅ **Suivi d\'avancement** : Utilisez `/taches/{id_tache}/statut` pour suivre le statut - ✅ **Idéal pour gros volumes** : Permet de traiter de nombreuses factures en parallèle **Comment utiliser :** 1. **Soumission** : Appelez cet endpoint avec vos données de facture 2. **Retour immédiat** : Vous recevez un `id_tache` (ex: \"abc123-def456\") 3. **Suivi** : Appelez `/taches/{id_tache}/statut` pour vérifier l\'avancement 4. **Résultat** : Quand `statut = \"SUCCESS\"`, le champ `resultat` contient la réponse complète **Credentials et signature** : Mêmes modes que la version synchrone (JWT ou payload).
|
|
95
|
-
* @summary Soumettre une facture complète (asynchrone avec Celery)
|
|
96
|
-
* @param {SoumettreFactureCompleteRequest} soumettreFactureCompleteRequest
|
|
97
|
-
* @param {*} [options] Override http request option.
|
|
98
|
-
* @throws {RequiredError}
|
|
99
|
-
*/
|
|
100
|
-
soumettreFactureCompleteAsyncApiV1TraitementFacturesSoumettreCompleteAsyncPost: (soumettreFactureCompleteRequest: SoumettreFactureCompleteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
101
|
-
/**
|
|
102
|
-
* Valide un PDF Factur-X complet selon les normes européennes et françaises. ## Normes de validation appliquées - **EN 16931** : Norme sémantique européenne (directive 2014/55/UE) - **ISO 19005-3** (PDF/A-3) : Archivage électronique à long terme - **Factur-X / ZUGFeRD** : Spécification franco-allemande - **Schematron** : Validation des règles métier XML - **eIDAS** : Règlement européen sur l\'identification électronique (signatures) ## Contrôles effectués ### 1. Extraction et validation du XML Factur-X **Contrôles réalisés :** - Présence d\'un fichier XML embarqué (`factur-x.xml` ou `zugferd-invoice.xml`) - Détection automatique du profil (MINIMUM, BASIC, EN16931, EXTENDED) - Parsing XML avec validation UTF-8 - Extraction du GuidelineSpecifiedDocumentContextParameter/ID **Validation Schematron :** - Règles métier du profil détecté (MINIMUM : 45 règles, EN16931 : 178 règles) - Cardinalité des éléments obligatoires - Cohérence des calculs (montants HT, TVA, TTC, remises) - Formats des identifiants (SIRET, TVA intracommunautaire, IBAN) - Codes normalisés (codes pays ISO, unités UN/ECE, codes TVA) **Ce qui est vérifié :** - ✅ Structure XML conforme XSD Cross Industry Invoice - ✅ Namespace UN/CEFACT correct - ✅ Règles de gestion européennes (BR-xx) - ✅ Règles françaises spécifiques (FR-xx) ### 2. Conformité PDF/A-3 **Validation de base (métadonnées) :** - Présence du champ `/Type` à `Catalog` - Métadonnée `pdfaid:part` = 3 (PDF/A-3) - Métadonnée `pdfaid:conformance` = B ou U - Version PDF >= 1.4 **Validation stricte VeraPDF (si use_verapdf=True) :** - 146+ règles ISO 19005-3 (PDF/A-3B) - Absence de contenu interdit (JavaScript, multimedia, formulaires dynamiques) - Polices embarquées et sous-ensembles corrects - Espaces colorimétriques conformes (sRGB, DeviceGray) - Structure de fichier valide (cross-reference table) - Métadonnées XMP conformes ISO 16684-1 **Ce qui est vérifié :** - ✅ Fichier archivable à long terme (20+ ans) - ✅ Lisibilité garantie (polices embarquées) - ✅ Conformité légale (France, Allemagne, UE) ### 3. Métadonnées XMP (eXtensible Metadata Platform) **Contrôles réalisés :** - Présence du bloc `<?xpacket>` avec métadonnées XMP - Namespace `fx:` pour Factur-X : `urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#` - Champs Factur-X obligatoires : - `fx:ConformanceLevel` : Profil (MINIMUM, BASIC, EN16931, EXTENDED) - `fx:DocumentFileName` : Nom du XML embarqué - `fx:DocumentType` : \"INVOICE\" - `fx:Version` : Version Factur-X (1.0.07) **Ce qui est vérifié :** - ✅ Métadonnées conformes ISO 16684-1 - ✅ Profil Factur-X déclaré correct - ✅ Version Factur-X supportée ### 4. Signatures électroniques **Détection et analyse :** - Présence de dictionnaires `/Sig` dans le PDF - Type de signature : PAdES (PDF Advanced Electronic Signature) - Extraction des informations : - Nom du signataire (`/Name`) - Date de signature (`/M`) - Raison de la signature (`/Reason`) - Lieu de signature (`/Location`) - Type de signature (approval, certification) **Ce qui est vérifié :** - ✅ Présence de signatures ou cachets - ✅ Nombre de signatures (mono ou multi-signature) - ℹ️ Pas de vérification cryptographique (nécessite certificats) ## Paramètres - **fichier_pdf** (requis) : Le fichier PDF Factur-X à valider - **profil** (optionnel) : Profil attendu. Si absent, détection automatique depuis le XML - **use_verapdf** (optionnel, défaut=false) : Active la validation stricte PDF/A avec VeraPDF - `false` : Validation rapide par métadonnées (2-3 secondes) - `true` : Validation complète ISO 19005-3 (15-30 secondes, **recommandé en production**) ## Réponse détaillée ```json { \"est_conforme\": true, \"xml\": { \"present\": true, \"conforme\": true, \"profil\": \"EN16931\", \"erreurs\": [] }, \"pdfa\": { \"conforme\": true, \"version\": \"PDF/A-3B\", \"methode\": \"verapdf\", \"erreurs\": [] }, \"xmp\": { \"present\": true, \"conforme\": true, \"metadonnees\": {...} }, \"signatures\": { \"present\": true, \"nombre\": 1, \"details\": [...] } } ``` ## Cas d\'usage - **Avant envoi** : Valider la facture générée avant transmission à un client - **À réception** : Vérifier la conformité d\'une facture reçue d\'un fournisseur - **Audit** : Contrôler la qualité de lots de factures - **Conformité légale** : S\'assurer du respect des obligations B2B/B2G en France - **Debugging** : Identifier les problèmes dans le processus de génération - **Archivage** : Garantir la validité à long terme (PDF/A-3) ## Temps de traitement - Validation basique : 2-3 secondes - Validation VeraPDF : 15-30 secondes (dépend de la taille du PDF)
|
|
103
|
-
* @summary Valider un PDF Factur-X complet
|
|
104
|
-
* @param {File} fichierPdf Fichier PDF Factur-X à valider (format .pdf).
|
|
105
|
-
* @param {ProfilAPI | null} [profil]
|
|
106
|
-
* @param {boolean} [useVerapdf] Active la validation stricte PDF/A avec VeraPDF (recommandé pour la production). Si False, utilise une validation basique par métadonnées.
|
|
107
|
-
* @param {*} [options] Override http request option.
|
|
108
|
-
* @throws {RequiredError}
|
|
109
|
-
*/
|
|
110
|
-
validerPdfFacturxApiV1TraitementValiderPdfFacturxPost: (fichierPdf: File, profil?: ProfilAPI | null, useVerapdf?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
111
|
-
/**
|
|
112
|
-
* Valide un PDF Factur-X de manière asynchrone avec système de polling. ## Fonctionnement 1. **Soumission** : Le PDF est mis en file d\'attente pour validation asynchrone 2. **Retour immédiat** : Vous recevez un `id_tache` (HTTP 202) 3. **Suivi** : Utilisez l\'endpoint `/taches/{id_tache}/statut` pour suivre l\'avancement ## Avantages du mode asynchrone - **Pas de timeout** : Idéal pour les gros PDFs ou la validation VeraPDF (qui peut prendre plusieurs secondes) - **Scalabilité** : Les validations sont traitées par des workers Celery dédiés - **Suivi d\'état** : Permet de suivre la progression de la validation - **Non-bloquant** : Votre client ne reste pas en attente pendant la validation ## Quand utiliser ce mode ? - **Validation VeraPDF activée** (`use_verapdf=True`) : La validation stricte peut prendre 2-10 secondes - **Gros fichiers PDF** : PDFs > 1 MB - **Traitement par lots** : Validation de multiples factures en parallèle - **Intégration asynchrone** : Votre système supporte le polling ## Contrôles effectués ### 1. Extraction et validation du XML Factur-X - Vérifie la présence d\'un fichier XML embarqué conforme Factur-X - Détecte automatiquement le profil utilisé (MINIMUM, BASIC, EN16931, EXTENDED) - Valide le XML contre les règles Schematron du profil détecté ### 2. Conformité PDF/A - **Sans VeraPDF** : Validation basique par métadonnées (rapide, ~100ms) - **Avec VeraPDF** : Validation stricte selon ISO 19005 (146+ règles, 2-10s) - Détecte la version PDF/A (PDF/A-1, PDF/A-3, etc.) - Rapports détaillés des non-conformités ### 3. Métadonnées XMP - Vérifie la présence de métadonnées XMP dans le PDF - Valide la conformité des métadonnées Factur-X (profil, version) - Extrait toutes les métadonnées XMP disponibles ### 4. Signatures électroniques - Détecte la présence de signatures ou cachets électroniques - Extrait les informations sur chaque signature (signataire, date, raison) - Compte le nombre de signatures présentes ## Paramètres - **fichier_pdf** : Le fichier PDF Factur-X à valider - **profil** : Le profil Factur-X attendu (optionnel). Si non spécifié, le profil sera automatiquement détecté depuis le fichier XML embarqué. - **use_verapdf** : Active la validation stricte PDF/A avec VeraPDF. ⚠️ **Attention** : VeraPDF peut prendre 2-10 secondes selon la taille du PDF. Recommandé uniquement en mode asynchrone pour éviter les timeouts. ## Récupération du résultat Après soumission, utilisez l\'endpoint `GET /taches/{id_tache}/statut` pour récupérer le résultat. **Exemple de polling** : ```python import requests import time # 1. Soumettre la tâche response = requests.post(\"/valider-facturx-async\", files={\"fichier_pdf\": pdf_file}) task_id = response.json()[\"id_tache\"] # 2. Polling toutes les 2 secondes while True: status_response = requests.get(f\"/taches/{task_id}/statut\") status = status_response.json() if status[\"statut\"] == \"SUCCESS\": resultat = status[\"resultat\"][\"resultat_validation\"] print(f\"Conforme: {resultat[\'est_conforme\']}\") break elif status[\"statut\"] == \"FAILURE\": print(f\"Erreur: {status[\'resultat\'][\'errorMessage\']}\") break time.sleep(2) # Attendre 2 secondes avant le prochain check ``` ## Cas d\'usage - Valider des factures avant envoi avec VeraPDF (validation stricte) - Traiter des lots de factures en parallèle - Intégrer la validation dans un pipeline asynchrone - Valider des PDFs volumineux sans risque de timeout
|
|
113
|
-
* @summary Valider un PDF Factur-X (asynchrone avec polling)
|
|
114
|
-
* @param {File} fichierPdf Fichier PDF Factur-X à valider (format .pdf).
|
|
115
|
-
* @param {ProfilAPI | null} [profil]
|
|
116
|
-
* @param {boolean} [useVerapdf] Active la validation stricte PDF/A avec VeraPDF (recommandé pour la production). Peut prendre plusieurs secondes.
|
|
117
|
-
* @param {*} [options] Override http request option.
|
|
118
|
-
* @throws {RequiredError}
|
|
119
|
-
*/
|
|
120
|
-
validerPdfFacturxAsyncApiV1TraitementValiderFacturxAsyncPost: (fichierPdf: File, profil?: ProfilAPI | null, useVerapdf?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
121
|
-
/**
|
|
122
|
-
* Valide les signatures électroniques présentes dans un PDF uploadé. **Vérifications effectuées** : - Présence de signatures - Intégrité du document (non modifié depuis signature) - Validité des certificats - Chaîne de confiance (si disponible) - Présence d\'horodatage (PAdES-B-T) - Données de validation (PAdES-B-LT) **Standards supportés** : PAdES-B-B, PAdES-B-T, PAdES-B-LT, ISO 32000-2. **⚠️ Note** : Cette validation est technique (intégrité cryptographique). La validité juridique dépend du niveau eIDAS du certificat (SES/AdES/QES) et du contexte d\'utilisation.
|
|
123
|
-
* @summary Valider les signatures électroniques d\'un PDF
|
|
124
|
-
* @param {File} fichierPdf Fichier PDF à valider (sera analysé pour détecter et valider les signatures)
|
|
125
|
-
* @param {*} [options] Override http request option.
|
|
126
|
-
* @throws {RequiredError}
|
|
127
|
-
*/
|
|
128
|
-
validerSignaturePdfEndpointApiV1TraitementValiderSignaturePdfPost: (fichierPdf: File, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
129
|
-
/**
|
|
130
|
-
* Valide un fichier XML Factur-X contre les règles métier Schematron selon la norme EN 16931. ## Norme appliquée **Schematron ISO/IEC 19757-3** : Langage de validation de règles métier pour XML - Validation sémantique (au-delà de la syntaxe XSD) - Règles métier européennes EN 16931 - Règles françaises spécifiques Factur-X - Calculs arithmétiques et cohérence des données ## Profils et règles validées ### MINIMUM (45 règles) - Identifiant de facture unique - Dates (émission, échéance) - Identifiants parties (SIRET/SIREN) - Montant total TTC ### BASIC (102 règles) - Toutes les règles MINIMUM - Lignes de facture détaillées - Calculs de TVA basiques - Modes de paiement - Références (commande, contrat) ### EN16931 (178 règles) - Toutes les règles BASIC - **Règles européennes (BR-xx)** : 81 règles business - **Règles françaises (FR-xx)** : 12 règles spécifiques France - **Calculs avancés (CR-xx)** : 32 règles de calcul - **Codes normalisés (CL-xx)** : 52 listes de codes ### EXTENDED (210+ règles) - Toutes les règles EN16931 - Informations logistiques - Données comptables avancées - Références externes multiples ## Contrôles effectués ### 1. Validation syntaxique - Parsing XML correct (UTF-8, bien formé) - Namespaces UN/CEFACT présents - Structure hiérarchique respectée ### 2. Règles business (BR-xx) Exemples : - `BR-1` : Le total de la facture doit être égal à la somme des totaux de lignes + montants au niveau document - `BR-CO-10` : La somme des montants de base de TVA doit être égale au total net de la facture - `BR-16` : Le code de devise de la facture doit figurer dans la liste ISO 4217 ### 3. Règles françaises (FR-xx) Exemples : - `FR-1` : Le SIRET fournisseur doit avoir 14 chiffres - `FR-2` : Le SIRET client doit avoir 14 chiffres (si présent) - `FR-5` : Le numéro de TVA intracommunautaire doit être au format FRxx999999999 ### 4. Règles de calcul (CR-xx) - Montants HT + TVA = TTC - Somme des lignes = Total document - Remises et majorations correctement appliquées - Arrondis conformes (2 décimales pour les montants) ### 5. Codes normalisés (CL-xx) - Codes pays ISO 3166-1 alpha-2 - Codes devises ISO 4217 - Unités de mesure UN/ECE Rec 20 - Codes TVA (types, catégories, exonérations) - SchemeID pour identifiants (0002=SIREN, 0009=SIRET, etc.) ## Processus de validation 1. **Chargement XSLT** : Fichier Schematron converti en XSLT (Saxon-HE) 2. **Transformation** : Application des règles sur le XML 3. **Analyse résultats** : Extraction des erreurs (`failed-assert`) et avertissements (`successful-report`) 4. **Rapport** : Liste structurée des non-conformités ## Réponses **200 OK** : XML conforme ```json { \"message\": \"Le XML est conforme au profil EN16931\" } ``` **400 Bad Request** : XML non conforme ```json { \"detail\": [ \"[BR-1] Le total de la facture (120.00) ne correspond pas à la somme calculée (100.00 + 20.00)\", \"[FR-1] Le SIRET fournisseur doit contenir exactement 14 chiffres\" ] } ``` ## Cas d\'usage - **Pré-validation** : Vérifier un XML avant intégration dans un PDF/A - **Debugging** : Identifier précisément les erreurs de génération - **Tests** : Valider des XMLs de test ou d\'exemple - **Conformité** : S\'assurer du respect des règles européennes et françaises - **Développement** : Tester rapidement sans générer de PDF ## Temps de traitement - Profil MINIMUM : ~0.5 seconde - Profil EN16931 : ~1-2 secondes - Profil EXTENDED : ~2-3 secondes
|
|
131
|
-
* @summary Valider un XML Factur-X existant
|
|
132
|
-
* @param {File} fichierXml Fichier XML Factur-X à valider (format .xml).
|
|
133
|
-
* @param {ProfilAPI} [profil] Profil de validation (MINIMUM, BASIC, EN16931, EXTENDED).
|
|
134
|
-
* @param {*} [options] Override http request option.
|
|
135
|
-
* @throws {RequiredError}
|
|
136
|
-
*/
|
|
137
|
-
validerXmlApiV1TraitementValiderXmlPost: (fichierXml: File, profil?: ProfilAPI, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
138
|
-
};
|
|
139
|
-
/**
|
|
140
|
-
* TraitementFactureApi - functional programming interface
|
|
141
|
-
*/
|
|
142
|
-
export declare const TraitementFactureApiFp: (configuration?: Configuration) => {
|
|
143
|
-
/**
|
|
144
|
-
* Génère un certificat X.509 auto-signé pour les tests de signature électronique PDF. **⚠️ ATTENTION : Certificat de TEST uniquement !** Ce certificat est : - ✅ Adapté pour tests et développement - ✅ Compatible signature PDF (PAdES) - ✅ Conforme eIDAS niveau **SES** (Simple Electronic Signature) - ❌ **JAMAIS utilisable en production** - ❌ **Non reconnu** par les navigateurs et lecteurs PDF - ❌ **Aucune valeur juridique** ## Niveaux eIDAS - **SES** (Simple) : Certificat auto-signé ← Généré par cet endpoint - **AdES** (Advanced) : Certificat CA commerciale (Let\'s Encrypt, etc.) - **QES** (Qualified) : Certificat qualifié PSCO (CertEurope, Universign, etc.) ## Utilisation Une fois généré, le certificat peut être : 1. **Enregistré dans Django** (recommandé) : - Django Admin > Certificats de signature - Upload `certificat_pem` et `cle_privee_pem` 2. **Utilisé directement** : - Signer un PDF avec `/signer-pdf` - Le certificat sera automatiquement utilisé ## Exemple d\'appel ```bash curl -X POST \"https://www.factpulse.fr/api/facturation/generer-certificat-test\" \\ -H \"Authorization: Bearer eyJ0eXAi...\" \\ -H \"Content-Type: application/json\" \\ -d \'{ \"cn\": \"Test Client XYZ\", \"organisation\": \"Client XYZ SARL\", \"email\": \"contact@xyz.fr\", \"duree_jours\": 365 }\' ``` ## Cas d\'usage - Tests de signature PDF en développement - POC de signature électronique - Formation et démos - Tests d\'intégration automatisés ## Conformité technique Certificat généré avec : - Clé RSA 2048 ou 4096 bits - Algorithme SHA-256 - Extensions Key Usage : `digitalSignature`, `contentCommitment` (non-repudiation) - Extensions Extended Key Usage : `codeSigning`, `emailProtection` - Validité : 1 jour à 10 ans (configurable) - Format : PEM (certificat et clé) - Optionnel : PKCS#12 (.p12)
|
|
145
|
-
* @summary Générer un certificat X.509 auto-signé de test
|
|
146
|
-
* @param {GenerateCertificateRequest} generateCertificateRequest
|
|
147
|
-
* @param {*} [options] Override http request option.
|
|
148
|
-
* @throws {RequiredError}
|
|
149
|
-
*/
|
|
150
|
-
genererCertificatTestApiV1TraitementGenererCertificatTestPost(generateCertificateRequest: GenerateCertificateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GenerateCertificateResponse>>;
|
|
151
|
-
/**
|
|
152
|
-
* Génère une facture électronique au format Factur-X conforme aux normes européennes. ## Normes appliquées - **Factur-X** (France) : Norme FNFE-MPE (Forum National de la Facture Électronique) - **ZUGFeRD** (Allemagne) : Format allemand compatible Factur-X - **EN 16931** : Norme sémantique européenne pour la facturation électronique - **ISO 19005-3** (PDF/A-3) : Archivage électronique à long terme - **Cross Industry Invoice (CII)** : Syntaxe XML UN/CEFACT ## 🆕 Nouveau : Format simplifié avec auto-enrichissement (P0.1) Vous pouvez désormais créer une facture en fournissant uniquement : - Un numéro de facture - Un SIRET émetteur + **IBAN** (obligatoire) - Un SIRET destinataire - Les lignes de facture (description, quantité, prix HT) **Exemple format simplifié** : ```json { \"numero\": \"FACT-2025-001\", \"emetteur\": { \"siret\": \"92019522900017\", \"iban\": \"FR7630001007941234567890185\" }, \"destinataire\": {\"siret\": \"35600000000048\"}, \"lignes\": [ {\"description\": \"Prestation\", \"quantite\": 10, \"prix_ht\": 100.00, \"tva\": 20.0} ] } ``` **⚠️ Champs obligatoires (format simplifié)** : - `numero` : Numéro de facture unique - `emetteur.siret` : SIRET de l\'émetteur (14 chiffres) - `emetteur.iban` : IBAN du compte bancaire (pas d\'API publique pour le récupérer) - `destinataire.siret` : SIRET du destinataire - `lignes[]` : Au moins une ligne de facture **Ce qui se passe automatiquement avec `auto_enrichir=True`** : - ✅ Enrichissement des noms depuis API Chorus Pro - ✅ Enrichissement des adresses depuis API Recherche Entreprises (gratuite, publique) - ✅ Calcul automatique de la TVA intracommunautaire (FR + clé + SIREN) - ✅ Récupération de l\'ID Chorus Pro pour la facturation électronique - ✅ Calcul des totaux HT/TVA/TTC - ✅ Génération des dates (aujourd\'hui + échéance 30j) - ✅ Gestion multi-taux de TVA **Identifiants supportés** : - SIRET (14 chiffres) : Établissement précis ⭐ Recommandé - SIREN (9 chiffres) : Entreprise (sélection auto du siège) - Types spéciaux : UE_HORS_FRANCE, RIDET, TAHITI, etc. ## Contrôles effectués lors de la génération ### 1. Validation des données (Pydantic) - Types de données (montants en Decimal, dates ISO 8601) - Formats (SIRET 14 chiffres, SIREN 9 chiffres, IBAN) - Champs obligatoires selon le profil - Cohérence des montants (HT + TVA = TTC) ### 2. Génération XML conforme CII - Sérialisation selon schéma XSD Cross Industry Invoice - Namespaces UN/CEFACT corrects - Structure hiérarchique respectée - Encodage UTF-8 sans BOM ### 3. Validation Schematron - Règles métier du profil sélectionné (MINIMUM, BASIC, EN16931, EXTENDED) - Cardinalité des éléments (obligatoire, optionnel, répétable) - Règles de calcul (totaux, TVA, remises) - Conformité européenne EN 16931 ### 4. Conversion PDF/A-3 (si format_sortie=\'pdf\') - Conversion du PDF source en PDF/A-3 via Ghostscript - Embarquement du XML Factur-X dans le PDF - Métadonnées XMP conformes - Profil ICC sRGB pour les couleurs - Suppression des éléments interdits (JavaScript, formulaires) ## Fonctionnement 1. **Soumission** : La facture est mise en file d\'attente Celery pour traitement asynchrone 2. **Retour immédiat** : Vous recevez un `id_tache` (HTTP 202 Accepted) 3. **Suivi** : Utilisez l\'endpoint `/taches/{id_tache}/statut` pour suivre l\'avancement ## Formats de sortie - **xml** : Génère uniquement le XML Factur-X (recommandé pour les tests) - **pdf** : Génère un PDF/A-3 avec XML embarqué (nécessite `source_pdf`) ## Profils Factur-X - **MINIMUM** : Données minimales (facture simplifiée) - **BASIC** : Informations de base (PME) - **EN16931** : Standard européen (recommandé, conforme directive 2014/55/UE) - **EXTENDED** : Toutes les données disponibles (grands comptes) ## Ce que vous obtenez Après traitement réussi (statut `completed`) : - **XML seul** : Fichier XML encodé base64 conforme Factur-X - **PDF/A-3** : PDF avec XML embarqué, prêt pour envoi/archivage - **Métadonnées** : Profil, version Factur-X, taille fichier - **Validation** : Confirmation de conformité Schematron ## Validation Les données sont validées automatiquement selon le format détecté. En cas d\'erreur, un statut 422 est retourné avec les détails des champs invalides.
|
|
153
|
-
* @summary Générer une facture Factur-X
|
|
154
|
-
* @param {string} donneesFacture Données de la facture au format JSON. Deux formats acceptés : 1. **Format classique** : Structure complète FactureFacturX (tous les champs) 2. **Format simplifié** (🆕 P0.1) : Structure minimale avec auto-enrichissement Le format est détecté automatiquement !
|
|
155
|
-
* @param {ProfilAPI} [profil] Profil Factur-X : MINIMUM, BASIC, EN16931 ou EXTENDED.
|
|
156
|
-
* @param {FormatSortie} [formatSortie] Format de sortie : \\\'xml\\\' (XML seul) ou \\\'pdf\\\' (PDF Factur-X avec XML embarqué).
|
|
157
|
-
* @param {boolean} [autoEnrichir] 🆕 Activer l\\\'auto-enrichissement depuis SIRET/SIREN (format simplifié uniquement)
|
|
158
|
-
* @param {File | null} [sourcePdf]
|
|
159
|
-
* @param {*} [options] Override http request option.
|
|
160
|
-
* @throws {RequiredError}
|
|
161
|
-
*/
|
|
162
|
-
genererFactureApiV1TraitementGenererFacturePost(donneesFacture: string, profil?: ProfilAPI, formatSortie?: FormatSortie, autoEnrichir?: boolean, sourcePdf?: File | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReponseTache>>;
|
|
163
|
-
/**
|
|
164
|
-
* Récupère l\'état d\'avancement d\'une tâche de génération de facture. ## États possibles Le champ `statut` utilise l\'enum `StatutCelery` avec les valeurs : - **PENDING, STARTED, SUCCESS, FAILURE, RETRY** Voir la documentation du schéma `StatutCelery` pour les détails. ## Résultat métier Quand `statut=\"SUCCESS\"`, le champ `resultat` contient : - `statut` : \"SUCCES\" ou \"ERREUR\" (résultat métier) - `chemin_fichier` : Chemin du fichier généré (si succès) - `errorCode`, `errorMessage`, `details` : Format AFNOR (si échec métier) ## Usage Appelez cet endpoint en boucle (polling) toutes les 2-3 secondes jusqu\'à ce que `statut` soit `SUCCESS` ou `FAILURE`.
|
|
165
|
-
* @summary Obtenir le statut d\'une tâche de génération
|
|
166
|
-
* @param {string} idTache
|
|
167
|
-
* @param {*} [options] Override http request option.
|
|
168
|
-
* @throws {RequiredError}
|
|
169
|
-
*/
|
|
170
|
-
obtenirStatutTacheApiV1TraitementTachesIdTacheStatutGet(idTache: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<StatutTache>>;
|
|
171
|
-
/**
|
|
172
|
-
* Signe un PDF uploadé avec le certificat électronique configuré pour le client (via client_uid du JWT). **Standards supportés** : PAdES-B-B, PAdES-B-T (horodatage), PAdES-B-LT (archivage long terme). **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO - hors scope). **Sécurité** : Double authentification X-Internal-Secret + JWT Bearer pour récupérer le certificat. **⚠️ Disclaimer légal** : Les signatures générées sont des cachets électroniques au sens du règlement eIDAS. Le niveau de validité juridique dépend du certificat utilisé (SES/AdES/QES). FactPulse ne fournit pas de certificats qualifiés QES - vous devez obtenir un certificat auprès d\'un PSCO (Prestataire de Services de Confiance qualifié) pour une validité juridique maximale.
|
|
173
|
-
* @summary Signer un PDF avec le certificat du client (PAdES-B-LT)
|
|
174
|
-
* @param {File} fichierPdf Fichier PDF à signer (sera traité puis retourné signé en base64)
|
|
175
|
-
* @param {string | null} [raison]
|
|
176
|
-
* @param {string | null} [localisation]
|
|
177
|
-
* @param {string | null} [contact]
|
|
178
|
-
* @param {string} [fieldName] Nom du champ de signature PDF
|
|
179
|
-
* @param {boolean} [usePadesLt] Activer PAdES-B-LT (archivage long terme avec données de validation embarquées). NÉCESSITE un certificat avec accès OCSP/CRL.
|
|
180
|
-
* @param {boolean} [useTimestamp] Activer l\\\'horodatage RFC 3161 avec FreeTSA (PAdES-B-T)
|
|
181
|
-
* @param {*} [options] Override http request option.
|
|
182
|
-
* @throws {RequiredError}
|
|
183
|
-
*/
|
|
184
|
-
signerPdfApiV1TraitementSignerPdfPost(fichierPdf: File, raison?: string | null, localisation?: string | null, contact?: string | null, fieldName?: string, usePadesLt?: boolean, useTimestamp?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>>;
|
|
185
|
-
/**
|
|
186
|
-
* Signe un PDF uploadé de manière asynchrone via une tâche Celery. **Différence avec /signer-pdf** : - `/signer-pdf` : Signature synchrone (blocage jusqu\'à la fin) - `/signer-pdf-async` : Signature asynchrone (retourne immédiatement un task_id) **Avantages de l\'async** : - Pas de timeout pour les gros fichiers - Pas de blocage du worker FastAPI - Possibilité de suivre la progression via le task_id - Idéal pour les traitements par lot **Standards supportés** : PAdES-B-B, PAdES-B-T (horodatage), PAdES-B-LT (archivage long terme). **⚠️ Disclaimer légal** : Identique à /signer-pdf (voir documentation de cet endpoint).
|
|
187
|
-
* @summary Signer un PDF de manière asynchrone (Celery)
|
|
188
|
-
* @param {File} fichierPdf Fichier PDF à signer (traité de manière asynchrone)
|
|
189
|
-
* @param {string | null} [raison]
|
|
190
|
-
* @param {string | null} [localisation]
|
|
191
|
-
* @param {string | null} [contact]
|
|
192
|
-
* @param {string} [fieldName] Nom du champ de signature PDF
|
|
193
|
-
* @param {boolean} [usePadesLt] Activer PAdES-B-LT (archivage long terme avec données de validation embarquées). NÉCESSITE un certificat avec accès OCSP/CRL.
|
|
194
|
-
* @param {boolean} [useTimestamp] Activer l\\\'horodatage RFC 3161 avec FreeTSA (PAdES-B-T)
|
|
195
|
-
* @param {*} [options] Override http request option.
|
|
196
|
-
* @throws {RequiredError}
|
|
197
|
-
*/
|
|
198
|
-
signerPdfAsyncApiV1TraitementSignerPdfAsyncPost(fichierPdf: File, raison?: string | null, localisation?: string | null, contact?: string | null, fieldName?: string, usePadesLt?: boolean, useTimestamp?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>>;
|
|
199
|
-
/**
|
|
200
|
-
* Endpoint unifié pour soumettre une facture complète vers différentes destinations. **Workflow automatisé :** 1. **Auto-enrichissement** (optionnel) : récupère les données via APIs publiques et Chorus Pro/AFNOR 2. **Génération PDF Factur-X** : crée un PDF/A-3 avec XML embarqué 3. **Signature électronique** (optionnelle) : signe le PDF avec un certificat 4. **Soumission** : envoie vers la destination choisie (Chorus Pro ou AFNOR PDP) **Destinations supportées :** - **Chorus Pro** : plateforme B2G française (factures vers secteur public) - **AFNOR PDP** : Plateformes de Dématérialisation Partenaires **Credentials de destination - 2 modes disponibles :** **Mode 1 - Récupération via JWT (recommandé) :** - Les credentials sont récupérés automatiquement via le `client_uid` du JWT - Ne pas fournir le champ `credentials` dans `destination` - Architecture 0-trust : aucun secret dans le payload - Exemple : `\"destination\": {\"type\": \"chorus_pro\"}` **Mode 2 - Credentials dans le payload :** - Fournir les credentials directement dans le payload - Utile pour tests ou intégrations tierces - Exemple : `\"destination\": {\"type\": \"chorus_pro\", \"credentials\": {...}}` **Signature électronique (optionnelle) - 2 modes disponibles :** **Mode 1 - Certificat stocké (recommandé) :** - Le certificat est récupéré automatiquement via le `client_uid` du JWT - Aucune clé à fournir dans le payload - Signature PAdES-B-LT avec horodatage (conforme eIDAS) - Exemple : `\"signature\": {\"raison\": \"Conformité Factur-X\"}` **Mode 2 - Clés dans le payload (pour tests) :** - Fournir `key_pem` et `cert_pem` directement - Format PEM accepté : brut ou base64 - Utile pour tests ou cas spéciaux sans certificat stocké - Exemple : `\"signature\": {\"key_pem\": \"-----BEGIN...\", \"cert_pem\": \"-----BEGIN...\"}` Si `key_pem` et `cert_pem` sont fournis → Mode 2 Sinon → Mode 1 (certificat récupéré via `client_uid`)
|
|
201
|
-
* @summary Soumettre une facture complète (génération + signature + soumission)
|
|
202
|
-
* @param {SoumettreFactureCompleteRequest} soumettreFactureCompleteRequest
|
|
203
|
-
* @param {*} [options] Override http request option.
|
|
204
|
-
* @throws {RequiredError}
|
|
205
|
-
*/
|
|
206
|
-
soumettreFactureCompleteApiV1TraitementFacturesSoumettreCompletePost(soumettreFactureCompleteRequest: SoumettreFactureCompleteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SoumettreFactureCompleteResponse>>;
|
|
207
|
-
/**
|
|
208
|
-
* Version asynchrone de l\'endpoint `/factures/soumettre-complete` utilisant Celery pour le traitement en arrière-plan. **Workflow automatisé (identique à la version synchrone) :** 1. **Auto-enrichissement** (optionnel) : récupère les données via APIs publiques et Chorus Pro/AFNOR 2. **Génération PDF Factur-X** : crée un PDF/A-3 avec XML embarqué 3. **Signature électronique** (optionnelle) : signe le PDF avec un certificat 4. **Soumission** : envoie vers la destination choisie (Chorus Pro ou AFNOR PDP) **Destinations supportées :** - **Chorus Pro** : plateforme B2G française (factures vers secteur public) - **AFNOR PDP** : Plateformes de Dématérialisation Partenaires **Différences avec la version synchrone :** - ✅ **Non-bloquant** : Retourne immédiatement un `id_tache` (HTTP 202 Accepted) - ✅ **Traitement en arrière-plan** : La facture est traitée par un worker Celery - ✅ **Suivi d\'avancement** : Utilisez `/taches/{id_tache}/statut` pour suivre le statut - ✅ **Idéal pour gros volumes** : Permet de traiter de nombreuses factures en parallèle **Comment utiliser :** 1. **Soumission** : Appelez cet endpoint avec vos données de facture 2. **Retour immédiat** : Vous recevez un `id_tache` (ex: \"abc123-def456\") 3. **Suivi** : Appelez `/taches/{id_tache}/statut` pour vérifier l\'avancement 4. **Résultat** : Quand `statut = \"SUCCESS\"`, le champ `resultat` contient la réponse complète **Credentials et signature** : Mêmes modes que la version synchrone (JWT ou payload).
|
|
209
|
-
* @summary Soumettre une facture complète (asynchrone avec Celery)
|
|
210
|
-
* @param {SoumettreFactureCompleteRequest} soumettreFactureCompleteRequest
|
|
211
|
-
* @param {*} [options] Override http request option.
|
|
212
|
-
* @throws {RequiredError}
|
|
213
|
-
*/
|
|
214
|
-
soumettreFactureCompleteAsyncApiV1TraitementFacturesSoumettreCompleteAsyncPost(soumettreFactureCompleteRequest: SoumettreFactureCompleteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReponseTache>>;
|
|
215
|
-
/**
|
|
216
|
-
* Valide un PDF Factur-X complet selon les normes européennes et françaises. ## Normes de validation appliquées - **EN 16931** : Norme sémantique européenne (directive 2014/55/UE) - **ISO 19005-3** (PDF/A-3) : Archivage électronique à long terme - **Factur-X / ZUGFeRD** : Spécification franco-allemande - **Schematron** : Validation des règles métier XML - **eIDAS** : Règlement européen sur l\'identification électronique (signatures) ## Contrôles effectués ### 1. Extraction et validation du XML Factur-X **Contrôles réalisés :** - Présence d\'un fichier XML embarqué (`factur-x.xml` ou `zugferd-invoice.xml`) - Détection automatique du profil (MINIMUM, BASIC, EN16931, EXTENDED) - Parsing XML avec validation UTF-8 - Extraction du GuidelineSpecifiedDocumentContextParameter/ID **Validation Schematron :** - Règles métier du profil détecté (MINIMUM : 45 règles, EN16931 : 178 règles) - Cardinalité des éléments obligatoires - Cohérence des calculs (montants HT, TVA, TTC, remises) - Formats des identifiants (SIRET, TVA intracommunautaire, IBAN) - Codes normalisés (codes pays ISO, unités UN/ECE, codes TVA) **Ce qui est vérifié :** - ✅ Structure XML conforme XSD Cross Industry Invoice - ✅ Namespace UN/CEFACT correct - ✅ Règles de gestion européennes (BR-xx) - ✅ Règles françaises spécifiques (FR-xx) ### 2. Conformité PDF/A-3 **Validation de base (métadonnées) :** - Présence du champ `/Type` à `Catalog` - Métadonnée `pdfaid:part` = 3 (PDF/A-3) - Métadonnée `pdfaid:conformance` = B ou U - Version PDF >= 1.4 **Validation stricte VeraPDF (si use_verapdf=True) :** - 146+ règles ISO 19005-3 (PDF/A-3B) - Absence de contenu interdit (JavaScript, multimedia, formulaires dynamiques) - Polices embarquées et sous-ensembles corrects - Espaces colorimétriques conformes (sRGB, DeviceGray) - Structure de fichier valide (cross-reference table) - Métadonnées XMP conformes ISO 16684-1 **Ce qui est vérifié :** - ✅ Fichier archivable à long terme (20+ ans) - ✅ Lisibilité garantie (polices embarquées) - ✅ Conformité légale (France, Allemagne, UE) ### 3. Métadonnées XMP (eXtensible Metadata Platform) **Contrôles réalisés :** - Présence du bloc `<?xpacket>` avec métadonnées XMP - Namespace `fx:` pour Factur-X : `urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#` - Champs Factur-X obligatoires : - `fx:ConformanceLevel` : Profil (MINIMUM, BASIC, EN16931, EXTENDED) - `fx:DocumentFileName` : Nom du XML embarqué - `fx:DocumentType` : \"INVOICE\" - `fx:Version` : Version Factur-X (1.0.07) **Ce qui est vérifié :** - ✅ Métadonnées conformes ISO 16684-1 - ✅ Profil Factur-X déclaré correct - ✅ Version Factur-X supportée ### 4. Signatures électroniques **Détection et analyse :** - Présence de dictionnaires `/Sig` dans le PDF - Type de signature : PAdES (PDF Advanced Electronic Signature) - Extraction des informations : - Nom du signataire (`/Name`) - Date de signature (`/M`) - Raison de la signature (`/Reason`) - Lieu de signature (`/Location`) - Type de signature (approval, certification) **Ce qui est vérifié :** - ✅ Présence de signatures ou cachets - ✅ Nombre de signatures (mono ou multi-signature) - ℹ️ Pas de vérification cryptographique (nécessite certificats) ## Paramètres - **fichier_pdf** (requis) : Le fichier PDF Factur-X à valider - **profil** (optionnel) : Profil attendu. Si absent, détection automatique depuis le XML - **use_verapdf** (optionnel, défaut=false) : Active la validation stricte PDF/A avec VeraPDF - `false` : Validation rapide par métadonnées (2-3 secondes) - `true` : Validation complète ISO 19005-3 (15-30 secondes, **recommandé en production**) ## Réponse détaillée ```json { \"est_conforme\": true, \"xml\": { \"present\": true, \"conforme\": true, \"profil\": \"EN16931\", \"erreurs\": [] }, \"pdfa\": { \"conforme\": true, \"version\": \"PDF/A-3B\", \"methode\": \"verapdf\", \"erreurs\": [] }, \"xmp\": { \"present\": true, \"conforme\": true, \"metadonnees\": {...} }, \"signatures\": { \"present\": true, \"nombre\": 1, \"details\": [...] } } ``` ## Cas d\'usage - **Avant envoi** : Valider la facture générée avant transmission à un client - **À réception** : Vérifier la conformité d\'une facture reçue d\'un fournisseur - **Audit** : Contrôler la qualité de lots de factures - **Conformité légale** : S\'assurer du respect des obligations B2B/B2G en France - **Debugging** : Identifier les problèmes dans le processus de génération - **Archivage** : Garantir la validité à long terme (PDF/A-3) ## Temps de traitement - Validation basique : 2-3 secondes - Validation VeraPDF : 15-30 secondes (dépend de la taille du PDF)
|
|
217
|
-
* @summary Valider un PDF Factur-X complet
|
|
218
|
-
* @param {File} fichierPdf Fichier PDF Factur-X à valider (format .pdf).
|
|
219
|
-
* @param {ProfilAPI | null} [profil]
|
|
220
|
-
* @param {boolean} [useVerapdf] Active la validation stricte PDF/A avec VeraPDF (recommandé pour la production). Si False, utilise une validation basique par métadonnées.
|
|
221
|
-
* @param {*} [options] Override http request option.
|
|
222
|
-
* @throws {RequiredError}
|
|
223
|
-
*/
|
|
224
|
-
validerPdfFacturxApiV1TraitementValiderPdfFacturxPost(fichierPdf: File, profil?: ProfilAPI | null, useVerapdf?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResultatValidationPDFAPI>>;
|
|
225
|
-
/**
|
|
226
|
-
* Valide un PDF Factur-X de manière asynchrone avec système de polling. ## Fonctionnement 1. **Soumission** : Le PDF est mis en file d\'attente pour validation asynchrone 2. **Retour immédiat** : Vous recevez un `id_tache` (HTTP 202) 3. **Suivi** : Utilisez l\'endpoint `/taches/{id_tache}/statut` pour suivre l\'avancement ## Avantages du mode asynchrone - **Pas de timeout** : Idéal pour les gros PDFs ou la validation VeraPDF (qui peut prendre plusieurs secondes) - **Scalabilité** : Les validations sont traitées par des workers Celery dédiés - **Suivi d\'état** : Permet de suivre la progression de la validation - **Non-bloquant** : Votre client ne reste pas en attente pendant la validation ## Quand utiliser ce mode ? - **Validation VeraPDF activée** (`use_verapdf=True`) : La validation stricte peut prendre 2-10 secondes - **Gros fichiers PDF** : PDFs > 1 MB - **Traitement par lots** : Validation de multiples factures en parallèle - **Intégration asynchrone** : Votre système supporte le polling ## Contrôles effectués ### 1. Extraction et validation du XML Factur-X - Vérifie la présence d\'un fichier XML embarqué conforme Factur-X - Détecte automatiquement le profil utilisé (MINIMUM, BASIC, EN16931, EXTENDED) - Valide le XML contre les règles Schematron du profil détecté ### 2. Conformité PDF/A - **Sans VeraPDF** : Validation basique par métadonnées (rapide, ~100ms) - **Avec VeraPDF** : Validation stricte selon ISO 19005 (146+ règles, 2-10s) - Détecte la version PDF/A (PDF/A-1, PDF/A-3, etc.) - Rapports détaillés des non-conformités ### 3. Métadonnées XMP - Vérifie la présence de métadonnées XMP dans le PDF - Valide la conformité des métadonnées Factur-X (profil, version) - Extrait toutes les métadonnées XMP disponibles ### 4. Signatures électroniques - Détecte la présence de signatures ou cachets électroniques - Extrait les informations sur chaque signature (signataire, date, raison) - Compte le nombre de signatures présentes ## Paramètres - **fichier_pdf** : Le fichier PDF Factur-X à valider - **profil** : Le profil Factur-X attendu (optionnel). Si non spécifié, le profil sera automatiquement détecté depuis le fichier XML embarqué. - **use_verapdf** : Active la validation stricte PDF/A avec VeraPDF. ⚠️ **Attention** : VeraPDF peut prendre 2-10 secondes selon la taille du PDF. Recommandé uniquement en mode asynchrone pour éviter les timeouts. ## Récupération du résultat Après soumission, utilisez l\'endpoint `GET /taches/{id_tache}/statut` pour récupérer le résultat. **Exemple de polling** : ```python import requests import time # 1. Soumettre la tâche response = requests.post(\"/valider-facturx-async\", files={\"fichier_pdf\": pdf_file}) task_id = response.json()[\"id_tache\"] # 2. Polling toutes les 2 secondes while True: status_response = requests.get(f\"/taches/{task_id}/statut\") status = status_response.json() if status[\"statut\"] == \"SUCCESS\": resultat = status[\"resultat\"][\"resultat_validation\"] print(f\"Conforme: {resultat[\'est_conforme\']}\") break elif status[\"statut\"] == \"FAILURE\": print(f\"Erreur: {status[\'resultat\'][\'errorMessage\']}\") break time.sleep(2) # Attendre 2 secondes avant le prochain check ``` ## Cas d\'usage - Valider des factures avant envoi avec VeraPDF (validation stricte) - Traiter des lots de factures en parallèle - Intégrer la validation dans un pipeline asynchrone - Valider des PDFs volumineux sans risque de timeout
|
|
227
|
-
* @summary Valider un PDF Factur-X (asynchrone avec polling)
|
|
228
|
-
* @param {File} fichierPdf Fichier PDF Factur-X à valider (format .pdf).
|
|
229
|
-
* @param {ProfilAPI | null} [profil]
|
|
230
|
-
* @param {boolean} [useVerapdf] Active la validation stricte PDF/A avec VeraPDF (recommandé pour la production). Peut prendre plusieurs secondes.
|
|
231
|
-
* @param {*} [options] Override http request option.
|
|
232
|
-
* @throws {RequiredError}
|
|
233
|
-
*/
|
|
234
|
-
validerPdfFacturxAsyncApiV1TraitementValiderFacturxAsyncPost(fichierPdf: File, profil?: ProfilAPI | null, useVerapdf?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReponseTache>>;
|
|
235
|
-
/**
|
|
236
|
-
* Valide les signatures électroniques présentes dans un PDF uploadé. **Vérifications effectuées** : - Présence de signatures - Intégrité du document (non modifié depuis signature) - Validité des certificats - Chaîne de confiance (si disponible) - Présence d\'horodatage (PAdES-B-T) - Données de validation (PAdES-B-LT) **Standards supportés** : PAdES-B-B, PAdES-B-T, PAdES-B-LT, ISO 32000-2. **⚠️ Note** : Cette validation est technique (intégrité cryptographique). La validité juridique dépend du niveau eIDAS du certificat (SES/AdES/QES) et du contexte d\'utilisation.
|
|
237
|
-
* @summary Valider les signatures électroniques d\'un PDF
|
|
238
|
-
* @param {File} fichierPdf Fichier PDF à valider (sera analysé pour détecter et valider les signatures)
|
|
239
|
-
* @param {*} [options] Override http request option.
|
|
240
|
-
* @throws {RequiredError}
|
|
241
|
-
*/
|
|
242
|
-
validerSignaturePdfEndpointApiV1TraitementValiderSignaturePdfPost(fichierPdf: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>>;
|
|
243
|
-
/**
|
|
244
|
-
* Valide un fichier XML Factur-X contre les règles métier Schematron selon la norme EN 16931. ## Norme appliquée **Schematron ISO/IEC 19757-3** : Langage de validation de règles métier pour XML - Validation sémantique (au-delà de la syntaxe XSD) - Règles métier européennes EN 16931 - Règles françaises spécifiques Factur-X - Calculs arithmétiques et cohérence des données ## Profils et règles validées ### MINIMUM (45 règles) - Identifiant de facture unique - Dates (émission, échéance) - Identifiants parties (SIRET/SIREN) - Montant total TTC ### BASIC (102 règles) - Toutes les règles MINIMUM - Lignes de facture détaillées - Calculs de TVA basiques - Modes de paiement - Références (commande, contrat) ### EN16931 (178 règles) - Toutes les règles BASIC - **Règles européennes (BR-xx)** : 81 règles business - **Règles françaises (FR-xx)** : 12 règles spécifiques France - **Calculs avancés (CR-xx)** : 32 règles de calcul - **Codes normalisés (CL-xx)** : 52 listes de codes ### EXTENDED (210+ règles) - Toutes les règles EN16931 - Informations logistiques - Données comptables avancées - Références externes multiples ## Contrôles effectués ### 1. Validation syntaxique - Parsing XML correct (UTF-8, bien formé) - Namespaces UN/CEFACT présents - Structure hiérarchique respectée ### 2. Règles business (BR-xx) Exemples : - `BR-1` : Le total de la facture doit être égal à la somme des totaux de lignes + montants au niveau document - `BR-CO-10` : La somme des montants de base de TVA doit être égale au total net de la facture - `BR-16` : Le code de devise de la facture doit figurer dans la liste ISO 4217 ### 3. Règles françaises (FR-xx) Exemples : - `FR-1` : Le SIRET fournisseur doit avoir 14 chiffres - `FR-2` : Le SIRET client doit avoir 14 chiffres (si présent) - `FR-5` : Le numéro de TVA intracommunautaire doit être au format FRxx999999999 ### 4. Règles de calcul (CR-xx) - Montants HT + TVA = TTC - Somme des lignes = Total document - Remises et majorations correctement appliquées - Arrondis conformes (2 décimales pour les montants) ### 5. Codes normalisés (CL-xx) - Codes pays ISO 3166-1 alpha-2 - Codes devises ISO 4217 - Unités de mesure UN/ECE Rec 20 - Codes TVA (types, catégories, exonérations) - SchemeID pour identifiants (0002=SIREN, 0009=SIRET, etc.) ## Processus de validation 1. **Chargement XSLT** : Fichier Schematron converti en XSLT (Saxon-HE) 2. **Transformation** : Application des règles sur le XML 3. **Analyse résultats** : Extraction des erreurs (`failed-assert`) et avertissements (`successful-report`) 4. **Rapport** : Liste structurée des non-conformités ## Réponses **200 OK** : XML conforme ```json { \"message\": \"Le XML est conforme au profil EN16931\" } ``` **400 Bad Request** : XML non conforme ```json { \"detail\": [ \"[BR-1] Le total de la facture (120.00) ne correspond pas à la somme calculée (100.00 + 20.00)\", \"[FR-1] Le SIRET fournisseur doit contenir exactement 14 chiffres\" ] } ``` ## Cas d\'usage - **Pré-validation** : Vérifier un XML avant intégration dans un PDF/A - **Debugging** : Identifier précisément les erreurs de génération - **Tests** : Valider des XMLs de test ou d\'exemple - **Conformité** : S\'assurer du respect des règles européennes et françaises - **Développement** : Tester rapidement sans générer de PDF ## Temps de traitement - Profil MINIMUM : ~0.5 seconde - Profil EN16931 : ~1-2 secondes - Profil EXTENDED : ~2-3 secondes
|
|
245
|
-
* @summary Valider un XML Factur-X existant
|
|
246
|
-
* @param {File} fichierXml Fichier XML Factur-X à valider (format .xml).
|
|
247
|
-
* @param {ProfilAPI} [profil] Profil de validation (MINIMUM, BASIC, EN16931, EXTENDED).
|
|
248
|
-
* @param {*} [options] Override http request option.
|
|
249
|
-
* @throws {RequiredError}
|
|
250
|
-
*/
|
|
251
|
-
validerXmlApiV1TraitementValiderXmlPost(fichierXml: File, profil?: ProfilAPI, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReponseValidationSucces>>;
|
|
252
|
-
};
|
|
253
|
-
/**
|
|
254
|
-
* TraitementFactureApi - factory interface
|
|
255
|
-
*/
|
|
256
|
-
export declare const TraitementFactureApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
257
|
-
/**
|
|
258
|
-
* Génère un certificat X.509 auto-signé pour les tests de signature électronique PDF. **⚠️ ATTENTION : Certificat de TEST uniquement !** Ce certificat est : - ✅ Adapté pour tests et développement - ✅ Compatible signature PDF (PAdES) - ✅ Conforme eIDAS niveau **SES** (Simple Electronic Signature) - ❌ **JAMAIS utilisable en production** - ❌ **Non reconnu** par les navigateurs et lecteurs PDF - ❌ **Aucune valeur juridique** ## Niveaux eIDAS - **SES** (Simple) : Certificat auto-signé ← Généré par cet endpoint - **AdES** (Advanced) : Certificat CA commerciale (Let\'s Encrypt, etc.) - **QES** (Qualified) : Certificat qualifié PSCO (CertEurope, Universign, etc.) ## Utilisation Une fois généré, le certificat peut être : 1. **Enregistré dans Django** (recommandé) : - Django Admin > Certificats de signature - Upload `certificat_pem` et `cle_privee_pem` 2. **Utilisé directement** : - Signer un PDF avec `/signer-pdf` - Le certificat sera automatiquement utilisé ## Exemple d\'appel ```bash curl -X POST \"https://www.factpulse.fr/api/facturation/generer-certificat-test\" \\ -H \"Authorization: Bearer eyJ0eXAi...\" \\ -H \"Content-Type: application/json\" \\ -d \'{ \"cn\": \"Test Client XYZ\", \"organisation\": \"Client XYZ SARL\", \"email\": \"contact@xyz.fr\", \"duree_jours\": 365 }\' ``` ## Cas d\'usage - Tests de signature PDF en développement - POC de signature électronique - Formation et démos - Tests d\'intégration automatisés ## Conformité technique Certificat généré avec : - Clé RSA 2048 ou 4096 bits - Algorithme SHA-256 - Extensions Key Usage : `digitalSignature`, `contentCommitment` (non-repudiation) - Extensions Extended Key Usage : `codeSigning`, `emailProtection` - Validité : 1 jour à 10 ans (configurable) - Format : PEM (certificat et clé) - Optionnel : PKCS#12 (.p12)
|
|
259
|
-
* @summary Générer un certificat X.509 auto-signé de test
|
|
260
|
-
* @param {GenerateCertificateRequest} generateCertificateRequest
|
|
261
|
-
* @param {*} [options] Override http request option.
|
|
262
|
-
* @throws {RequiredError}
|
|
263
|
-
*/
|
|
264
|
-
genererCertificatTestApiV1TraitementGenererCertificatTestPost(generateCertificateRequest: GenerateCertificateRequest, options?: RawAxiosRequestConfig): AxiosPromise<GenerateCertificateResponse>;
|
|
265
|
-
/**
|
|
266
|
-
* Génère une facture électronique au format Factur-X conforme aux normes européennes. ## Normes appliquées - **Factur-X** (France) : Norme FNFE-MPE (Forum National de la Facture Électronique) - **ZUGFeRD** (Allemagne) : Format allemand compatible Factur-X - **EN 16931** : Norme sémantique européenne pour la facturation électronique - **ISO 19005-3** (PDF/A-3) : Archivage électronique à long terme - **Cross Industry Invoice (CII)** : Syntaxe XML UN/CEFACT ## 🆕 Nouveau : Format simplifié avec auto-enrichissement (P0.1) Vous pouvez désormais créer une facture en fournissant uniquement : - Un numéro de facture - Un SIRET émetteur + **IBAN** (obligatoire) - Un SIRET destinataire - Les lignes de facture (description, quantité, prix HT) **Exemple format simplifié** : ```json { \"numero\": \"FACT-2025-001\", \"emetteur\": { \"siret\": \"92019522900017\", \"iban\": \"FR7630001007941234567890185\" }, \"destinataire\": {\"siret\": \"35600000000048\"}, \"lignes\": [ {\"description\": \"Prestation\", \"quantite\": 10, \"prix_ht\": 100.00, \"tva\": 20.0} ] } ``` **⚠️ Champs obligatoires (format simplifié)** : - `numero` : Numéro de facture unique - `emetteur.siret` : SIRET de l\'émetteur (14 chiffres) - `emetteur.iban` : IBAN du compte bancaire (pas d\'API publique pour le récupérer) - `destinataire.siret` : SIRET du destinataire - `lignes[]` : Au moins une ligne de facture **Ce qui se passe automatiquement avec `auto_enrichir=True`** : - ✅ Enrichissement des noms depuis API Chorus Pro - ✅ Enrichissement des adresses depuis API Recherche Entreprises (gratuite, publique) - ✅ Calcul automatique de la TVA intracommunautaire (FR + clé + SIREN) - ✅ Récupération de l\'ID Chorus Pro pour la facturation électronique - ✅ Calcul des totaux HT/TVA/TTC - ✅ Génération des dates (aujourd\'hui + échéance 30j) - ✅ Gestion multi-taux de TVA **Identifiants supportés** : - SIRET (14 chiffres) : Établissement précis ⭐ Recommandé - SIREN (9 chiffres) : Entreprise (sélection auto du siège) - Types spéciaux : UE_HORS_FRANCE, RIDET, TAHITI, etc. ## Contrôles effectués lors de la génération ### 1. Validation des données (Pydantic) - Types de données (montants en Decimal, dates ISO 8601) - Formats (SIRET 14 chiffres, SIREN 9 chiffres, IBAN) - Champs obligatoires selon le profil - Cohérence des montants (HT + TVA = TTC) ### 2. Génération XML conforme CII - Sérialisation selon schéma XSD Cross Industry Invoice - Namespaces UN/CEFACT corrects - Structure hiérarchique respectée - Encodage UTF-8 sans BOM ### 3. Validation Schematron - Règles métier du profil sélectionné (MINIMUM, BASIC, EN16931, EXTENDED) - Cardinalité des éléments (obligatoire, optionnel, répétable) - Règles de calcul (totaux, TVA, remises) - Conformité européenne EN 16931 ### 4. Conversion PDF/A-3 (si format_sortie=\'pdf\') - Conversion du PDF source en PDF/A-3 via Ghostscript - Embarquement du XML Factur-X dans le PDF - Métadonnées XMP conformes - Profil ICC sRGB pour les couleurs - Suppression des éléments interdits (JavaScript, formulaires) ## Fonctionnement 1. **Soumission** : La facture est mise en file d\'attente Celery pour traitement asynchrone 2. **Retour immédiat** : Vous recevez un `id_tache` (HTTP 202 Accepted) 3. **Suivi** : Utilisez l\'endpoint `/taches/{id_tache}/statut` pour suivre l\'avancement ## Formats de sortie - **xml** : Génère uniquement le XML Factur-X (recommandé pour les tests) - **pdf** : Génère un PDF/A-3 avec XML embarqué (nécessite `source_pdf`) ## Profils Factur-X - **MINIMUM** : Données minimales (facture simplifiée) - **BASIC** : Informations de base (PME) - **EN16931** : Standard européen (recommandé, conforme directive 2014/55/UE) - **EXTENDED** : Toutes les données disponibles (grands comptes) ## Ce que vous obtenez Après traitement réussi (statut `completed`) : - **XML seul** : Fichier XML encodé base64 conforme Factur-X - **PDF/A-3** : PDF avec XML embarqué, prêt pour envoi/archivage - **Métadonnées** : Profil, version Factur-X, taille fichier - **Validation** : Confirmation de conformité Schematron ## Validation Les données sont validées automatiquement selon le format détecté. En cas d\'erreur, un statut 422 est retourné avec les détails des champs invalides.
|
|
267
|
-
* @summary Générer une facture Factur-X
|
|
268
|
-
* @param {string} donneesFacture Données de la facture au format JSON. Deux formats acceptés : 1. **Format classique** : Structure complète FactureFacturX (tous les champs) 2. **Format simplifié** (🆕 P0.1) : Structure minimale avec auto-enrichissement Le format est détecté automatiquement !
|
|
269
|
-
* @param {ProfilAPI} [profil] Profil Factur-X : MINIMUM, BASIC, EN16931 ou EXTENDED.
|
|
270
|
-
* @param {FormatSortie} [formatSortie] Format de sortie : \\\'xml\\\' (XML seul) ou \\\'pdf\\\' (PDF Factur-X avec XML embarqué).
|
|
271
|
-
* @param {boolean} [autoEnrichir] 🆕 Activer l\\\'auto-enrichissement depuis SIRET/SIREN (format simplifié uniquement)
|
|
272
|
-
* @param {File | null} [sourcePdf]
|
|
273
|
-
* @param {*} [options] Override http request option.
|
|
274
|
-
* @throws {RequiredError}
|
|
275
|
-
*/
|
|
276
|
-
genererFactureApiV1TraitementGenererFacturePost(donneesFacture: string, profil?: ProfilAPI, formatSortie?: FormatSortie, autoEnrichir?: boolean, sourcePdf?: File | null, options?: RawAxiosRequestConfig): AxiosPromise<ReponseTache>;
|
|
277
|
-
/**
|
|
278
|
-
* Récupère l\'état d\'avancement d\'une tâche de génération de facture. ## États possibles Le champ `statut` utilise l\'enum `StatutCelery` avec les valeurs : - **PENDING, STARTED, SUCCESS, FAILURE, RETRY** Voir la documentation du schéma `StatutCelery` pour les détails. ## Résultat métier Quand `statut=\"SUCCESS\"`, le champ `resultat` contient : - `statut` : \"SUCCES\" ou \"ERREUR\" (résultat métier) - `chemin_fichier` : Chemin du fichier généré (si succès) - `errorCode`, `errorMessage`, `details` : Format AFNOR (si échec métier) ## Usage Appelez cet endpoint en boucle (polling) toutes les 2-3 secondes jusqu\'à ce que `statut` soit `SUCCESS` ou `FAILURE`.
|
|
279
|
-
* @summary Obtenir le statut d\'une tâche de génération
|
|
280
|
-
* @param {string} idTache
|
|
281
|
-
* @param {*} [options] Override http request option.
|
|
282
|
-
* @throws {RequiredError}
|
|
283
|
-
*/
|
|
284
|
-
obtenirStatutTacheApiV1TraitementTachesIdTacheStatutGet(idTache: string, options?: RawAxiosRequestConfig): AxiosPromise<StatutTache>;
|
|
285
|
-
/**
|
|
286
|
-
* Signe un PDF uploadé avec le certificat électronique configuré pour le client (via client_uid du JWT). **Standards supportés** : PAdES-B-B, PAdES-B-T (horodatage), PAdES-B-LT (archivage long terme). **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO - hors scope). **Sécurité** : Double authentification X-Internal-Secret + JWT Bearer pour récupérer le certificat. **⚠️ Disclaimer légal** : Les signatures générées sont des cachets électroniques au sens du règlement eIDAS. Le niveau de validité juridique dépend du certificat utilisé (SES/AdES/QES). FactPulse ne fournit pas de certificats qualifiés QES - vous devez obtenir un certificat auprès d\'un PSCO (Prestataire de Services de Confiance qualifié) pour une validité juridique maximale.
|
|
287
|
-
* @summary Signer un PDF avec le certificat du client (PAdES-B-LT)
|
|
288
|
-
* @param {File} fichierPdf Fichier PDF à signer (sera traité puis retourné signé en base64)
|
|
289
|
-
* @param {string | null} [raison]
|
|
290
|
-
* @param {string | null} [localisation]
|
|
291
|
-
* @param {string | null} [contact]
|
|
292
|
-
* @param {string} [fieldName] Nom du champ de signature PDF
|
|
293
|
-
* @param {boolean} [usePadesLt] Activer PAdES-B-LT (archivage long terme avec données de validation embarquées). NÉCESSITE un certificat avec accès OCSP/CRL.
|
|
294
|
-
* @param {boolean} [useTimestamp] Activer l\\\'horodatage RFC 3161 avec FreeTSA (PAdES-B-T)
|
|
295
|
-
* @param {*} [options] Override http request option.
|
|
296
|
-
* @throws {RequiredError}
|
|
297
|
-
*/
|
|
298
|
-
signerPdfApiV1TraitementSignerPdfPost(fichierPdf: File, raison?: string | null, localisation?: string | null, contact?: string | null, fieldName?: string, usePadesLt?: boolean, useTimestamp?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<any>;
|
|
299
|
-
/**
|
|
300
|
-
* Signe un PDF uploadé de manière asynchrone via une tâche Celery. **Différence avec /signer-pdf** : - `/signer-pdf` : Signature synchrone (blocage jusqu\'à la fin) - `/signer-pdf-async` : Signature asynchrone (retourne immédiatement un task_id) **Avantages de l\'async** : - Pas de timeout pour les gros fichiers - Pas de blocage du worker FastAPI - Possibilité de suivre la progression via le task_id - Idéal pour les traitements par lot **Standards supportés** : PAdES-B-B, PAdES-B-T (horodatage), PAdES-B-LT (archivage long terme). **⚠️ Disclaimer légal** : Identique à /signer-pdf (voir documentation de cet endpoint).
|
|
301
|
-
* @summary Signer un PDF de manière asynchrone (Celery)
|
|
302
|
-
* @param {File} fichierPdf Fichier PDF à signer (traité de manière asynchrone)
|
|
303
|
-
* @param {string | null} [raison]
|
|
304
|
-
* @param {string | null} [localisation]
|
|
305
|
-
* @param {string | null} [contact]
|
|
306
|
-
* @param {string} [fieldName] Nom du champ de signature PDF
|
|
307
|
-
* @param {boolean} [usePadesLt] Activer PAdES-B-LT (archivage long terme avec données de validation embarquées). NÉCESSITE un certificat avec accès OCSP/CRL.
|
|
308
|
-
* @param {boolean} [useTimestamp] Activer l\\\'horodatage RFC 3161 avec FreeTSA (PAdES-B-T)
|
|
309
|
-
* @param {*} [options] Override http request option.
|
|
310
|
-
* @throws {RequiredError}
|
|
311
|
-
*/
|
|
312
|
-
signerPdfAsyncApiV1TraitementSignerPdfAsyncPost(fichierPdf: File, raison?: string | null, localisation?: string | null, contact?: string | null, fieldName?: string, usePadesLt?: boolean, useTimestamp?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<any>;
|
|
313
|
-
/**
|
|
314
|
-
* Endpoint unifié pour soumettre une facture complète vers différentes destinations. **Workflow automatisé :** 1. **Auto-enrichissement** (optionnel) : récupère les données via APIs publiques et Chorus Pro/AFNOR 2. **Génération PDF Factur-X** : crée un PDF/A-3 avec XML embarqué 3. **Signature électronique** (optionnelle) : signe le PDF avec un certificat 4. **Soumission** : envoie vers la destination choisie (Chorus Pro ou AFNOR PDP) **Destinations supportées :** - **Chorus Pro** : plateforme B2G française (factures vers secteur public) - **AFNOR PDP** : Plateformes de Dématérialisation Partenaires **Credentials de destination - 2 modes disponibles :** **Mode 1 - Récupération via JWT (recommandé) :** - Les credentials sont récupérés automatiquement via le `client_uid` du JWT - Ne pas fournir le champ `credentials` dans `destination` - Architecture 0-trust : aucun secret dans le payload - Exemple : `\"destination\": {\"type\": \"chorus_pro\"}` **Mode 2 - Credentials dans le payload :** - Fournir les credentials directement dans le payload - Utile pour tests ou intégrations tierces - Exemple : `\"destination\": {\"type\": \"chorus_pro\", \"credentials\": {...}}` **Signature électronique (optionnelle) - 2 modes disponibles :** **Mode 1 - Certificat stocké (recommandé) :** - Le certificat est récupéré automatiquement via le `client_uid` du JWT - Aucune clé à fournir dans le payload - Signature PAdES-B-LT avec horodatage (conforme eIDAS) - Exemple : `\"signature\": {\"raison\": \"Conformité Factur-X\"}` **Mode 2 - Clés dans le payload (pour tests) :** - Fournir `key_pem` et `cert_pem` directement - Format PEM accepté : brut ou base64 - Utile pour tests ou cas spéciaux sans certificat stocké - Exemple : `\"signature\": {\"key_pem\": \"-----BEGIN...\", \"cert_pem\": \"-----BEGIN...\"}` Si `key_pem` et `cert_pem` sont fournis → Mode 2 Sinon → Mode 1 (certificat récupéré via `client_uid`)
|
|
315
|
-
* @summary Soumettre une facture complète (génération + signature + soumission)
|
|
316
|
-
* @param {SoumettreFactureCompleteRequest} soumettreFactureCompleteRequest
|
|
317
|
-
* @param {*} [options] Override http request option.
|
|
318
|
-
* @throws {RequiredError}
|
|
319
|
-
*/
|
|
320
|
-
soumettreFactureCompleteApiV1TraitementFacturesSoumettreCompletePost(soumettreFactureCompleteRequest: SoumettreFactureCompleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<SoumettreFactureCompleteResponse>;
|
|
321
|
-
/**
|
|
322
|
-
* Version asynchrone de l\'endpoint `/factures/soumettre-complete` utilisant Celery pour le traitement en arrière-plan. **Workflow automatisé (identique à la version synchrone) :** 1. **Auto-enrichissement** (optionnel) : récupère les données via APIs publiques et Chorus Pro/AFNOR 2. **Génération PDF Factur-X** : crée un PDF/A-3 avec XML embarqué 3. **Signature électronique** (optionnelle) : signe le PDF avec un certificat 4. **Soumission** : envoie vers la destination choisie (Chorus Pro ou AFNOR PDP) **Destinations supportées :** - **Chorus Pro** : plateforme B2G française (factures vers secteur public) - **AFNOR PDP** : Plateformes de Dématérialisation Partenaires **Différences avec la version synchrone :** - ✅ **Non-bloquant** : Retourne immédiatement un `id_tache` (HTTP 202 Accepted) - ✅ **Traitement en arrière-plan** : La facture est traitée par un worker Celery - ✅ **Suivi d\'avancement** : Utilisez `/taches/{id_tache}/statut` pour suivre le statut - ✅ **Idéal pour gros volumes** : Permet de traiter de nombreuses factures en parallèle **Comment utiliser :** 1. **Soumission** : Appelez cet endpoint avec vos données de facture 2. **Retour immédiat** : Vous recevez un `id_tache` (ex: \"abc123-def456\") 3. **Suivi** : Appelez `/taches/{id_tache}/statut` pour vérifier l\'avancement 4. **Résultat** : Quand `statut = \"SUCCESS\"`, le champ `resultat` contient la réponse complète **Credentials et signature** : Mêmes modes que la version synchrone (JWT ou payload).
|
|
323
|
-
* @summary Soumettre une facture complète (asynchrone avec Celery)
|
|
324
|
-
* @param {SoumettreFactureCompleteRequest} soumettreFactureCompleteRequest
|
|
325
|
-
* @param {*} [options] Override http request option.
|
|
326
|
-
* @throws {RequiredError}
|
|
327
|
-
*/
|
|
328
|
-
soumettreFactureCompleteAsyncApiV1TraitementFacturesSoumettreCompleteAsyncPost(soumettreFactureCompleteRequest: SoumettreFactureCompleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<ReponseTache>;
|
|
329
|
-
/**
|
|
330
|
-
* Valide un PDF Factur-X complet selon les normes européennes et françaises. ## Normes de validation appliquées - **EN 16931** : Norme sémantique européenne (directive 2014/55/UE) - **ISO 19005-3** (PDF/A-3) : Archivage électronique à long terme - **Factur-X / ZUGFeRD** : Spécification franco-allemande - **Schematron** : Validation des règles métier XML - **eIDAS** : Règlement européen sur l\'identification électronique (signatures) ## Contrôles effectués ### 1. Extraction et validation du XML Factur-X **Contrôles réalisés :** - Présence d\'un fichier XML embarqué (`factur-x.xml` ou `zugferd-invoice.xml`) - Détection automatique du profil (MINIMUM, BASIC, EN16931, EXTENDED) - Parsing XML avec validation UTF-8 - Extraction du GuidelineSpecifiedDocumentContextParameter/ID **Validation Schematron :** - Règles métier du profil détecté (MINIMUM : 45 règles, EN16931 : 178 règles) - Cardinalité des éléments obligatoires - Cohérence des calculs (montants HT, TVA, TTC, remises) - Formats des identifiants (SIRET, TVA intracommunautaire, IBAN) - Codes normalisés (codes pays ISO, unités UN/ECE, codes TVA) **Ce qui est vérifié :** - ✅ Structure XML conforme XSD Cross Industry Invoice - ✅ Namespace UN/CEFACT correct - ✅ Règles de gestion européennes (BR-xx) - ✅ Règles françaises spécifiques (FR-xx) ### 2. Conformité PDF/A-3 **Validation de base (métadonnées) :** - Présence du champ `/Type` à `Catalog` - Métadonnée `pdfaid:part` = 3 (PDF/A-3) - Métadonnée `pdfaid:conformance` = B ou U - Version PDF >= 1.4 **Validation stricte VeraPDF (si use_verapdf=True) :** - 146+ règles ISO 19005-3 (PDF/A-3B) - Absence de contenu interdit (JavaScript, multimedia, formulaires dynamiques) - Polices embarquées et sous-ensembles corrects - Espaces colorimétriques conformes (sRGB, DeviceGray) - Structure de fichier valide (cross-reference table) - Métadonnées XMP conformes ISO 16684-1 **Ce qui est vérifié :** - ✅ Fichier archivable à long terme (20+ ans) - ✅ Lisibilité garantie (polices embarquées) - ✅ Conformité légale (France, Allemagne, UE) ### 3. Métadonnées XMP (eXtensible Metadata Platform) **Contrôles réalisés :** - Présence du bloc `<?xpacket>` avec métadonnées XMP - Namespace `fx:` pour Factur-X : `urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#` - Champs Factur-X obligatoires : - `fx:ConformanceLevel` : Profil (MINIMUM, BASIC, EN16931, EXTENDED) - `fx:DocumentFileName` : Nom du XML embarqué - `fx:DocumentType` : \"INVOICE\" - `fx:Version` : Version Factur-X (1.0.07) **Ce qui est vérifié :** - ✅ Métadonnées conformes ISO 16684-1 - ✅ Profil Factur-X déclaré correct - ✅ Version Factur-X supportée ### 4. Signatures électroniques **Détection et analyse :** - Présence de dictionnaires `/Sig` dans le PDF - Type de signature : PAdES (PDF Advanced Electronic Signature) - Extraction des informations : - Nom du signataire (`/Name`) - Date de signature (`/M`) - Raison de la signature (`/Reason`) - Lieu de signature (`/Location`) - Type de signature (approval, certification) **Ce qui est vérifié :** - ✅ Présence de signatures ou cachets - ✅ Nombre de signatures (mono ou multi-signature) - ℹ️ Pas de vérification cryptographique (nécessite certificats) ## Paramètres - **fichier_pdf** (requis) : Le fichier PDF Factur-X à valider - **profil** (optionnel) : Profil attendu. Si absent, détection automatique depuis le XML - **use_verapdf** (optionnel, défaut=false) : Active la validation stricte PDF/A avec VeraPDF - `false` : Validation rapide par métadonnées (2-3 secondes) - `true` : Validation complète ISO 19005-3 (15-30 secondes, **recommandé en production**) ## Réponse détaillée ```json { \"est_conforme\": true, \"xml\": { \"present\": true, \"conforme\": true, \"profil\": \"EN16931\", \"erreurs\": [] }, \"pdfa\": { \"conforme\": true, \"version\": \"PDF/A-3B\", \"methode\": \"verapdf\", \"erreurs\": [] }, \"xmp\": { \"present\": true, \"conforme\": true, \"metadonnees\": {...} }, \"signatures\": { \"present\": true, \"nombre\": 1, \"details\": [...] } } ``` ## Cas d\'usage - **Avant envoi** : Valider la facture générée avant transmission à un client - **À réception** : Vérifier la conformité d\'une facture reçue d\'un fournisseur - **Audit** : Contrôler la qualité de lots de factures - **Conformité légale** : S\'assurer du respect des obligations B2B/B2G en France - **Debugging** : Identifier les problèmes dans le processus de génération - **Archivage** : Garantir la validité à long terme (PDF/A-3) ## Temps de traitement - Validation basique : 2-3 secondes - Validation VeraPDF : 15-30 secondes (dépend de la taille du PDF)
|
|
331
|
-
* @summary Valider un PDF Factur-X complet
|
|
332
|
-
* @param {File} fichierPdf Fichier PDF Factur-X à valider (format .pdf).
|
|
333
|
-
* @param {ProfilAPI | null} [profil]
|
|
334
|
-
* @param {boolean} [useVerapdf] Active la validation stricte PDF/A avec VeraPDF (recommandé pour la production). Si False, utilise une validation basique par métadonnées.
|
|
335
|
-
* @param {*} [options] Override http request option.
|
|
336
|
-
* @throws {RequiredError}
|
|
337
|
-
*/
|
|
338
|
-
validerPdfFacturxApiV1TraitementValiderPdfFacturxPost(fichierPdf: File, profil?: ProfilAPI | null, useVerapdf?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<ResultatValidationPDFAPI>;
|
|
339
|
-
/**
|
|
340
|
-
* Valide un PDF Factur-X de manière asynchrone avec système de polling. ## Fonctionnement 1. **Soumission** : Le PDF est mis en file d\'attente pour validation asynchrone 2. **Retour immédiat** : Vous recevez un `id_tache` (HTTP 202) 3. **Suivi** : Utilisez l\'endpoint `/taches/{id_tache}/statut` pour suivre l\'avancement ## Avantages du mode asynchrone - **Pas de timeout** : Idéal pour les gros PDFs ou la validation VeraPDF (qui peut prendre plusieurs secondes) - **Scalabilité** : Les validations sont traitées par des workers Celery dédiés - **Suivi d\'état** : Permet de suivre la progression de la validation - **Non-bloquant** : Votre client ne reste pas en attente pendant la validation ## Quand utiliser ce mode ? - **Validation VeraPDF activée** (`use_verapdf=True`) : La validation stricte peut prendre 2-10 secondes - **Gros fichiers PDF** : PDFs > 1 MB - **Traitement par lots** : Validation de multiples factures en parallèle - **Intégration asynchrone** : Votre système supporte le polling ## Contrôles effectués ### 1. Extraction et validation du XML Factur-X - Vérifie la présence d\'un fichier XML embarqué conforme Factur-X - Détecte automatiquement le profil utilisé (MINIMUM, BASIC, EN16931, EXTENDED) - Valide le XML contre les règles Schematron du profil détecté ### 2. Conformité PDF/A - **Sans VeraPDF** : Validation basique par métadonnées (rapide, ~100ms) - **Avec VeraPDF** : Validation stricte selon ISO 19005 (146+ règles, 2-10s) - Détecte la version PDF/A (PDF/A-1, PDF/A-3, etc.) - Rapports détaillés des non-conformités ### 3. Métadonnées XMP - Vérifie la présence de métadonnées XMP dans le PDF - Valide la conformité des métadonnées Factur-X (profil, version) - Extrait toutes les métadonnées XMP disponibles ### 4. Signatures électroniques - Détecte la présence de signatures ou cachets électroniques - Extrait les informations sur chaque signature (signataire, date, raison) - Compte le nombre de signatures présentes ## Paramètres - **fichier_pdf** : Le fichier PDF Factur-X à valider - **profil** : Le profil Factur-X attendu (optionnel). Si non spécifié, le profil sera automatiquement détecté depuis le fichier XML embarqué. - **use_verapdf** : Active la validation stricte PDF/A avec VeraPDF. ⚠️ **Attention** : VeraPDF peut prendre 2-10 secondes selon la taille du PDF. Recommandé uniquement en mode asynchrone pour éviter les timeouts. ## Récupération du résultat Après soumission, utilisez l\'endpoint `GET /taches/{id_tache}/statut` pour récupérer le résultat. **Exemple de polling** : ```python import requests import time # 1. Soumettre la tâche response = requests.post(\"/valider-facturx-async\", files={\"fichier_pdf\": pdf_file}) task_id = response.json()[\"id_tache\"] # 2. Polling toutes les 2 secondes while True: status_response = requests.get(f\"/taches/{task_id}/statut\") status = status_response.json() if status[\"statut\"] == \"SUCCESS\": resultat = status[\"resultat\"][\"resultat_validation\"] print(f\"Conforme: {resultat[\'est_conforme\']}\") break elif status[\"statut\"] == \"FAILURE\": print(f\"Erreur: {status[\'resultat\'][\'errorMessage\']}\") break time.sleep(2) # Attendre 2 secondes avant le prochain check ``` ## Cas d\'usage - Valider des factures avant envoi avec VeraPDF (validation stricte) - Traiter des lots de factures en parallèle - Intégrer la validation dans un pipeline asynchrone - Valider des PDFs volumineux sans risque de timeout
|
|
341
|
-
* @summary Valider un PDF Factur-X (asynchrone avec polling)
|
|
342
|
-
* @param {File} fichierPdf Fichier PDF Factur-X à valider (format .pdf).
|
|
343
|
-
* @param {ProfilAPI | null} [profil]
|
|
344
|
-
* @param {boolean} [useVerapdf] Active la validation stricte PDF/A avec VeraPDF (recommandé pour la production). Peut prendre plusieurs secondes.
|
|
345
|
-
* @param {*} [options] Override http request option.
|
|
346
|
-
* @throws {RequiredError}
|
|
347
|
-
*/
|
|
348
|
-
validerPdfFacturxAsyncApiV1TraitementValiderFacturxAsyncPost(fichierPdf: File, profil?: ProfilAPI | null, useVerapdf?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<ReponseTache>;
|
|
349
|
-
/**
|
|
350
|
-
* Valide les signatures électroniques présentes dans un PDF uploadé. **Vérifications effectuées** : - Présence de signatures - Intégrité du document (non modifié depuis signature) - Validité des certificats - Chaîne de confiance (si disponible) - Présence d\'horodatage (PAdES-B-T) - Données de validation (PAdES-B-LT) **Standards supportés** : PAdES-B-B, PAdES-B-T, PAdES-B-LT, ISO 32000-2. **⚠️ Note** : Cette validation est technique (intégrité cryptographique). La validité juridique dépend du niveau eIDAS du certificat (SES/AdES/QES) et du contexte d\'utilisation.
|
|
351
|
-
* @summary Valider les signatures électroniques d\'un PDF
|
|
352
|
-
* @param {File} fichierPdf Fichier PDF à valider (sera analysé pour détecter et valider les signatures)
|
|
353
|
-
* @param {*} [options] Override http request option.
|
|
354
|
-
* @throws {RequiredError}
|
|
355
|
-
*/
|
|
356
|
-
validerSignaturePdfEndpointApiV1TraitementValiderSignaturePdfPost(fichierPdf: File, options?: RawAxiosRequestConfig): AxiosPromise<any>;
|
|
357
|
-
/**
|
|
358
|
-
* Valide un fichier XML Factur-X contre les règles métier Schematron selon la norme EN 16931. ## Norme appliquée **Schematron ISO/IEC 19757-3** : Langage de validation de règles métier pour XML - Validation sémantique (au-delà de la syntaxe XSD) - Règles métier européennes EN 16931 - Règles françaises spécifiques Factur-X - Calculs arithmétiques et cohérence des données ## Profils et règles validées ### MINIMUM (45 règles) - Identifiant de facture unique - Dates (émission, échéance) - Identifiants parties (SIRET/SIREN) - Montant total TTC ### BASIC (102 règles) - Toutes les règles MINIMUM - Lignes de facture détaillées - Calculs de TVA basiques - Modes de paiement - Références (commande, contrat) ### EN16931 (178 règles) - Toutes les règles BASIC - **Règles européennes (BR-xx)** : 81 règles business - **Règles françaises (FR-xx)** : 12 règles spécifiques France - **Calculs avancés (CR-xx)** : 32 règles de calcul - **Codes normalisés (CL-xx)** : 52 listes de codes ### EXTENDED (210+ règles) - Toutes les règles EN16931 - Informations logistiques - Données comptables avancées - Références externes multiples ## Contrôles effectués ### 1. Validation syntaxique - Parsing XML correct (UTF-8, bien formé) - Namespaces UN/CEFACT présents - Structure hiérarchique respectée ### 2. Règles business (BR-xx) Exemples : - `BR-1` : Le total de la facture doit être égal à la somme des totaux de lignes + montants au niveau document - `BR-CO-10` : La somme des montants de base de TVA doit être égale au total net de la facture - `BR-16` : Le code de devise de la facture doit figurer dans la liste ISO 4217 ### 3. Règles françaises (FR-xx) Exemples : - `FR-1` : Le SIRET fournisseur doit avoir 14 chiffres - `FR-2` : Le SIRET client doit avoir 14 chiffres (si présent) - `FR-5` : Le numéro de TVA intracommunautaire doit être au format FRxx999999999 ### 4. Règles de calcul (CR-xx) - Montants HT + TVA = TTC - Somme des lignes = Total document - Remises et majorations correctement appliquées - Arrondis conformes (2 décimales pour les montants) ### 5. Codes normalisés (CL-xx) - Codes pays ISO 3166-1 alpha-2 - Codes devises ISO 4217 - Unités de mesure UN/ECE Rec 20 - Codes TVA (types, catégories, exonérations) - SchemeID pour identifiants (0002=SIREN, 0009=SIRET, etc.) ## Processus de validation 1. **Chargement XSLT** : Fichier Schematron converti en XSLT (Saxon-HE) 2. **Transformation** : Application des règles sur le XML 3. **Analyse résultats** : Extraction des erreurs (`failed-assert`) et avertissements (`successful-report`) 4. **Rapport** : Liste structurée des non-conformités ## Réponses **200 OK** : XML conforme ```json { \"message\": \"Le XML est conforme au profil EN16931\" } ``` **400 Bad Request** : XML non conforme ```json { \"detail\": [ \"[BR-1] Le total de la facture (120.00) ne correspond pas à la somme calculée (100.00 + 20.00)\", \"[FR-1] Le SIRET fournisseur doit contenir exactement 14 chiffres\" ] } ``` ## Cas d\'usage - **Pré-validation** : Vérifier un XML avant intégration dans un PDF/A - **Debugging** : Identifier précisément les erreurs de génération - **Tests** : Valider des XMLs de test ou d\'exemple - **Conformité** : S\'assurer du respect des règles européennes et françaises - **Développement** : Tester rapidement sans générer de PDF ## Temps de traitement - Profil MINIMUM : ~0.5 seconde - Profil EN16931 : ~1-2 secondes - Profil EXTENDED : ~2-3 secondes
|
|
359
|
-
* @summary Valider un XML Factur-X existant
|
|
360
|
-
* @param {File} fichierXml Fichier XML Factur-X à valider (format .xml).
|
|
361
|
-
* @param {ProfilAPI} [profil] Profil de validation (MINIMUM, BASIC, EN16931, EXTENDED).
|
|
362
|
-
* @param {*} [options] Override http request option.
|
|
363
|
-
* @throws {RequiredError}
|
|
364
|
-
*/
|
|
365
|
-
validerXmlApiV1TraitementValiderXmlPost(fichierXml: File, profil?: ProfilAPI, options?: RawAxiosRequestConfig): AxiosPromise<ReponseValidationSucces>;
|
|
366
|
-
};
|
|
367
|
-
/**
|
|
368
|
-
* TraitementFactureApi - object-oriented interface
|
|
369
|
-
*/
|
|
370
|
-
export declare class TraitementFactureApi extends BaseAPI {
|
|
371
|
-
/**
|
|
372
|
-
* Génère un certificat X.509 auto-signé pour les tests de signature électronique PDF. **⚠️ ATTENTION : Certificat de TEST uniquement !** Ce certificat est : - ✅ Adapté pour tests et développement - ✅ Compatible signature PDF (PAdES) - ✅ Conforme eIDAS niveau **SES** (Simple Electronic Signature) - ❌ **JAMAIS utilisable en production** - ❌ **Non reconnu** par les navigateurs et lecteurs PDF - ❌ **Aucune valeur juridique** ## Niveaux eIDAS - **SES** (Simple) : Certificat auto-signé ← Généré par cet endpoint - **AdES** (Advanced) : Certificat CA commerciale (Let\'s Encrypt, etc.) - **QES** (Qualified) : Certificat qualifié PSCO (CertEurope, Universign, etc.) ## Utilisation Une fois généré, le certificat peut être : 1. **Enregistré dans Django** (recommandé) : - Django Admin > Certificats de signature - Upload `certificat_pem` et `cle_privee_pem` 2. **Utilisé directement** : - Signer un PDF avec `/signer-pdf` - Le certificat sera automatiquement utilisé ## Exemple d\'appel ```bash curl -X POST \"https://www.factpulse.fr/api/facturation/generer-certificat-test\" \\ -H \"Authorization: Bearer eyJ0eXAi...\" \\ -H \"Content-Type: application/json\" \\ -d \'{ \"cn\": \"Test Client XYZ\", \"organisation\": \"Client XYZ SARL\", \"email\": \"contact@xyz.fr\", \"duree_jours\": 365 }\' ``` ## Cas d\'usage - Tests de signature PDF en développement - POC de signature électronique - Formation et démos - Tests d\'intégration automatisés ## Conformité technique Certificat généré avec : - Clé RSA 2048 ou 4096 bits - Algorithme SHA-256 - Extensions Key Usage : `digitalSignature`, `contentCommitment` (non-repudiation) - Extensions Extended Key Usage : `codeSigning`, `emailProtection` - Validité : 1 jour à 10 ans (configurable) - Format : PEM (certificat et clé) - Optionnel : PKCS#12 (.p12)
|
|
373
|
-
* @summary Générer un certificat X.509 auto-signé de test
|
|
374
|
-
* @param {GenerateCertificateRequest} generateCertificateRequest
|
|
375
|
-
* @param {*} [options] Override http request option.
|
|
376
|
-
* @throws {RequiredError}
|
|
377
|
-
*/
|
|
378
|
-
genererCertificatTestApiV1TraitementGenererCertificatTestPost(generateCertificateRequest: GenerateCertificateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GenerateCertificateResponse, any, {}>>;
|
|
379
|
-
/**
|
|
380
|
-
* Génère une facture électronique au format Factur-X conforme aux normes européennes. ## Normes appliquées - **Factur-X** (France) : Norme FNFE-MPE (Forum National de la Facture Électronique) - **ZUGFeRD** (Allemagne) : Format allemand compatible Factur-X - **EN 16931** : Norme sémantique européenne pour la facturation électronique - **ISO 19005-3** (PDF/A-3) : Archivage électronique à long terme - **Cross Industry Invoice (CII)** : Syntaxe XML UN/CEFACT ## 🆕 Nouveau : Format simplifié avec auto-enrichissement (P0.1) Vous pouvez désormais créer une facture en fournissant uniquement : - Un numéro de facture - Un SIRET émetteur + **IBAN** (obligatoire) - Un SIRET destinataire - Les lignes de facture (description, quantité, prix HT) **Exemple format simplifié** : ```json { \"numero\": \"FACT-2025-001\", \"emetteur\": { \"siret\": \"92019522900017\", \"iban\": \"FR7630001007941234567890185\" }, \"destinataire\": {\"siret\": \"35600000000048\"}, \"lignes\": [ {\"description\": \"Prestation\", \"quantite\": 10, \"prix_ht\": 100.00, \"tva\": 20.0} ] } ``` **⚠️ Champs obligatoires (format simplifié)** : - `numero` : Numéro de facture unique - `emetteur.siret` : SIRET de l\'émetteur (14 chiffres) - `emetteur.iban` : IBAN du compte bancaire (pas d\'API publique pour le récupérer) - `destinataire.siret` : SIRET du destinataire - `lignes[]` : Au moins une ligne de facture **Ce qui se passe automatiquement avec `auto_enrichir=True`** : - ✅ Enrichissement des noms depuis API Chorus Pro - ✅ Enrichissement des adresses depuis API Recherche Entreprises (gratuite, publique) - ✅ Calcul automatique de la TVA intracommunautaire (FR + clé + SIREN) - ✅ Récupération de l\'ID Chorus Pro pour la facturation électronique - ✅ Calcul des totaux HT/TVA/TTC - ✅ Génération des dates (aujourd\'hui + échéance 30j) - ✅ Gestion multi-taux de TVA **Identifiants supportés** : - SIRET (14 chiffres) : Établissement précis ⭐ Recommandé - SIREN (9 chiffres) : Entreprise (sélection auto du siège) - Types spéciaux : UE_HORS_FRANCE, RIDET, TAHITI, etc. ## Contrôles effectués lors de la génération ### 1. Validation des données (Pydantic) - Types de données (montants en Decimal, dates ISO 8601) - Formats (SIRET 14 chiffres, SIREN 9 chiffres, IBAN) - Champs obligatoires selon le profil - Cohérence des montants (HT + TVA = TTC) ### 2. Génération XML conforme CII - Sérialisation selon schéma XSD Cross Industry Invoice - Namespaces UN/CEFACT corrects - Structure hiérarchique respectée - Encodage UTF-8 sans BOM ### 3. Validation Schematron - Règles métier du profil sélectionné (MINIMUM, BASIC, EN16931, EXTENDED) - Cardinalité des éléments (obligatoire, optionnel, répétable) - Règles de calcul (totaux, TVA, remises) - Conformité européenne EN 16931 ### 4. Conversion PDF/A-3 (si format_sortie=\'pdf\') - Conversion du PDF source en PDF/A-3 via Ghostscript - Embarquement du XML Factur-X dans le PDF - Métadonnées XMP conformes - Profil ICC sRGB pour les couleurs - Suppression des éléments interdits (JavaScript, formulaires) ## Fonctionnement 1. **Soumission** : La facture est mise en file d\'attente Celery pour traitement asynchrone 2. **Retour immédiat** : Vous recevez un `id_tache` (HTTP 202 Accepted) 3. **Suivi** : Utilisez l\'endpoint `/taches/{id_tache}/statut` pour suivre l\'avancement ## Formats de sortie - **xml** : Génère uniquement le XML Factur-X (recommandé pour les tests) - **pdf** : Génère un PDF/A-3 avec XML embarqué (nécessite `source_pdf`) ## Profils Factur-X - **MINIMUM** : Données minimales (facture simplifiée) - **BASIC** : Informations de base (PME) - **EN16931** : Standard européen (recommandé, conforme directive 2014/55/UE) - **EXTENDED** : Toutes les données disponibles (grands comptes) ## Ce que vous obtenez Après traitement réussi (statut `completed`) : - **XML seul** : Fichier XML encodé base64 conforme Factur-X - **PDF/A-3** : PDF avec XML embarqué, prêt pour envoi/archivage - **Métadonnées** : Profil, version Factur-X, taille fichier - **Validation** : Confirmation de conformité Schematron ## Validation Les données sont validées automatiquement selon le format détecté. En cas d\'erreur, un statut 422 est retourné avec les détails des champs invalides.
|
|
381
|
-
* @summary Générer une facture Factur-X
|
|
382
|
-
* @param {string} donneesFacture Données de la facture au format JSON. Deux formats acceptés : 1. **Format classique** : Structure complète FactureFacturX (tous les champs) 2. **Format simplifié** (🆕 P0.1) : Structure minimale avec auto-enrichissement Le format est détecté automatiquement !
|
|
383
|
-
* @param {ProfilAPI} [profil] Profil Factur-X : MINIMUM, BASIC, EN16931 ou EXTENDED.
|
|
384
|
-
* @param {FormatSortie} [formatSortie] Format de sortie : \\\'xml\\\' (XML seul) ou \\\'pdf\\\' (PDF Factur-X avec XML embarqué).
|
|
385
|
-
* @param {boolean} [autoEnrichir] 🆕 Activer l\\\'auto-enrichissement depuis SIRET/SIREN (format simplifié uniquement)
|
|
386
|
-
* @param {File | null} [sourcePdf]
|
|
387
|
-
* @param {*} [options] Override http request option.
|
|
388
|
-
* @throws {RequiredError}
|
|
389
|
-
*/
|
|
390
|
-
genererFactureApiV1TraitementGenererFacturePost(donneesFacture: string, profil?: ProfilAPI, formatSortie?: FormatSortie, autoEnrichir?: boolean, sourcePdf?: File | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ReponseTache, any, {}>>;
|
|
391
|
-
/**
|
|
392
|
-
* Récupère l\'état d\'avancement d\'une tâche de génération de facture. ## États possibles Le champ `statut` utilise l\'enum `StatutCelery` avec les valeurs : - **PENDING, STARTED, SUCCESS, FAILURE, RETRY** Voir la documentation du schéma `StatutCelery` pour les détails. ## Résultat métier Quand `statut=\"SUCCESS\"`, le champ `resultat` contient : - `statut` : \"SUCCES\" ou \"ERREUR\" (résultat métier) - `chemin_fichier` : Chemin du fichier généré (si succès) - `errorCode`, `errorMessage`, `details` : Format AFNOR (si échec métier) ## Usage Appelez cet endpoint en boucle (polling) toutes les 2-3 secondes jusqu\'à ce que `statut` soit `SUCCESS` ou `FAILURE`.
|
|
393
|
-
* @summary Obtenir le statut d\'une tâche de génération
|
|
394
|
-
* @param {string} idTache
|
|
395
|
-
* @param {*} [options] Override http request option.
|
|
396
|
-
* @throws {RequiredError}
|
|
397
|
-
*/
|
|
398
|
-
obtenirStatutTacheApiV1TraitementTachesIdTacheStatutGet(idTache: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<StatutTache, any, {}>>;
|
|
399
|
-
/**
|
|
400
|
-
* Signe un PDF uploadé avec le certificat électronique configuré pour le client (via client_uid du JWT). **Standards supportés** : PAdES-B-B, PAdES-B-T (horodatage), PAdES-B-LT (archivage long terme). **Niveaux eIDAS** : SES (auto-signé), AdES (CA commerciale), QES (PSCO - hors scope). **Sécurité** : Double authentification X-Internal-Secret + JWT Bearer pour récupérer le certificat. **⚠️ Disclaimer légal** : Les signatures générées sont des cachets électroniques au sens du règlement eIDAS. Le niveau de validité juridique dépend du certificat utilisé (SES/AdES/QES). FactPulse ne fournit pas de certificats qualifiés QES - vous devez obtenir un certificat auprès d\'un PSCO (Prestataire de Services de Confiance qualifié) pour une validité juridique maximale.
|
|
401
|
-
* @summary Signer un PDF avec le certificat du client (PAdES-B-LT)
|
|
402
|
-
* @param {File} fichierPdf Fichier PDF à signer (sera traité puis retourné signé en base64)
|
|
403
|
-
* @param {string | null} [raison]
|
|
404
|
-
* @param {string | null} [localisation]
|
|
405
|
-
* @param {string | null} [contact]
|
|
406
|
-
* @param {string} [fieldName] Nom du champ de signature PDF
|
|
407
|
-
* @param {boolean} [usePadesLt] Activer PAdES-B-LT (archivage long terme avec données de validation embarquées). NÉCESSITE un certificat avec accès OCSP/CRL.
|
|
408
|
-
* @param {boolean} [useTimestamp] Activer l\\\'horodatage RFC 3161 avec FreeTSA (PAdES-B-T)
|
|
409
|
-
* @param {*} [options] Override http request option.
|
|
410
|
-
* @throws {RequiredError}
|
|
411
|
-
*/
|
|
412
|
-
signerPdfApiV1TraitementSignerPdfPost(fichierPdf: File, raison?: string | null, localisation?: string | null, contact?: string | null, fieldName?: string, usePadesLt?: boolean, useTimestamp?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
413
|
-
/**
|
|
414
|
-
* Signe un PDF uploadé de manière asynchrone via une tâche Celery. **Différence avec /signer-pdf** : - `/signer-pdf` : Signature synchrone (blocage jusqu\'à la fin) - `/signer-pdf-async` : Signature asynchrone (retourne immédiatement un task_id) **Avantages de l\'async** : - Pas de timeout pour les gros fichiers - Pas de blocage du worker FastAPI - Possibilité de suivre la progression via le task_id - Idéal pour les traitements par lot **Standards supportés** : PAdES-B-B, PAdES-B-T (horodatage), PAdES-B-LT (archivage long terme). **⚠️ Disclaimer légal** : Identique à /signer-pdf (voir documentation de cet endpoint).
|
|
415
|
-
* @summary Signer un PDF de manière asynchrone (Celery)
|
|
416
|
-
* @param {File} fichierPdf Fichier PDF à signer (traité de manière asynchrone)
|
|
417
|
-
* @param {string | null} [raison]
|
|
418
|
-
* @param {string | null} [localisation]
|
|
419
|
-
* @param {string | null} [contact]
|
|
420
|
-
* @param {string} [fieldName] Nom du champ de signature PDF
|
|
421
|
-
* @param {boolean} [usePadesLt] Activer PAdES-B-LT (archivage long terme avec données de validation embarquées). NÉCESSITE un certificat avec accès OCSP/CRL.
|
|
422
|
-
* @param {boolean} [useTimestamp] Activer l\\\'horodatage RFC 3161 avec FreeTSA (PAdES-B-T)
|
|
423
|
-
* @param {*} [options] Override http request option.
|
|
424
|
-
* @throws {RequiredError}
|
|
425
|
-
*/
|
|
426
|
-
signerPdfAsyncApiV1TraitementSignerPdfAsyncPost(fichierPdf: File, raison?: string | null, localisation?: string | null, contact?: string | null, fieldName?: string, usePadesLt?: boolean, useTimestamp?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
427
|
-
/**
|
|
428
|
-
* Endpoint unifié pour soumettre une facture complète vers différentes destinations. **Workflow automatisé :** 1. **Auto-enrichissement** (optionnel) : récupère les données via APIs publiques et Chorus Pro/AFNOR 2. **Génération PDF Factur-X** : crée un PDF/A-3 avec XML embarqué 3. **Signature électronique** (optionnelle) : signe le PDF avec un certificat 4. **Soumission** : envoie vers la destination choisie (Chorus Pro ou AFNOR PDP) **Destinations supportées :** - **Chorus Pro** : plateforme B2G française (factures vers secteur public) - **AFNOR PDP** : Plateformes de Dématérialisation Partenaires **Credentials de destination - 2 modes disponibles :** **Mode 1 - Récupération via JWT (recommandé) :** - Les credentials sont récupérés automatiquement via le `client_uid` du JWT - Ne pas fournir le champ `credentials` dans `destination` - Architecture 0-trust : aucun secret dans le payload - Exemple : `\"destination\": {\"type\": \"chorus_pro\"}` **Mode 2 - Credentials dans le payload :** - Fournir les credentials directement dans le payload - Utile pour tests ou intégrations tierces - Exemple : `\"destination\": {\"type\": \"chorus_pro\", \"credentials\": {...}}` **Signature électronique (optionnelle) - 2 modes disponibles :** **Mode 1 - Certificat stocké (recommandé) :** - Le certificat est récupéré automatiquement via le `client_uid` du JWT - Aucune clé à fournir dans le payload - Signature PAdES-B-LT avec horodatage (conforme eIDAS) - Exemple : `\"signature\": {\"raison\": \"Conformité Factur-X\"}` **Mode 2 - Clés dans le payload (pour tests) :** - Fournir `key_pem` et `cert_pem` directement - Format PEM accepté : brut ou base64 - Utile pour tests ou cas spéciaux sans certificat stocké - Exemple : `\"signature\": {\"key_pem\": \"-----BEGIN...\", \"cert_pem\": \"-----BEGIN...\"}` Si `key_pem` et `cert_pem` sont fournis → Mode 2 Sinon → Mode 1 (certificat récupéré via `client_uid`)
|
|
429
|
-
* @summary Soumettre une facture complète (génération + signature + soumission)
|
|
430
|
-
* @param {SoumettreFactureCompleteRequest} soumettreFactureCompleteRequest
|
|
431
|
-
* @param {*} [options] Override http request option.
|
|
432
|
-
* @throws {RequiredError}
|
|
433
|
-
*/
|
|
434
|
-
soumettreFactureCompleteApiV1TraitementFacturesSoumettreCompletePost(soumettreFactureCompleteRequest: SoumettreFactureCompleteRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<SoumettreFactureCompleteResponse, any, {}>>;
|
|
435
|
-
/**
|
|
436
|
-
* Version asynchrone de l\'endpoint `/factures/soumettre-complete` utilisant Celery pour le traitement en arrière-plan. **Workflow automatisé (identique à la version synchrone) :** 1. **Auto-enrichissement** (optionnel) : récupère les données via APIs publiques et Chorus Pro/AFNOR 2. **Génération PDF Factur-X** : crée un PDF/A-3 avec XML embarqué 3. **Signature électronique** (optionnelle) : signe le PDF avec un certificat 4. **Soumission** : envoie vers la destination choisie (Chorus Pro ou AFNOR PDP) **Destinations supportées :** - **Chorus Pro** : plateforme B2G française (factures vers secteur public) - **AFNOR PDP** : Plateformes de Dématérialisation Partenaires **Différences avec la version synchrone :** - ✅ **Non-bloquant** : Retourne immédiatement un `id_tache` (HTTP 202 Accepted) - ✅ **Traitement en arrière-plan** : La facture est traitée par un worker Celery - ✅ **Suivi d\'avancement** : Utilisez `/taches/{id_tache}/statut` pour suivre le statut - ✅ **Idéal pour gros volumes** : Permet de traiter de nombreuses factures en parallèle **Comment utiliser :** 1. **Soumission** : Appelez cet endpoint avec vos données de facture 2. **Retour immédiat** : Vous recevez un `id_tache` (ex: \"abc123-def456\") 3. **Suivi** : Appelez `/taches/{id_tache}/statut` pour vérifier l\'avancement 4. **Résultat** : Quand `statut = \"SUCCESS\"`, le champ `resultat` contient la réponse complète **Credentials et signature** : Mêmes modes que la version synchrone (JWT ou payload).
|
|
437
|
-
* @summary Soumettre une facture complète (asynchrone avec Celery)
|
|
438
|
-
* @param {SoumettreFactureCompleteRequest} soumettreFactureCompleteRequest
|
|
439
|
-
* @param {*} [options] Override http request option.
|
|
440
|
-
* @throws {RequiredError}
|
|
441
|
-
*/
|
|
442
|
-
soumettreFactureCompleteAsyncApiV1TraitementFacturesSoumettreCompleteAsyncPost(soumettreFactureCompleteRequest: SoumettreFactureCompleteRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ReponseTache, any, {}>>;
|
|
443
|
-
/**
|
|
444
|
-
* Valide un PDF Factur-X complet selon les normes européennes et françaises. ## Normes de validation appliquées - **EN 16931** : Norme sémantique européenne (directive 2014/55/UE) - **ISO 19005-3** (PDF/A-3) : Archivage électronique à long terme - **Factur-X / ZUGFeRD** : Spécification franco-allemande - **Schematron** : Validation des règles métier XML - **eIDAS** : Règlement européen sur l\'identification électronique (signatures) ## Contrôles effectués ### 1. Extraction et validation du XML Factur-X **Contrôles réalisés :** - Présence d\'un fichier XML embarqué (`factur-x.xml` ou `zugferd-invoice.xml`) - Détection automatique du profil (MINIMUM, BASIC, EN16931, EXTENDED) - Parsing XML avec validation UTF-8 - Extraction du GuidelineSpecifiedDocumentContextParameter/ID **Validation Schematron :** - Règles métier du profil détecté (MINIMUM : 45 règles, EN16931 : 178 règles) - Cardinalité des éléments obligatoires - Cohérence des calculs (montants HT, TVA, TTC, remises) - Formats des identifiants (SIRET, TVA intracommunautaire, IBAN) - Codes normalisés (codes pays ISO, unités UN/ECE, codes TVA) **Ce qui est vérifié :** - ✅ Structure XML conforme XSD Cross Industry Invoice - ✅ Namespace UN/CEFACT correct - ✅ Règles de gestion européennes (BR-xx) - ✅ Règles françaises spécifiques (FR-xx) ### 2. Conformité PDF/A-3 **Validation de base (métadonnées) :** - Présence du champ `/Type` à `Catalog` - Métadonnée `pdfaid:part` = 3 (PDF/A-3) - Métadonnée `pdfaid:conformance` = B ou U - Version PDF >= 1.4 **Validation stricte VeraPDF (si use_verapdf=True) :** - 146+ règles ISO 19005-3 (PDF/A-3B) - Absence de contenu interdit (JavaScript, multimedia, formulaires dynamiques) - Polices embarquées et sous-ensembles corrects - Espaces colorimétriques conformes (sRGB, DeviceGray) - Structure de fichier valide (cross-reference table) - Métadonnées XMP conformes ISO 16684-1 **Ce qui est vérifié :** - ✅ Fichier archivable à long terme (20+ ans) - ✅ Lisibilité garantie (polices embarquées) - ✅ Conformité légale (France, Allemagne, UE) ### 3. Métadonnées XMP (eXtensible Metadata Platform) **Contrôles réalisés :** - Présence du bloc `<?xpacket>` avec métadonnées XMP - Namespace `fx:` pour Factur-X : `urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#` - Champs Factur-X obligatoires : - `fx:ConformanceLevel` : Profil (MINIMUM, BASIC, EN16931, EXTENDED) - `fx:DocumentFileName` : Nom du XML embarqué - `fx:DocumentType` : \"INVOICE\" - `fx:Version` : Version Factur-X (1.0.07) **Ce qui est vérifié :** - ✅ Métadonnées conformes ISO 16684-1 - ✅ Profil Factur-X déclaré correct - ✅ Version Factur-X supportée ### 4. Signatures électroniques **Détection et analyse :** - Présence de dictionnaires `/Sig` dans le PDF - Type de signature : PAdES (PDF Advanced Electronic Signature) - Extraction des informations : - Nom du signataire (`/Name`) - Date de signature (`/M`) - Raison de la signature (`/Reason`) - Lieu de signature (`/Location`) - Type de signature (approval, certification) **Ce qui est vérifié :** - ✅ Présence de signatures ou cachets - ✅ Nombre de signatures (mono ou multi-signature) - ℹ️ Pas de vérification cryptographique (nécessite certificats) ## Paramètres - **fichier_pdf** (requis) : Le fichier PDF Factur-X à valider - **profil** (optionnel) : Profil attendu. Si absent, détection automatique depuis le XML - **use_verapdf** (optionnel, défaut=false) : Active la validation stricte PDF/A avec VeraPDF - `false` : Validation rapide par métadonnées (2-3 secondes) - `true` : Validation complète ISO 19005-3 (15-30 secondes, **recommandé en production**) ## Réponse détaillée ```json { \"est_conforme\": true, \"xml\": { \"present\": true, \"conforme\": true, \"profil\": \"EN16931\", \"erreurs\": [] }, \"pdfa\": { \"conforme\": true, \"version\": \"PDF/A-3B\", \"methode\": \"verapdf\", \"erreurs\": [] }, \"xmp\": { \"present\": true, \"conforme\": true, \"metadonnees\": {...} }, \"signatures\": { \"present\": true, \"nombre\": 1, \"details\": [...] } } ``` ## Cas d\'usage - **Avant envoi** : Valider la facture générée avant transmission à un client - **À réception** : Vérifier la conformité d\'une facture reçue d\'un fournisseur - **Audit** : Contrôler la qualité de lots de factures - **Conformité légale** : S\'assurer du respect des obligations B2B/B2G en France - **Debugging** : Identifier les problèmes dans le processus de génération - **Archivage** : Garantir la validité à long terme (PDF/A-3) ## Temps de traitement - Validation basique : 2-3 secondes - Validation VeraPDF : 15-30 secondes (dépend de la taille du PDF)
|
|
445
|
-
* @summary Valider un PDF Factur-X complet
|
|
446
|
-
* @param {File} fichierPdf Fichier PDF Factur-X à valider (format .pdf).
|
|
447
|
-
* @param {ProfilAPI | null} [profil]
|
|
448
|
-
* @param {boolean} [useVerapdf] Active la validation stricte PDF/A avec VeraPDF (recommandé pour la production). Si False, utilise une validation basique par métadonnées.
|
|
449
|
-
* @param {*} [options] Override http request option.
|
|
450
|
-
* @throws {RequiredError}
|
|
451
|
-
*/
|
|
452
|
-
validerPdfFacturxApiV1TraitementValiderPdfFacturxPost(fichierPdf: File, profil?: ProfilAPI | null, useVerapdf?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ResultatValidationPDFAPI, any, {}>>;
|
|
453
|
-
/**
|
|
454
|
-
* Valide un PDF Factur-X de manière asynchrone avec système de polling. ## Fonctionnement 1. **Soumission** : Le PDF est mis en file d\'attente pour validation asynchrone 2. **Retour immédiat** : Vous recevez un `id_tache` (HTTP 202) 3. **Suivi** : Utilisez l\'endpoint `/taches/{id_tache}/statut` pour suivre l\'avancement ## Avantages du mode asynchrone - **Pas de timeout** : Idéal pour les gros PDFs ou la validation VeraPDF (qui peut prendre plusieurs secondes) - **Scalabilité** : Les validations sont traitées par des workers Celery dédiés - **Suivi d\'état** : Permet de suivre la progression de la validation - **Non-bloquant** : Votre client ne reste pas en attente pendant la validation ## Quand utiliser ce mode ? - **Validation VeraPDF activée** (`use_verapdf=True`) : La validation stricte peut prendre 2-10 secondes - **Gros fichiers PDF** : PDFs > 1 MB - **Traitement par lots** : Validation de multiples factures en parallèle - **Intégration asynchrone** : Votre système supporte le polling ## Contrôles effectués ### 1. Extraction et validation du XML Factur-X - Vérifie la présence d\'un fichier XML embarqué conforme Factur-X - Détecte automatiquement le profil utilisé (MINIMUM, BASIC, EN16931, EXTENDED) - Valide le XML contre les règles Schematron du profil détecté ### 2. Conformité PDF/A - **Sans VeraPDF** : Validation basique par métadonnées (rapide, ~100ms) - **Avec VeraPDF** : Validation stricte selon ISO 19005 (146+ règles, 2-10s) - Détecte la version PDF/A (PDF/A-1, PDF/A-3, etc.) - Rapports détaillés des non-conformités ### 3. Métadonnées XMP - Vérifie la présence de métadonnées XMP dans le PDF - Valide la conformité des métadonnées Factur-X (profil, version) - Extrait toutes les métadonnées XMP disponibles ### 4. Signatures électroniques - Détecte la présence de signatures ou cachets électroniques - Extrait les informations sur chaque signature (signataire, date, raison) - Compte le nombre de signatures présentes ## Paramètres - **fichier_pdf** : Le fichier PDF Factur-X à valider - **profil** : Le profil Factur-X attendu (optionnel). Si non spécifié, le profil sera automatiquement détecté depuis le fichier XML embarqué. - **use_verapdf** : Active la validation stricte PDF/A avec VeraPDF. ⚠️ **Attention** : VeraPDF peut prendre 2-10 secondes selon la taille du PDF. Recommandé uniquement en mode asynchrone pour éviter les timeouts. ## Récupération du résultat Après soumission, utilisez l\'endpoint `GET /taches/{id_tache}/statut` pour récupérer le résultat. **Exemple de polling** : ```python import requests import time # 1. Soumettre la tâche response = requests.post(\"/valider-facturx-async\", files={\"fichier_pdf\": pdf_file}) task_id = response.json()[\"id_tache\"] # 2. Polling toutes les 2 secondes while True: status_response = requests.get(f\"/taches/{task_id}/statut\") status = status_response.json() if status[\"statut\"] == \"SUCCESS\": resultat = status[\"resultat\"][\"resultat_validation\"] print(f\"Conforme: {resultat[\'est_conforme\']}\") break elif status[\"statut\"] == \"FAILURE\": print(f\"Erreur: {status[\'resultat\'][\'errorMessage\']}\") break time.sleep(2) # Attendre 2 secondes avant le prochain check ``` ## Cas d\'usage - Valider des factures avant envoi avec VeraPDF (validation stricte) - Traiter des lots de factures en parallèle - Intégrer la validation dans un pipeline asynchrone - Valider des PDFs volumineux sans risque de timeout
|
|
455
|
-
* @summary Valider un PDF Factur-X (asynchrone avec polling)
|
|
456
|
-
* @param {File} fichierPdf Fichier PDF Factur-X à valider (format .pdf).
|
|
457
|
-
* @param {ProfilAPI | null} [profil]
|
|
458
|
-
* @param {boolean} [useVerapdf] Active la validation stricte PDF/A avec VeraPDF (recommandé pour la production). Peut prendre plusieurs secondes.
|
|
459
|
-
* @param {*} [options] Override http request option.
|
|
460
|
-
* @throws {RequiredError}
|
|
461
|
-
*/
|
|
462
|
-
validerPdfFacturxAsyncApiV1TraitementValiderFacturxAsyncPost(fichierPdf: File, profil?: ProfilAPI | null, useVerapdf?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ReponseTache, any, {}>>;
|
|
463
|
-
/**
|
|
464
|
-
* Valide les signatures électroniques présentes dans un PDF uploadé. **Vérifications effectuées** : - Présence de signatures - Intégrité du document (non modifié depuis signature) - Validité des certificats - Chaîne de confiance (si disponible) - Présence d\'horodatage (PAdES-B-T) - Données de validation (PAdES-B-LT) **Standards supportés** : PAdES-B-B, PAdES-B-T, PAdES-B-LT, ISO 32000-2. **⚠️ Note** : Cette validation est technique (intégrité cryptographique). La validité juridique dépend du niveau eIDAS du certificat (SES/AdES/QES) et du contexte d\'utilisation.
|
|
465
|
-
* @summary Valider les signatures électroniques d\'un PDF
|
|
466
|
-
* @param {File} fichierPdf Fichier PDF à valider (sera analysé pour détecter et valider les signatures)
|
|
467
|
-
* @param {*} [options] Override http request option.
|
|
468
|
-
* @throws {RequiredError}
|
|
469
|
-
*/
|
|
470
|
-
validerSignaturePdfEndpointApiV1TraitementValiderSignaturePdfPost(fichierPdf: File, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
471
|
-
/**
|
|
472
|
-
* Valide un fichier XML Factur-X contre les règles métier Schematron selon la norme EN 16931. ## Norme appliquée **Schematron ISO/IEC 19757-3** : Langage de validation de règles métier pour XML - Validation sémantique (au-delà de la syntaxe XSD) - Règles métier européennes EN 16931 - Règles françaises spécifiques Factur-X - Calculs arithmétiques et cohérence des données ## Profils et règles validées ### MINIMUM (45 règles) - Identifiant de facture unique - Dates (émission, échéance) - Identifiants parties (SIRET/SIREN) - Montant total TTC ### BASIC (102 règles) - Toutes les règles MINIMUM - Lignes de facture détaillées - Calculs de TVA basiques - Modes de paiement - Références (commande, contrat) ### EN16931 (178 règles) - Toutes les règles BASIC - **Règles européennes (BR-xx)** : 81 règles business - **Règles françaises (FR-xx)** : 12 règles spécifiques France - **Calculs avancés (CR-xx)** : 32 règles de calcul - **Codes normalisés (CL-xx)** : 52 listes de codes ### EXTENDED (210+ règles) - Toutes les règles EN16931 - Informations logistiques - Données comptables avancées - Références externes multiples ## Contrôles effectués ### 1. Validation syntaxique - Parsing XML correct (UTF-8, bien formé) - Namespaces UN/CEFACT présents - Structure hiérarchique respectée ### 2. Règles business (BR-xx) Exemples : - `BR-1` : Le total de la facture doit être égal à la somme des totaux de lignes + montants au niveau document - `BR-CO-10` : La somme des montants de base de TVA doit être égale au total net de la facture - `BR-16` : Le code de devise de la facture doit figurer dans la liste ISO 4217 ### 3. Règles françaises (FR-xx) Exemples : - `FR-1` : Le SIRET fournisseur doit avoir 14 chiffres - `FR-2` : Le SIRET client doit avoir 14 chiffres (si présent) - `FR-5` : Le numéro de TVA intracommunautaire doit être au format FRxx999999999 ### 4. Règles de calcul (CR-xx) - Montants HT + TVA = TTC - Somme des lignes = Total document - Remises et majorations correctement appliquées - Arrondis conformes (2 décimales pour les montants) ### 5. Codes normalisés (CL-xx) - Codes pays ISO 3166-1 alpha-2 - Codes devises ISO 4217 - Unités de mesure UN/ECE Rec 20 - Codes TVA (types, catégories, exonérations) - SchemeID pour identifiants (0002=SIREN, 0009=SIRET, etc.) ## Processus de validation 1. **Chargement XSLT** : Fichier Schematron converti en XSLT (Saxon-HE) 2. **Transformation** : Application des règles sur le XML 3. **Analyse résultats** : Extraction des erreurs (`failed-assert`) et avertissements (`successful-report`) 4. **Rapport** : Liste structurée des non-conformités ## Réponses **200 OK** : XML conforme ```json { \"message\": \"Le XML est conforme au profil EN16931\" } ``` **400 Bad Request** : XML non conforme ```json { \"detail\": [ \"[BR-1] Le total de la facture (120.00) ne correspond pas à la somme calculée (100.00 + 20.00)\", \"[FR-1] Le SIRET fournisseur doit contenir exactement 14 chiffres\" ] } ``` ## Cas d\'usage - **Pré-validation** : Vérifier un XML avant intégration dans un PDF/A - **Debugging** : Identifier précisément les erreurs de génération - **Tests** : Valider des XMLs de test ou d\'exemple - **Conformité** : S\'assurer du respect des règles européennes et françaises - **Développement** : Tester rapidement sans générer de PDF ## Temps de traitement - Profil MINIMUM : ~0.5 seconde - Profil EN16931 : ~1-2 secondes - Profil EXTENDED : ~2-3 secondes
|
|
473
|
-
* @summary Valider un XML Factur-X existant
|
|
474
|
-
* @param {File} fichierXml Fichier XML Factur-X à valider (format .xml).
|
|
475
|
-
* @param {ProfilAPI} [profil] Profil de validation (MINIMUM, BASIC, EN16931, EXTENDED).
|
|
476
|
-
* @param {*} [options] Override http request option.
|
|
477
|
-
* @throws {RequiredError}
|
|
478
|
-
*/
|
|
479
|
-
validerXmlApiV1TraitementValiderXmlPost(fichierXml: File, profil?: ProfilAPI, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ReponseValidationSucces, any, {}>>;
|
|
480
|
-
}
|