factpulse 2.0.37__py3-none-any.whl → 3.0.7__py3-none-any.whl
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.
Potentially problematic release.
This version of factpulse might be problematic. Click here for more details.
- factpulse/__init__.py +265 -197
- factpulse/api/__init__.py +5 -4
- factpulse/api/afnorpdppa_api.py +34 -34
- factpulse/api/afnorpdppa_directory_service_api.py +59 -59
- factpulse/api/afnorpdppa_flow_service_api.py +23 -23
- factpulse/api/chorus_pro_api.py +211 -211
- factpulse/api/document_conversion_api.py +1506 -0
- factpulse/api/{sant_api.py → health_api.py} +22 -22
- factpulse/api/invoice_processing_api.py +3437 -0
- factpulse/api/{vrification_pdfxml_api.py → pdfxml_verification_api.py} +240 -240
- factpulse/api/{utilisateur_api.py → user_api.py} +17 -17
- factpulse/api_client.py +3 -3
- factpulse/configuration.py +3 -3
- factpulse/exceptions.py +2 -2
- factpulse/models/__init__.py +128 -95
- factpulse/models/acknowledgment_status.py +38 -0
- factpulse/models/additional_document.py +115 -0
- factpulse/models/afnor_credentials.py +106 -0
- factpulse/models/afnor_destination.py +127 -0
- factpulse/models/afnor_health_check_response.py +91 -0
- factpulse/models/afnor_result.py +105 -0
- factpulse/models/allowance_charge.py +147 -0
- factpulse/models/allowance_reason_code.py +42 -0
- factpulse/models/allowance_total_amount.py +145 -0
- factpulse/models/amount.py +139 -0
- factpulse/models/amount_due.py +139 -0
- factpulse/models/api_error.py +5 -5
- factpulse/models/async_task_status.py +97 -0
- factpulse/models/base_amount.py +145 -0
- factpulse/models/bounding_box_schema.py +10 -10
- factpulse/models/celery_status.py +40 -0
- factpulse/models/certificate_info_response.py +24 -24
- factpulse/models/charge_total_amount.py +145 -0
- factpulse/models/chorus_pro_destination.py +108 -0
- factpulse/models/chorus_pro_result.py +101 -0
- factpulse/models/contact.py +113 -0
- factpulse/models/convert_error_response.py +105 -0
- factpulse/models/convert_pending_input_response.py +114 -0
- factpulse/models/convert_resume_request.py +87 -0
- factpulse/models/convert_success_response.py +126 -0
- factpulse/models/convert_validation_failed_response.py +120 -0
- factpulse/models/delivery_party.py +121 -0
- factpulse/models/destination.py +27 -27
- factpulse/models/document_type_info.py +91 -0
- factpulse/models/electronic_address.py +90 -0
- factpulse/models/enriched_invoice_info.py +133 -0
- factpulse/models/error_level.py +2 -2
- factpulse/models/error_source.py +2 -2
- factpulse/models/extraction_info.py +93 -0
- factpulse/models/factur_x_invoice.py +320 -0
- factpulse/models/factur_x_profile.py +39 -0
- factpulse/models/factur_xpdf_info.py +91 -0
- factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.py +95 -0
- factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.py +115 -0
- factpulse/models/field_status.py +40 -0
- factpulse/models/file_info.py +94 -0
- factpulse/models/files_info.py +106 -0
- factpulse/models/flow_direction.py +37 -0
- factpulse/models/flow_profile.py +38 -0
- factpulse/models/flow_summary.py +131 -0
- factpulse/models/flow_syntax.py +40 -0
- factpulse/models/flow_type.py +40 -0
- factpulse/models/generate_certificate_request.py +26 -26
- factpulse/models/generate_certificate_response.py +15 -15
- factpulse/models/get_chorus_pro_id_request.py +100 -0
- factpulse/models/get_chorus_pro_id_response.py +98 -0
- factpulse/models/get_invoice_request.py +98 -0
- factpulse/models/get_invoice_response.py +142 -0
- factpulse/models/get_structure_request.py +100 -0
- factpulse/models/get_structure_response.py +142 -0
- factpulse/models/global_allowance_amount.py +139 -0
- factpulse/models/gross_unit_price.py +145 -0
- factpulse/models/http_validation_error.py +2 -2
- factpulse/models/incoming_invoice.py +196 -0
- factpulse/models/incoming_supplier.py +144 -0
- factpulse/models/invoice_format.py +38 -0
- factpulse/models/invoice_line.py +354 -0
- factpulse/models/invoice_line_allowance_amount.py +145 -0
- factpulse/models/invoice_note.py +94 -0
- factpulse/models/invoice_references.py +194 -0
- factpulse/models/invoice_status.py +96 -0
- factpulse/models/invoice_totals.py +177 -0
- factpulse/models/invoice_totals_prepayment.py +145 -0
- factpulse/models/invoice_type_code.py +51 -0
- factpulse/models/invoicing_framework.py +110 -0
- factpulse/models/invoicing_framework_code.py +39 -0
- factpulse/models/line_net_amount.py +145 -0
- factpulse/models/line_total_amount.py +145 -0
- factpulse/models/mandatory_note_schema.py +124 -0
- factpulse/models/manual_rate.py +139 -0
- factpulse/models/manual_vat_rate.py +139 -0
- factpulse/models/missing_field.py +107 -0
- factpulse/models/operation_nature.py +49 -0
- factpulse/models/output_format.py +37 -0
- factpulse/models/page_dimensions_schema.py +89 -0
- factpulse/models/payee.py +168 -0
- factpulse/models/payment_card.py +99 -0
- factpulse/models/payment_means.py +41 -0
- factpulse/models/pdf_validation_result_api.py +169 -0
- factpulse/models/pdp_credentials.py +15 -15
- factpulse/models/percentage.py +145 -0
- factpulse/models/postal_address.py +134 -0
- factpulse/models/price_allowance_amount.py +145 -0
- factpulse/models/price_basis_quantity.py +145 -0
- factpulse/models/processing_options.py +94 -0
- factpulse/models/product_characteristic.py +89 -0
- factpulse/models/product_classification.py +101 -0
- factpulse/models/quantity.py +139 -0
- factpulse/models/recipient.py +167 -0
- factpulse/models/rounding_amount.py +145 -0
- factpulse/models/scheme_id.py +10 -4
- factpulse/models/search_flow_request.py +143 -0
- factpulse/models/search_flow_response.py +101 -0
- factpulse/models/search_services_response.py +101 -0
- factpulse/models/search_structure_request.py +119 -0
- factpulse/models/search_structure_response.py +101 -0
- factpulse/models/signature_info.py +6 -6
- factpulse/models/signature_info_api.py +122 -0
- factpulse/models/signature_parameters.py +133 -0
- factpulse/models/simplified_invoice_data.py +124 -0
- factpulse/models/structure_info.py +14 -14
- factpulse/models/structure_parameters.py +91 -0
- factpulse/models/structure_service.py +93 -0
- factpulse/models/submission_mode.py +38 -0
- factpulse/models/submit_complete_invoice_request.py +116 -0
- factpulse/models/submit_complete_invoice_response.py +145 -0
- factpulse/models/submit_flow_request.py +123 -0
- factpulse/models/submit_flow_response.py +109 -0
- factpulse/models/submit_gross_amount.py +139 -0
- factpulse/models/submit_invoice_request.py +176 -0
- factpulse/models/submit_invoice_response.py +103 -0
- factpulse/models/submit_net_amount.py +139 -0
- factpulse/models/submit_vat_amount.py +139 -0
- factpulse/models/supplementary_attachment.py +95 -0
- factpulse/models/supplier.py +225 -0
- factpulse/models/task_response.py +87 -0
- factpulse/models/tax_representative.py +95 -0
- factpulse/models/taxable_amount.py +139 -0
- factpulse/models/total_gross_amount.py +139 -0
- factpulse/models/total_net_amount.py +139 -0
- factpulse/models/total_vat_amount.py +139 -0
- factpulse/models/unit_net_price.py +139 -0
- factpulse/models/unit_of_measure.py +41 -0
- factpulse/models/validation_error.py +2 -2
- factpulse/models/validation_error_detail.py +6 -6
- factpulse/models/validation_error_loc_inner.py +2 -2
- factpulse/models/validation_error_response.py +87 -0
- factpulse/models/validation_info.py +105 -0
- factpulse/models/validation_success_response.py +87 -0
- factpulse/models/vat_accounting_code.py +39 -0
- factpulse/models/vat_amount.py +139 -0
- factpulse/models/vat_category.py +44 -0
- factpulse/models/vat_line.py +140 -0
- factpulse/models/vat_point_date_code.py +38 -0
- factpulse/models/vat_rate.py +145 -0
- factpulse/models/verification_success_response.py +135 -0
- factpulse/models/verified_field_schema.py +129 -0
- factpulse/rest.py +2 -2
- factpulse-3.0.7.dist-info/METADATA +292 -0
- factpulse-3.0.7.dist-info/RECORD +168 -0
- factpulse_helpers/__init__.py +34 -34
- factpulse_helpers/client.py +1019 -795
- factpulse_helpers/exceptions.py +68 -68
- factpulse/api/traitement_facture_api.py +0 -3437
- factpulse/models/adresse_electronique.py +0 -90
- factpulse/models/adresse_postale.py +0 -120
- factpulse/models/cadre_de_facturation.py +0 -110
- factpulse/models/categorie_tva.py +0 -44
- factpulse/models/champ_verifie_schema.py +0 -129
- factpulse/models/chorus_pro_credentials.py +0 -95
- factpulse/models/code_cadre_facturation.py +0 -39
- factpulse/models/code_raison_reduction.py +0 -42
- factpulse/models/consulter_facture_request.py +0 -98
- factpulse/models/consulter_facture_response.py +0 -142
- factpulse/models/consulter_structure_request.py +0 -100
- factpulse/models/consulter_structure_response.py +0 -142
- factpulse/models/credentials_afnor.py +0 -106
- factpulse/models/credentials_chorus_pro.py +0 -115
- factpulse/models/destinataire.py +0 -130
- factpulse/models/destination_afnor.py +0 -127
- factpulse/models/destination_chorus_pro.py +0 -108
- factpulse/models/dimension_page_schema.py +0 -89
- factpulse/models/direction_flux.py +0 -37
- factpulse/models/donnees_facture_simplifiees.py +0 -124
- factpulse/models/facture_enrichie_info.py +0 -133
- factpulse/models/facture_entrante.py +0 -196
- factpulse/models/facture_factur_x.py +0 -183
- factpulse/models/flux_resume.py +0 -131
- factpulse/models/format_facture.py +0 -38
- factpulse/models/format_sortie.py +0 -37
- factpulse/models/fournisseur.py +0 -153
- factpulse/models/fournisseur_entrant.py +0 -144
- factpulse/models/information_signature_api.py +0 -122
- factpulse/models/ligne_de_poste.py +0 -183
- factpulse/models/ligne_de_poste_montant_remise_ht.py +0 -145
- factpulse/models/ligne_de_poste_taux_tva_manuel.py +0 -145
- factpulse/models/ligne_de_tva.py +0 -132
- factpulse/models/mode_depot.py +0 -38
- factpulse/models/mode_paiement.py +0 -41
- factpulse/models/montant_a_payer.py +0 -139
- factpulse/models/montant_base_ht.py +0 -139
- factpulse/models/montant_ht_total.py +0 -139
- factpulse/models/montant_remise_globale_ttc.py +0 -139
- factpulse/models/montant_total.py +0 -133
- factpulse/models/montant_total_acompte.py +0 -145
- factpulse/models/montant_total_ligne_ht.py +0 -139
- factpulse/models/montant_ttc_total.py +0 -139
- factpulse/models/montant_tva.py +0 -139
- factpulse/models/montant_tva_ligne.py +0 -139
- factpulse/models/montant_tva_total.py +0 -139
- factpulse/models/montant_unitaire_ht.py +0 -139
- factpulse/models/nature_operation.py +0 -49
- factpulse/models/note.py +0 -94
- factpulse/models/note_obligatoire_schema.py +0 -124
- factpulse/models/obtenir_id_chorus_pro_request.py +0 -100
- factpulse/models/obtenir_id_chorus_pro_response.py +0 -98
- factpulse/models/options_processing.py +0 -94
- factpulse/models/parametres_signature.py +0 -133
- factpulse/models/parametres_structure.py +0 -91
- factpulse/models/pdf_factur_x_info.py +0 -91
- factpulse/models/piece_jointe_complementaire.py +0 -95
- factpulse/models/profil_api.py +0 -39
- factpulse/models/profil_flux.py +0 -38
- factpulse/models/quantite.py +0 -139
- factpulse/models/rechercher_services_response.py +0 -101
- factpulse/models/rechercher_structure_request.py +0 -119
- factpulse/models/rechercher_structure_response.py +0 -101
- factpulse/models/references.py +0 -124
- factpulse/models/reponse_healthcheck_afnor.py +0 -91
- factpulse/models/reponse_recherche_flux.py +0 -101
- factpulse/models/reponse_soumission_flux.py +0 -109
- factpulse/models/reponse_tache.py +0 -87
- factpulse/models/reponse_validation_erreur.py +0 -87
- factpulse/models/reponse_validation_succes.py +0 -87
- factpulse/models/reponse_verification_succes.py +0 -135
- factpulse/models/requete_recherche_flux.py +0 -143
- factpulse/models/requete_soumission_flux.py +0 -123
- factpulse/models/resultat_afnor.py +0 -105
- factpulse/models/resultat_chorus_pro.py +0 -101
- factpulse/models/resultat_validation_pdfapi.py +0 -169
- factpulse/models/service_structure.py +0 -93
- factpulse/models/soumettre_facture_complete_request.py +0 -116
- factpulse/models/soumettre_facture_complete_response.py +0 -145
- factpulse/models/soumettre_facture_request.py +0 -176
- factpulse/models/soumettre_facture_response.py +0 -103
- factpulse/models/statut_acquittement.py +0 -38
- factpulse/models/statut_celery.py +0 -40
- factpulse/models/statut_champ_api.py +0 -40
- factpulse/models/statut_facture.py +0 -96
- factpulse/models/statut_tache.py +0 -97
- factpulse/models/syntaxe_flux.py +0 -40
- factpulse/models/tauxmanuel.py +0 -139
- factpulse/models/type_document.py +0 -40
- factpulse/models/type_facture.py +0 -37
- factpulse/models/type_flux.py +0 -40
- factpulse/models/type_tva.py +0 -39
- factpulse/models/unite.py +0 -41
- factpulse-2.0.37.dist-info/METADATA +0 -292
- factpulse-2.0.37.dist-info/RECORD +0 -134
- {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/WHEEL +0 -0
- {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/licenses/LICENSE +0 -0
- {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/top_level.txt +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
|
|
4
|
+
FactPulse REST API
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://www.factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://www.factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://www.factpulse.fr/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/
|
|
7
7
|
|
|
8
8
|
The version of the OpenAPI document: 1.0.0
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
@@ -19,16 +19,16 @@ from typing_extensions import Annotated
|
|
|
19
19
|
from pydantic import Field, StrictBool, StrictBytes, StrictStr
|
|
20
20
|
from typing import Optional, Tuple, Union
|
|
21
21
|
from typing_extensions import Annotated
|
|
22
|
-
from factpulse.models.
|
|
23
|
-
from factpulse.models.
|
|
24
|
-
from factpulse.models.
|
|
22
|
+
from factpulse.models.async_task_status import AsyncTaskStatus
|
|
23
|
+
from factpulse.models.task_response import TaskResponse
|
|
24
|
+
from factpulse.models.verification_success_response import VerificationSuccessResponse
|
|
25
25
|
|
|
26
26
|
from factpulse.api_client import ApiClient, RequestSerialized
|
|
27
27
|
from factpulse.api_response import ApiResponse
|
|
28
28
|
from factpulse.rest import RESTResponseType
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
class
|
|
31
|
+
class PDFXMLVerificationApi:
|
|
32
32
|
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
33
33
|
Ref: https://openapi-generator.tech
|
|
34
34
|
|
|
@@ -42,9 +42,9 @@ class VrificationPDFXMLApi:
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
@validate_call
|
|
45
|
-
def
|
|
45
|
+
def get_verification_status_api_v1_verification_verify_async_task_id_status_get(
|
|
46
46
|
self,
|
|
47
|
-
|
|
47
|
+
task_id: StrictStr,
|
|
48
48
|
_request_timeout: Union[
|
|
49
49
|
None,
|
|
50
50
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -57,13 +57,13 @@ class VrificationPDFXMLApi:
|
|
|
57
57
|
_content_type: Optional[StrictStr] = None,
|
|
58
58
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
59
59
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
60
|
-
) ->
|
|
61
|
-
"""
|
|
60
|
+
) -> AsyncTaskStatus:
|
|
61
|
+
"""Get status of an asynchronous verification
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
|
|
64
64
|
|
|
65
|
-
:param
|
|
66
|
-
:type
|
|
65
|
+
:param task_id: (required)
|
|
66
|
+
:type task_id: str
|
|
67
67
|
:param _request_timeout: timeout setting for this request. If one
|
|
68
68
|
number provided, it will be total request
|
|
69
69
|
timeout. It can also be a pair (tuple) of
|
|
@@ -86,8 +86,8 @@ class VrificationPDFXMLApi:
|
|
|
86
86
|
:return: Returns the result object.
|
|
87
87
|
""" # noqa: E501
|
|
88
88
|
|
|
89
|
-
_param = self.
|
|
90
|
-
|
|
89
|
+
_param = self._get_verification_status_api_v1_verification_verify_async_task_id_status_get_serialize(
|
|
90
|
+
task_id=task_id,
|
|
91
91
|
_request_auth=_request_auth,
|
|
92
92
|
_content_type=_content_type,
|
|
93
93
|
_headers=_headers,
|
|
@@ -95,7 +95,7 @@ class VrificationPDFXMLApi:
|
|
|
95
95
|
)
|
|
96
96
|
|
|
97
97
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
98
|
-
'200': "
|
|
98
|
+
'200': "AsyncTaskStatus",
|
|
99
99
|
'422': "HTTPValidationError",
|
|
100
100
|
}
|
|
101
101
|
response_data = self.api_client.call_api(
|
|
@@ -110,9 +110,9 @@ class VrificationPDFXMLApi:
|
|
|
110
110
|
|
|
111
111
|
|
|
112
112
|
@validate_call
|
|
113
|
-
def
|
|
113
|
+
def get_verification_status_api_v1_verification_verify_async_task_id_status_get_with_http_info(
|
|
114
114
|
self,
|
|
115
|
-
|
|
115
|
+
task_id: StrictStr,
|
|
116
116
|
_request_timeout: Union[
|
|
117
117
|
None,
|
|
118
118
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -125,13 +125,13 @@ class VrificationPDFXMLApi:
|
|
|
125
125
|
_content_type: Optional[StrictStr] = None,
|
|
126
126
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
127
127
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
128
|
-
) -> ApiResponse[
|
|
129
|
-
"""
|
|
128
|
+
) -> ApiResponse[AsyncTaskStatus]:
|
|
129
|
+
"""Get status of an asynchronous verification
|
|
130
130
|
|
|
131
|
-
|
|
131
|
+
Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
|
|
132
132
|
|
|
133
|
-
:param
|
|
134
|
-
:type
|
|
133
|
+
:param task_id: (required)
|
|
134
|
+
:type task_id: str
|
|
135
135
|
:param _request_timeout: timeout setting for this request. If one
|
|
136
136
|
number provided, it will be total request
|
|
137
137
|
timeout. It can also be a pair (tuple) of
|
|
@@ -154,8 +154,8 @@ class VrificationPDFXMLApi:
|
|
|
154
154
|
:return: Returns the result object.
|
|
155
155
|
""" # noqa: E501
|
|
156
156
|
|
|
157
|
-
_param = self.
|
|
158
|
-
|
|
157
|
+
_param = self._get_verification_status_api_v1_verification_verify_async_task_id_status_get_serialize(
|
|
158
|
+
task_id=task_id,
|
|
159
159
|
_request_auth=_request_auth,
|
|
160
160
|
_content_type=_content_type,
|
|
161
161
|
_headers=_headers,
|
|
@@ -163,7 +163,7 @@ class VrificationPDFXMLApi:
|
|
|
163
163
|
)
|
|
164
164
|
|
|
165
165
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
166
|
-
'200': "
|
|
166
|
+
'200': "AsyncTaskStatus",
|
|
167
167
|
'422': "HTTPValidationError",
|
|
168
168
|
}
|
|
169
169
|
response_data = self.api_client.call_api(
|
|
@@ -178,9 +178,9 @@ class VrificationPDFXMLApi:
|
|
|
178
178
|
|
|
179
179
|
|
|
180
180
|
@validate_call
|
|
181
|
-
def
|
|
181
|
+
def get_verification_status_api_v1_verification_verify_async_task_id_status_get_without_preload_content(
|
|
182
182
|
self,
|
|
183
|
-
|
|
183
|
+
task_id: StrictStr,
|
|
184
184
|
_request_timeout: Union[
|
|
185
185
|
None,
|
|
186
186
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -194,12 +194,12 @@ class VrificationPDFXMLApi:
|
|
|
194
194
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
195
195
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
196
196
|
) -> RESTResponseType:
|
|
197
|
-
"""
|
|
197
|
+
"""Get status of an asynchronous verification
|
|
198
198
|
|
|
199
|
-
|
|
199
|
+
Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
|
|
200
200
|
|
|
201
|
-
:param
|
|
202
|
-
:type
|
|
201
|
+
:param task_id: (required)
|
|
202
|
+
:type task_id: str
|
|
203
203
|
:param _request_timeout: timeout setting for this request. If one
|
|
204
204
|
number provided, it will be total request
|
|
205
205
|
timeout. It can also be a pair (tuple) of
|
|
@@ -222,8 +222,8 @@ class VrificationPDFXMLApi:
|
|
|
222
222
|
:return: Returns the result object.
|
|
223
223
|
""" # noqa: E501
|
|
224
224
|
|
|
225
|
-
_param = self.
|
|
226
|
-
|
|
225
|
+
_param = self._get_verification_status_api_v1_verification_verify_async_task_id_status_get_serialize(
|
|
226
|
+
task_id=task_id,
|
|
227
227
|
_request_auth=_request_auth,
|
|
228
228
|
_content_type=_content_type,
|
|
229
229
|
_headers=_headers,
|
|
@@ -231,7 +231,7 @@ class VrificationPDFXMLApi:
|
|
|
231
231
|
)
|
|
232
232
|
|
|
233
233
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
234
|
-
'200': "
|
|
234
|
+
'200': "AsyncTaskStatus",
|
|
235
235
|
'422': "HTTPValidationError",
|
|
236
236
|
}
|
|
237
237
|
response_data = self.api_client.call_api(
|
|
@@ -241,9 +241,9 @@ class VrificationPDFXMLApi:
|
|
|
241
241
|
return response_data.response
|
|
242
242
|
|
|
243
243
|
|
|
244
|
-
def
|
|
244
|
+
def _get_verification_status_api_v1_verification_verify_async_task_id_status_get_serialize(
|
|
245
245
|
self,
|
|
246
|
-
|
|
246
|
+
task_id,
|
|
247
247
|
_request_auth,
|
|
248
248
|
_content_type,
|
|
249
249
|
_headers,
|
|
@@ -265,8 +265,8 @@ class VrificationPDFXMLApi:
|
|
|
265
265
|
_body_params: Optional[bytes] = None
|
|
266
266
|
|
|
267
267
|
# process the path parameters
|
|
268
|
-
if
|
|
269
|
-
_path_params['
|
|
268
|
+
if task_id is not None:
|
|
269
|
+
_path_params['task_id'] = task_id
|
|
270
270
|
# process the query parameters
|
|
271
271
|
# process the header parameters
|
|
272
272
|
# process the form parameters
|
|
@@ -289,7 +289,7 @@ class VrificationPDFXMLApi:
|
|
|
289
289
|
|
|
290
290
|
return self.api_client.param_serialize(
|
|
291
291
|
method='GET',
|
|
292
|
-
resource_path='/api/v1/verification/
|
|
292
|
+
resource_path='/api/v1/verification/verify-async/{task_id}/status',
|
|
293
293
|
path_params=_path_params,
|
|
294
294
|
query_params=_query_params,
|
|
295
295
|
header_params=_header_params,
|
|
@@ -306,9 +306,9 @@ class VrificationPDFXMLApi:
|
|
|
306
306
|
|
|
307
307
|
|
|
308
308
|
@validate_call
|
|
309
|
-
def
|
|
309
|
+
def get_verification_status_api_v1_verification_verify_async_task_id_status_get_0(
|
|
310
310
|
self,
|
|
311
|
-
|
|
311
|
+
task_id: StrictStr,
|
|
312
312
|
_request_timeout: Union[
|
|
313
313
|
None,
|
|
314
314
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -321,13 +321,13 @@ class VrificationPDFXMLApi:
|
|
|
321
321
|
_content_type: Optional[StrictStr] = None,
|
|
322
322
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
323
323
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
324
|
-
) ->
|
|
325
|
-
"""
|
|
324
|
+
) -> AsyncTaskStatus:
|
|
325
|
+
"""Get status of an asynchronous verification
|
|
326
326
|
|
|
327
|
-
|
|
327
|
+
Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
|
|
328
328
|
|
|
329
|
-
:param
|
|
330
|
-
:type
|
|
329
|
+
:param task_id: (required)
|
|
330
|
+
:type task_id: str
|
|
331
331
|
:param _request_timeout: timeout setting for this request. If one
|
|
332
332
|
number provided, it will be total request
|
|
333
333
|
timeout. It can also be a pair (tuple) of
|
|
@@ -350,8 +350,8 @@ class VrificationPDFXMLApi:
|
|
|
350
350
|
:return: Returns the result object.
|
|
351
351
|
""" # noqa: E501
|
|
352
352
|
|
|
353
|
-
_param = self.
|
|
354
|
-
|
|
353
|
+
_param = self._get_verification_status_api_v1_verification_verify_async_task_id_status_get_0_serialize(
|
|
354
|
+
task_id=task_id,
|
|
355
355
|
_request_auth=_request_auth,
|
|
356
356
|
_content_type=_content_type,
|
|
357
357
|
_headers=_headers,
|
|
@@ -359,7 +359,7 @@ class VrificationPDFXMLApi:
|
|
|
359
359
|
)
|
|
360
360
|
|
|
361
361
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
362
|
-
'200': "
|
|
362
|
+
'200': "AsyncTaskStatus",
|
|
363
363
|
'422': "HTTPValidationError",
|
|
364
364
|
}
|
|
365
365
|
response_data = self.api_client.call_api(
|
|
@@ -374,9 +374,9 @@ class VrificationPDFXMLApi:
|
|
|
374
374
|
|
|
375
375
|
|
|
376
376
|
@validate_call
|
|
377
|
-
def
|
|
377
|
+
def get_verification_status_api_v1_verification_verify_async_task_id_status_get_0_with_http_info(
|
|
378
378
|
self,
|
|
379
|
-
|
|
379
|
+
task_id: StrictStr,
|
|
380
380
|
_request_timeout: Union[
|
|
381
381
|
None,
|
|
382
382
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -389,13 +389,13 @@ class VrificationPDFXMLApi:
|
|
|
389
389
|
_content_type: Optional[StrictStr] = None,
|
|
390
390
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
391
391
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
392
|
-
) -> ApiResponse[
|
|
393
|
-
"""
|
|
392
|
+
) -> ApiResponse[AsyncTaskStatus]:
|
|
393
|
+
"""Get status of an asynchronous verification
|
|
394
394
|
|
|
395
|
-
|
|
395
|
+
Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
|
|
396
396
|
|
|
397
|
-
:param
|
|
398
|
-
:type
|
|
397
|
+
:param task_id: (required)
|
|
398
|
+
:type task_id: str
|
|
399
399
|
:param _request_timeout: timeout setting for this request. If one
|
|
400
400
|
number provided, it will be total request
|
|
401
401
|
timeout. It can also be a pair (tuple) of
|
|
@@ -418,8 +418,8 @@ class VrificationPDFXMLApi:
|
|
|
418
418
|
:return: Returns the result object.
|
|
419
419
|
""" # noqa: E501
|
|
420
420
|
|
|
421
|
-
_param = self.
|
|
422
|
-
|
|
421
|
+
_param = self._get_verification_status_api_v1_verification_verify_async_task_id_status_get_0_serialize(
|
|
422
|
+
task_id=task_id,
|
|
423
423
|
_request_auth=_request_auth,
|
|
424
424
|
_content_type=_content_type,
|
|
425
425
|
_headers=_headers,
|
|
@@ -427,7 +427,7 @@ class VrificationPDFXMLApi:
|
|
|
427
427
|
)
|
|
428
428
|
|
|
429
429
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
430
|
-
'200': "
|
|
430
|
+
'200': "AsyncTaskStatus",
|
|
431
431
|
'422': "HTTPValidationError",
|
|
432
432
|
}
|
|
433
433
|
response_data = self.api_client.call_api(
|
|
@@ -442,9 +442,9 @@ class VrificationPDFXMLApi:
|
|
|
442
442
|
|
|
443
443
|
|
|
444
444
|
@validate_call
|
|
445
|
-
def
|
|
445
|
+
def get_verification_status_api_v1_verification_verify_async_task_id_status_get_0_without_preload_content(
|
|
446
446
|
self,
|
|
447
|
-
|
|
447
|
+
task_id: StrictStr,
|
|
448
448
|
_request_timeout: Union[
|
|
449
449
|
None,
|
|
450
450
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -458,12 +458,12 @@ class VrificationPDFXMLApi:
|
|
|
458
458
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
459
459
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
460
460
|
) -> RESTResponseType:
|
|
461
|
-
"""
|
|
461
|
+
"""Get status of an asynchronous verification
|
|
462
462
|
|
|
463
|
-
|
|
463
|
+
Retrieves the status and result of an asynchronous verification task. **Possible statuses:** - `PENDING`: Task waiting in queue - `STARTED`: Task currently running - `SUCCESS`: Task completed successfully (see `result`) - `FAILURE`: System error (unhandled exception) **Note:** The `result.status` field can be \"SUCCESS\" or \"ERROR\" independently of Celery status (which will always be SUCCESS if the task ran).
|
|
464
464
|
|
|
465
|
-
:param
|
|
466
|
-
:type
|
|
465
|
+
:param task_id: (required)
|
|
466
|
+
:type task_id: str
|
|
467
467
|
:param _request_timeout: timeout setting for this request. If one
|
|
468
468
|
number provided, it will be total request
|
|
469
469
|
timeout. It can also be a pair (tuple) of
|
|
@@ -486,8 +486,8 @@ class VrificationPDFXMLApi:
|
|
|
486
486
|
:return: Returns the result object.
|
|
487
487
|
""" # noqa: E501
|
|
488
488
|
|
|
489
|
-
_param = self.
|
|
490
|
-
|
|
489
|
+
_param = self._get_verification_status_api_v1_verification_verify_async_task_id_status_get_0_serialize(
|
|
490
|
+
task_id=task_id,
|
|
491
491
|
_request_auth=_request_auth,
|
|
492
492
|
_content_type=_content_type,
|
|
493
493
|
_headers=_headers,
|
|
@@ -495,7 +495,7 @@ class VrificationPDFXMLApi:
|
|
|
495
495
|
)
|
|
496
496
|
|
|
497
497
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
498
|
-
'200': "
|
|
498
|
+
'200': "AsyncTaskStatus",
|
|
499
499
|
'422': "HTTPValidationError",
|
|
500
500
|
}
|
|
501
501
|
response_data = self.api_client.call_api(
|
|
@@ -505,9 +505,9 @@ class VrificationPDFXMLApi:
|
|
|
505
505
|
return response_data.response
|
|
506
506
|
|
|
507
507
|
|
|
508
|
-
def
|
|
508
|
+
def _get_verification_status_api_v1_verification_verify_async_task_id_status_get_0_serialize(
|
|
509
509
|
self,
|
|
510
|
-
|
|
510
|
+
task_id,
|
|
511
511
|
_request_auth,
|
|
512
512
|
_content_type,
|
|
513
513
|
_headers,
|
|
@@ -529,8 +529,8 @@ class VrificationPDFXMLApi:
|
|
|
529
529
|
_body_params: Optional[bytes] = None
|
|
530
530
|
|
|
531
531
|
# process the path parameters
|
|
532
|
-
if
|
|
533
|
-
_path_params['
|
|
532
|
+
if task_id is not None:
|
|
533
|
+
_path_params['task_id'] = task_id
|
|
534
534
|
# process the query parameters
|
|
535
535
|
# process the header parameters
|
|
536
536
|
# process the form parameters
|
|
@@ -553,7 +553,7 @@ class VrificationPDFXMLApi:
|
|
|
553
553
|
|
|
554
554
|
return self.api_client.param_serialize(
|
|
555
555
|
method='GET',
|
|
556
|
-
resource_path='/api/v1/verification/
|
|
556
|
+
resource_path='/api/v1/verification/verify-async/{task_id}/status',
|
|
557
557
|
path_params=_path_params,
|
|
558
558
|
query_params=_query_params,
|
|
559
559
|
header_params=_header_params,
|
|
@@ -570,10 +570,10 @@ class VrificationPDFXMLApi:
|
|
|
570
570
|
|
|
571
571
|
|
|
572
572
|
@validate_call
|
|
573
|
-
def
|
|
573
|
+
def verify_pdf_async_api_v1_verification_verify_async_post(
|
|
574
574
|
self,
|
|
575
|
-
|
|
576
|
-
|
|
575
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
576
|
+
force_ocr: Annotated[Optional[StrictBool], Field(description="Force OCR usage even if PDF contains native text")] = None,
|
|
577
577
|
_request_timeout: Union[
|
|
578
578
|
None,
|
|
579
579
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -586,15 +586,15 @@ class VrificationPDFXMLApi:
|
|
|
586
586
|
_content_type: Optional[StrictStr] = None,
|
|
587
587
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
588
588
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
589
|
-
) ->
|
|
590
|
-
"""
|
|
589
|
+
) -> TaskResponse:
|
|
590
|
+
"""Verify PDF/XML Factur-X compliance (asynchronous)
|
|
591
591
|
|
|
592
|
-
|
|
592
|
+
Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn't block the server
|
|
593
593
|
|
|
594
|
-
:param
|
|
595
|
-
:type
|
|
596
|
-
:param
|
|
597
|
-
:type
|
|
594
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
595
|
+
:type pdf_file: bytearray
|
|
596
|
+
:param force_ocr: Force OCR usage even if PDF contains native text
|
|
597
|
+
:type force_ocr: bool
|
|
598
598
|
:param _request_timeout: timeout setting for this request. If one
|
|
599
599
|
number provided, it will be total request
|
|
600
600
|
timeout. It can also be a pair (tuple) of
|
|
@@ -617,9 +617,9 @@ class VrificationPDFXMLApi:
|
|
|
617
617
|
:return: Returns the result object.
|
|
618
618
|
""" # noqa: E501
|
|
619
619
|
|
|
620
|
-
_param = self.
|
|
621
|
-
|
|
622
|
-
|
|
620
|
+
_param = self._verify_pdf_async_api_v1_verification_verify_async_post_serialize(
|
|
621
|
+
pdf_file=pdf_file,
|
|
622
|
+
force_ocr=force_ocr,
|
|
623
623
|
_request_auth=_request_auth,
|
|
624
624
|
_content_type=_content_type,
|
|
625
625
|
_headers=_headers,
|
|
@@ -627,7 +627,7 @@ class VrificationPDFXMLApi:
|
|
|
627
627
|
)
|
|
628
628
|
|
|
629
629
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
630
|
-
'202': "
|
|
630
|
+
'202': "TaskResponse",
|
|
631
631
|
'422': "HTTPValidationError",
|
|
632
632
|
}
|
|
633
633
|
response_data = self.api_client.call_api(
|
|
@@ -642,10 +642,10 @@ class VrificationPDFXMLApi:
|
|
|
642
642
|
|
|
643
643
|
|
|
644
644
|
@validate_call
|
|
645
|
-
def
|
|
645
|
+
def verify_pdf_async_api_v1_verification_verify_async_post_with_http_info(
|
|
646
646
|
self,
|
|
647
|
-
|
|
648
|
-
|
|
647
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
648
|
+
force_ocr: Annotated[Optional[StrictBool], Field(description="Force OCR usage even if PDF contains native text")] = None,
|
|
649
649
|
_request_timeout: Union[
|
|
650
650
|
None,
|
|
651
651
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -658,15 +658,15 @@ class VrificationPDFXMLApi:
|
|
|
658
658
|
_content_type: Optional[StrictStr] = None,
|
|
659
659
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
660
660
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
661
|
-
) -> ApiResponse[
|
|
662
|
-
"""
|
|
661
|
+
) -> ApiResponse[TaskResponse]:
|
|
662
|
+
"""Verify PDF/XML Factur-X compliance (asynchronous)
|
|
663
663
|
|
|
664
|
-
|
|
664
|
+
Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn't block the server
|
|
665
665
|
|
|
666
|
-
:param
|
|
667
|
-
:type
|
|
668
|
-
:param
|
|
669
|
-
:type
|
|
666
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
667
|
+
:type pdf_file: bytearray
|
|
668
|
+
:param force_ocr: Force OCR usage even if PDF contains native text
|
|
669
|
+
:type force_ocr: bool
|
|
670
670
|
:param _request_timeout: timeout setting for this request. If one
|
|
671
671
|
number provided, it will be total request
|
|
672
672
|
timeout. It can also be a pair (tuple) of
|
|
@@ -689,9 +689,9 @@ class VrificationPDFXMLApi:
|
|
|
689
689
|
:return: Returns the result object.
|
|
690
690
|
""" # noqa: E501
|
|
691
691
|
|
|
692
|
-
_param = self.
|
|
693
|
-
|
|
694
|
-
|
|
692
|
+
_param = self._verify_pdf_async_api_v1_verification_verify_async_post_serialize(
|
|
693
|
+
pdf_file=pdf_file,
|
|
694
|
+
force_ocr=force_ocr,
|
|
695
695
|
_request_auth=_request_auth,
|
|
696
696
|
_content_type=_content_type,
|
|
697
697
|
_headers=_headers,
|
|
@@ -699,7 +699,7 @@ class VrificationPDFXMLApi:
|
|
|
699
699
|
)
|
|
700
700
|
|
|
701
701
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
702
|
-
'202': "
|
|
702
|
+
'202': "TaskResponse",
|
|
703
703
|
'422': "HTTPValidationError",
|
|
704
704
|
}
|
|
705
705
|
response_data = self.api_client.call_api(
|
|
@@ -714,10 +714,10 @@ class VrificationPDFXMLApi:
|
|
|
714
714
|
|
|
715
715
|
|
|
716
716
|
@validate_call
|
|
717
|
-
def
|
|
717
|
+
def verify_pdf_async_api_v1_verification_verify_async_post_without_preload_content(
|
|
718
718
|
self,
|
|
719
|
-
|
|
720
|
-
|
|
719
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
720
|
+
force_ocr: Annotated[Optional[StrictBool], Field(description="Force OCR usage even if PDF contains native text")] = None,
|
|
721
721
|
_request_timeout: Union[
|
|
722
722
|
None,
|
|
723
723
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -731,14 +731,14 @@ class VrificationPDFXMLApi:
|
|
|
731
731
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
732
732
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
733
733
|
) -> RESTResponseType:
|
|
734
|
-
"""
|
|
734
|
+
"""Verify PDF/XML Factur-X compliance (asynchronous)
|
|
735
735
|
|
|
736
|
-
|
|
736
|
+
Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn't block the server
|
|
737
737
|
|
|
738
|
-
:param
|
|
739
|
-
:type
|
|
740
|
-
:param
|
|
741
|
-
:type
|
|
738
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
739
|
+
:type pdf_file: bytearray
|
|
740
|
+
:param force_ocr: Force OCR usage even if PDF contains native text
|
|
741
|
+
:type force_ocr: bool
|
|
742
742
|
:param _request_timeout: timeout setting for this request. If one
|
|
743
743
|
number provided, it will be total request
|
|
744
744
|
timeout. It can also be a pair (tuple) of
|
|
@@ -761,9 +761,9 @@ class VrificationPDFXMLApi:
|
|
|
761
761
|
:return: Returns the result object.
|
|
762
762
|
""" # noqa: E501
|
|
763
763
|
|
|
764
|
-
_param = self.
|
|
765
|
-
|
|
766
|
-
|
|
764
|
+
_param = self._verify_pdf_async_api_v1_verification_verify_async_post_serialize(
|
|
765
|
+
pdf_file=pdf_file,
|
|
766
|
+
force_ocr=force_ocr,
|
|
767
767
|
_request_auth=_request_auth,
|
|
768
768
|
_content_type=_content_type,
|
|
769
769
|
_headers=_headers,
|
|
@@ -771,7 +771,7 @@ class VrificationPDFXMLApi:
|
|
|
771
771
|
)
|
|
772
772
|
|
|
773
773
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
774
|
-
'202': "
|
|
774
|
+
'202': "TaskResponse",
|
|
775
775
|
'422': "HTTPValidationError",
|
|
776
776
|
}
|
|
777
777
|
response_data = self.api_client.call_api(
|
|
@@ -781,10 +781,10 @@ class VrificationPDFXMLApi:
|
|
|
781
781
|
return response_data.response
|
|
782
782
|
|
|
783
783
|
|
|
784
|
-
def
|
|
784
|
+
def _verify_pdf_async_api_v1_verification_verify_async_post_serialize(
|
|
785
785
|
self,
|
|
786
|
-
|
|
787
|
-
|
|
786
|
+
pdf_file,
|
|
787
|
+
force_ocr,
|
|
788
788
|
_request_auth,
|
|
789
789
|
_content_type,
|
|
790
790
|
_headers,
|
|
@@ -809,10 +809,10 @@ class VrificationPDFXMLApi:
|
|
|
809
809
|
# process the query parameters
|
|
810
810
|
# process the header parameters
|
|
811
811
|
# process the form parameters
|
|
812
|
-
if
|
|
813
|
-
_files['
|
|
814
|
-
if
|
|
815
|
-
_form_params.append(('
|
|
812
|
+
if pdf_file is not None:
|
|
813
|
+
_files['pdf_file'] = pdf_file
|
|
814
|
+
if force_ocr is not None:
|
|
815
|
+
_form_params.append(('force_ocr', force_ocr))
|
|
816
816
|
# process the body parameter
|
|
817
817
|
|
|
818
818
|
|
|
@@ -845,7 +845,7 @@ class VrificationPDFXMLApi:
|
|
|
845
845
|
|
|
846
846
|
return self.api_client.param_serialize(
|
|
847
847
|
method='POST',
|
|
848
|
-
resource_path='/api/v1/verification/
|
|
848
|
+
resource_path='/api/v1/verification/verify-async',
|
|
849
849
|
path_params=_path_params,
|
|
850
850
|
query_params=_query_params,
|
|
851
851
|
header_params=_header_params,
|
|
@@ -862,10 +862,10 @@ class VrificationPDFXMLApi:
|
|
|
862
862
|
|
|
863
863
|
|
|
864
864
|
@validate_call
|
|
865
|
-
def
|
|
865
|
+
def verify_pdf_async_api_v1_verification_verify_async_post_0(
|
|
866
866
|
self,
|
|
867
|
-
|
|
868
|
-
|
|
867
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
868
|
+
force_ocr: Annotated[Optional[StrictBool], Field(description="Force OCR usage even if PDF contains native text")] = None,
|
|
869
869
|
_request_timeout: Union[
|
|
870
870
|
None,
|
|
871
871
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -878,15 +878,15 @@ class VrificationPDFXMLApi:
|
|
|
878
878
|
_content_type: Optional[StrictStr] = None,
|
|
879
879
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
880
880
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
881
|
-
) ->
|
|
882
|
-
"""
|
|
881
|
+
) -> TaskResponse:
|
|
882
|
+
"""Verify PDF/XML Factur-X compliance (asynchronous)
|
|
883
883
|
|
|
884
|
-
|
|
884
|
+
Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn't block the server
|
|
885
885
|
|
|
886
|
-
:param
|
|
887
|
-
:type
|
|
888
|
-
:param
|
|
889
|
-
:type
|
|
886
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
887
|
+
:type pdf_file: bytearray
|
|
888
|
+
:param force_ocr: Force OCR usage even if PDF contains native text
|
|
889
|
+
:type force_ocr: bool
|
|
890
890
|
:param _request_timeout: timeout setting for this request. If one
|
|
891
891
|
number provided, it will be total request
|
|
892
892
|
timeout. It can also be a pair (tuple) of
|
|
@@ -909,9 +909,9 @@ class VrificationPDFXMLApi:
|
|
|
909
909
|
:return: Returns the result object.
|
|
910
910
|
""" # noqa: E501
|
|
911
911
|
|
|
912
|
-
_param = self.
|
|
913
|
-
|
|
914
|
-
|
|
912
|
+
_param = self._verify_pdf_async_api_v1_verification_verify_async_post_0_serialize(
|
|
913
|
+
pdf_file=pdf_file,
|
|
914
|
+
force_ocr=force_ocr,
|
|
915
915
|
_request_auth=_request_auth,
|
|
916
916
|
_content_type=_content_type,
|
|
917
917
|
_headers=_headers,
|
|
@@ -919,7 +919,7 @@ class VrificationPDFXMLApi:
|
|
|
919
919
|
)
|
|
920
920
|
|
|
921
921
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
922
|
-
'202': "
|
|
922
|
+
'202': "TaskResponse",
|
|
923
923
|
'422': "HTTPValidationError",
|
|
924
924
|
}
|
|
925
925
|
response_data = self.api_client.call_api(
|
|
@@ -934,10 +934,10 @@ class VrificationPDFXMLApi:
|
|
|
934
934
|
|
|
935
935
|
|
|
936
936
|
@validate_call
|
|
937
|
-
def
|
|
937
|
+
def verify_pdf_async_api_v1_verification_verify_async_post_0_with_http_info(
|
|
938
938
|
self,
|
|
939
|
-
|
|
940
|
-
|
|
939
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
940
|
+
force_ocr: Annotated[Optional[StrictBool], Field(description="Force OCR usage even if PDF contains native text")] = None,
|
|
941
941
|
_request_timeout: Union[
|
|
942
942
|
None,
|
|
943
943
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -950,15 +950,15 @@ class VrificationPDFXMLApi:
|
|
|
950
950
|
_content_type: Optional[StrictStr] = None,
|
|
951
951
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
952
952
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
953
|
-
) -> ApiResponse[
|
|
954
|
-
"""
|
|
953
|
+
) -> ApiResponse[TaskResponse]:
|
|
954
|
+
"""Verify PDF/XML Factur-X compliance (asynchronous)
|
|
955
955
|
|
|
956
|
-
|
|
956
|
+
Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn't block the server
|
|
957
957
|
|
|
958
|
-
:param
|
|
959
|
-
:type
|
|
960
|
-
:param
|
|
961
|
-
:type
|
|
958
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
959
|
+
:type pdf_file: bytearray
|
|
960
|
+
:param force_ocr: Force OCR usage even if PDF contains native text
|
|
961
|
+
:type force_ocr: bool
|
|
962
962
|
:param _request_timeout: timeout setting for this request. If one
|
|
963
963
|
number provided, it will be total request
|
|
964
964
|
timeout. It can also be a pair (tuple) of
|
|
@@ -981,9 +981,9 @@ class VrificationPDFXMLApi:
|
|
|
981
981
|
:return: Returns the result object.
|
|
982
982
|
""" # noqa: E501
|
|
983
983
|
|
|
984
|
-
_param = self.
|
|
985
|
-
|
|
986
|
-
|
|
984
|
+
_param = self._verify_pdf_async_api_v1_verification_verify_async_post_0_serialize(
|
|
985
|
+
pdf_file=pdf_file,
|
|
986
|
+
force_ocr=force_ocr,
|
|
987
987
|
_request_auth=_request_auth,
|
|
988
988
|
_content_type=_content_type,
|
|
989
989
|
_headers=_headers,
|
|
@@ -991,7 +991,7 @@ class VrificationPDFXMLApi:
|
|
|
991
991
|
)
|
|
992
992
|
|
|
993
993
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
994
|
-
'202': "
|
|
994
|
+
'202': "TaskResponse",
|
|
995
995
|
'422': "HTTPValidationError",
|
|
996
996
|
}
|
|
997
997
|
response_data = self.api_client.call_api(
|
|
@@ -1006,10 +1006,10 @@ class VrificationPDFXMLApi:
|
|
|
1006
1006
|
|
|
1007
1007
|
|
|
1008
1008
|
@validate_call
|
|
1009
|
-
def
|
|
1009
|
+
def verify_pdf_async_api_v1_verification_verify_async_post_0_without_preload_content(
|
|
1010
1010
|
self,
|
|
1011
|
-
|
|
1012
|
-
|
|
1011
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
1012
|
+
force_ocr: Annotated[Optional[StrictBool], Field(description="Force OCR usage even if PDF contains native text")] = None,
|
|
1013
1013
|
_request_timeout: Union[
|
|
1014
1014
|
None,
|
|
1015
1015
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1023,14 +1023,14 @@ class VrificationPDFXMLApi:
|
|
|
1023
1023
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1024
1024
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1025
1025
|
) -> RESTResponseType:
|
|
1026
|
-
"""
|
|
1026
|
+
"""Verify PDF/XML Factur-X compliance (asynchronous)
|
|
1027
1027
|
|
|
1028
|
-
|
|
1028
|
+
Verifies PDF/XML Factur-X compliance asynchronously. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will return a `NOT_FACTURX` error in the result. This version uses a Celery task and can call the OCR service if the PDF is an image or if `force_ocr=true`. **Returns immediately** a task ID. Use `/verify-async/{task_id}/status` to retrieve the result. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency **Advantages over synchronous version:** - OCR support for image PDFs (via DocTR service) - Longer timeout for large documents - Doesn't block the server
|
|
1029
1029
|
|
|
1030
|
-
:param
|
|
1031
|
-
:type
|
|
1032
|
-
:param
|
|
1033
|
-
:type
|
|
1030
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
1031
|
+
:type pdf_file: bytearray
|
|
1032
|
+
:param force_ocr: Force OCR usage even if PDF contains native text
|
|
1033
|
+
:type force_ocr: bool
|
|
1034
1034
|
:param _request_timeout: timeout setting for this request. If one
|
|
1035
1035
|
number provided, it will be total request
|
|
1036
1036
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1053,9 +1053,9 @@ class VrificationPDFXMLApi:
|
|
|
1053
1053
|
:return: Returns the result object.
|
|
1054
1054
|
""" # noqa: E501
|
|
1055
1055
|
|
|
1056
|
-
_param = self.
|
|
1057
|
-
|
|
1058
|
-
|
|
1056
|
+
_param = self._verify_pdf_async_api_v1_verification_verify_async_post_0_serialize(
|
|
1057
|
+
pdf_file=pdf_file,
|
|
1058
|
+
force_ocr=force_ocr,
|
|
1059
1059
|
_request_auth=_request_auth,
|
|
1060
1060
|
_content_type=_content_type,
|
|
1061
1061
|
_headers=_headers,
|
|
@@ -1063,7 +1063,7 @@ class VrificationPDFXMLApi:
|
|
|
1063
1063
|
)
|
|
1064
1064
|
|
|
1065
1065
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1066
|
-
'202': "
|
|
1066
|
+
'202': "TaskResponse",
|
|
1067
1067
|
'422': "HTTPValidationError",
|
|
1068
1068
|
}
|
|
1069
1069
|
response_data = self.api_client.call_api(
|
|
@@ -1073,10 +1073,10 @@ class VrificationPDFXMLApi:
|
|
|
1073
1073
|
return response_data.response
|
|
1074
1074
|
|
|
1075
1075
|
|
|
1076
|
-
def
|
|
1076
|
+
def _verify_pdf_async_api_v1_verification_verify_async_post_0_serialize(
|
|
1077
1077
|
self,
|
|
1078
|
-
|
|
1079
|
-
|
|
1078
|
+
pdf_file,
|
|
1079
|
+
force_ocr,
|
|
1080
1080
|
_request_auth,
|
|
1081
1081
|
_content_type,
|
|
1082
1082
|
_headers,
|
|
@@ -1101,10 +1101,10 @@ class VrificationPDFXMLApi:
|
|
|
1101
1101
|
# process the query parameters
|
|
1102
1102
|
# process the header parameters
|
|
1103
1103
|
# process the form parameters
|
|
1104
|
-
if
|
|
1105
|
-
_files['
|
|
1106
|
-
if
|
|
1107
|
-
_form_params.append(('
|
|
1104
|
+
if pdf_file is not None:
|
|
1105
|
+
_files['pdf_file'] = pdf_file
|
|
1106
|
+
if force_ocr is not None:
|
|
1107
|
+
_form_params.append(('force_ocr', force_ocr))
|
|
1108
1108
|
# process the body parameter
|
|
1109
1109
|
|
|
1110
1110
|
|
|
@@ -1137,7 +1137,7 @@ class VrificationPDFXMLApi:
|
|
|
1137
1137
|
|
|
1138
1138
|
return self.api_client.param_serialize(
|
|
1139
1139
|
method='POST',
|
|
1140
|
-
resource_path='/api/v1/verification/
|
|
1140
|
+
resource_path='/api/v1/verification/verify-async',
|
|
1141
1141
|
path_params=_path_params,
|
|
1142
1142
|
query_params=_query_params,
|
|
1143
1143
|
header_params=_header_params,
|
|
@@ -1154,9 +1154,9 @@ class VrificationPDFXMLApi:
|
|
|
1154
1154
|
|
|
1155
1155
|
|
|
1156
1156
|
@validate_call
|
|
1157
|
-
def
|
|
1157
|
+
def verify_pdf_sync_api_v1_verification_verify_post(
|
|
1158
1158
|
self,
|
|
1159
|
-
|
|
1159
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
1160
1160
|
_request_timeout: Union[
|
|
1161
1161
|
None,
|
|
1162
1162
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1169,13 +1169,13 @@ class VrificationPDFXMLApi:
|
|
|
1169
1169
|
_content_type: Optional[StrictStr] = None,
|
|
1170
1170
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1171
1171
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1172
|
-
) ->
|
|
1173
|
-
"""
|
|
1172
|
+
) -> VerificationSuccessResponse:
|
|
1173
|
+
"""Verify PDF/XML Factur-X compliance (synchronous)
|
|
1174
1174
|
|
|
1175
|
-
|
|
1175
|
+
Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the `/verify-async` endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
|
|
1176
1176
|
|
|
1177
|
-
:param
|
|
1178
|
-
:type
|
|
1177
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
1178
|
+
:type pdf_file: bytearray
|
|
1179
1179
|
:param _request_timeout: timeout setting for this request. If one
|
|
1180
1180
|
number provided, it will be total request
|
|
1181
1181
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1198,8 +1198,8 @@ class VrificationPDFXMLApi:
|
|
|
1198
1198
|
:return: Returns the result object.
|
|
1199
1199
|
""" # noqa: E501
|
|
1200
1200
|
|
|
1201
|
-
_param = self.
|
|
1202
|
-
|
|
1201
|
+
_param = self._verify_pdf_sync_api_v1_verification_verify_post_serialize(
|
|
1202
|
+
pdf_file=pdf_file,
|
|
1203
1203
|
_request_auth=_request_auth,
|
|
1204
1204
|
_content_type=_content_type,
|
|
1205
1205
|
_headers=_headers,
|
|
@@ -1207,7 +1207,7 @@ class VrificationPDFXMLApi:
|
|
|
1207
1207
|
)
|
|
1208
1208
|
|
|
1209
1209
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1210
|
-
'200': "
|
|
1210
|
+
'200': "VerificationSuccessResponse",
|
|
1211
1211
|
'400': "APIError",
|
|
1212
1212
|
'413': "APIError",
|
|
1213
1213
|
'422': "HTTPValidationError",
|
|
@@ -1224,9 +1224,9 @@ class VrificationPDFXMLApi:
|
|
|
1224
1224
|
|
|
1225
1225
|
|
|
1226
1226
|
@validate_call
|
|
1227
|
-
def
|
|
1227
|
+
def verify_pdf_sync_api_v1_verification_verify_post_with_http_info(
|
|
1228
1228
|
self,
|
|
1229
|
-
|
|
1229
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
1230
1230
|
_request_timeout: Union[
|
|
1231
1231
|
None,
|
|
1232
1232
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1239,13 +1239,13 @@ class VrificationPDFXMLApi:
|
|
|
1239
1239
|
_content_type: Optional[StrictStr] = None,
|
|
1240
1240
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1241
1241
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1242
|
-
) -> ApiResponse[
|
|
1243
|
-
"""
|
|
1242
|
+
) -> ApiResponse[VerificationSuccessResponse]:
|
|
1243
|
+
"""Verify PDF/XML Factur-X compliance (synchronous)
|
|
1244
1244
|
|
|
1245
|
-
|
|
1245
|
+
Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the `/verify-async` endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
|
|
1246
1246
|
|
|
1247
|
-
:param
|
|
1248
|
-
:type
|
|
1247
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
1248
|
+
:type pdf_file: bytearray
|
|
1249
1249
|
:param _request_timeout: timeout setting for this request. If one
|
|
1250
1250
|
number provided, it will be total request
|
|
1251
1251
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1268,8 +1268,8 @@ class VrificationPDFXMLApi:
|
|
|
1268
1268
|
:return: Returns the result object.
|
|
1269
1269
|
""" # noqa: E501
|
|
1270
1270
|
|
|
1271
|
-
_param = self.
|
|
1272
|
-
|
|
1271
|
+
_param = self._verify_pdf_sync_api_v1_verification_verify_post_serialize(
|
|
1272
|
+
pdf_file=pdf_file,
|
|
1273
1273
|
_request_auth=_request_auth,
|
|
1274
1274
|
_content_type=_content_type,
|
|
1275
1275
|
_headers=_headers,
|
|
@@ -1277,7 +1277,7 @@ class VrificationPDFXMLApi:
|
|
|
1277
1277
|
)
|
|
1278
1278
|
|
|
1279
1279
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1280
|
-
'200': "
|
|
1280
|
+
'200': "VerificationSuccessResponse",
|
|
1281
1281
|
'400': "APIError",
|
|
1282
1282
|
'413': "APIError",
|
|
1283
1283
|
'422': "HTTPValidationError",
|
|
@@ -1294,9 +1294,9 @@ class VrificationPDFXMLApi:
|
|
|
1294
1294
|
|
|
1295
1295
|
|
|
1296
1296
|
@validate_call
|
|
1297
|
-
def
|
|
1297
|
+
def verify_pdf_sync_api_v1_verification_verify_post_without_preload_content(
|
|
1298
1298
|
self,
|
|
1299
|
-
|
|
1299
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
1300
1300
|
_request_timeout: Union[
|
|
1301
1301
|
None,
|
|
1302
1302
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1310,12 +1310,12 @@ class VrificationPDFXMLApi:
|
|
|
1310
1310
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1311
1311
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1312
1312
|
) -> RESTResponseType:
|
|
1313
|
-
"""
|
|
1313
|
+
"""Verify PDF/XML Factur-X compliance (synchronous)
|
|
1314
1314
|
|
|
1315
|
-
|
|
1315
|
+
Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the `/verify-async` endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
|
|
1316
1316
|
|
|
1317
|
-
:param
|
|
1318
|
-
:type
|
|
1317
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
1318
|
+
:type pdf_file: bytearray
|
|
1319
1319
|
:param _request_timeout: timeout setting for this request. If one
|
|
1320
1320
|
number provided, it will be total request
|
|
1321
1321
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1338,8 +1338,8 @@ class VrificationPDFXMLApi:
|
|
|
1338
1338
|
:return: Returns the result object.
|
|
1339
1339
|
""" # noqa: E501
|
|
1340
1340
|
|
|
1341
|
-
_param = self.
|
|
1342
|
-
|
|
1341
|
+
_param = self._verify_pdf_sync_api_v1_verification_verify_post_serialize(
|
|
1342
|
+
pdf_file=pdf_file,
|
|
1343
1343
|
_request_auth=_request_auth,
|
|
1344
1344
|
_content_type=_content_type,
|
|
1345
1345
|
_headers=_headers,
|
|
@@ -1347,7 +1347,7 @@ class VrificationPDFXMLApi:
|
|
|
1347
1347
|
)
|
|
1348
1348
|
|
|
1349
1349
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1350
|
-
'200': "
|
|
1350
|
+
'200': "VerificationSuccessResponse",
|
|
1351
1351
|
'400': "APIError",
|
|
1352
1352
|
'413': "APIError",
|
|
1353
1353
|
'422': "HTTPValidationError",
|
|
@@ -1359,9 +1359,9 @@ class VrificationPDFXMLApi:
|
|
|
1359
1359
|
return response_data.response
|
|
1360
1360
|
|
|
1361
1361
|
|
|
1362
|
-
def
|
|
1362
|
+
def _verify_pdf_sync_api_v1_verification_verify_post_serialize(
|
|
1363
1363
|
self,
|
|
1364
|
-
|
|
1364
|
+
pdf_file,
|
|
1365
1365
|
_request_auth,
|
|
1366
1366
|
_content_type,
|
|
1367
1367
|
_headers,
|
|
@@ -1386,8 +1386,8 @@ class VrificationPDFXMLApi:
|
|
|
1386
1386
|
# process the query parameters
|
|
1387
1387
|
# process the header parameters
|
|
1388
1388
|
# process the form parameters
|
|
1389
|
-
if
|
|
1390
|
-
_files['
|
|
1389
|
+
if pdf_file is not None:
|
|
1390
|
+
_files['pdf_file'] = pdf_file
|
|
1391
1391
|
# process the body parameter
|
|
1392
1392
|
|
|
1393
1393
|
|
|
@@ -1420,7 +1420,7 @@ class VrificationPDFXMLApi:
|
|
|
1420
1420
|
|
|
1421
1421
|
return self.api_client.param_serialize(
|
|
1422
1422
|
method='POST',
|
|
1423
|
-
resource_path='/api/v1/verification/
|
|
1423
|
+
resource_path='/api/v1/verification/verify',
|
|
1424
1424
|
path_params=_path_params,
|
|
1425
1425
|
query_params=_query_params,
|
|
1426
1426
|
header_params=_header_params,
|
|
@@ -1437,9 +1437,9 @@ class VrificationPDFXMLApi:
|
|
|
1437
1437
|
|
|
1438
1438
|
|
|
1439
1439
|
@validate_call
|
|
1440
|
-
def
|
|
1440
|
+
def verify_pdf_sync_api_v1_verification_verify_post_0(
|
|
1441
1441
|
self,
|
|
1442
|
-
|
|
1442
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
1443
1443
|
_request_timeout: Union[
|
|
1444
1444
|
None,
|
|
1445
1445
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1452,13 +1452,13 @@ class VrificationPDFXMLApi:
|
|
|
1452
1452
|
_content_type: Optional[StrictStr] = None,
|
|
1453
1453
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1454
1454
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1455
|
-
) ->
|
|
1456
|
-
"""
|
|
1455
|
+
) -> VerificationSuccessResponse:
|
|
1456
|
+
"""Verify PDF/XML Factur-X compliance (synchronous)
|
|
1457
1457
|
|
|
1458
|
-
|
|
1458
|
+
Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the `/verify-async` endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
|
|
1459
1459
|
|
|
1460
|
-
:param
|
|
1461
|
-
:type
|
|
1460
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
1461
|
+
:type pdf_file: bytearray
|
|
1462
1462
|
:param _request_timeout: timeout setting for this request. If one
|
|
1463
1463
|
number provided, it will be total request
|
|
1464
1464
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1481,8 +1481,8 @@ class VrificationPDFXMLApi:
|
|
|
1481
1481
|
:return: Returns the result object.
|
|
1482
1482
|
""" # noqa: E501
|
|
1483
1483
|
|
|
1484
|
-
_param = self.
|
|
1485
|
-
|
|
1484
|
+
_param = self._verify_pdf_sync_api_v1_verification_verify_post_0_serialize(
|
|
1485
|
+
pdf_file=pdf_file,
|
|
1486
1486
|
_request_auth=_request_auth,
|
|
1487
1487
|
_content_type=_content_type,
|
|
1488
1488
|
_headers=_headers,
|
|
@@ -1490,7 +1490,7 @@ class VrificationPDFXMLApi:
|
|
|
1490
1490
|
)
|
|
1491
1491
|
|
|
1492
1492
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1493
|
-
'200': "
|
|
1493
|
+
'200': "VerificationSuccessResponse",
|
|
1494
1494
|
'400': "APIError",
|
|
1495
1495
|
'413': "APIError",
|
|
1496
1496
|
'422': "HTTPValidationError",
|
|
@@ -1507,9 +1507,9 @@ class VrificationPDFXMLApi:
|
|
|
1507
1507
|
|
|
1508
1508
|
|
|
1509
1509
|
@validate_call
|
|
1510
|
-
def
|
|
1510
|
+
def verify_pdf_sync_api_v1_verification_verify_post_0_with_http_info(
|
|
1511
1511
|
self,
|
|
1512
|
-
|
|
1512
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
1513
1513
|
_request_timeout: Union[
|
|
1514
1514
|
None,
|
|
1515
1515
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1522,13 +1522,13 @@ class VrificationPDFXMLApi:
|
|
|
1522
1522
|
_content_type: Optional[StrictStr] = None,
|
|
1523
1523
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1524
1524
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1525
|
-
) -> ApiResponse[
|
|
1526
|
-
"""
|
|
1525
|
+
) -> ApiResponse[VerificationSuccessResponse]:
|
|
1526
|
+
"""Verify PDF/XML Factur-X compliance (synchronous)
|
|
1527
1527
|
|
|
1528
|
-
|
|
1528
|
+
Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the `/verify-async` endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
|
|
1529
1529
|
|
|
1530
|
-
:param
|
|
1531
|
-
:type
|
|
1530
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
1531
|
+
:type pdf_file: bytearray
|
|
1532
1532
|
:param _request_timeout: timeout setting for this request. If one
|
|
1533
1533
|
number provided, it will be total request
|
|
1534
1534
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1551,8 +1551,8 @@ class VrificationPDFXMLApi:
|
|
|
1551
1551
|
:return: Returns the result object.
|
|
1552
1552
|
""" # noqa: E501
|
|
1553
1553
|
|
|
1554
|
-
_param = self.
|
|
1555
|
-
|
|
1554
|
+
_param = self._verify_pdf_sync_api_v1_verification_verify_post_0_serialize(
|
|
1555
|
+
pdf_file=pdf_file,
|
|
1556
1556
|
_request_auth=_request_auth,
|
|
1557
1557
|
_content_type=_content_type,
|
|
1558
1558
|
_headers=_headers,
|
|
@@ -1560,7 +1560,7 @@ class VrificationPDFXMLApi:
|
|
|
1560
1560
|
)
|
|
1561
1561
|
|
|
1562
1562
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1563
|
-
'200': "
|
|
1563
|
+
'200': "VerificationSuccessResponse",
|
|
1564
1564
|
'400': "APIError",
|
|
1565
1565
|
'413': "APIError",
|
|
1566
1566
|
'422': "HTTPValidationError",
|
|
@@ -1577,9 +1577,9 @@ class VrificationPDFXMLApi:
|
|
|
1577
1577
|
|
|
1578
1578
|
|
|
1579
1579
|
@validate_call
|
|
1580
|
-
def
|
|
1580
|
+
def verify_pdf_sync_api_v1_verification_verify_post_0_without_preload_content(
|
|
1581
1581
|
self,
|
|
1582
|
-
|
|
1582
|
+
pdf_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Factur-X PDF file to verify")],
|
|
1583
1583
|
_request_timeout: Union[
|
|
1584
1584
|
None,
|
|
1585
1585
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1593,12 +1593,12 @@ class VrificationPDFXMLApi:
|
|
|
1593
1593
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1594
1594
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1595
1595
|
) -> RESTResponseType:
|
|
1596
|
-
"""
|
|
1596
|
+
"""Verify PDF/XML Factur-X compliance (synchronous)
|
|
1597
1597
|
|
|
1598
|
-
|
|
1598
|
+
Verifies compliance between the PDF and its embedded Factur-X XML. **IMPORTANT**: Only Factur-X PDFs (with embedded XML) are accepted. PDFs without Factur-X XML will be rejected with a 400 error. This synchronous version uses only native PDF extraction (pdfplumber). For image PDFs requiring OCR, use the `/verify-async` endpoint. **Verification principle (Factur-X 1.08):** - Principle #2: XML can only contain info present in the PDF - Principle #4: All XML info must be present and compliant in the PDF **Verified fields:** - Identification: BT-1 (invoice #), BT-2 (date), BT-3 (type), BT-5 (currency), BT-23 (framework) - Seller: BT-27 (name), BT-29 (SIRET), BT-30 (SIREN), BT-31 (VAT) - Buyer: BT-44 (name), BT-46 (SIRET), BT-47 (SIREN), BT-48 (VAT) - Amounts: BT-109 (excl. tax), BT-110 (VAT), BT-112 (incl. tax), BT-115 (amount due) - VAT breakdown: BT-116, BT-117, BT-118, BT-119 - Invoice lines: BT-153, BT-129, BT-146, BT-131 - Mandatory notes: PMT, PMD, AAB - Rule BR-FR-09: SIRET/SIREN consistency
|
|
1599
1599
|
|
|
1600
|
-
:param
|
|
1601
|
-
:type
|
|
1600
|
+
:param pdf_file: Factur-X PDF file to verify (required)
|
|
1601
|
+
:type pdf_file: bytearray
|
|
1602
1602
|
:param _request_timeout: timeout setting for this request. If one
|
|
1603
1603
|
number provided, it will be total request
|
|
1604
1604
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1621,8 +1621,8 @@ class VrificationPDFXMLApi:
|
|
|
1621
1621
|
:return: Returns the result object.
|
|
1622
1622
|
""" # noqa: E501
|
|
1623
1623
|
|
|
1624
|
-
_param = self.
|
|
1625
|
-
|
|
1624
|
+
_param = self._verify_pdf_sync_api_v1_verification_verify_post_0_serialize(
|
|
1625
|
+
pdf_file=pdf_file,
|
|
1626
1626
|
_request_auth=_request_auth,
|
|
1627
1627
|
_content_type=_content_type,
|
|
1628
1628
|
_headers=_headers,
|
|
@@ -1630,7 +1630,7 @@ class VrificationPDFXMLApi:
|
|
|
1630
1630
|
)
|
|
1631
1631
|
|
|
1632
1632
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1633
|
-
'200': "
|
|
1633
|
+
'200': "VerificationSuccessResponse",
|
|
1634
1634
|
'400': "APIError",
|
|
1635
1635
|
'413': "APIError",
|
|
1636
1636
|
'422': "HTTPValidationError",
|
|
@@ -1642,9 +1642,9 @@ class VrificationPDFXMLApi:
|
|
|
1642
1642
|
return response_data.response
|
|
1643
1643
|
|
|
1644
1644
|
|
|
1645
|
-
def
|
|
1645
|
+
def _verify_pdf_sync_api_v1_verification_verify_post_0_serialize(
|
|
1646
1646
|
self,
|
|
1647
|
-
|
|
1647
|
+
pdf_file,
|
|
1648
1648
|
_request_auth,
|
|
1649
1649
|
_content_type,
|
|
1650
1650
|
_headers,
|
|
@@ -1669,8 +1669,8 @@ class VrificationPDFXMLApi:
|
|
|
1669
1669
|
# process the query parameters
|
|
1670
1670
|
# process the header parameters
|
|
1671
1671
|
# process the form parameters
|
|
1672
|
-
if
|
|
1673
|
-
_files['
|
|
1672
|
+
if pdf_file is not None:
|
|
1673
|
+
_files['pdf_file'] = pdf_file
|
|
1674
1674
|
# process the body parameter
|
|
1675
1675
|
|
|
1676
1676
|
|
|
@@ -1703,7 +1703,7 @@ class VrificationPDFXMLApi:
|
|
|
1703
1703
|
|
|
1704
1704
|
return self.api_client.param_serialize(
|
|
1705
1705
|
method='POST',
|
|
1706
|
-
resource_path='/api/v1/verification/
|
|
1706
|
+
resource_path='/api/v1/verification/verify',
|
|
1707
1707
|
path_params=_path_params,
|
|
1708
1708
|
query_params=_query_params,
|
|
1709
1709
|
header_params=_header_params,
|