factpulse 3.0.7__py3-none-any.whl → 3.0.23__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 +289 -12
- factpulse/api/__init__.py +2 -0
- factpulse/api/afnorpdppa_api.py +16 -14
- factpulse/api/afnorpdppa_directory_service_api.py +1224 -309
- factpulse/api/afnorpdppa_flow_service_api.py +199 -68
- factpulse/api/chorus_pro_api.py +61 -8
- factpulse/api/document_conversion_api.py +54 -338
- factpulse/api/downloads_api.py +1171 -0
- factpulse/api/e_reporting_api.py +3254 -0
- factpulse/api/health_api.py +8 -1
- factpulse/api/invoice_processing_api.py +234 -37
- factpulse/api/pdfxml_verification_api.py +98 -19
- factpulse/api/user_api.py +5 -1
- factpulse/api_client.py +3 -2
- factpulse/configuration.py +10 -5
- factpulse/exceptions.py +2 -1
- factpulse/models/__init__.py +143 -6
- factpulse/models/accept_language.py +38 -0
- factpulse/models/acknowledgment_status.py +2 -1
- factpulse/models/additional_document.py +2 -1
- factpulse/models/afnor_acknowledgement.py +100 -0
- factpulse/models/afnor_acknowledgement_detail.py +105 -0
- factpulse/models/afnor_address_edit.py +111 -0
- factpulse/models/afnor_address_patch.py +141 -0
- factpulse/models/afnor_address_put.py +129 -0
- factpulse/models/afnor_address_read.py +113 -0
- factpulse/models/afnor_algorithm.py +41 -0
- factpulse/models/afnor_contains_operator.py +37 -0
- factpulse/models/afnor_create_directory_line_body.py +98 -0
- factpulse/models/afnor_create_directory_line_body_addressing_information.py +122 -0
- factpulse/models/afnor_create_directory_line_body_period.py +91 -0
- factpulse/models/afnor_create_routing_code_body.py +153 -0
- factpulse/models/afnor_credentials.py +2 -1
- factpulse/models/afnor_destination.py +15 -15
- factpulse/models/afnor_diffusion_status.py +38 -0
- factpulse/models/afnor_directory_line_field.py +42 -0
- factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.py +139 -0
- factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.py +92 -0
- factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.py +134 -0
- factpulse/models/afnor_directory_line_post201_response.py +94 -0
- factpulse/models/afnor_directory_line_search_post200_response.py +104 -0
- factpulse/models/afnor_entity_type.py +38 -0
- factpulse/models/afnor_error.py +97 -0
- factpulse/models/afnor_facility_administrative_status.py +38 -0
- factpulse/models/afnor_facility_nature.py +38 -0
- factpulse/models/afnor_facility_payload_history.py +140 -0
- factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.py +98 -0
- factpulse/models/afnor_facility_payload_included.py +134 -0
- factpulse/models/afnor_facility_type.py +38 -0
- factpulse/models/afnor_flow.py +129 -0
- factpulse/models/afnor_flow_ack_status.py +39 -0
- factpulse/models/afnor_flow_direction.py +38 -0
- factpulse/models/afnor_flow_info.py +112 -0
- factpulse/models/afnor_flow_profile.py +39 -0
- factpulse/models/afnor_flow_syntax.py +41 -0
- factpulse/models/afnor_flow_type.py +49 -0
- factpulse/models/afnor_full_flow_info.py +117 -0
- factpulse/models/afnor_health_check_response.py +2 -1
- factpulse/models/afnor_legal_unit_administrative_status.py +38 -0
- factpulse/models/afnor_legal_unit_payload_history.py +107 -0
- factpulse/models/afnor_legal_unit_payload_included.py +107 -0
- factpulse/models/afnor_legal_unit_payload_included_no_siren.py +95 -0
- factpulse/models/afnor_platform_status.py +38 -0
- factpulse/models/afnor_processing_rule.py +42 -0
- factpulse/models/afnor_reason_code.py +141 -0
- factpulse/models/afnor_reason_code_enum.py +51 -0
- factpulse/models/afnor_recipient_platform_type.py +38 -0
- factpulse/models/afnor_result.py +25 -3
- factpulse/models/afnor_routing_code_administrative_status.py +38 -0
- factpulse/models/afnor_routing_code_field.py +44 -0
- factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.py +158 -0
- factpulse/models/afnor_routing_code_post201_response.py +113 -0
- factpulse/models/afnor_routing_code_search.py +122 -0
- factpulse/models/afnor_routing_code_search_filters.py +128 -0
- factpulse/models/afnor_routing_code_search_filters_administrative_status.py +92 -0
- factpulse/models/afnor_routing_code_search_filters_routing_code_name.py +102 -0
- factpulse/models/afnor_routing_code_search_filters_routing_identifier.py +102 -0
- factpulse/models/afnor_routing_code_search_post200_response.py +104 -0
- factpulse/models/afnor_routing_code_search_sorting_inner.py +92 -0
- factpulse/models/afnor_search_directory_line.py +109 -0
- factpulse/models/afnor_search_directory_line_filters.py +116 -0
- factpulse/models/afnor_search_directory_line_filters_addressing_identifier.py +92 -0
- factpulse/models/afnor_search_directory_line_filters_addressing_suffix.py +92 -0
- factpulse/models/afnor_search_directory_line_sorting_inner.py +92 -0
- factpulse/models/afnor_search_flow_content.py +104 -0
- factpulse/models/afnor_search_flow_filters.py +106 -0
- factpulse/models/afnor_search_flow_params.py +95 -0
- factpulse/models/afnor_search_siren.py +109 -0
- factpulse/models/afnor_search_siren_filters.py +110 -0
- factpulse/models/afnor_search_siren_filters_administrative_status.py +92 -0
- factpulse/models/afnor_search_siren_filters_business_name.py +92 -0
- factpulse/models/afnor_search_siren_filters_entity_type.py +92 -0
- factpulse/models/afnor_search_siren_filters_siren.py +102 -0
- factpulse/models/afnor_search_siren_sorting_inner.py +92 -0
- factpulse/models/afnor_search_siret.py +122 -0
- factpulse/models/afnor_search_siret_filters.py +140 -0
- factpulse/models/afnor_search_siret_filters_address_lines.py +92 -0
- factpulse/models/afnor_search_siret_filters_administrative_status.py +92 -0
- factpulse/models/afnor_search_siret_filters_country_subdivision.py +92 -0
- factpulse/models/afnor_search_siret_filters_facility_type.py +92 -0
- factpulse/models/afnor_search_siret_filters_locality.py +92 -0
- factpulse/models/afnor_search_siret_filters_name.py +92 -0
- factpulse/models/afnor_search_siret_filters_postal_code.py +102 -0
- factpulse/models/afnor_search_siret_filters_siret.py +102 -0
- factpulse/models/afnor_search_siret_sorting_inner.py +92 -0
- factpulse/models/afnor_siren_field.py +41 -0
- factpulse/models/afnor_siren_search_post200_response.py +104 -0
- factpulse/models/afnor_siret_field.py +50 -0
- factpulse/models/afnor_siret_search_post200_response.py +104 -0
- factpulse/models/afnor_sorting_order.py +38 -0
- factpulse/models/afnor_strict_operator.py +37 -0
- factpulse/models/afnor_update_patch_directory_line_body.py +89 -0
- factpulse/models/afnor_update_patch_routing_code_body.py +120 -0
- factpulse/models/afnor_update_put_routing_code_body.py +114 -0
- factpulse/models/afnor_webhook_callback_content.py +92 -0
- factpulse/models/aggregated_payment_input.py +106 -0
- factpulse/models/aggregated_transaction_input.py +136 -0
- factpulse/models/allowance_charge.py +9 -6
- factpulse/models/allowance_charge_reason_code.py +74 -0
- factpulse/models/allowance_reason_code.py +2 -1
- factpulse/models/allowance_total_amount.py +2 -1
- factpulse/models/amount.py +3 -2
- factpulse/models/amount1.py +140 -0
- factpulse/models/amount_due.py +2 -1
- factpulse/models/api_error.py +2 -1
- factpulse/models/api_profile.py +41 -0
- factpulse/models/async_task_status.py +2 -1
- factpulse/models/base_amount.py +2 -1
- factpulse/models/bounding_box_schema.py +2 -1
- factpulse/models/buyercountry.py +137 -0
- factpulse/models/celery_status.py +2 -1
- factpulse/models/certificate_info_response.py +2 -1
- factpulse/models/charge_total_amount.py +2 -1
- factpulse/models/{facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.py → chorus_pro_credentials.py} +5 -4
- factpulse/models/chorus_pro_destination.py +2 -1
- factpulse/models/chorus_pro_result.py +2 -1
- factpulse/models/contact.py +2 -1
- factpulse/models/convert_resume_request.py +2 -1
- factpulse/models/convert_success_response.py +2 -1
- factpulse/models/convert_validation_failed_response.py +7 -6
- factpulse/models/country_code.py +206 -0
- factpulse/models/create_aggregated_report_request.py +170 -0
- factpulse/models/create_e_reporting_request.py +173 -0
- factpulse/models/currency.py +137 -0
- factpulse/models/currency_code.py +89 -0
- factpulse/models/delivery_party.py +2 -1
- factpulse/models/destination.py +2 -1
- factpulse/models/directory_line_include.py +40 -0
- factpulse/models/doc_type.py +40 -0
- factpulse/models/document_type_info.py +2 -1
- factpulse/models/e_reporting_flow_type.py +40 -0
- factpulse/models/{convert_error_response.py → e_reporting_validation_error.py} +15 -23
- factpulse/models/electronic_address.py +4 -3
- factpulse/models/enriched_invoice_info.py +8 -7
- factpulse/models/error_level.py +2 -1
- factpulse/models/error_source.py +2 -1
- factpulse/models/extraction_info.py +2 -1
- factpulse/models/factur_x_invoice.py +2 -1
- factpulse/models/factur_xpdf_info.py +2 -1
- factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.py +41 -0
- factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.py +2 -1
- factpulse/models/field_status.py +2 -1
- factpulse/models/file_info.py +2 -1
- factpulse/models/files_info.py +2 -1
- factpulse/models/flow_direction.py +2 -1
- factpulse/models/flow_profile.py +2 -1
- factpulse/models/flow_summary.py +5 -4
- factpulse/models/flow_syntax.py +2 -1
- factpulse/models/flow_type.py +12 -3
- factpulse/models/generate_aggregated_report_response.py +100 -0
- factpulse/models/generate_certificate_request.py +2 -1
- factpulse/models/generate_certificate_response.py +2 -1
- factpulse/models/generate_e_reporting_response.py +96 -0
- factpulse/models/get_chorus_pro_id_request.py +5 -4
- factpulse/models/get_chorus_pro_id_response.py +2 -1
- factpulse/models/get_invoice_request.py +5 -4
- factpulse/models/get_invoice_response.py +4 -3
- factpulse/models/get_structure_request.py +5 -4
- factpulse/models/get_structure_response.py +4 -3
- factpulse/models/global_allowance_amount.py +2 -1
- factpulse/models/gross_unit_price.py +2 -1
- factpulse/models/http_validation_error.py +2 -1
- factpulse/models/incoming_invoice.py +8 -29
- factpulse/models/incoming_supplier.py +2 -1
- factpulse/models/invoice_format.py +2 -1
- factpulse/models/invoice_input.py +179 -0
- factpulse/models/invoice_line.py +18 -2
- factpulse/models/invoice_line_allowance_amount.py +2 -1
- factpulse/models/invoice_note.py +4 -3
- factpulse/models/invoice_payment_input.py +110 -0
- factpulse/models/invoice_references.py +2 -1
- factpulse/models/invoice_status.py +2 -1
- factpulse/models/invoice_totals.py +2 -1
- factpulse/models/invoice_totals_prepayment.py +2 -1
- factpulse/models/invoice_type_code.py +2 -1
- factpulse/models/invoice_type_code_output.py +52 -0
- factpulse/models/invoicing_framework.py +4 -3
- factpulse/models/invoicing_framework_code.py +2 -1
- factpulse/models/line_net_amount.py +2 -1
- factpulse/models/line_sub_type.py +39 -0
- factpulse/models/line_total_amount.py +2 -1
- factpulse/models/{validation_error_loc_inner.py → location_inner.py} +8 -7
- factpulse/models/mandatory_note_schema.py +2 -1
- factpulse/models/manual_rate.py +2 -1
- factpulse/models/manual_vat_rate.py +2 -1
- factpulse/models/missing_field.py +2 -1
- factpulse/models/operation_nature.py +2 -1
- factpulse/models/output_format.py +2 -1
- factpulse/models/page_dimensions_schema.py +2 -1
- factpulse/models/payee.py +2 -1
- factpulse/models/payment_amount_by_rate.py +98 -0
- factpulse/models/payment_card.py +2 -1
- factpulse/models/payment_means.py +2 -1
- factpulse/models/pdf_validation_result_api.py +2 -1
- factpulse/models/pdp_credentials.py +2 -1
- factpulse/models/percentage.py +2 -1
- factpulse/models/postal_address.py +2 -1
- factpulse/models/price_allowance_amount.py +2 -1
- factpulse/models/price_basis_quantity.py +2 -1
- factpulse/models/processing_options.py +4 -3
- factpulse/models/processing_rule.py +42 -0
- factpulse/models/product_characteristic.py +2 -1
- factpulse/models/product_classification.py +2 -1
- factpulse/models/quantity.py +2 -1
- factpulse/models/rate.py +140 -0
- factpulse/models/rate1.py +140 -0
- factpulse/models/recipient.py +2 -1
- factpulse/models/report_period.py +91 -0
- factpulse/models/report_sender.py +98 -0
- factpulse/models/rounding_amount.py +2 -1
- factpulse/models/routing_code_include.py +38 -0
- factpulse/models/schematron_validation_error.py +128 -0
- factpulse/models/scheme_id.py +9 -1
- factpulse/models/search_flow_request.py +2 -1
- factpulse/models/search_flow_response.py +2 -1
- factpulse/models/search_services_response.py +5 -4
- factpulse/models/search_structure_request.py +5 -4
- factpulse/models/search_structure_response.py +2 -1
- factpulse/models/sellercountry.py +137 -0
- factpulse/models/signature_info.py +2 -1
- factpulse/models/signature_info_api.py +2 -1
- factpulse/models/signature_parameters.py +2 -1
- factpulse/models/simplified_invoice_data.py +30 -3
- factpulse/models/siret_include.py +37 -0
- factpulse/models/structure_info.py +2 -1
- factpulse/models/structure_parameters.py +2 -1
- factpulse/models/structure_service.py +2 -1
- factpulse/models/submission_mode.py +2 -1
- factpulse/models/submit_aggregated_report_request.py +127 -0
- factpulse/models/submit_complete_invoice_request.py +2 -1
- factpulse/models/submit_complete_invoice_response.py +2 -1
- factpulse/models/submit_e_reporting_request.py +127 -0
- factpulse/models/submit_e_reporting_response.py +117 -0
- factpulse/models/submit_flow_request.py +2 -1
- factpulse/models/submit_flow_response.py +2 -1
- factpulse/models/submit_gross_amount.py +2 -1
- factpulse/models/submit_invoice_request.py +5 -4
- factpulse/models/submit_invoice_response.py +2 -1
- factpulse/models/submit_net_amount.py +2 -1
- factpulse/models/submit_vat_amount.py +2 -1
- factpulse/models/supplementary_attachment.py +7 -6
- factpulse/models/supplier.py +2 -1
- factpulse/models/task_response.py +2 -1
- factpulse/models/tax_breakdown_input.py +104 -0
- factpulse/models/tax_due_date_type.py +42 -0
- factpulse/models/tax_representative.py +2 -1
- factpulse/models/taxable_amount.py +2 -1
- factpulse/models/taxableamount.py +140 -0
- factpulse/models/taxamount.py +140 -0
- factpulse/models/taxamount1.py +140 -0
- factpulse/models/taxamount2.py +140 -0
- factpulse/models/taxexclusiveamount.py +140 -0
- factpulse/models/taxexclusiveamount1.py +140 -0
- factpulse/models/total_gross_amount.py +2 -1
- factpulse/models/total_net_amount.py +2 -1
- factpulse/models/total_vat_amount.py +2 -1
- factpulse/models/transaction_category.py +40 -0
- factpulse/models/transmission_type_code.py +38 -0
- factpulse/models/unit_net_price.py +2 -1
- factpulse/models/unit_of_measure.py +2 -1
- factpulse/models/validate_e_reporting_request.py +92 -0
- factpulse/models/validate_e_reporting_response.py +113 -0
- factpulse/models/validation_error.py +5 -4
- factpulse/models/validation_error_detail.py +2 -1
- factpulse/models/validation_error_response.py +2 -1
- factpulse/models/validation_info.py +5 -4
- factpulse/models/validation_success_response.py +2 -1
- factpulse/models/vat_accounting_code.py +2 -1
- factpulse/models/vat_amount.py +2 -1
- factpulse/models/vat_category.py +2 -1
- factpulse/models/vat_line.py +2 -1
- factpulse/models/vat_point_date_code.py +2 -1
- factpulse/models/vat_rate.py +2 -1
- factpulse/models/verification_success_response.py +2 -1
- factpulse/models/verified_field_schema.py +2 -1
- factpulse/rest.py +2 -1
- {factpulse-3.0.7.dist-info → factpulse-3.0.23.dist-info}/METADATA +42 -40
- factpulse-3.0.23.dist-info/RECORD +306 -0
- {factpulse-3.0.7.dist-info → factpulse-3.0.23.dist-info}/licenses/LICENSE +1 -1
- factpulse_helpers/client.py +2 -1
- factpulse/models/convert_pending_input_response.py +0 -114
- factpulse/models/factur_x_profile.py +0 -39
- factpulse-3.0.7.dist-info/RECORD +0 -168
- {factpulse-3.0.7.dist-info → factpulse-3.0.23.dist-info}/WHEEL +0 -0
- {factpulse-3.0.7.dist-info → factpulse-3.0.23.dist-info}/top_level.txt +0 -0
factpulse/api_client.py
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
"""
|
|
4
4
|
FactPulse REST API
|
|
5
5
|
|
|
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://
|
|
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://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
|
|
7
7
|
|
|
8
8
|
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Contact: contact@factpulse.fr
|
|
9
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
11
|
|
|
11
12
|
Do not edit the class manually.
|
|
@@ -91,7 +92,7 @@ class ApiClient:
|
|
|
91
92
|
self.default_headers[header_name] = header_value
|
|
92
93
|
self.cookie = cookie
|
|
93
94
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'OpenAPI-Generator/3.0.
|
|
95
|
+
self.user_agent = 'OpenAPI-Generator/3.0.23/python'
|
|
95
96
|
self.client_side_validation = configuration.client_side_validation
|
|
96
97
|
|
|
97
98
|
def __enter__(self):
|
factpulse/configuration.py
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
"""
|
|
4
4
|
FactPulse REST API
|
|
5
5
|
|
|
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://
|
|
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://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
|
|
7
7
|
|
|
8
8
|
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Contact: contact@factpulse.fr
|
|
9
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
11
|
|
|
11
12
|
Do not edit the class manually.
|
|
@@ -194,7 +195,7 @@ class Configuration:
|
|
|
194
195
|
) -> None:
|
|
195
196
|
"""Constructor
|
|
196
197
|
"""
|
|
197
|
-
self._base_path = "
|
|
198
|
+
self._base_path = "https://factpulse.fr" if host is None else host
|
|
198
199
|
"""Default Base url
|
|
199
200
|
"""
|
|
200
201
|
self.server_index = 0 if server_index is None and host is None else server_index
|
|
@@ -515,7 +516,7 @@ class Configuration:
|
|
|
515
516
|
"OS: {env}\n"\
|
|
516
517
|
"Python Version: {pyversion}\n"\
|
|
517
518
|
"Version of the API: 1.0.0\n"\
|
|
518
|
-
"SDK Package Version: 3.0.
|
|
519
|
+
"SDK Package Version: 3.0.23".\
|
|
519
520
|
format(env=sys.platform, pyversion=sys.version)
|
|
520
521
|
|
|
521
522
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -525,8 +526,12 @@ class Configuration:
|
|
|
525
526
|
"""
|
|
526
527
|
return [
|
|
527
528
|
{
|
|
528
|
-
'url': "",
|
|
529
|
-
'description': "
|
|
529
|
+
'url': "https://factpulse.fr",
|
|
530
|
+
'description': "Production",
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
'url': "http://localhost:8001",
|
|
534
|
+
'description': "Local development",
|
|
530
535
|
}
|
|
531
536
|
]
|
|
532
537
|
|
factpulse/exceptions.py
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
"""
|
|
4
4
|
FactPulse REST API
|
|
5
5
|
|
|
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://
|
|
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://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
|
|
7
7
|
|
|
8
8
|
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Contact: contact@factpulse.fr
|
|
9
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
11
|
|
|
11
12
|
Do not edit the class manually.
|
factpulse/models/__init__.py
CHANGED
|
@@ -4,44 +4,151 @@
|
|
|
4
4
|
"""
|
|
5
5
|
FactPulse REST API
|
|
6
6
|
|
|
7
|
-
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://
|
|
7
|
+
REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
|
|
8
8
|
|
|
9
9
|
The version of the OpenAPI document: 1.0.0
|
|
10
|
+
Contact: contact@factpulse.fr
|
|
10
11
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
12
|
|
|
12
13
|
Do not edit the class manually.
|
|
13
14
|
""" # noqa: E501
|
|
14
15
|
|
|
15
16
|
# import models into model package
|
|
17
|
+
from factpulse.models.afnor_acknowledgement import AFNORAcknowledgement
|
|
18
|
+
from factpulse.models.afnor_acknowledgement_detail import AFNORAcknowledgementDetail
|
|
19
|
+
from factpulse.models.afnor_address_edit import AFNORAddressEdit
|
|
20
|
+
from factpulse.models.afnor_address_patch import AFNORAddressPatch
|
|
21
|
+
from factpulse.models.afnor_address_put import AFNORAddressPut
|
|
22
|
+
from factpulse.models.afnor_address_read import AFNORAddressRead
|
|
23
|
+
from factpulse.models.afnor_algorithm import AFNORAlgorithm
|
|
24
|
+
from factpulse.models.afnor_contains_operator import AFNORContainsOperator
|
|
25
|
+
from factpulse.models.afnor_create_directory_line_body import AFNORCreateDirectoryLineBody
|
|
26
|
+
from factpulse.models.afnor_create_directory_line_body_addressing_information import AFNORCreateDirectoryLineBodyAddressingInformation
|
|
27
|
+
from factpulse.models.afnor_create_directory_line_body_period import AFNORCreateDirectoryLineBodyPeriod
|
|
28
|
+
from factpulse.models.afnor_create_routing_code_body import AFNORCreateRoutingCodeBody
|
|
16
29
|
from factpulse.models.afnor_credentials import AFNORCredentials
|
|
17
30
|
from factpulse.models.afnor_destination import AFNORDestination
|
|
31
|
+
from factpulse.models.afnor_diffusion_status import AFNORDiffusionStatus
|
|
32
|
+
from factpulse.models.afnor_directory_line_field import AFNORDirectoryLineField
|
|
33
|
+
from factpulse.models.afnor_directory_line_payload_history_legal_unit_facility_routing_code import AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCode
|
|
34
|
+
from factpulse.models.afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform import AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodePlatform
|
|
35
|
+
from factpulse.models.afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code import AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodeRoutingCode
|
|
36
|
+
from factpulse.models.afnor_directory_line_post201_response import AFNORDirectoryLinePost201Response
|
|
37
|
+
from factpulse.models.afnor_directory_line_search_post200_response import AFNORDirectoryLineSearchPost200Response
|
|
38
|
+
from factpulse.models.afnor_entity_type import AFNOREntityType
|
|
39
|
+
from factpulse.models.afnor_error import AFNORError
|
|
40
|
+
from factpulse.models.afnor_facility_administrative_status import AFNORFacilityAdministrativeStatus
|
|
41
|
+
from factpulse.models.afnor_facility_nature import AFNORFacilityNature
|
|
42
|
+
from factpulse.models.afnor_facility_payload_history import AFNORFacilityPayloadHistory
|
|
43
|
+
from factpulse.models.afnor_facility_payload_history_ule_b2g_additional_data import AFNORFacilityPayloadHistoryUleB2gAdditionalData
|
|
44
|
+
from factpulse.models.afnor_facility_payload_included import AFNORFacilityPayloadIncluded
|
|
45
|
+
from factpulse.models.afnor_facility_type import AFNORFacilityType
|
|
46
|
+
from factpulse.models.afnor_flow import AFNORFlow
|
|
47
|
+
from factpulse.models.afnor_flow_ack_status import AFNORFlowAckStatus
|
|
48
|
+
from factpulse.models.afnor_flow_direction import AFNORFlowDirection
|
|
49
|
+
from factpulse.models.afnor_flow_info import AFNORFlowInfo
|
|
50
|
+
from factpulse.models.afnor_flow_profile import AFNORFlowProfile
|
|
51
|
+
from factpulse.models.afnor_flow_syntax import AFNORFlowSyntax
|
|
52
|
+
from factpulse.models.afnor_flow_type import AFNORFlowType
|
|
53
|
+
from factpulse.models.afnor_full_flow_info import AFNORFullFlowInfo
|
|
18
54
|
from factpulse.models.afnor_health_check_response import AFNORHealthCheckResponse
|
|
55
|
+
from factpulse.models.afnor_legal_unit_administrative_status import AFNORLegalUnitAdministrativeStatus
|
|
56
|
+
from factpulse.models.afnor_legal_unit_payload_history import AFNORLegalUnitPayloadHistory
|
|
57
|
+
from factpulse.models.afnor_legal_unit_payload_included import AFNORLegalUnitPayloadIncluded
|
|
58
|
+
from factpulse.models.afnor_legal_unit_payload_included_no_siren import AFNORLegalUnitPayloadIncludedNoSiren
|
|
59
|
+
from factpulse.models.afnor_platform_status import AFNORPlatformStatus
|
|
60
|
+
from factpulse.models.afnor_processing_rule import AFNORProcessingRule
|
|
61
|
+
from factpulse.models.afnor_reason_code import AFNORReasonCode
|
|
62
|
+
from factpulse.models.afnor_reason_code_enum import AFNORReasonCodeEnum
|
|
63
|
+
from factpulse.models.afnor_recipient_platform_type import AFNORRecipientPlatformType
|
|
19
64
|
from factpulse.models.afnor_result import AFNORResult
|
|
65
|
+
from factpulse.models.afnor_routing_code_administrative_status import AFNORRoutingCodeAdministrativeStatus
|
|
66
|
+
from factpulse.models.afnor_routing_code_field import AFNORRoutingCodeField
|
|
67
|
+
from factpulse.models.afnor_routing_code_payload_history_legal_unit_facility import AFNORRoutingCodePayloadHistoryLegalUnitFacility
|
|
68
|
+
from factpulse.models.afnor_routing_code_post201_response import AFNORRoutingCodePost201Response
|
|
69
|
+
from factpulse.models.afnor_routing_code_search import AFNORRoutingCodeSearch
|
|
70
|
+
from factpulse.models.afnor_routing_code_search_filters import AFNORRoutingCodeSearchFilters
|
|
71
|
+
from factpulse.models.afnor_routing_code_search_filters_administrative_status import AFNORRoutingCodeSearchFiltersAdministrativeStatus
|
|
72
|
+
from factpulse.models.afnor_routing_code_search_filters_routing_code_name import AFNORRoutingCodeSearchFiltersRoutingCodeName
|
|
73
|
+
from factpulse.models.afnor_routing_code_search_filters_routing_identifier import AFNORRoutingCodeSearchFiltersRoutingIdentifier
|
|
74
|
+
from factpulse.models.afnor_routing_code_search_post200_response import AFNORRoutingCodeSearchPost200Response
|
|
75
|
+
from factpulse.models.afnor_routing_code_search_sorting_inner import AFNORRoutingCodeSearchSortingInner
|
|
76
|
+
from factpulse.models.afnor_search_directory_line import AFNORSearchDirectoryLine
|
|
77
|
+
from factpulse.models.afnor_search_directory_line_filters import AFNORSearchDirectoryLineFilters
|
|
78
|
+
from factpulse.models.afnor_search_directory_line_filters_addressing_identifier import AFNORSearchDirectoryLineFiltersAddressingIdentifier
|
|
79
|
+
from factpulse.models.afnor_search_directory_line_filters_addressing_suffix import AFNORSearchDirectoryLineFiltersAddressingSuffix
|
|
80
|
+
from factpulse.models.afnor_search_directory_line_sorting_inner import AFNORSearchDirectoryLineSortingInner
|
|
81
|
+
from factpulse.models.afnor_search_flow_content import AFNORSearchFlowContent
|
|
82
|
+
from factpulse.models.afnor_search_flow_filters import AFNORSearchFlowFilters
|
|
83
|
+
from factpulse.models.afnor_search_flow_params import AFNORSearchFlowParams
|
|
84
|
+
from factpulse.models.afnor_search_siren import AFNORSearchSiren
|
|
85
|
+
from factpulse.models.afnor_search_siren_filters import AFNORSearchSirenFilters
|
|
86
|
+
from factpulse.models.afnor_search_siren_filters_administrative_status import AFNORSearchSirenFiltersAdministrativeStatus
|
|
87
|
+
from factpulse.models.afnor_search_siren_filters_business_name import AFNORSearchSirenFiltersBusinessName
|
|
88
|
+
from factpulse.models.afnor_search_siren_filters_entity_type import AFNORSearchSirenFiltersEntityType
|
|
89
|
+
from factpulse.models.afnor_search_siren_filters_siren import AFNORSearchSirenFiltersSiren
|
|
90
|
+
from factpulse.models.afnor_search_siren_sorting_inner import AFNORSearchSirenSortingInner
|
|
91
|
+
from factpulse.models.afnor_search_siret import AFNORSearchSiret
|
|
92
|
+
from factpulse.models.afnor_search_siret_filters import AFNORSearchSiretFilters
|
|
93
|
+
from factpulse.models.afnor_search_siret_filters_address_lines import AFNORSearchSiretFiltersAddressLines
|
|
94
|
+
from factpulse.models.afnor_search_siret_filters_administrative_status import AFNORSearchSiretFiltersAdministrativeStatus
|
|
95
|
+
from factpulse.models.afnor_search_siret_filters_country_subdivision import AFNORSearchSiretFiltersCountrySubdivision
|
|
96
|
+
from factpulse.models.afnor_search_siret_filters_facility_type import AFNORSearchSiretFiltersFacilityType
|
|
97
|
+
from factpulse.models.afnor_search_siret_filters_locality import AFNORSearchSiretFiltersLocality
|
|
98
|
+
from factpulse.models.afnor_search_siret_filters_name import AFNORSearchSiretFiltersName
|
|
99
|
+
from factpulse.models.afnor_search_siret_filters_postal_code import AFNORSearchSiretFiltersPostalCode
|
|
100
|
+
from factpulse.models.afnor_search_siret_filters_siret import AFNORSearchSiretFiltersSiret
|
|
101
|
+
from factpulse.models.afnor_search_siret_sorting_inner import AFNORSearchSiretSortingInner
|
|
102
|
+
from factpulse.models.afnor_siren_field import AFNORSirenField
|
|
103
|
+
from factpulse.models.afnor_siren_search_post200_response import AFNORSirenSearchPost200Response
|
|
104
|
+
from factpulse.models.afnor_siret_field import AFNORSiretField
|
|
105
|
+
from factpulse.models.afnor_siret_search_post200_response import AFNORSiretSearchPost200Response
|
|
106
|
+
from factpulse.models.afnor_sorting_order import AFNORSortingOrder
|
|
107
|
+
from factpulse.models.afnor_strict_operator import AFNORStrictOperator
|
|
108
|
+
from factpulse.models.afnor_update_patch_directory_line_body import AFNORUpdatePatchDirectoryLineBody
|
|
109
|
+
from factpulse.models.afnor_update_patch_routing_code_body import AFNORUpdatePatchRoutingCodeBody
|
|
110
|
+
from factpulse.models.afnor_update_put_routing_code_body import AFNORUpdatePutRoutingCodeBody
|
|
111
|
+
from factpulse.models.afnor_webhook_callback_content import AFNORWebhookCallbackContent
|
|
20
112
|
from factpulse.models.api_error import APIError
|
|
113
|
+
from factpulse.models.api_profile import APIProfile
|
|
114
|
+
from factpulse.models.accept_language import AcceptLanguage
|
|
21
115
|
from factpulse.models.acknowledgment_status import AcknowledgmentStatus
|
|
22
116
|
from factpulse.models.additional_document import AdditionalDocument
|
|
117
|
+
from factpulse.models.aggregated_payment_input import AggregatedPaymentInput
|
|
118
|
+
from factpulse.models.aggregated_transaction_input import AggregatedTransactionInput
|
|
23
119
|
from factpulse.models.allowance_charge import AllowanceCharge
|
|
120
|
+
from factpulse.models.allowance_charge_reason_code import AllowanceChargeReasonCode
|
|
24
121
|
from factpulse.models.allowance_reason_code import AllowanceReasonCode
|
|
25
122
|
from factpulse.models.allowance_total_amount import AllowanceTotalAmount
|
|
26
123
|
from factpulse.models.amount import Amount
|
|
124
|
+
from factpulse.models.amount1 import Amount1
|
|
27
125
|
from factpulse.models.amount_due import AmountDue
|
|
28
126
|
from factpulse.models.async_task_status import AsyncTaskStatus
|
|
29
127
|
from factpulse.models.base_amount import BaseAmount
|
|
30
128
|
from factpulse.models.bounding_box_schema import BoundingBoxSchema
|
|
129
|
+
from factpulse.models.buyercountry import Buyercountry
|
|
31
130
|
from factpulse.models.celery_status import CeleryStatus
|
|
32
131
|
from factpulse.models.certificate_info_response import CertificateInfoResponse
|
|
33
132
|
from factpulse.models.charge_total_amount import ChargeTotalAmount
|
|
133
|
+
from factpulse.models.chorus_pro_credentials import ChorusProCredentials
|
|
34
134
|
from factpulse.models.chorus_pro_destination import ChorusProDestination
|
|
35
135
|
from factpulse.models.chorus_pro_result import ChorusProResult
|
|
36
136
|
from factpulse.models.contact import Contact
|
|
37
|
-
from factpulse.models.convert_error_response import ConvertErrorResponse
|
|
38
|
-
from factpulse.models.convert_pending_input_response import ConvertPendingInputResponse
|
|
39
137
|
from factpulse.models.convert_resume_request import ConvertResumeRequest
|
|
40
138
|
from factpulse.models.convert_success_response import ConvertSuccessResponse
|
|
41
139
|
from factpulse.models.convert_validation_failed_response import ConvertValidationFailedResponse
|
|
140
|
+
from factpulse.models.country_code import CountryCode
|
|
141
|
+
from factpulse.models.create_aggregated_report_request import CreateAggregatedReportRequest
|
|
142
|
+
from factpulse.models.create_e_reporting_request import CreateEReportingRequest
|
|
143
|
+
from factpulse.models.currency import Currency
|
|
144
|
+
from factpulse.models.currency_code import CurrencyCode
|
|
42
145
|
from factpulse.models.delivery_party import DeliveryParty
|
|
43
146
|
from factpulse.models.destination import Destination
|
|
147
|
+
from factpulse.models.directory_line_include import DirectoryLineInclude
|
|
148
|
+
from factpulse.models.doc_type import DocType
|
|
44
149
|
from factpulse.models.document_type_info import DocumentTypeInfo
|
|
150
|
+
from factpulse.models.e_reporting_flow_type import EReportingFlowType
|
|
151
|
+
from factpulse.models.e_reporting_validation_error import EReportingValidationError
|
|
45
152
|
from factpulse.models.electronic_address import ElectronicAddress
|
|
46
153
|
from factpulse.models.enriched_invoice_info import EnrichedInvoiceInfo
|
|
47
154
|
from factpulse.models.error_level import ErrorLevel
|
|
@@ -49,8 +156,7 @@ from factpulse.models.error_source import ErrorSource
|
|
|
49
156
|
from factpulse.models.extraction_info import ExtractionInfo
|
|
50
157
|
from factpulse.models.factur_x_invoice import FacturXInvoice
|
|
51
158
|
from factpulse.models.factur_xpdf_info import FacturXPDFInfo
|
|
52
|
-
from factpulse.models.
|
|
53
|
-
from factpulse.models.facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials import FactureElectroniqueRestApiSchemasChorusProChorusProCredentials
|
|
159
|
+
from factpulse.models.facture_electronique_rest_api_schemas_ereporting_invoice_type_code import FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode
|
|
54
160
|
from factpulse.models.facture_electronique_rest_api_schemas_processing_chorus_pro_credentials import FactureElectroniqueRestApiSchemasProcessingChorusProCredentials
|
|
55
161
|
from factpulse.models.field_status import FieldStatus
|
|
56
162
|
from factpulse.models.file_info import FileInfo
|
|
@@ -60,8 +166,10 @@ from factpulse.models.flow_profile import FlowProfile
|
|
|
60
166
|
from factpulse.models.flow_summary import FlowSummary
|
|
61
167
|
from factpulse.models.flow_syntax import FlowSyntax
|
|
62
168
|
from factpulse.models.flow_type import FlowType
|
|
169
|
+
from factpulse.models.generate_aggregated_report_response import GenerateAggregatedReportResponse
|
|
63
170
|
from factpulse.models.generate_certificate_request import GenerateCertificateRequest
|
|
64
171
|
from factpulse.models.generate_certificate_response import GenerateCertificateResponse
|
|
172
|
+
from factpulse.models.generate_e_reporting_response import GenerateEReportingResponse
|
|
65
173
|
from factpulse.models.get_chorus_pro_id_request import GetChorusProIdRequest
|
|
66
174
|
from factpulse.models.get_chorus_pro_id_response import GetChorusProIdResponse
|
|
67
175
|
from factpulse.models.get_invoice_request import GetInvoiceRequest
|
|
@@ -74,18 +182,23 @@ from factpulse.models.http_validation_error import HTTPValidationError
|
|
|
74
182
|
from factpulse.models.incoming_invoice import IncomingInvoice
|
|
75
183
|
from factpulse.models.incoming_supplier import IncomingSupplier
|
|
76
184
|
from factpulse.models.invoice_format import InvoiceFormat
|
|
185
|
+
from factpulse.models.invoice_input import InvoiceInput
|
|
77
186
|
from factpulse.models.invoice_line import InvoiceLine
|
|
78
187
|
from factpulse.models.invoice_line_allowance_amount import InvoiceLineAllowanceAmount
|
|
79
188
|
from factpulse.models.invoice_note import InvoiceNote
|
|
189
|
+
from factpulse.models.invoice_payment_input import InvoicePaymentInput
|
|
80
190
|
from factpulse.models.invoice_references import InvoiceReferences
|
|
81
191
|
from factpulse.models.invoice_status import InvoiceStatus
|
|
82
192
|
from factpulse.models.invoice_totals import InvoiceTotals
|
|
83
193
|
from factpulse.models.invoice_totals_prepayment import InvoiceTotalsPrepayment
|
|
84
194
|
from factpulse.models.invoice_type_code import InvoiceTypeCode
|
|
195
|
+
from factpulse.models.invoice_type_code_output import InvoiceTypeCodeOutput
|
|
85
196
|
from factpulse.models.invoicing_framework import InvoicingFramework
|
|
86
197
|
from factpulse.models.invoicing_framework_code import InvoicingFrameworkCode
|
|
87
198
|
from factpulse.models.line_net_amount import LineNetAmount
|
|
199
|
+
from factpulse.models.line_sub_type import LineSubType
|
|
88
200
|
from factpulse.models.line_total_amount import LineTotalAmount
|
|
201
|
+
from factpulse.models.location_inner import LocationInner
|
|
89
202
|
from factpulse.models.mandatory_note_schema import MandatoryNoteSchema
|
|
90
203
|
from factpulse.models.manual_rate import ManualRate
|
|
91
204
|
from factpulse.models.manual_vat_rate import ManualVatRate
|
|
@@ -96,6 +209,7 @@ from factpulse.models.pdf_validation_result_api import PDFValidationResultAPI
|
|
|
96
209
|
from factpulse.models.pdp_credentials import PDPCredentials
|
|
97
210
|
from factpulse.models.page_dimensions_schema import PageDimensionsSchema
|
|
98
211
|
from factpulse.models.payee import Payee
|
|
212
|
+
from factpulse.models.payment_amount_by_rate import PaymentAmountByRate
|
|
99
213
|
from factpulse.models.payment_card import PaymentCard
|
|
100
214
|
from factpulse.models.payment_means import PaymentMeans
|
|
101
215
|
from factpulse.models.percentage import Percentage
|
|
@@ -103,27 +217,39 @@ from factpulse.models.postal_address import PostalAddress
|
|
|
103
217
|
from factpulse.models.price_allowance_amount import PriceAllowanceAmount
|
|
104
218
|
from factpulse.models.price_basis_quantity import PriceBasisQuantity
|
|
105
219
|
from factpulse.models.processing_options import ProcessingOptions
|
|
220
|
+
from factpulse.models.processing_rule import ProcessingRule
|
|
106
221
|
from factpulse.models.product_characteristic import ProductCharacteristic
|
|
107
222
|
from factpulse.models.product_classification import ProductClassification
|
|
108
223
|
from factpulse.models.quantity import Quantity
|
|
224
|
+
from factpulse.models.rate import Rate
|
|
225
|
+
from factpulse.models.rate1 import Rate1
|
|
109
226
|
from factpulse.models.recipient import Recipient
|
|
227
|
+
from factpulse.models.report_period import ReportPeriod
|
|
228
|
+
from factpulse.models.report_sender import ReportSender
|
|
110
229
|
from factpulse.models.rounding_amount import RoundingAmount
|
|
230
|
+
from factpulse.models.routing_code_include import RoutingCodeInclude
|
|
231
|
+
from factpulse.models.schematron_validation_error import SchematronValidationError
|
|
111
232
|
from factpulse.models.scheme_id import SchemeID
|
|
112
233
|
from factpulse.models.search_flow_request import SearchFlowRequest
|
|
113
234
|
from factpulse.models.search_flow_response import SearchFlowResponse
|
|
114
235
|
from factpulse.models.search_services_response import SearchServicesResponse
|
|
115
236
|
from factpulse.models.search_structure_request import SearchStructureRequest
|
|
116
237
|
from factpulse.models.search_structure_response import SearchStructureResponse
|
|
238
|
+
from factpulse.models.sellercountry import Sellercountry
|
|
117
239
|
from factpulse.models.signature_info import SignatureInfo
|
|
118
240
|
from factpulse.models.signature_info_api import SignatureInfoAPI
|
|
119
241
|
from factpulse.models.signature_parameters import SignatureParameters
|
|
120
242
|
from factpulse.models.simplified_invoice_data import SimplifiedInvoiceData
|
|
243
|
+
from factpulse.models.siret_include import SiretInclude
|
|
121
244
|
from factpulse.models.structure_info import StructureInfo
|
|
122
245
|
from factpulse.models.structure_parameters import StructureParameters
|
|
123
246
|
from factpulse.models.structure_service import StructureService
|
|
124
247
|
from factpulse.models.submission_mode import SubmissionMode
|
|
248
|
+
from factpulse.models.submit_aggregated_report_request import SubmitAggregatedReportRequest
|
|
125
249
|
from factpulse.models.submit_complete_invoice_request import SubmitCompleteInvoiceRequest
|
|
126
250
|
from factpulse.models.submit_complete_invoice_response import SubmitCompleteInvoiceResponse
|
|
251
|
+
from factpulse.models.submit_e_reporting_request import SubmitEReportingRequest
|
|
252
|
+
from factpulse.models.submit_e_reporting_response import SubmitEReportingResponse
|
|
127
253
|
from factpulse.models.submit_flow_request import SubmitFlowRequest
|
|
128
254
|
from factpulse.models.submit_flow_response import SubmitFlowResponse
|
|
129
255
|
from factpulse.models.submit_gross_amount import SubmitGrossAmount
|
|
@@ -134,11 +260,21 @@ from factpulse.models.submit_vat_amount import SubmitVatAmount
|
|
|
134
260
|
from factpulse.models.supplementary_attachment import SupplementaryAttachment
|
|
135
261
|
from factpulse.models.supplier import Supplier
|
|
136
262
|
from factpulse.models.task_response import TaskResponse
|
|
263
|
+
from factpulse.models.tax_breakdown_input import TaxBreakdownInput
|
|
264
|
+
from factpulse.models.tax_due_date_type import TaxDueDateType
|
|
137
265
|
from factpulse.models.tax_representative import TaxRepresentative
|
|
138
266
|
from factpulse.models.taxable_amount import TaxableAmount
|
|
267
|
+
from factpulse.models.taxableamount import Taxableamount
|
|
268
|
+
from factpulse.models.taxamount import Taxamount
|
|
269
|
+
from factpulse.models.taxamount1 import Taxamount1
|
|
270
|
+
from factpulse.models.taxamount2 import Taxamount2
|
|
271
|
+
from factpulse.models.taxexclusiveamount import Taxexclusiveamount
|
|
272
|
+
from factpulse.models.taxexclusiveamount1 import Taxexclusiveamount1
|
|
139
273
|
from factpulse.models.total_gross_amount import TotalGrossAmount
|
|
140
274
|
from factpulse.models.total_net_amount import TotalNetAmount
|
|
141
275
|
from factpulse.models.total_vat_amount import TotalVATAmount
|
|
276
|
+
from factpulse.models.transaction_category import TransactionCategory
|
|
277
|
+
from factpulse.models.transmission_type_code import TransmissionTypeCode
|
|
142
278
|
from factpulse.models.unit_net_price import UnitNetPrice
|
|
143
279
|
from factpulse.models.unit_of_measure import UnitOfMeasure
|
|
144
280
|
from factpulse.models.vat_accounting_code import VATAccountingCode
|
|
@@ -146,9 +282,10 @@ from factpulse.models.vat_amount import VATAmount
|
|
|
146
282
|
from factpulse.models.vat_category import VATCategory
|
|
147
283
|
from factpulse.models.vat_line import VATLine
|
|
148
284
|
from factpulse.models.vat_point_date_code import VATPointDateCode
|
|
285
|
+
from factpulse.models.validate_e_reporting_request import ValidateEReportingRequest
|
|
286
|
+
from factpulse.models.validate_e_reporting_response import ValidateEReportingResponse
|
|
149
287
|
from factpulse.models.validation_error import ValidationError
|
|
150
288
|
from factpulse.models.validation_error_detail import ValidationErrorDetail
|
|
151
|
-
from factpulse.models.validation_error_loc_inner import ValidationErrorLocInner
|
|
152
289
|
from factpulse.models.validation_error_response import ValidationErrorResponse
|
|
153
290
|
from factpulse.models.validation_info import ValidationInfo
|
|
154
291
|
from factpulse.models.validation_success_response import ValidationSuccessResponse
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
FactPulse REST API
|
|
5
|
+
|
|
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://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Contact: contact@factpulse.fr
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import json
|
|
18
|
+
from enum import Enum
|
|
19
|
+
from typing_extensions import Self
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class AcceptLanguage(str, Enum):
|
|
23
|
+
"""
|
|
24
|
+
AFNOR Accept-Language header values.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
"""
|
|
28
|
+
allowed enum values
|
|
29
|
+
"""
|
|
30
|
+
FR = 'fr'
|
|
31
|
+
EN = 'en'
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def from_json(cls, json_str: str) -> Self:
|
|
35
|
+
"""Create an instance of AcceptLanguage from a JSON string"""
|
|
36
|
+
return cls(json.loads(json_str))
|
|
37
|
+
|
|
38
|
+
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
"""
|
|
4
4
|
FactPulse REST API
|
|
5
5
|
|
|
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://
|
|
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://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
|
|
7
7
|
|
|
8
8
|
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Contact: contact@factpulse.fr
|
|
9
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
11
|
|
|
11
12
|
Do not edit the class manually.
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
"""
|
|
4
4
|
FactPulse REST API
|
|
5
5
|
|
|
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://
|
|
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://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
|
|
7
7
|
|
|
8
8
|
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Contact: contact@factpulse.fr
|
|
9
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
11
|
|
|
11
12
|
Do not edit the class manually.
|