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/chorus_pro_api.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.
|
|
@@ -16,8 +17,9 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
|
16
17
|
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
17
18
|
from typing_extensions import Annotated
|
|
18
19
|
|
|
19
|
-
from pydantic import StrictInt
|
|
20
|
+
from pydantic import Field, StrictInt
|
|
20
21
|
from typing import Any, Dict
|
|
22
|
+
from typing_extensions import Annotated
|
|
21
23
|
from factpulse.models.get_chorus_pro_id_request import GetChorusProIdRequest
|
|
22
24
|
from factpulse.models.get_chorus_pro_id_response import GetChorusProIdResponse
|
|
23
25
|
from factpulse.models.get_invoice_request import GetInvoiceRequest
|
|
@@ -104,6 +106,7 @@ class ChorusProApi:
|
|
|
104
106
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
105
107
|
'200': "object",
|
|
106
108
|
'422': "HTTPValidationError",
|
|
109
|
+
'401': "APIError",
|
|
107
110
|
}
|
|
108
111
|
response_data = self.api_client.call_api(
|
|
109
112
|
*_param,
|
|
@@ -172,6 +175,7 @@ class ChorusProApi:
|
|
|
172
175
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
173
176
|
'200': "object",
|
|
174
177
|
'422': "HTTPValidationError",
|
|
178
|
+
'401': "APIError",
|
|
175
179
|
}
|
|
176
180
|
response_data = self.api_client.call_api(
|
|
177
181
|
*_param,
|
|
@@ -240,6 +244,7 @@ class ChorusProApi:
|
|
|
240
244
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
241
245
|
'200': "object",
|
|
242
246
|
'422': "HTTPValidationError",
|
|
247
|
+
'401': "APIError",
|
|
243
248
|
}
|
|
244
249
|
response_data = self.api_client.call_api(
|
|
245
250
|
*_param,
|
|
@@ -381,6 +386,7 @@ class ChorusProApi:
|
|
|
381
386
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
382
387
|
'200': "object",
|
|
383
388
|
'422': "HTTPValidationError",
|
|
389
|
+
'401': "APIError",
|
|
384
390
|
}
|
|
385
391
|
response_data = self.api_client.call_api(
|
|
386
392
|
*_param,
|
|
@@ -449,6 +455,7 @@ class ChorusProApi:
|
|
|
449
455
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
450
456
|
'200': "object",
|
|
451
457
|
'422': "HTTPValidationError",
|
|
458
|
+
'401': "APIError",
|
|
452
459
|
}
|
|
453
460
|
response_data = self.api_client.call_api(
|
|
454
461
|
*_param,
|
|
@@ -517,6 +524,7 @@ class ChorusProApi:
|
|
|
517
524
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
518
525
|
'200': "object",
|
|
519
526
|
'422': "HTTPValidationError",
|
|
527
|
+
'401': "APIError",
|
|
520
528
|
}
|
|
521
529
|
response_data = self.api_client.call_api(
|
|
522
530
|
*_param,
|
|
@@ -658,6 +666,7 @@ class ChorusProApi:
|
|
|
658
666
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
659
667
|
'200': "GetInvoiceResponse",
|
|
660
668
|
'422': "HTTPValidationError",
|
|
669
|
+
'401': "APIError",
|
|
661
670
|
}
|
|
662
671
|
response_data = self.api_client.call_api(
|
|
663
672
|
*_param,
|
|
@@ -726,6 +735,7 @@ class ChorusProApi:
|
|
|
726
735
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
727
736
|
'200': "GetInvoiceResponse",
|
|
728
737
|
'422': "HTTPValidationError",
|
|
738
|
+
'401': "APIError",
|
|
729
739
|
}
|
|
730
740
|
response_data = self.api_client.call_api(
|
|
731
741
|
*_param,
|
|
@@ -794,6 +804,7 @@ class ChorusProApi:
|
|
|
794
804
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
795
805
|
'200': "GetInvoiceResponse",
|
|
796
806
|
'422': "HTTPValidationError",
|
|
807
|
+
'401': "APIError",
|
|
797
808
|
}
|
|
798
809
|
response_data = self.api_client.call_api(
|
|
799
810
|
*_param,
|
|
@@ -935,6 +946,7 @@ class ChorusProApi:
|
|
|
935
946
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
936
947
|
'200': "GetStructureResponse",
|
|
937
948
|
'422': "HTTPValidationError",
|
|
949
|
+
'401': "APIError",
|
|
938
950
|
}
|
|
939
951
|
response_data = self.api_client.call_api(
|
|
940
952
|
*_param,
|
|
@@ -1003,6 +1015,7 @@ class ChorusProApi:
|
|
|
1003
1015
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1004
1016
|
'200': "GetStructureResponse",
|
|
1005
1017
|
'422': "HTTPValidationError",
|
|
1018
|
+
'401': "APIError",
|
|
1006
1019
|
}
|
|
1007
1020
|
response_data = self.api_client.call_api(
|
|
1008
1021
|
*_param,
|
|
@@ -1071,6 +1084,7 @@ class ChorusProApi:
|
|
|
1071
1084
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1072
1085
|
'200': "GetStructureResponse",
|
|
1073
1086
|
'422': "HTTPValidationError",
|
|
1087
|
+
'401': "APIError",
|
|
1074
1088
|
}
|
|
1075
1089
|
response_data = self.api_client.call_api(
|
|
1076
1090
|
*_param,
|
|
@@ -1159,7 +1173,7 @@ class ChorusProApi:
|
|
|
1159
1173
|
@validate_call
|
|
1160
1174
|
def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get(
|
|
1161
1175
|
self,
|
|
1162
|
-
id_structure_cpp: StrictInt,
|
|
1176
|
+
id_structure_cpp: Annotated[StrictInt, Field(description="Chorus Pro structure ID (idStructureCPP)")],
|
|
1163
1177
|
_request_timeout: Union[
|
|
1164
1178
|
None,
|
|
1165
1179
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1177,7 +1191,7 @@ class ChorusProApi:
|
|
|
1177
1191
|
|
|
1178
1192
|
Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
|
|
1179
1193
|
|
|
1180
|
-
:param id_structure_cpp: (required)
|
|
1194
|
+
:param id_structure_cpp: Chorus Pro structure ID (idStructureCPP) (required)
|
|
1181
1195
|
:type id_structure_cpp: int
|
|
1182
1196
|
:param _request_timeout: timeout setting for this request. If one
|
|
1183
1197
|
number provided, it will be total request
|
|
@@ -1212,6 +1226,7 @@ class ChorusProApi:
|
|
|
1212
1226
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1213
1227
|
'200': "SearchServicesResponse",
|
|
1214
1228
|
'422': "HTTPValidationError",
|
|
1229
|
+
'401': "APIError",
|
|
1215
1230
|
}
|
|
1216
1231
|
response_data = self.api_client.call_api(
|
|
1217
1232
|
*_param,
|
|
@@ -1227,7 +1242,7 @@ class ChorusProApi:
|
|
|
1227
1242
|
@validate_call
|
|
1228
1243
|
def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(
|
|
1229
1244
|
self,
|
|
1230
|
-
id_structure_cpp: StrictInt,
|
|
1245
|
+
id_structure_cpp: Annotated[StrictInt, Field(description="Chorus Pro structure ID (idStructureCPP)")],
|
|
1231
1246
|
_request_timeout: Union[
|
|
1232
1247
|
None,
|
|
1233
1248
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1245,7 +1260,7 @@ class ChorusProApi:
|
|
|
1245
1260
|
|
|
1246
1261
|
Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
|
|
1247
1262
|
|
|
1248
|
-
:param id_structure_cpp: (required)
|
|
1263
|
+
:param id_structure_cpp: Chorus Pro structure ID (idStructureCPP) (required)
|
|
1249
1264
|
:type id_structure_cpp: int
|
|
1250
1265
|
:param _request_timeout: timeout setting for this request. If one
|
|
1251
1266
|
number provided, it will be total request
|
|
@@ -1280,6 +1295,7 @@ class ChorusProApi:
|
|
|
1280
1295
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1281
1296
|
'200': "SearchServicesResponse",
|
|
1282
1297
|
'422': "HTTPValidationError",
|
|
1298
|
+
'401': "APIError",
|
|
1283
1299
|
}
|
|
1284
1300
|
response_data = self.api_client.call_api(
|
|
1285
1301
|
*_param,
|
|
@@ -1295,7 +1311,7 @@ class ChorusProApi:
|
|
|
1295
1311
|
@validate_call
|
|
1296
1312
|
def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_without_preload_content(
|
|
1297
1313
|
self,
|
|
1298
|
-
id_structure_cpp: StrictInt,
|
|
1314
|
+
id_structure_cpp: Annotated[StrictInt, Field(description="Chorus Pro structure ID (idStructureCPP)")],
|
|
1299
1315
|
_request_timeout: Union[
|
|
1300
1316
|
None,
|
|
1301
1317
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1313,7 +1329,7 @@ class ChorusProApi:
|
|
|
1313
1329
|
|
|
1314
1330
|
Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
|
|
1315
1331
|
|
|
1316
|
-
:param id_structure_cpp: (required)
|
|
1332
|
+
:param id_structure_cpp: Chorus Pro structure ID (idStructureCPP) (required)
|
|
1317
1333
|
:type id_structure_cpp: int
|
|
1318
1334
|
:param _request_timeout: timeout setting for this request. If one
|
|
1319
1335
|
number provided, it will be total request
|
|
@@ -1348,6 +1364,7 @@ class ChorusProApi:
|
|
|
1348
1364
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1349
1365
|
'200': "SearchServicesResponse",
|
|
1350
1366
|
'422': "HTTPValidationError",
|
|
1367
|
+
'401': "APIError",
|
|
1351
1368
|
}
|
|
1352
1369
|
response_data = self.api_client.call_api(
|
|
1353
1370
|
*_param,
|
|
@@ -1476,6 +1493,7 @@ class ChorusProApi:
|
|
|
1476
1493
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1477
1494
|
'200': "GetChorusProIdResponse",
|
|
1478
1495
|
'422': "HTTPValidationError",
|
|
1496
|
+
'401': "APIError",
|
|
1479
1497
|
}
|
|
1480
1498
|
response_data = self.api_client.call_api(
|
|
1481
1499
|
*_param,
|
|
@@ -1544,6 +1562,7 @@ class ChorusProApi:
|
|
|
1544
1562
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1545
1563
|
'200': "GetChorusProIdResponse",
|
|
1546
1564
|
'422': "HTTPValidationError",
|
|
1565
|
+
'401': "APIError",
|
|
1547
1566
|
}
|
|
1548
1567
|
response_data = self.api_client.call_api(
|
|
1549
1568
|
*_param,
|
|
@@ -1612,6 +1631,7 @@ class ChorusProApi:
|
|
|
1612
1631
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1613
1632
|
'200': "GetChorusProIdResponse",
|
|
1614
1633
|
'422': "HTTPValidationError",
|
|
1634
|
+
'401': "APIError",
|
|
1615
1635
|
}
|
|
1616
1636
|
response_data = self.api_client.call_api(
|
|
1617
1637
|
*_param,
|
|
@@ -1753,6 +1773,7 @@ class ChorusProApi:
|
|
|
1753
1773
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1754
1774
|
'200': "object",
|
|
1755
1775
|
'422': "HTTPValidationError",
|
|
1776
|
+
'401': "APIError",
|
|
1756
1777
|
}
|
|
1757
1778
|
response_data = self.api_client.call_api(
|
|
1758
1779
|
*_param,
|
|
@@ -1821,6 +1842,7 @@ class ChorusProApi:
|
|
|
1821
1842
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1822
1843
|
'200': "object",
|
|
1823
1844
|
'422': "HTTPValidationError",
|
|
1845
|
+
'401': "APIError",
|
|
1824
1846
|
}
|
|
1825
1847
|
response_data = self.api_client.call_api(
|
|
1826
1848
|
*_param,
|
|
@@ -1889,6 +1911,7 @@ class ChorusProApi:
|
|
|
1889
1911
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1890
1912
|
'200': "object",
|
|
1891
1913
|
'422': "HTTPValidationError",
|
|
1914
|
+
'401': "APIError",
|
|
1892
1915
|
}
|
|
1893
1916
|
response_data = self.api_client.call_api(
|
|
1894
1917
|
*_param,
|
|
@@ -2030,6 +2053,7 @@ class ChorusProApi:
|
|
|
2030
2053
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2031
2054
|
'200': "object",
|
|
2032
2055
|
'422': "HTTPValidationError",
|
|
2056
|
+
'401': "APIError",
|
|
2033
2057
|
}
|
|
2034
2058
|
response_data = self.api_client.call_api(
|
|
2035
2059
|
*_param,
|
|
@@ -2098,6 +2122,7 @@ class ChorusProApi:
|
|
|
2098
2122
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2099
2123
|
'200': "object",
|
|
2100
2124
|
'422': "HTTPValidationError",
|
|
2125
|
+
'401': "APIError",
|
|
2101
2126
|
}
|
|
2102
2127
|
response_data = self.api_client.call_api(
|
|
2103
2128
|
*_param,
|
|
@@ -2166,6 +2191,7 @@ class ChorusProApi:
|
|
|
2166
2191
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2167
2192
|
'200': "object",
|
|
2168
2193
|
'422': "HTTPValidationError",
|
|
2194
|
+
'401': "APIError",
|
|
2169
2195
|
}
|
|
2170
2196
|
response_data = self.api_client.call_api(
|
|
2171
2197
|
*_param,
|
|
@@ -2307,6 +2333,7 @@ class ChorusProApi:
|
|
|
2307
2333
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2308
2334
|
'200': "SearchStructureResponse",
|
|
2309
2335
|
'422': "HTTPValidationError",
|
|
2336
|
+
'401': "APIError",
|
|
2310
2337
|
}
|
|
2311
2338
|
response_data = self.api_client.call_api(
|
|
2312
2339
|
*_param,
|
|
@@ -2375,6 +2402,7 @@ class ChorusProApi:
|
|
|
2375
2402
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2376
2403
|
'200': "SearchStructureResponse",
|
|
2377
2404
|
'422': "HTTPValidationError",
|
|
2405
|
+
'401': "APIError",
|
|
2378
2406
|
}
|
|
2379
2407
|
response_data = self.api_client.call_api(
|
|
2380
2408
|
*_param,
|
|
@@ -2443,6 +2471,7 @@ class ChorusProApi:
|
|
|
2443
2471
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2444
2472
|
'200': "SearchStructureResponse",
|
|
2445
2473
|
'422': "HTTPValidationError",
|
|
2474
|
+
'401': "APIError",
|
|
2446
2475
|
}
|
|
2447
2476
|
response_data = self.api_client.call_api(
|
|
2448
2477
|
*_param,
|
|
@@ -2584,6 +2613,7 @@ class ChorusProApi:
|
|
|
2584
2613
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2585
2614
|
'200': "object",
|
|
2586
2615
|
'422': "HTTPValidationError",
|
|
2616
|
+
'401': "APIError",
|
|
2587
2617
|
}
|
|
2588
2618
|
response_data = self.api_client.call_api(
|
|
2589
2619
|
*_param,
|
|
@@ -2652,6 +2682,7 @@ class ChorusProApi:
|
|
|
2652
2682
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2653
2683
|
'200': "object",
|
|
2654
2684
|
'422': "HTTPValidationError",
|
|
2685
|
+
'401': "APIError",
|
|
2655
2686
|
}
|
|
2656
2687
|
response_data = self.api_client.call_api(
|
|
2657
2688
|
*_param,
|
|
@@ -2720,6 +2751,7 @@ class ChorusProApi:
|
|
|
2720
2751
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2721
2752
|
'200': "object",
|
|
2722
2753
|
'422': "HTTPValidationError",
|
|
2754
|
+
'401': "APIError",
|
|
2723
2755
|
}
|
|
2724
2756
|
response_data = self.api_client.call_api(
|
|
2725
2757
|
*_param,
|
|
@@ -2861,6 +2893,7 @@ class ChorusProApi:
|
|
|
2861
2893
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2862
2894
|
'200': "SubmitInvoiceResponse",
|
|
2863
2895
|
'422': "HTTPValidationError",
|
|
2896
|
+
'401': "APIError",
|
|
2864
2897
|
}
|
|
2865
2898
|
response_data = self.api_client.call_api(
|
|
2866
2899
|
*_param,
|
|
@@ -2929,6 +2962,7 @@ class ChorusProApi:
|
|
|
2929
2962
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2930
2963
|
'200': "SubmitInvoiceResponse",
|
|
2931
2964
|
'422': "HTTPValidationError",
|
|
2965
|
+
'401': "APIError",
|
|
2932
2966
|
}
|
|
2933
2967
|
response_data = self.api_client.call_api(
|
|
2934
2968
|
*_param,
|
|
@@ -2997,6 +3031,7 @@ class ChorusProApi:
|
|
|
2997
3031
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2998
3032
|
'200': "SubmitInvoiceResponse",
|
|
2999
3033
|
'422': "HTTPValidationError",
|
|
3034
|
+
'401': "APIError",
|
|
3000
3035
|
}
|
|
3001
3036
|
response_data = self.api_client.call_api(
|
|
3002
3037
|
*_param,
|
|
@@ -3138,6 +3173,7 @@ class ChorusProApi:
|
|
|
3138
3173
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3139
3174
|
'200': "object",
|
|
3140
3175
|
'422': "HTTPValidationError",
|
|
3176
|
+
'401': "APIError",
|
|
3141
3177
|
}
|
|
3142
3178
|
response_data = self.api_client.call_api(
|
|
3143
3179
|
*_param,
|
|
@@ -3206,6 +3242,7 @@ class ChorusProApi:
|
|
|
3206
3242
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3207
3243
|
'200': "object",
|
|
3208
3244
|
'422': "HTTPValidationError",
|
|
3245
|
+
'401': "APIError",
|
|
3209
3246
|
}
|
|
3210
3247
|
response_data = self.api_client.call_api(
|
|
3211
3248
|
*_param,
|
|
@@ -3274,6 +3311,7 @@ class ChorusProApi:
|
|
|
3274
3311
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3275
3312
|
'200': "object",
|
|
3276
3313
|
'422': "HTTPValidationError",
|
|
3314
|
+
'401': "APIError",
|
|
3277
3315
|
}
|
|
3278
3316
|
response_data = self.api_client.call_api(
|
|
3279
3317
|
*_param,
|
|
@@ -3415,6 +3453,7 @@ class ChorusProApi:
|
|
|
3415
3453
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3416
3454
|
'200': "object",
|
|
3417
3455
|
'422': "HTTPValidationError",
|
|
3456
|
+
'401': "APIError",
|
|
3418
3457
|
}
|
|
3419
3458
|
response_data = self.api_client.call_api(
|
|
3420
3459
|
*_param,
|
|
@@ -3483,6 +3522,7 @@ class ChorusProApi:
|
|
|
3483
3522
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3484
3523
|
'200': "object",
|
|
3485
3524
|
'422': "HTTPValidationError",
|
|
3525
|
+
'401': "APIError",
|
|
3486
3526
|
}
|
|
3487
3527
|
response_data = self.api_client.call_api(
|
|
3488
3528
|
*_param,
|
|
@@ -3551,6 +3591,7 @@ class ChorusProApi:
|
|
|
3551
3591
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3552
3592
|
'200': "object",
|
|
3553
3593
|
'422': "HTTPValidationError",
|
|
3594
|
+
'401': "APIError",
|
|
3554
3595
|
}
|
|
3555
3596
|
response_data = self.api_client.call_api(
|
|
3556
3597
|
*_param,
|
|
@@ -3655,6 +3696,7 @@ class ChorusProApi:
|
|
|
3655
3696
|
) -> object:
|
|
3656
3697
|
"""Consult an invoice (Validator)
|
|
3657
3698
|
|
|
3699
|
+
Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
|
|
3658
3700
|
|
|
3659
3701
|
:param request_body: (required)
|
|
3660
3702
|
:type request_body: Dict[str, object]
|
|
@@ -3691,6 +3733,7 @@ class ChorusProApi:
|
|
|
3691
3733
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3692
3734
|
'200': "object",
|
|
3693
3735
|
'422': "HTTPValidationError",
|
|
3736
|
+
'401': "APIError",
|
|
3694
3737
|
}
|
|
3695
3738
|
response_data = self.api_client.call_api(
|
|
3696
3739
|
*_param,
|
|
@@ -3722,6 +3765,7 @@ class ChorusProApi:
|
|
|
3722
3765
|
) -> ApiResponse[object]:
|
|
3723
3766
|
"""Consult an invoice (Validator)
|
|
3724
3767
|
|
|
3768
|
+
Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
|
|
3725
3769
|
|
|
3726
3770
|
:param request_body: (required)
|
|
3727
3771
|
:type request_body: Dict[str, object]
|
|
@@ -3758,6 +3802,7 @@ class ChorusProApi:
|
|
|
3758
3802
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3759
3803
|
'200': "object",
|
|
3760
3804
|
'422': "HTTPValidationError",
|
|
3805
|
+
'401': "APIError",
|
|
3761
3806
|
}
|
|
3762
3807
|
response_data = self.api_client.call_api(
|
|
3763
3808
|
*_param,
|
|
@@ -3789,6 +3834,7 @@ class ChorusProApi:
|
|
|
3789
3834
|
) -> RESTResponseType:
|
|
3790
3835
|
"""Consult an invoice (Validator)
|
|
3791
3836
|
|
|
3837
|
+
Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
|
|
3792
3838
|
|
|
3793
3839
|
:param request_body: (required)
|
|
3794
3840
|
:type request_body: Dict[str, object]
|
|
@@ -3825,6 +3871,7 @@ class ChorusProApi:
|
|
|
3825
3871
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3826
3872
|
'200': "object",
|
|
3827
3873
|
'422': "HTTPValidationError",
|
|
3874
|
+
'401': "APIError",
|
|
3828
3875
|
}
|
|
3829
3876
|
response_data = self.api_client.call_api(
|
|
3830
3877
|
*_param,
|
|
@@ -3966,6 +4013,7 @@ class ChorusProApi:
|
|
|
3966
4013
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
3967
4014
|
'200': "object",
|
|
3968
4015
|
'422': "HTTPValidationError",
|
|
4016
|
+
'401': "APIError",
|
|
3969
4017
|
}
|
|
3970
4018
|
response_data = self.api_client.call_api(
|
|
3971
4019
|
*_param,
|
|
@@ -4034,6 +4082,7 @@ class ChorusProApi:
|
|
|
4034
4082
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
4035
4083
|
'200': "object",
|
|
4036
4084
|
'422': "HTTPValidationError",
|
|
4085
|
+
'401': "APIError",
|
|
4037
4086
|
}
|
|
4038
4087
|
response_data = self.api_client.call_api(
|
|
4039
4088
|
*_param,
|
|
@@ -4102,6 +4151,7 @@ class ChorusProApi:
|
|
|
4102
4151
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
4103
4152
|
'200': "object",
|
|
4104
4153
|
'422': "HTTPValidationError",
|
|
4154
|
+
'401': "APIError",
|
|
4105
4155
|
}
|
|
4106
4156
|
response_data = self.api_client.call_api(
|
|
4107
4157
|
*_param,
|
|
@@ -4243,6 +4293,7 @@ class ChorusProApi:
|
|
|
4243
4293
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
4244
4294
|
'200': "object",
|
|
4245
4295
|
'422': "HTTPValidationError",
|
|
4296
|
+
'401': "APIError",
|
|
4246
4297
|
}
|
|
4247
4298
|
response_data = self.api_client.call_api(
|
|
4248
4299
|
*_param,
|
|
@@ -4311,6 +4362,7 @@ class ChorusProApi:
|
|
|
4311
4362
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
4312
4363
|
'200': "object",
|
|
4313
4364
|
'422': "HTTPValidationError",
|
|
4365
|
+
'401': "APIError",
|
|
4314
4366
|
}
|
|
4315
4367
|
response_data = self.api_client.call_api(
|
|
4316
4368
|
*_param,
|
|
@@ -4379,6 +4431,7 @@ class ChorusProApi:
|
|
|
4379
4431
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
4380
4432
|
'200': "object",
|
|
4381
4433
|
'422': "HTTPValidationError",
|
|
4434
|
+
'401': "APIError",
|
|
4382
4435
|
}
|
|
4383
4436
|
response_data = self.api_client.call_api(
|
|
4384
4437
|
*_param,
|