factpulse 2.0.37__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 +542 -197
- factpulse/api/__init__.py +7 -4
- factpulse/api/afnorpdppa_api.py +49 -47
- factpulse/api/afnorpdppa_directory_service_api.py +1225 -310
- factpulse/api/afnorpdppa_flow_service_api.py +212 -81
- factpulse/api/chorus_pro_api.py +271 -218
- factpulse/api/document_conversion_api.py +1222 -0
- factpulse/api/downloads_api.py +1171 -0
- factpulse/api/e_reporting_api.py +3254 -0
- factpulse/api/{sant_api.py → health_api.py} +29 -22
- factpulse/api/invoice_processing_api.py +3634 -0
- factpulse/api/{vrification_pdfxml_api.py → pdfxml_verification_api.py} +331 -252
- factpulse/api/{utilisateur_api.py → user_api.py} +21 -17
- factpulse/api_client.py +4 -3
- factpulse/configuration.py +11 -6
- factpulse/exceptions.py +3 -2
- factpulse/models/__init__.py +265 -95
- factpulse/models/accept_language.py +38 -0
- factpulse/models/acknowledgment_status.py +39 -0
- factpulse/models/additional_document.py +116 -0
- 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 +107 -0
- factpulse/models/afnor_destination.py +127 -0
- 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 +92 -0
- 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 +127 -0
- 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 +150 -0
- factpulse/models/allowance_charge_reason_code.py +74 -0
- factpulse/models/allowance_reason_code.py +43 -0
- factpulse/models/allowance_total_amount.py +146 -0
- factpulse/models/amount.py +140 -0
- factpulse/models/amount1.py +140 -0
- factpulse/models/amount_due.py +140 -0
- factpulse/models/api_error.py +6 -5
- factpulse/models/api_profile.py +41 -0
- factpulse/models/async_task_status.py +98 -0
- factpulse/models/base_amount.py +146 -0
- factpulse/models/bounding_box_schema.py +11 -10
- factpulse/models/buyercountry.py +137 -0
- factpulse/models/celery_status.py +41 -0
- factpulse/models/certificate_info_response.py +25 -24
- factpulse/models/charge_total_amount.py +146 -0
- factpulse/models/chorus_pro_credentials.py +14 -13
- factpulse/models/chorus_pro_destination.py +109 -0
- factpulse/models/chorus_pro_result.py +102 -0
- factpulse/models/contact.py +114 -0
- factpulse/models/convert_resume_request.py +88 -0
- factpulse/models/convert_success_response.py +127 -0
- factpulse/models/convert_validation_failed_response.py +121 -0
- 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 +122 -0
- factpulse/models/destination.py +28 -27
- factpulse/models/directory_line_include.py +40 -0
- factpulse/models/doc_type.py +40 -0
- factpulse/models/document_type_info.py +92 -0
- factpulse/models/e_reporting_flow_type.py +40 -0
- factpulse/models/e_reporting_validation_error.py +97 -0
- factpulse/models/electronic_address.py +91 -0
- factpulse/models/enriched_invoice_info.py +134 -0
- factpulse/models/error_level.py +3 -2
- factpulse/models/error_source.py +3 -2
- factpulse/models/extraction_info.py +94 -0
- factpulse/models/factur_x_invoice.py +321 -0
- factpulse/models/factur_xpdf_info.py +92 -0
- 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 +116 -0
- factpulse/models/field_status.py +41 -0
- factpulse/models/file_info.py +95 -0
- factpulse/models/files_info.py +107 -0
- factpulse/models/flow_direction.py +38 -0
- factpulse/models/flow_profile.py +39 -0
- factpulse/models/flow_summary.py +132 -0
- factpulse/models/flow_syntax.py +41 -0
- factpulse/models/flow_type.py +49 -0
- factpulse/models/generate_aggregated_report_response.py +100 -0
- factpulse/models/generate_certificate_request.py +27 -26
- factpulse/models/generate_certificate_response.py +16 -15
- factpulse/models/generate_e_reporting_response.py +96 -0
- factpulse/models/get_chorus_pro_id_request.py +101 -0
- factpulse/models/get_chorus_pro_id_response.py +99 -0
- factpulse/models/get_invoice_request.py +99 -0
- factpulse/models/get_invoice_response.py +143 -0
- factpulse/models/get_structure_request.py +101 -0
- factpulse/models/get_structure_response.py +143 -0
- factpulse/models/global_allowance_amount.py +140 -0
- factpulse/models/gross_unit_price.py +146 -0
- factpulse/models/http_validation_error.py +3 -2
- factpulse/models/incoming_invoice.py +175 -0
- factpulse/models/incoming_supplier.py +145 -0
- factpulse/models/invoice_format.py +39 -0
- factpulse/models/invoice_input.py +179 -0
- factpulse/models/invoice_line.py +370 -0
- factpulse/models/invoice_line_allowance_amount.py +146 -0
- factpulse/models/invoice_note.py +95 -0
- factpulse/models/invoice_payment_input.py +110 -0
- factpulse/models/invoice_references.py +195 -0
- factpulse/models/invoice_status.py +97 -0
- factpulse/models/invoice_totals.py +178 -0
- factpulse/models/invoice_totals_prepayment.py +146 -0
- factpulse/models/invoice_type_code.py +52 -0
- factpulse/models/invoice_type_code_output.py +52 -0
- factpulse/models/invoicing_framework.py +111 -0
- factpulse/models/invoicing_framework_code.py +40 -0
- factpulse/models/line_net_amount.py +146 -0
- factpulse/models/line_sub_type.py +39 -0
- factpulse/models/line_total_amount.py +146 -0
- factpulse/models/location_inner.py +139 -0
- factpulse/models/mandatory_note_schema.py +125 -0
- factpulse/models/manual_rate.py +140 -0
- factpulse/models/manual_vat_rate.py +140 -0
- factpulse/models/missing_field.py +108 -0
- factpulse/models/operation_nature.py +50 -0
- factpulse/models/output_format.py +38 -0
- factpulse/models/page_dimensions_schema.py +90 -0
- factpulse/models/payee.py +169 -0
- factpulse/models/payment_amount_by_rate.py +98 -0
- factpulse/models/payment_card.py +100 -0
- factpulse/models/payment_means.py +42 -0
- factpulse/models/pdf_validation_result_api.py +170 -0
- factpulse/models/pdp_credentials.py +16 -15
- factpulse/models/percentage.py +146 -0
- factpulse/models/postal_address.py +135 -0
- factpulse/models/price_allowance_amount.py +146 -0
- factpulse/models/price_basis_quantity.py +146 -0
- factpulse/models/processing_options.py +95 -0
- factpulse/models/processing_rule.py +42 -0
- factpulse/models/product_characteristic.py +90 -0
- factpulse/models/product_classification.py +102 -0
- factpulse/models/quantity.py +140 -0
- factpulse/models/rate.py +140 -0
- factpulse/models/rate1.py +140 -0
- factpulse/models/recipient.py +168 -0
- factpulse/models/report_period.py +91 -0
- factpulse/models/report_sender.py +98 -0
- factpulse/models/rounding_amount.py +146 -0
- factpulse/models/routing_code_include.py +38 -0
- factpulse/models/schematron_validation_error.py +128 -0
- factpulse/models/scheme_id.py +18 -4
- factpulse/models/search_flow_request.py +144 -0
- factpulse/models/search_flow_response.py +102 -0
- factpulse/models/search_services_response.py +102 -0
- factpulse/models/search_structure_request.py +120 -0
- factpulse/models/search_structure_response.py +102 -0
- factpulse/models/sellercountry.py +137 -0
- factpulse/models/signature_info.py +7 -6
- factpulse/models/signature_info_api.py +123 -0
- factpulse/models/signature_parameters.py +134 -0
- factpulse/models/simplified_invoice_data.py +151 -0
- factpulse/models/siret_include.py +37 -0
- factpulse/models/structure_info.py +15 -14
- factpulse/models/structure_parameters.py +92 -0
- factpulse/models/structure_service.py +94 -0
- factpulse/models/submission_mode.py +39 -0
- factpulse/models/submit_aggregated_report_request.py +127 -0
- factpulse/models/submit_complete_invoice_request.py +117 -0
- factpulse/models/submit_complete_invoice_response.py +146 -0
- factpulse/models/submit_e_reporting_request.py +127 -0
- factpulse/models/submit_e_reporting_response.py +117 -0
- factpulse/models/submit_flow_request.py +124 -0
- factpulse/models/submit_flow_response.py +110 -0
- factpulse/models/submit_gross_amount.py +140 -0
- factpulse/models/submit_invoice_request.py +177 -0
- factpulse/models/submit_invoice_response.py +104 -0
- factpulse/models/submit_net_amount.py +140 -0
- factpulse/models/submit_vat_amount.py +140 -0
- factpulse/models/supplementary_attachment.py +96 -0
- factpulse/models/supplier.py +226 -0
- factpulse/models/task_response.py +88 -0
- factpulse/models/tax_breakdown_input.py +104 -0
- factpulse/models/tax_due_date_type.py +42 -0
- factpulse/models/tax_representative.py +96 -0
- factpulse/models/taxable_amount.py +140 -0
- 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 +140 -0
- factpulse/models/total_net_amount.py +140 -0
- factpulse/models/total_vat_amount.py +140 -0
- factpulse/models/transaction_category.py +40 -0
- factpulse/models/transmission_type_code.py +38 -0
- factpulse/models/unit_net_price.py +140 -0
- factpulse/models/unit_of_measure.py +42 -0
- factpulse/models/validate_e_reporting_request.py +92 -0
- factpulse/models/validate_e_reporting_response.py +113 -0
- factpulse/models/validation_error.py +6 -5
- factpulse/models/validation_error_detail.py +7 -6
- factpulse/models/validation_error_response.py +88 -0
- factpulse/models/validation_info.py +106 -0
- factpulse/models/validation_success_response.py +88 -0
- factpulse/models/vat_accounting_code.py +40 -0
- factpulse/models/vat_amount.py +140 -0
- factpulse/models/vat_category.py +45 -0
- factpulse/models/vat_line.py +141 -0
- factpulse/models/vat_point_date_code.py +39 -0
- factpulse/models/vat_rate.py +146 -0
- factpulse/models/verification_success_response.py +136 -0
- factpulse/models/verified_field_schema.py +130 -0
- factpulse/rest.py +3 -2
- factpulse-3.0.23.dist-info/METADATA +294 -0
- factpulse-3.0.23.dist-info/RECORD +306 -0
- {factpulse-2.0.37.dist-info → factpulse-3.0.23.dist-info}/licenses/LICENSE +1 -1
- factpulse_helpers/__init__.py +34 -34
- factpulse_helpers/client.py +1020 -795
- factpulse_helpers/exceptions.py +68 -68
- factpulse/api/traitement_facture_api.py +0 -3437
- factpulse/models/adresse_electronique.py +0 -90
- factpulse/models/adresse_postale.py +0 -120
- factpulse/models/cadre_de_facturation.py +0 -110
- factpulse/models/categorie_tva.py +0 -44
- factpulse/models/champ_verifie_schema.py +0 -129
- factpulse/models/code_cadre_facturation.py +0 -39
- factpulse/models/code_raison_reduction.py +0 -42
- factpulse/models/consulter_facture_request.py +0 -98
- factpulse/models/consulter_facture_response.py +0 -142
- factpulse/models/consulter_structure_request.py +0 -100
- factpulse/models/consulter_structure_response.py +0 -142
- factpulse/models/credentials_afnor.py +0 -106
- factpulse/models/credentials_chorus_pro.py +0 -115
- factpulse/models/destinataire.py +0 -130
- factpulse/models/destination_afnor.py +0 -127
- factpulse/models/destination_chorus_pro.py +0 -108
- factpulse/models/dimension_page_schema.py +0 -89
- factpulse/models/direction_flux.py +0 -37
- factpulse/models/donnees_facture_simplifiees.py +0 -124
- factpulse/models/facture_enrichie_info.py +0 -133
- factpulse/models/facture_entrante.py +0 -196
- factpulse/models/facture_factur_x.py +0 -183
- factpulse/models/flux_resume.py +0 -131
- factpulse/models/format_facture.py +0 -38
- factpulse/models/format_sortie.py +0 -37
- factpulse/models/fournisseur.py +0 -153
- factpulse/models/fournisseur_entrant.py +0 -144
- factpulse/models/information_signature_api.py +0 -122
- factpulse/models/ligne_de_poste.py +0 -183
- factpulse/models/ligne_de_poste_montant_remise_ht.py +0 -145
- factpulse/models/ligne_de_poste_taux_tva_manuel.py +0 -145
- factpulse/models/ligne_de_tva.py +0 -132
- factpulse/models/mode_depot.py +0 -38
- factpulse/models/mode_paiement.py +0 -41
- factpulse/models/montant_a_payer.py +0 -139
- factpulse/models/montant_base_ht.py +0 -139
- factpulse/models/montant_ht_total.py +0 -139
- factpulse/models/montant_remise_globale_ttc.py +0 -139
- factpulse/models/montant_total.py +0 -133
- factpulse/models/montant_total_acompte.py +0 -145
- factpulse/models/montant_total_ligne_ht.py +0 -139
- factpulse/models/montant_ttc_total.py +0 -139
- factpulse/models/montant_tva.py +0 -139
- factpulse/models/montant_tva_ligne.py +0 -139
- factpulse/models/montant_tva_total.py +0 -139
- factpulse/models/montant_unitaire_ht.py +0 -139
- factpulse/models/nature_operation.py +0 -49
- factpulse/models/note.py +0 -94
- factpulse/models/note_obligatoire_schema.py +0 -124
- factpulse/models/obtenir_id_chorus_pro_request.py +0 -100
- factpulse/models/obtenir_id_chorus_pro_response.py +0 -98
- factpulse/models/options_processing.py +0 -94
- factpulse/models/parametres_signature.py +0 -133
- factpulse/models/parametres_structure.py +0 -91
- factpulse/models/pdf_factur_x_info.py +0 -91
- factpulse/models/piece_jointe_complementaire.py +0 -95
- factpulse/models/profil_api.py +0 -39
- factpulse/models/profil_flux.py +0 -38
- factpulse/models/quantite.py +0 -139
- factpulse/models/rechercher_services_response.py +0 -101
- factpulse/models/rechercher_structure_request.py +0 -119
- factpulse/models/rechercher_structure_response.py +0 -101
- factpulse/models/references.py +0 -124
- factpulse/models/reponse_healthcheck_afnor.py +0 -91
- factpulse/models/reponse_recherche_flux.py +0 -101
- factpulse/models/reponse_soumission_flux.py +0 -109
- factpulse/models/reponse_tache.py +0 -87
- factpulse/models/reponse_validation_erreur.py +0 -87
- factpulse/models/reponse_validation_succes.py +0 -87
- factpulse/models/reponse_verification_succes.py +0 -135
- factpulse/models/requete_recherche_flux.py +0 -143
- factpulse/models/requete_soumission_flux.py +0 -123
- factpulse/models/resultat_afnor.py +0 -105
- factpulse/models/resultat_chorus_pro.py +0 -101
- factpulse/models/resultat_validation_pdfapi.py +0 -169
- factpulse/models/service_structure.py +0 -93
- factpulse/models/soumettre_facture_complete_request.py +0 -116
- factpulse/models/soumettre_facture_complete_response.py +0 -145
- factpulse/models/soumettre_facture_request.py +0 -176
- factpulse/models/soumettre_facture_response.py +0 -103
- factpulse/models/statut_acquittement.py +0 -38
- factpulse/models/statut_celery.py +0 -40
- factpulse/models/statut_champ_api.py +0 -40
- factpulse/models/statut_facture.py +0 -96
- factpulse/models/statut_tache.py +0 -97
- factpulse/models/syntaxe_flux.py +0 -40
- factpulse/models/tauxmanuel.py +0 -139
- factpulse/models/type_document.py +0 -40
- factpulse/models/type_facture.py +0 -37
- factpulse/models/type_flux.py +0 -40
- factpulse/models/type_tva.py +0 -39
- factpulse/models/unite.py +0 -41
- factpulse/models/validation_error_loc_inner.py +0 -138
- factpulse-2.0.37.dist-info/METADATA +0 -292
- factpulse-2.0.37.dist-info/RECORD +0 -134
- {factpulse-2.0.37.dist-info → factpulse-3.0.23.dist-info}/WHEEL +0 -0
- {factpulse-2.0.37.dist-info → factpulse-3.0.23.dist-info}/top_level.txt +0 -0
factpulse/api/chorus_pro_api.py
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
|
|
4
|
+
FactPulse REST API
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF) ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage) ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://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,19 +17,20 @@ 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
|
|
21
|
-
from
|
|
22
|
-
from factpulse.models.
|
|
23
|
-
from factpulse.models.
|
|
24
|
-
from factpulse.models.
|
|
25
|
-
from factpulse.models.
|
|
26
|
-
from factpulse.models.
|
|
27
|
-
from factpulse.models.
|
|
28
|
-
from factpulse.models.
|
|
29
|
-
from factpulse.models.
|
|
30
|
-
from factpulse.models.
|
|
31
|
-
from factpulse.models.
|
|
22
|
+
from typing_extensions import Annotated
|
|
23
|
+
from factpulse.models.get_chorus_pro_id_request import GetChorusProIdRequest
|
|
24
|
+
from factpulse.models.get_chorus_pro_id_response import GetChorusProIdResponse
|
|
25
|
+
from factpulse.models.get_invoice_request import GetInvoiceRequest
|
|
26
|
+
from factpulse.models.get_invoice_response import GetInvoiceResponse
|
|
27
|
+
from factpulse.models.get_structure_request import GetStructureRequest
|
|
28
|
+
from factpulse.models.get_structure_response import GetStructureResponse
|
|
29
|
+
from factpulse.models.search_services_response import SearchServicesResponse
|
|
30
|
+
from factpulse.models.search_structure_request import SearchStructureRequest
|
|
31
|
+
from factpulse.models.search_structure_response import SearchStructureResponse
|
|
32
|
+
from factpulse.models.submit_invoice_request import SubmitInvoiceRequest
|
|
33
|
+
from factpulse.models.submit_invoice_response import SubmitInvoiceResponse
|
|
32
34
|
|
|
33
35
|
from factpulse.api_client import ApiClient, RequestSerialized
|
|
34
36
|
from factpulse.api_response import ApiResponse
|
|
@@ -65,9 +67,9 @@ class ChorusProApi:
|
|
|
65
67
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
66
68
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
67
69
|
) -> object:
|
|
68
|
-
"""
|
|
70
|
+
"""Add an attachment
|
|
69
71
|
|
|
70
|
-
|
|
72
|
+
Add an attachment to the current user account. **Max size**: 10 MB per file **Example payload**: ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"purchase_order.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Returns**: The attachment ID (`pieceJointeIdFichier`) to use in `/factures/completer`. **Accepted extensions**: PDF, JPG, PNG, ZIP, XML, etc.
|
|
71
73
|
|
|
72
74
|
:param request_body: (required)
|
|
73
75
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -133,9 +136,9 @@ class ChorusProApi:
|
|
|
133
136
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
134
137
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
135
138
|
) -> ApiResponse[object]:
|
|
136
|
-
"""
|
|
139
|
+
"""Add an attachment
|
|
137
140
|
|
|
138
|
-
|
|
141
|
+
Add an attachment to the current user account. **Max size**: 10 MB per file **Example payload**: ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"purchase_order.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Returns**: The attachment ID (`pieceJointeIdFichier`) to use in `/factures/completer`. **Accepted extensions**: PDF, JPG, PNG, ZIP, XML, etc.
|
|
139
142
|
|
|
140
143
|
:param request_body: (required)
|
|
141
144
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -201,9 +205,9 @@ class ChorusProApi:
|
|
|
201
205
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
202
206
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
203
207
|
) -> RESTResponseType:
|
|
204
|
-
"""
|
|
208
|
+
"""Add an attachment
|
|
205
209
|
|
|
206
|
-
|
|
210
|
+
Add an attachment to the current user account. **Max size**: 10 MB per file **Example payload**: ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"purchase_order.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Returns**: The attachment ID (`pieceJointeIdFichier`) to use in `/factures/completer`. **Accepted extensions**: PDF, JPG, PNG, ZIP, XML, etc.
|
|
207
211
|
|
|
208
212
|
:param request_body: (required)
|
|
209
213
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -342,9 +347,9 @@ class ChorusProApi:
|
|
|
342
347
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
343
348
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
344
349
|
) -> object:
|
|
345
|
-
"""
|
|
350
|
+
"""Complete a suspended invoice (Supplier)
|
|
346
351
|
|
|
347
|
-
|
|
352
|
+
Complete a SUSPENDUE status invoice by adding attachments or a comment. **Required status**: SUSPENDUE **Possible actions**: - Add attachments (supporting documents, purchase orders, etc.) - Modify comment **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Here are the requested documents\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"purchase_order.pdf\" } ] } ``` **Note**: Attachments must first be uploaded via `/transverses/ajouter-fichier`. **After completion**: The invoice returns to MISE_A_DISPOSITION status.
|
|
348
353
|
|
|
349
354
|
:param request_body: (required)
|
|
350
355
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -410,9 +416,9 @@ class ChorusProApi:
|
|
|
410
416
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
411
417
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
412
418
|
) -> ApiResponse[object]:
|
|
413
|
-
"""
|
|
419
|
+
"""Complete a suspended invoice (Supplier)
|
|
414
420
|
|
|
415
|
-
|
|
421
|
+
Complete a SUSPENDUE status invoice by adding attachments or a comment. **Required status**: SUSPENDUE **Possible actions**: - Add attachments (supporting documents, purchase orders, etc.) - Modify comment **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Here are the requested documents\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"purchase_order.pdf\" } ] } ``` **Note**: Attachments must first be uploaded via `/transverses/ajouter-fichier`. **After completion**: The invoice returns to MISE_A_DISPOSITION status.
|
|
416
422
|
|
|
417
423
|
:param request_body: (required)
|
|
418
424
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -478,9 +485,9 @@ class ChorusProApi:
|
|
|
478
485
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
479
486
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
480
487
|
) -> RESTResponseType:
|
|
481
|
-
"""
|
|
488
|
+
"""Complete a suspended invoice (Supplier)
|
|
482
489
|
|
|
483
|
-
|
|
490
|
+
Complete a SUSPENDUE status invoice by adding attachments or a comment. **Required status**: SUSPENDUE **Possible actions**: - Add attachments (supporting documents, purchase orders, etc.) - Modify comment **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Here are the requested documents\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"purchase_order.pdf\" } ] } ``` **Note**: Attachments must first be uploaded via `/transverses/ajouter-fichier`. **After completion**: The invoice returns to MISE_A_DISPOSITION status.
|
|
484
491
|
|
|
485
492
|
:param request_body: (required)
|
|
486
493
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -605,7 +613,7 @@ class ChorusProApi:
|
|
|
605
613
|
@validate_call
|
|
606
614
|
def consulter_facture_api_v1_chorus_pro_factures_consulter_post(
|
|
607
615
|
self,
|
|
608
|
-
|
|
616
|
+
get_invoice_request: GetInvoiceRequest,
|
|
609
617
|
_request_timeout: Union[
|
|
610
618
|
None,
|
|
611
619
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -618,13 +626,13 @@ class ChorusProApi:
|
|
|
618
626
|
_content_type: Optional[StrictStr] = None,
|
|
619
627
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
620
628
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
621
|
-
) ->
|
|
622
|
-
"""
|
|
629
|
+
) -> GetInvoiceResponse:
|
|
630
|
+
"""Consult invoice status
|
|
623
631
|
|
|
624
|
-
|
|
632
|
+
Retrieves the information and current status of an invoice submitted to Chorus Pro. **Returns**: - Invoice number and date - Total gross amount - **Current status**: SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Recipient structure **Use cases**: - Track the processing progress of an invoice - Check if an invoice has been validated or rejected - Get the payment date **Polling**: Call this endpoint regularly to track status changes.
|
|
625
633
|
|
|
626
|
-
:param
|
|
627
|
-
:type
|
|
634
|
+
:param get_invoice_request: (required)
|
|
635
|
+
:type get_invoice_request: GetInvoiceRequest
|
|
628
636
|
:param _request_timeout: timeout setting for this request. If one
|
|
629
637
|
number provided, it will be total request
|
|
630
638
|
timeout. It can also be a pair (tuple) of
|
|
@@ -648,7 +656,7 @@ class ChorusProApi:
|
|
|
648
656
|
""" # noqa: E501
|
|
649
657
|
|
|
650
658
|
_param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
|
|
651
|
-
|
|
659
|
+
get_invoice_request=get_invoice_request,
|
|
652
660
|
_request_auth=_request_auth,
|
|
653
661
|
_content_type=_content_type,
|
|
654
662
|
_headers=_headers,
|
|
@@ -656,8 +664,9 @@ class ChorusProApi:
|
|
|
656
664
|
)
|
|
657
665
|
|
|
658
666
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
659
|
-
'200': "
|
|
667
|
+
'200': "GetInvoiceResponse",
|
|
660
668
|
'422': "HTTPValidationError",
|
|
669
|
+
'401': "APIError",
|
|
661
670
|
}
|
|
662
671
|
response_data = self.api_client.call_api(
|
|
663
672
|
*_param,
|
|
@@ -673,7 +682,7 @@ class ChorusProApi:
|
|
|
673
682
|
@validate_call
|
|
674
683
|
def consulter_facture_api_v1_chorus_pro_factures_consulter_post_with_http_info(
|
|
675
684
|
self,
|
|
676
|
-
|
|
685
|
+
get_invoice_request: GetInvoiceRequest,
|
|
677
686
|
_request_timeout: Union[
|
|
678
687
|
None,
|
|
679
688
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -686,13 +695,13 @@ class ChorusProApi:
|
|
|
686
695
|
_content_type: Optional[StrictStr] = None,
|
|
687
696
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
688
697
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
689
|
-
) -> ApiResponse[
|
|
690
|
-
"""
|
|
698
|
+
) -> ApiResponse[GetInvoiceResponse]:
|
|
699
|
+
"""Consult invoice status
|
|
691
700
|
|
|
692
|
-
|
|
701
|
+
Retrieves the information and current status of an invoice submitted to Chorus Pro. **Returns**: - Invoice number and date - Total gross amount - **Current status**: SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Recipient structure **Use cases**: - Track the processing progress of an invoice - Check if an invoice has been validated or rejected - Get the payment date **Polling**: Call this endpoint regularly to track status changes.
|
|
693
702
|
|
|
694
|
-
:param
|
|
695
|
-
:type
|
|
703
|
+
:param get_invoice_request: (required)
|
|
704
|
+
:type get_invoice_request: GetInvoiceRequest
|
|
696
705
|
:param _request_timeout: timeout setting for this request. If one
|
|
697
706
|
number provided, it will be total request
|
|
698
707
|
timeout. It can also be a pair (tuple) of
|
|
@@ -716,7 +725,7 @@ class ChorusProApi:
|
|
|
716
725
|
""" # noqa: E501
|
|
717
726
|
|
|
718
727
|
_param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
|
|
719
|
-
|
|
728
|
+
get_invoice_request=get_invoice_request,
|
|
720
729
|
_request_auth=_request_auth,
|
|
721
730
|
_content_type=_content_type,
|
|
722
731
|
_headers=_headers,
|
|
@@ -724,8 +733,9 @@ class ChorusProApi:
|
|
|
724
733
|
)
|
|
725
734
|
|
|
726
735
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
727
|
-
'200': "
|
|
736
|
+
'200': "GetInvoiceResponse",
|
|
728
737
|
'422': "HTTPValidationError",
|
|
738
|
+
'401': "APIError",
|
|
729
739
|
}
|
|
730
740
|
response_data = self.api_client.call_api(
|
|
731
741
|
*_param,
|
|
@@ -741,7 +751,7 @@ class ChorusProApi:
|
|
|
741
751
|
@validate_call
|
|
742
752
|
def consulter_facture_api_v1_chorus_pro_factures_consulter_post_without_preload_content(
|
|
743
753
|
self,
|
|
744
|
-
|
|
754
|
+
get_invoice_request: GetInvoiceRequest,
|
|
745
755
|
_request_timeout: Union[
|
|
746
756
|
None,
|
|
747
757
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -755,12 +765,12 @@ class ChorusProApi:
|
|
|
755
765
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
756
766
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
757
767
|
) -> RESTResponseType:
|
|
758
|
-
"""
|
|
768
|
+
"""Consult invoice status
|
|
759
769
|
|
|
760
|
-
|
|
770
|
+
Retrieves the information and current status of an invoice submitted to Chorus Pro. **Returns**: - Invoice number and date - Total gross amount - **Current status**: SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Recipient structure **Use cases**: - Track the processing progress of an invoice - Check if an invoice has been validated or rejected - Get the payment date **Polling**: Call this endpoint regularly to track status changes.
|
|
761
771
|
|
|
762
|
-
:param
|
|
763
|
-
:type
|
|
772
|
+
:param get_invoice_request: (required)
|
|
773
|
+
:type get_invoice_request: GetInvoiceRequest
|
|
764
774
|
:param _request_timeout: timeout setting for this request. If one
|
|
765
775
|
number provided, it will be total request
|
|
766
776
|
timeout. It can also be a pair (tuple) of
|
|
@@ -784,7 +794,7 @@ class ChorusProApi:
|
|
|
784
794
|
""" # noqa: E501
|
|
785
795
|
|
|
786
796
|
_param = self._consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
|
|
787
|
-
|
|
797
|
+
get_invoice_request=get_invoice_request,
|
|
788
798
|
_request_auth=_request_auth,
|
|
789
799
|
_content_type=_content_type,
|
|
790
800
|
_headers=_headers,
|
|
@@ -792,8 +802,9 @@ class ChorusProApi:
|
|
|
792
802
|
)
|
|
793
803
|
|
|
794
804
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
795
|
-
'200': "
|
|
805
|
+
'200': "GetInvoiceResponse",
|
|
796
806
|
'422': "HTTPValidationError",
|
|
807
|
+
'401': "APIError",
|
|
797
808
|
}
|
|
798
809
|
response_data = self.api_client.call_api(
|
|
799
810
|
*_param,
|
|
@@ -804,7 +815,7 @@ class ChorusProApi:
|
|
|
804
815
|
|
|
805
816
|
def _consulter_facture_api_v1_chorus_pro_factures_consulter_post_serialize(
|
|
806
817
|
self,
|
|
807
|
-
|
|
818
|
+
get_invoice_request,
|
|
808
819
|
_request_auth,
|
|
809
820
|
_content_type,
|
|
810
821
|
_headers,
|
|
@@ -830,8 +841,8 @@ class ChorusProApi:
|
|
|
830
841
|
# process the header parameters
|
|
831
842
|
# process the form parameters
|
|
832
843
|
# process the body parameter
|
|
833
|
-
if
|
|
834
|
-
_body_params =
|
|
844
|
+
if get_invoice_request is not None:
|
|
845
|
+
_body_params = get_invoice_request
|
|
835
846
|
|
|
836
847
|
|
|
837
848
|
# set the HTTP header `Accept`
|
|
@@ -882,7 +893,7 @@ class ChorusProApi:
|
|
|
882
893
|
@validate_call
|
|
883
894
|
def consulter_structure_api_v1_chorus_pro_structures_consulter_post(
|
|
884
895
|
self,
|
|
885
|
-
|
|
896
|
+
get_structure_request: GetStructureRequest,
|
|
886
897
|
_request_timeout: Union[
|
|
887
898
|
None,
|
|
888
899
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -895,13 +906,13 @@ class ChorusProApi:
|
|
|
895
906
|
_content_type: Optional[StrictStr] = None,
|
|
896
907
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
897
908
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
898
|
-
) ->
|
|
899
|
-
"""
|
|
909
|
+
) -> GetStructureResponse:
|
|
910
|
+
"""Consult structure details
|
|
900
911
|
|
|
901
|
-
|
|
912
|
+
Retrieves detailed information about a Chorus Pro structure. **Returns**: - Company name - Intra-EU VAT number - Contact email - **Required parameters**: Indicates if service code and/or engagement number are required to submit an invoice **Typical step**: Called after `search-structures` to know which fields are mandatory before submitting an invoice.
|
|
902
913
|
|
|
903
|
-
:param
|
|
904
|
-
:type
|
|
914
|
+
:param get_structure_request: (required)
|
|
915
|
+
:type get_structure_request: GetStructureRequest
|
|
905
916
|
:param _request_timeout: timeout setting for this request. If one
|
|
906
917
|
number provided, it will be total request
|
|
907
918
|
timeout. It can also be a pair (tuple) of
|
|
@@ -925,7 +936,7 @@ class ChorusProApi:
|
|
|
925
936
|
""" # noqa: E501
|
|
926
937
|
|
|
927
938
|
_param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
|
|
928
|
-
|
|
939
|
+
get_structure_request=get_structure_request,
|
|
929
940
|
_request_auth=_request_auth,
|
|
930
941
|
_content_type=_content_type,
|
|
931
942
|
_headers=_headers,
|
|
@@ -933,8 +944,9 @@ class ChorusProApi:
|
|
|
933
944
|
)
|
|
934
945
|
|
|
935
946
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
936
|
-
'200': "
|
|
947
|
+
'200': "GetStructureResponse",
|
|
937
948
|
'422': "HTTPValidationError",
|
|
949
|
+
'401': "APIError",
|
|
938
950
|
}
|
|
939
951
|
response_data = self.api_client.call_api(
|
|
940
952
|
*_param,
|
|
@@ -950,7 +962,7 @@ class ChorusProApi:
|
|
|
950
962
|
@validate_call
|
|
951
963
|
def consulter_structure_api_v1_chorus_pro_structures_consulter_post_with_http_info(
|
|
952
964
|
self,
|
|
953
|
-
|
|
965
|
+
get_structure_request: GetStructureRequest,
|
|
954
966
|
_request_timeout: Union[
|
|
955
967
|
None,
|
|
956
968
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -963,13 +975,13 @@ class ChorusProApi:
|
|
|
963
975
|
_content_type: Optional[StrictStr] = None,
|
|
964
976
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
965
977
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
966
|
-
) -> ApiResponse[
|
|
967
|
-
"""
|
|
978
|
+
) -> ApiResponse[GetStructureResponse]:
|
|
979
|
+
"""Consult structure details
|
|
968
980
|
|
|
969
|
-
|
|
981
|
+
Retrieves detailed information about a Chorus Pro structure. **Returns**: - Company name - Intra-EU VAT number - Contact email - **Required parameters**: Indicates if service code and/or engagement number are required to submit an invoice **Typical step**: Called after `search-structures` to know which fields are mandatory before submitting an invoice.
|
|
970
982
|
|
|
971
|
-
:param
|
|
972
|
-
:type
|
|
983
|
+
:param get_structure_request: (required)
|
|
984
|
+
:type get_structure_request: GetStructureRequest
|
|
973
985
|
:param _request_timeout: timeout setting for this request. If one
|
|
974
986
|
number provided, it will be total request
|
|
975
987
|
timeout. It can also be a pair (tuple) of
|
|
@@ -993,7 +1005,7 @@ class ChorusProApi:
|
|
|
993
1005
|
""" # noqa: E501
|
|
994
1006
|
|
|
995
1007
|
_param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
|
|
996
|
-
|
|
1008
|
+
get_structure_request=get_structure_request,
|
|
997
1009
|
_request_auth=_request_auth,
|
|
998
1010
|
_content_type=_content_type,
|
|
999
1011
|
_headers=_headers,
|
|
@@ -1001,8 +1013,9 @@ class ChorusProApi:
|
|
|
1001
1013
|
)
|
|
1002
1014
|
|
|
1003
1015
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1004
|
-
'200': "
|
|
1016
|
+
'200': "GetStructureResponse",
|
|
1005
1017
|
'422': "HTTPValidationError",
|
|
1018
|
+
'401': "APIError",
|
|
1006
1019
|
}
|
|
1007
1020
|
response_data = self.api_client.call_api(
|
|
1008
1021
|
*_param,
|
|
@@ -1018,7 +1031,7 @@ class ChorusProApi:
|
|
|
1018
1031
|
@validate_call
|
|
1019
1032
|
def consulter_structure_api_v1_chorus_pro_structures_consulter_post_without_preload_content(
|
|
1020
1033
|
self,
|
|
1021
|
-
|
|
1034
|
+
get_structure_request: GetStructureRequest,
|
|
1022
1035
|
_request_timeout: Union[
|
|
1023
1036
|
None,
|
|
1024
1037
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1032,12 +1045,12 @@ class ChorusProApi:
|
|
|
1032
1045
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1033
1046
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1034
1047
|
) -> RESTResponseType:
|
|
1035
|
-
"""
|
|
1048
|
+
"""Consult structure details
|
|
1036
1049
|
|
|
1037
|
-
|
|
1050
|
+
Retrieves detailed information about a Chorus Pro structure. **Returns**: - Company name - Intra-EU VAT number - Contact email - **Required parameters**: Indicates if service code and/or engagement number are required to submit an invoice **Typical step**: Called after `search-structures` to know which fields are mandatory before submitting an invoice.
|
|
1038
1051
|
|
|
1039
|
-
:param
|
|
1040
|
-
:type
|
|
1052
|
+
:param get_structure_request: (required)
|
|
1053
|
+
:type get_structure_request: GetStructureRequest
|
|
1041
1054
|
:param _request_timeout: timeout setting for this request. If one
|
|
1042
1055
|
number provided, it will be total request
|
|
1043
1056
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1061,7 +1074,7 @@ class ChorusProApi:
|
|
|
1061
1074
|
""" # noqa: E501
|
|
1062
1075
|
|
|
1063
1076
|
_param = self._consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
|
|
1064
|
-
|
|
1077
|
+
get_structure_request=get_structure_request,
|
|
1065
1078
|
_request_auth=_request_auth,
|
|
1066
1079
|
_content_type=_content_type,
|
|
1067
1080
|
_headers=_headers,
|
|
@@ -1069,8 +1082,9 @@ class ChorusProApi:
|
|
|
1069
1082
|
)
|
|
1070
1083
|
|
|
1071
1084
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1072
|
-
'200': "
|
|
1085
|
+
'200': "GetStructureResponse",
|
|
1073
1086
|
'422': "HTTPValidationError",
|
|
1087
|
+
'401': "APIError",
|
|
1074
1088
|
}
|
|
1075
1089
|
response_data = self.api_client.call_api(
|
|
1076
1090
|
*_param,
|
|
@@ -1081,7 +1095,7 @@ class ChorusProApi:
|
|
|
1081
1095
|
|
|
1082
1096
|
def _consulter_structure_api_v1_chorus_pro_structures_consulter_post_serialize(
|
|
1083
1097
|
self,
|
|
1084
|
-
|
|
1098
|
+
get_structure_request,
|
|
1085
1099
|
_request_auth,
|
|
1086
1100
|
_content_type,
|
|
1087
1101
|
_headers,
|
|
@@ -1107,8 +1121,8 @@ class ChorusProApi:
|
|
|
1107
1121
|
# process the header parameters
|
|
1108
1122
|
# process the form parameters
|
|
1109
1123
|
# process the body parameter
|
|
1110
|
-
if
|
|
1111
|
-
_body_params =
|
|
1124
|
+
if get_structure_request is not None:
|
|
1125
|
+
_body_params = get_structure_request
|
|
1112
1126
|
|
|
1113
1127
|
|
|
1114
1128
|
# set the HTTP header `Accept`
|
|
@@ -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)],
|
|
@@ -1172,12 +1186,12 @@ class ChorusProApi:
|
|
|
1172
1186
|
_content_type: Optional[StrictStr] = None,
|
|
1173
1187
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1174
1188
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1175
|
-
) ->
|
|
1176
|
-
"""
|
|
1189
|
+
) -> SearchServicesResponse:
|
|
1190
|
+
"""List structure services
|
|
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
|
|
@@ -1210,8 +1224,9 @@ class ChorusProApi:
|
|
|
1210
1224
|
)
|
|
1211
1225
|
|
|
1212
1226
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1213
|
-
'200': "
|
|
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)],
|
|
@@ -1240,12 +1255,12 @@ class ChorusProApi:
|
|
|
1240
1255
|
_content_type: Optional[StrictStr] = None,
|
|
1241
1256
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1242
1257
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1243
|
-
) -> ApiResponse[
|
|
1244
|
-
"""
|
|
1258
|
+
) -> ApiResponse[SearchServicesResponse]:
|
|
1259
|
+
"""List structure services
|
|
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
|
|
@@ -1278,8 +1293,9 @@ class ChorusProApi:
|
|
|
1278
1293
|
)
|
|
1279
1294
|
|
|
1280
1295
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1281
|
-
'200': "
|
|
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)],
|
|
@@ -1309,11 +1325,11 @@ class ChorusProApi:
|
|
|
1309
1325
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1310
1326
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1311
1327
|
) -> RESTResponseType:
|
|
1312
|
-
"""
|
|
1328
|
+
"""List structure services
|
|
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
|
|
@@ -1346,8 +1362,9 @@ class ChorusProApi:
|
|
|
1346
1362
|
)
|
|
1347
1363
|
|
|
1348
1364
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1349
|
-
'200': "
|
|
1365
|
+
'200': "SearchServicesResponse",
|
|
1350
1366
|
'422': "HTTPValidationError",
|
|
1367
|
+
'401': "APIError",
|
|
1351
1368
|
}
|
|
1352
1369
|
response_data = self.api_client.call_api(
|
|
1353
1370
|
*_param,
|
|
@@ -1423,7 +1440,7 @@ class ChorusProApi:
|
|
|
1423
1440
|
@validate_call
|
|
1424
1441
|
def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post(
|
|
1425
1442
|
self,
|
|
1426
|
-
|
|
1443
|
+
get_chorus_pro_id_request: GetChorusProIdRequest,
|
|
1427
1444
|
_request_timeout: Union[
|
|
1428
1445
|
None,
|
|
1429
1446
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1436,13 +1453,13 @@ class ChorusProApi:
|
|
|
1436
1453
|
_content_type: Optional[StrictStr] = None,
|
|
1437
1454
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1438
1455
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1439
|
-
) ->
|
|
1440
|
-
"""
|
|
1456
|
+
) -> GetChorusProIdResponse:
|
|
1457
|
+
"""Utility: Get Chorus Pro ID from SIRET
|
|
1441
1458
|
|
|
1442
|
-
**
|
|
1459
|
+
**Convenient utility** to get a structure's Chorus Pro ID from its SIRET. This wrapper function combines: 1. Searching for the structure by SIRET 2. Extracting the `id_structure_cpp` if a single structure is found **Returns**: - `id_structure_cpp`: Chorus Pro ID (0 if not found or multiple results) - `designation_structure`: Structure name (if found) - `message`: Explanatory message **Use cases**: - Shortcut to directly get the Chorus Pro ID before submitting an invoice - Simplified alternative to `search-structures` + manual ID extraction **Note**: If multiple structures match the SIRET (rare), returns 0 and an error message.
|
|
1443
1460
|
|
|
1444
|
-
:param
|
|
1445
|
-
:type
|
|
1461
|
+
:param get_chorus_pro_id_request: (required)
|
|
1462
|
+
:type get_chorus_pro_id_request: GetChorusProIdRequest
|
|
1446
1463
|
:param _request_timeout: timeout setting for this request. If one
|
|
1447
1464
|
number provided, it will be total request
|
|
1448
1465
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1466,7 +1483,7 @@ class ChorusProApi:
|
|
|
1466
1483
|
""" # noqa: E501
|
|
1467
1484
|
|
|
1468
1485
|
_param = self._obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
|
|
1469
|
-
|
|
1486
|
+
get_chorus_pro_id_request=get_chorus_pro_id_request,
|
|
1470
1487
|
_request_auth=_request_auth,
|
|
1471
1488
|
_content_type=_content_type,
|
|
1472
1489
|
_headers=_headers,
|
|
@@ -1474,8 +1491,9 @@ class ChorusProApi:
|
|
|
1474
1491
|
)
|
|
1475
1492
|
|
|
1476
1493
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1477
|
-
'200': "
|
|
1494
|
+
'200': "GetChorusProIdResponse",
|
|
1478
1495
|
'422': "HTTPValidationError",
|
|
1496
|
+
'401': "APIError",
|
|
1479
1497
|
}
|
|
1480
1498
|
response_data = self.api_client.call_api(
|
|
1481
1499
|
*_param,
|
|
@@ -1491,7 +1509,7 @@ class ChorusProApi:
|
|
|
1491
1509
|
@validate_call
|
|
1492
1510
|
def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_with_http_info(
|
|
1493
1511
|
self,
|
|
1494
|
-
|
|
1512
|
+
get_chorus_pro_id_request: GetChorusProIdRequest,
|
|
1495
1513
|
_request_timeout: Union[
|
|
1496
1514
|
None,
|
|
1497
1515
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1504,13 +1522,13 @@ class ChorusProApi:
|
|
|
1504
1522
|
_content_type: Optional[StrictStr] = None,
|
|
1505
1523
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1506
1524
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1507
|
-
) -> ApiResponse[
|
|
1508
|
-
"""
|
|
1525
|
+
) -> ApiResponse[GetChorusProIdResponse]:
|
|
1526
|
+
"""Utility: Get Chorus Pro ID from SIRET
|
|
1509
1527
|
|
|
1510
|
-
**
|
|
1528
|
+
**Convenient utility** to get a structure's Chorus Pro ID from its SIRET. This wrapper function combines: 1. Searching for the structure by SIRET 2. Extracting the `id_structure_cpp` if a single structure is found **Returns**: - `id_structure_cpp`: Chorus Pro ID (0 if not found or multiple results) - `designation_structure`: Structure name (if found) - `message`: Explanatory message **Use cases**: - Shortcut to directly get the Chorus Pro ID before submitting an invoice - Simplified alternative to `search-structures` + manual ID extraction **Note**: If multiple structures match the SIRET (rare), returns 0 and an error message.
|
|
1511
1529
|
|
|
1512
|
-
:param
|
|
1513
|
-
:type
|
|
1530
|
+
:param get_chorus_pro_id_request: (required)
|
|
1531
|
+
:type get_chorus_pro_id_request: GetChorusProIdRequest
|
|
1514
1532
|
:param _request_timeout: timeout setting for this request. If one
|
|
1515
1533
|
number provided, it will be total request
|
|
1516
1534
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1534,7 +1552,7 @@ class ChorusProApi:
|
|
|
1534
1552
|
""" # noqa: E501
|
|
1535
1553
|
|
|
1536
1554
|
_param = self._obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
|
|
1537
|
-
|
|
1555
|
+
get_chorus_pro_id_request=get_chorus_pro_id_request,
|
|
1538
1556
|
_request_auth=_request_auth,
|
|
1539
1557
|
_content_type=_content_type,
|
|
1540
1558
|
_headers=_headers,
|
|
@@ -1542,8 +1560,9 @@ class ChorusProApi:
|
|
|
1542
1560
|
)
|
|
1543
1561
|
|
|
1544
1562
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1545
|
-
'200': "
|
|
1563
|
+
'200': "GetChorusProIdResponse",
|
|
1546
1564
|
'422': "HTTPValidationError",
|
|
1565
|
+
'401': "APIError",
|
|
1547
1566
|
}
|
|
1548
1567
|
response_data = self.api_client.call_api(
|
|
1549
1568
|
*_param,
|
|
@@ -1559,7 +1578,7 @@ class ChorusProApi:
|
|
|
1559
1578
|
@validate_call
|
|
1560
1579
|
def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_without_preload_content(
|
|
1561
1580
|
self,
|
|
1562
|
-
|
|
1581
|
+
get_chorus_pro_id_request: GetChorusProIdRequest,
|
|
1563
1582
|
_request_timeout: Union[
|
|
1564
1583
|
None,
|
|
1565
1584
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -1573,12 +1592,12 @@ class ChorusProApi:
|
|
|
1573
1592
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1574
1593
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1575
1594
|
) -> RESTResponseType:
|
|
1576
|
-
"""
|
|
1595
|
+
"""Utility: Get Chorus Pro ID from SIRET
|
|
1577
1596
|
|
|
1578
|
-
**
|
|
1597
|
+
**Convenient utility** to get a structure's Chorus Pro ID from its SIRET. This wrapper function combines: 1. Searching for the structure by SIRET 2. Extracting the `id_structure_cpp` if a single structure is found **Returns**: - `id_structure_cpp`: Chorus Pro ID (0 if not found or multiple results) - `designation_structure`: Structure name (if found) - `message`: Explanatory message **Use cases**: - Shortcut to directly get the Chorus Pro ID before submitting an invoice - Simplified alternative to `search-structures` + manual ID extraction **Note**: If multiple structures match the SIRET (rare), returns 0 and an error message.
|
|
1579
1598
|
|
|
1580
|
-
:param
|
|
1581
|
-
:type
|
|
1599
|
+
:param get_chorus_pro_id_request: (required)
|
|
1600
|
+
:type get_chorus_pro_id_request: GetChorusProIdRequest
|
|
1582
1601
|
:param _request_timeout: timeout setting for this request. If one
|
|
1583
1602
|
number provided, it will be total request
|
|
1584
1603
|
timeout. It can also be a pair (tuple) of
|
|
@@ -1602,7 +1621,7 @@ class ChorusProApi:
|
|
|
1602
1621
|
""" # noqa: E501
|
|
1603
1622
|
|
|
1604
1623
|
_param = self._obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
|
|
1605
|
-
|
|
1624
|
+
get_chorus_pro_id_request=get_chorus_pro_id_request,
|
|
1606
1625
|
_request_auth=_request_auth,
|
|
1607
1626
|
_content_type=_content_type,
|
|
1608
1627
|
_headers=_headers,
|
|
@@ -1610,8 +1629,9 @@ class ChorusProApi:
|
|
|
1610
1629
|
)
|
|
1611
1630
|
|
|
1612
1631
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
1613
|
-
'200': "
|
|
1632
|
+
'200': "GetChorusProIdResponse",
|
|
1614
1633
|
'422': "HTTPValidationError",
|
|
1634
|
+
'401': "APIError",
|
|
1615
1635
|
}
|
|
1616
1636
|
response_data = self.api_client.call_api(
|
|
1617
1637
|
*_param,
|
|
@@ -1622,7 +1642,7 @@ class ChorusProApi:
|
|
|
1622
1642
|
|
|
1623
1643
|
def _obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_serialize(
|
|
1624
1644
|
self,
|
|
1625
|
-
|
|
1645
|
+
get_chorus_pro_id_request,
|
|
1626
1646
|
_request_auth,
|
|
1627
1647
|
_content_type,
|
|
1628
1648
|
_headers,
|
|
@@ -1648,8 +1668,8 @@ class ChorusProApi:
|
|
|
1648
1668
|
# process the header parameters
|
|
1649
1669
|
# process the form parameters
|
|
1650
1670
|
# process the body parameter
|
|
1651
|
-
if
|
|
1652
|
-
_body_params =
|
|
1671
|
+
if get_chorus_pro_id_request is not None:
|
|
1672
|
+
_body_params = get_chorus_pro_id_request
|
|
1653
1673
|
|
|
1654
1674
|
|
|
1655
1675
|
# set the HTTP header `Accept`
|
|
@@ -1714,9 +1734,9 @@ class ChorusProApi:
|
|
|
1714
1734
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1715
1735
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1716
1736
|
) -> object:
|
|
1717
|
-
"""
|
|
1737
|
+
"""Search received invoices (Recipient)
|
|
1718
1738
|
|
|
1719
|
-
|
|
1739
|
+
Search invoices received by the connected recipient. **Filters**: - Downloaded / not downloaded - Reception dates - Status (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Supplier **Useful indicator**: `factureTelechargeeParDestinataire` indicates whether the invoice has already been downloaded.
|
|
1720
1740
|
|
|
1721
1741
|
:param request_body: (required)
|
|
1722
1742
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -1782,9 +1803,9 @@ class ChorusProApi:
|
|
|
1782
1803
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1783
1804
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1784
1805
|
) -> ApiResponse[object]:
|
|
1785
|
-
"""
|
|
1806
|
+
"""Search received invoices (Recipient)
|
|
1786
1807
|
|
|
1787
|
-
|
|
1808
|
+
Search invoices received by the connected recipient. **Filters**: - Downloaded / not downloaded - Reception dates - Status (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Supplier **Useful indicator**: `factureTelechargeeParDestinataire` indicates whether the invoice has already been downloaded.
|
|
1788
1809
|
|
|
1789
1810
|
:param request_body: (required)
|
|
1790
1811
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -1850,9 +1872,9 @@ class ChorusProApi:
|
|
|
1850
1872
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1851
1873
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1852
1874
|
) -> RESTResponseType:
|
|
1853
|
-
"""
|
|
1875
|
+
"""Search received invoices (Recipient)
|
|
1854
1876
|
|
|
1855
|
-
|
|
1877
|
+
Search invoices received by the connected recipient. **Filters**: - Downloaded / not downloaded - Reception dates - Status (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Supplier **Useful indicator**: `factureTelechargeeParDestinataire` indicates whether the invoice has already been downloaded.
|
|
1856
1878
|
|
|
1857
1879
|
:param request_body: (required)
|
|
1858
1880
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -1991,9 +2014,9 @@ class ChorusProApi:
|
|
|
1991
2014
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1992
2015
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1993
2016
|
) -> object:
|
|
1994
|
-
"""
|
|
2017
|
+
"""Search issued invoices (Supplier)
|
|
1995
2018
|
|
|
1996
|
-
|
|
2019
|
+
Search invoices issued by the connected supplier. **Available filters**: - Invoice number - Dates (start/end) - Status - Recipient structure - Amount **Use cases**: - Track issued invoices - Verify statuses - Export for accounting
|
|
1997
2020
|
|
|
1998
2021
|
:param request_body: (required)
|
|
1999
2022
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -2059,9 +2083,9 @@ class ChorusProApi:
|
|
|
2059
2083
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2060
2084
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2061
2085
|
) -> ApiResponse[object]:
|
|
2062
|
-
"""
|
|
2086
|
+
"""Search issued invoices (Supplier)
|
|
2063
2087
|
|
|
2064
|
-
|
|
2088
|
+
Search invoices issued by the connected supplier. **Available filters**: - Invoice number - Dates (start/end) - Status - Recipient structure - Amount **Use cases**: - Track issued invoices - Verify statuses - Export for accounting
|
|
2065
2089
|
|
|
2066
2090
|
:param request_body: (required)
|
|
2067
2091
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -2127,9 +2152,9 @@ class ChorusProApi:
|
|
|
2127
2152
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2128
2153
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2129
2154
|
) -> RESTResponseType:
|
|
2130
|
-
"""
|
|
2155
|
+
"""Search issued invoices (Supplier)
|
|
2131
2156
|
|
|
2132
|
-
|
|
2157
|
+
Search invoices issued by the connected supplier. **Available filters**: - Invoice number - Dates (start/end) - Status - Recipient structure - Amount **Use cases**: - Track issued invoices - Verify statuses - Export for accounting
|
|
2133
2158
|
|
|
2134
2159
|
:param request_body: (required)
|
|
2135
2160
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -2254,7 +2280,7 @@ class ChorusProApi:
|
|
|
2254
2280
|
@validate_call
|
|
2255
2281
|
def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post(
|
|
2256
2282
|
self,
|
|
2257
|
-
|
|
2283
|
+
search_structure_request: SearchStructureRequest,
|
|
2258
2284
|
_request_timeout: Union[
|
|
2259
2285
|
None,
|
|
2260
2286
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -2267,13 +2293,13 @@ class ChorusProApi:
|
|
|
2267
2293
|
_content_type: Optional[StrictStr] = None,
|
|
2268
2294
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2269
2295
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2270
|
-
) ->
|
|
2271
|
-
"""
|
|
2296
|
+
) -> SearchStructureResponse:
|
|
2297
|
+
"""Search Chorus Pro structures
|
|
2272
2298
|
|
|
2273
|
-
|
|
2299
|
+
Search for structures (companies, administrations) registered on Chorus Pro. **Use cases**: - Find the Chorus Pro ID of a structure from its SIRET - Check if a structure is registered on Chorus Pro - List structures matching criteria **Available filters**: - Identifier (SIRET, SIREN, etc.) - Company name - Identifier type - Private structures only **Typical step**: Called before `submit-invoice` to get the recipient's `id_structure_cpp`.
|
|
2274
2300
|
|
|
2275
|
-
:param
|
|
2276
|
-
:type
|
|
2301
|
+
:param search_structure_request: (required)
|
|
2302
|
+
:type search_structure_request: SearchStructureRequest
|
|
2277
2303
|
:param _request_timeout: timeout setting for this request. If one
|
|
2278
2304
|
number provided, it will be total request
|
|
2279
2305
|
timeout. It can also be a pair (tuple) of
|
|
@@ -2297,7 +2323,7 @@ class ChorusProApi:
|
|
|
2297
2323
|
""" # noqa: E501
|
|
2298
2324
|
|
|
2299
2325
|
_param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
|
|
2300
|
-
|
|
2326
|
+
search_structure_request=search_structure_request,
|
|
2301
2327
|
_request_auth=_request_auth,
|
|
2302
2328
|
_content_type=_content_type,
|
|
2303
2329
|
_headers=_headers,
|
|
@@ -2305,8 +2331,9 @@ class ChorusProApi:
|
|
|
2305
2331
|
)
|
|
2306
2332
|
|
|
2307
2333
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2308
|
-
'200': "
|
|
2334
|
+
'200': "SearchStructureResponse",
|
|
2309
2335
|
'422': "HTTPValidationError",
|
|
2336
|
+
'401': "APIError",
|
|
2310
2337
|
}
|
|
2311
2338
|
response_data = self.api_client.call_api(
|
|
2312
2339
|
*_param,
|
|
@@ -2322,7 +2349,7 @@ class ChorusProApi:
|
|
|
2322
2349
|
@validate_call
|
|
2323
2350
|
def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_with_http_info(
|
|
2324
2351
|
self,
|
|
2325
|
-
|
|
2352
|
+
search_structure_request: SearchStructureRequest,
|
|
2326
2353
|
_request_timeout: Union[
|
|
2327
2354
|
None,
|
|
2328
2355
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -2335,13 +2362,13 @@ class ChorusProApi:
|
|
|
2335
2362
|
_content_type: Optional[StrictStr] = None,
|
|
2336
2363
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2337
2364
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2338
|
-
) -> ApiResponse[
|
|
2339
|
-
"""
|
|
2365
|
+
) -> ApiResponse[SearchStructureResponse]:
|
|
2366
|
+
"""Search Chorus Pro structures
|
|
2340
2367
|
|
|
2341
|
-
|
|
2368
|
+
Search for structures (companies, administrations) registered on Chorus Pro. **Use cases**: - Find the Chorus Pro ID of a structure from its SIRET - Check if a structure is registered on Chorus Pro - List structures matching criteria **Available filters**: - Identifier (SIRET, SIREN, etc.) - Company name - Identifier type - Private structures only **Typical step**: Called before `submit-invoice` to get the recipient's `id_structure_cpp`.
|
|
2342
2369
|
|
|
2343
|
-
:param
|
|
2344
|
-
:type
|
|
2370
|
+
:param search_structure_request: (required)
|
|
2371
|
+
:type search_structure_request: SearchStructureRequest
|
|
2345
2372
|
:param _request_timeout: timeout setting for this request. If one
|
|
2346
2373
|
number provided, it will be total request
|
|
2347
2374
|
timeout. It can also be a pair (tuple) of
|
|
@@ -2365,7 +2392,7 @@ class ChorusProApi:
|
|
|
2365
2392
|
""" # noqa: E501
|
|
2366
2393
|
|
|
2367
2394
|
_param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
|
|
2368
|
-
|
|
2395
|
+
search_structure_request=search_structure_request,
|
|
2369
2396
|
_request_auth=_request_auth,
|
|
2370
2397
|
_content_type=_content_type,
|
|
2371
2398
|
_headers=_headers,
|
|
@@ -2373,8 +2400,9 @@ class ChorusProApi:
|
|
|
2373
2400
|
)
|
|
2374
2401
|
|
|
2375
2402
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2376
|
-
'200': "
|
|
2403
|
+
'200': "SearchStructureResponse",
|
|
2377
2404
|
'422': "HTTPValidationError",
|
|
2405
|
+
'401': "APIError",
|
|
2378
2406
|
}
|
|
2379
2407
|
response_data = self.api_client.call_api(
|
|
2380
2408
|
*_param,
|
|
@@ -2390,7 +2418,7 @@ class ChorusProApi:
|
|
|
2390
2418
|
@validate_call
|
|
2391
2419
|
def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_without_preload_content(
|
|
2392
2420
|
self,
|
|
2393
|
-
|
|
2421
|
+
search_structure_request: SearchStructureRequest,
|
|
2394
2422
|
_request_timeout: Union[
|
|
2395
2423
|
None,
|
|
2396
2424
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -2404,12 +2432,12 @@ class ChorusProApi:
|
|
|
2404
2432
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2405
2433
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2406
2434
|
) -> RESTResponseType:
|
|
2407
|
-
"""
|
|
2435
|
+
"""Search Chorus Pro structures
|
|
2408
2436
|
|
|
2409
|
-
|
|
2437
|
+
Search for structures (companies, administrations) registered on Chorus Pro. **Use cases**: - Find the Chorus Pro ID of a structure from its SIRET - Check if a structure is registered on Chorus Pro - List structures matching criteria **Available filters**: - Identifier (SIRET, SIREN, etc.) - Company name - Identifier type - Private structures only **Typical step**: Called before `submit-invoice` to get the recipient's `id_structure_cpp`.
|
|
2410
2438
|
|
|
2411
|
-
:param
|
|
2412
|
-
:type
|
|
2439
|
+
:param search_structure_request: (required)
|
|
2440
|
+
:type search_structure_request: SearchStructureRequest
|
|
2413
2441
|
:param _request_timeout: timeout setting for this request. If one
|
|
2414
2442
|
number provided, it will be total request
|
|
2415
2443
|
timeout. It can also be a pair (tuple) of
|
|
@@ -2433,7 +2461,7 @@ class ChorusProApi:
|
|
|
2433
2461
|
""" # noqa: E501
|
|
2434
2462
|
|
|
2435
2463
|
_param = self._rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
|
|
2436
|
-
|
|
2464
|
+
search_structure_request=search_structure_request,
|
|
2437
2465
|
_request_auth=_request_auth,
|
|
2438
2466
|
_content_type=_content_type,
|
|
2439
2467
|
_headers=_headers,
|
|
@@ -2441,8 +2469,9 @@ class ChorusProApi:
|
|
|
2441
2469
|
)
|
|
2442
2470
|
|
|
2443
2471
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2444
|
-
'200': "
|
|
2472
|
+
'200': "SearchStructureResponse",
|
|
2445
2473
|
'422': "HTTPValidationError",
|
|
2474
|
+
'401': "APIError",
|
|
2446
2475
|
}
|
|
2447
2476
|
response_data = self.api_client.call_api(
|
|
2448
2477
|
*_param,
|
|
@@ -2453,7 +2482,7 @@ class ChorusProApi:
|
|
|
2453
2482
|
|
|
2454
2483
|
def _rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_serialize(
|
|
2455
2484
|
self,
|
|
2456
|
-
|
|
2485
|
+
search_structure_request,
|
|
2457
2486
|
_request_auth,
|
|
2458
2487
|
_content_type,
|
|
2459
2488
|
_headers,
|
|
@@ -2479,8 +2508,8 @@ class ChorusProApi:
|
|
|
2479
2508
|
# process the header parameters
|
|
2480
2509
|
# process the form parameters
|
|
2481
2510
|
# process the body parameter
|
|
2482
|
-
if
|
|
2483
|
-
_body_params =
|
|
2511
|
+
if search_structure_request is not None:
|
|
2512
|
+
_body_params = search_structure_request
|
|
2484
2513
|
|
|
2485
2514
|
|
|
2486
2515
|
# set the HTTP header `Accept`
|
|
@@ -2545,9 +2574,9 @@ class ChorusProApi:
|
|
|
2545
2574
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2546
2575
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2547
2576
|
) -> object:
|
|
2548
|
-
"""
|
|
2577
|
+
"""Recycle an invoice (Supplier)
|
|
2549
2578
|
|
|
2550
|
-
Recycle
|
|
2579
|
+
Recycle an invoice with A_RECYCLER status by modifying routing data. **Required status**: A_RECYCLER **Modifiable fields**: - Recipient (`idStructureCPP`) - Service code - Engagement number **Use cases**: - Wrong recipient - Change of billing service - Update engagement number **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note**: The invoice keeps its number and amounts, only routing fields change.
|
|
2551
2580
|
|
|
2552
2581
|
:param request_body: (required)
|
|
2553
2582
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -2613,9 +2643,9 @@ class ChorusProApi:
|
|
|
2613
2643
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2614
2644
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2615
2645
|
) -> ApiResponse[object]:
|
|
2616
|
-
"""
|
|
2646
|
+
"""Recycle an invoice (Supplier)
|
|
2617
2647
|
|
|
2618
|
-
Recycle
|
|
2648
|
+
Recycle an invoice with A_RECYCLER status by modifying routing data. **Required status**: A_RECYCLER **Modifiable fields**: - Recipient (`idStructureCPP`) - Service code - Engagement number **Use cases**: - Wrong recipient - Change of billing service - Update engagement number **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note**: The invoice keeps its number and amounts, only routing fields change.
|
|
2619
2649
|
|
|
2620
2650
|
:param request_body: (required)
|
|
2621
2651
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -2681,9 +2712,9 @@ class ChorusProApi:
|
|
|
2681
2712
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2682
2713
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2683
2714
|
) -> RESTResponseType:
|
|
2684
|
-
"""
|
|
2715
|
+
"""Recycle an invoice (Supplier)
|
|
2685
2716
|
|
|
2686
|
-
Recycle
|
|
2717
|
+
Recycle an invoice with A_RECYCLER status by modifying routing data. **Required status**: A_RECYCLER **Modifiable fields**: - Recipient (`idStructureCPP`) - Service code - Engagement number **Use cases**: - Wrong recipient - Change of billing service - Update engagement number **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note**: The invoice keeps its number and amounts, only routing fields change.
|
|
2687
2718
|
|
|
2688
2719
|
:param request_body: (required)
|
|
2689
2720
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -2808,7 +2840,7 @@ class ChorusProApi:
|
|
|
2808
2840
|
@validate_call
|
|
2809
2841
|
def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post(
|
|
2810
2842
|
self,
|
|
2811
|
-
|
|
2843
|
+
submit_invoice_request: SubmitInvoiceRequest,
|
|
2812
2844
|
_request_timeout: Union[
|
|
2813
2845
|
None,
|
|
2814
2846
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -2821,13 +2853,13 @@ class ChorusProApi:
|
|
|
2821
2853
|
_content_type: Optional[StrictStr] = None,
|
|
2822
2854
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2823
2855
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2824
|
-
) ->
|
|
2825
|
-
"""
|
|
2856
|
+
) -> SubmitInvoiceResponse:
|
|
2857
|
+
"""Submit an invoice to Chorus Pro
|
|
2826
2858
|
|
|
2827
|
-
|
|
2859
|
+
Submits an electronic invoice to a public structure via Chorus Pro. **Complete workflow**: 1. **Upload the Factur-X PDF** via `/transverses/ajouter-fichier` → retrieve `pieceJointeId` 2. **Get the structure ID** via `/structures/rechercher` or `/structures/obtenir-id-depuis-siret` 3. **Check mandatory parameters** via `/structures/consulter` 4. **Submit the invoice** with the `piece_jointe_principale_id` obtained in step 1 **Prerequisites**: 1. Have the recipient's `id_structure_cpp` (via `/structures/rechercher`) 2. Know the mandatory parameters (via `/structures/consulter`): - Service code if `code_service_doit_etre_renseigne=true` - Engagement number if `numero_ej_doit_etre_renseigne=true` 3. Have uploaded the Factur-X PDF (via `/transverses/ajouter-fichier`) **Expected format**: - `piece_jointe_principale_id`: ID returned by `/transverses/ajouter-fichier` - Amounts: Strings with 2 decimals (e.g., \"1250.50\") - Dates: ISO 8601 format (YYYY-MM-DD) **Returns**: - `identifiant_facture_cpp`: Chorus Pro ID of the created invoice - `numero_flux_depot`: Deposit tracking number **Possible statuses after submission**: - SOUMISE: Pending validation - VALIDEE: Validated by recipient - REJETEE: Rejected (data error or business refusal) - SUSPENDUE: Pending additional information **Note**: Use `/factures/consulter` to track status changes.
|
|
2828
2860
|
|
|
2829
|
-
:param
|
|
2830
|
-
:type
|
|
2861
|
+
:param submit_invoice_request: (required)
|
|
2862
|
+
:type submit_invoice_request: SubmitInvoiceRequest
|
|
2831
2863
|
:param _request_timeout: timeout setting for this request. If one
|
|
2832
2864
|
number provided, it will be total request
|
|
2833
2865
|
timeout. It can also be a pair (tuple) of
|
|
@@ -2851,7 +2883,7 @@ class ChorusProApi:
|
|
|
2851
2883
|
""" # noqa: E501
|
|
2852
2884
|
|
|
2853
2885
|
_param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
|
|
2854
|
-
|
|
2886
|
+
submit_invoice_request=submit_invoice_request,
|
|
2855
2887
|
_request_auth=_request_auth,
|
|
2856
2888
|
_content_type=_content_type,
|
|
2857
2889
|
_headers=_headers,
|
|
@@ -2859,8 +2891,9 @@ class ChorusProApi:
|
|
|
2859
2891
|
)
|
|
2860
2892
|
|
|
2861
2893
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2862
|
-
'200': "
|
|
2894
|
+
'200': "SubmitInvoiceResponse",
|
|
2863
2895
|
'422': "HTTPValidationError",
|
|
2896
|
+
'401': "APIError",
|
|
2864
2897
|
}
|
|
2865
2898
|
response_data = self.api_client.call_api(
|
|
2866
2899
|
*_param,
|
|
@@ -2876,7 +2909,7 @@ class ChorusProApi:
|
|
|
2876
2909
|
@validate_call
|
|
2877
2910
|
def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_with_http_info(
|
|
2878
2911
|
self,
|
|
2879
|
-
|
|
2912
|
+
submit_invoice_request: SubmitInvoiceRequest,
|
|
2880
2913
|
_request_timeout: Union[
|
|
2881
2914
|
None,
|
|
2882
2915
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -2889,13 +2922,13 @@ class ChorusProApi:
|
|
|
2889
2922
|
_content_type: Optional[StrictStr] = None,
|
|
2890
2923
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2891
2924
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2892
|
-
) -> ApiResponse[
|
|
2893
|
-
"""
|
|
2925
|
+
) -> ApiResponse[SubmitInvoiceResponse]:
|
|
2926
|
+
"""Submit an invoice to Chorus Pro
|
|
2894
2927
|
|
|
2895
|
-
|
|
2928
|
+
Submits an electronic invoice to a public structure via Chorus Pro. **Complete workflow**: 1. **Upload the Factur-X PDF** via `/transverses/ajouter-fichier` → retrieve `pieceJointeId` 2. **Get the structure ID** via `/structures/rechercher` or `/structures/obtenir-id-depuis-siret` 3. **Check mandatory parameters** via `/structures/consulter` 4. **Submit the invoice** with the `piece_jointe_principale_id` obtained in step 1 **Prerequisites**: 1. Have the recipient's `id_structure_cpp` (via `/structures/rechercher`) 2. Know the mandatory parameters (via `/structures/consulter`): - Service code if `code_service_doit_etre_renseigne=true` - Engagement number if `numero_ej_doit_etre_renseigne=true` 3. Have uploaded the Factur-X PDF (via `/transverses/ajouter-fichier`) **Expected format**: - `piece_jointe_principale_id`: ID returned by `/transverses/ajouter-fichier` - Amounts: Strings with 2 decimals (e.g., \"1250.50\") - Dates: ISO 8601 format (YYYY-MM-DD) **Returns**: - `identifiant_facture_cpp`: Chorus Pro ID of the created invoice - `numero_flux_depot`: Deposit tracking number **Possible statuses after submission**: - SOUMISE: Pending validation - VALIDEE: Validated by recipient - REJETEE: Rejected (data error or business refusal) - SUSPENDUE: Pending additional information **Note**: Use `/factures/consulter` to track status changes.
|
|
2896
2929
|
|
|
2897
|
-
:param
|
|
2898
|
-
:type
|
|
2930
|
+
:param submit_invoice_request: (required)
|
|
2931
|
+
:type submit_invoice_request: SubmitInvoiceRequest
|
|
2899
2932
|
:param _request_timeout: timeout setting for this request. If one
|
|
2900
2933
|
number provided, it will be total request
|
|
2901
2934
|
timeout. It can also be a pair (tuple) of
|
|
@@ -2919,7 +2952,7 @@ class ChorusProApi:
|
|
|
2919
2952
|
""" # noqa: E501
|
|
2920
2953
|
|
|
2921
2954
|
_param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
|
|
2922
|
-
|
|
2955
|
+
submit_invoice_request=submit_invoice_request,
|
|
2923
2956
|
_request_auth=_request_auth,
|
|
2924
2957
|
_content_type=_content_type,
|
|
2925
2958
|
_headers=_headers,
|
|
@@ -2927,8 +2960,9 @@ class ChorusProApi:
|
|
|
2927
2960
|
)
|
|
2928
2961
|
|
|
2929
2962
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2930
|
-
'200': "
|
|
2963
|
+
'200': "SubmitInvoiceResponse",
|
|
2931
2964
|
'422': "HTTPValidationError",
|
|
2965
|
+
'401': "APIError",
|
|
2932
2966
|
}
|
|
2933
2967
|
response_data = self.api_client.call_api(
|
|
2934
2968
|
*_param,
|
|
@@ -2944,7 +2978,7 @@ class ChorusProApi:
|
|
|
2944
2978
|
@validate_call
|
|
2945
2979
|
def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_without_preload_content(
|
|
2946
2980
|
self,
|
|
2947
|
-
|
|
2981
|
+
submit_invoice_request: SubmitInvoiceRequest,
|
|
2948
2982
|
_request_timeout: Union[
|
|
2949
2983
|
None,
|
|
2950
2984
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -2958,12 +2992,12 @@ class ChorusProApi:
|
|
|
2958
2992
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2959
2993
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2960
2994
|
) -> RESTResponseType:
|
|
2961
|
-
"""
|
|
2995
|
+
"""Submit an invoice to Chorus Pro
|
|
2962
2996
|
|
|
2963
|
-
|
|
2997
|
+
Submits an electronic invoice to a public structure via Chorus Pro. **Complete workflow**: 1. **Upload the Factur-X PDF** via `/transverses/ajouter-fichier` → retrieve `pieceJointeId` 2. **Get the structure ID** via `/structures/rechercher` or `/structures/obtenir-id-depuis-siret` 3. **Check mandatory parameters** via `/structures/consulter` 4. **Submit the invoice** with the `piece_jointe_principale_id` obtained in step 1 **Prerequisites**: 1. Have the recipient's `id_structure_cpp` (via `/structures/rechercher`) 2. Know the mandatory parameters (via `/structures/consulter`): - Service code if `code_service_doit_etre_renseigne=true` - Engagement number if `numero_ej_doit_etre_renseigne=true` 3. Have uploaded the Factur-X PDF (via `/transverses/ajouter-fichier`) **Expected format**: - `piece_jointe_principale_id`: ID returned by `/transverses/ajouter-fichier` - Amounts: Strings with 2 decimals (e.g., \"1250.50\") - Dates: ISO 8601 format (YYYY-MM-DD) **Returns**: - `identifiant_facture_cpp`: Chorus Pro ID of the created invoice - `numero_flux_depot`: Deposit tracking number **Possible statuses after submission**: - SOUMISE: Pending validation - VALIDEE: Validated by recipient - REJETEE: Rejected (data error or business refusal) - SUSPENDUE: Pending additional information **Note**: Use `/factures/consulter` to track status changes.
|
|
2964
2998
|
|
|
2965
|
-
:param
|
|
2966
|
-
:type
|
|
2999
|
+
:param submit_invoice_request: (required)
|
|
3000
|
+
:type submit_invoice_request: SubmitInvoiceRequest
|
|
2967
3001
|
:param _request_timeout: timeout setting for this request. If one
|
|
2968
3002
|
number provided, it will be total request
|
|
2969
3003
|
timeout. It can also be a pair (tuple) of
|
|
@@ -2987,7 +3021,7 @@ class ChorusProApi:
|
|
|
2987
3021
|
""" # noqa: E501
|
|
2988
3022
|
|
|
2989
3023
|
_param = self._soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
|
|
2990
|
-
|
|
3024
|
+
submit_invoice_request=submit_invoice_request,
|
|
2991
3025
|
_request_auth=_request_auth,
|
|
2992
3026
|
_content_type=_content_type,
|
|
2993
3027
|
_headers=_headers,
|
|
@@ -2995,8 +3029,9 @@ class ChorusProApi:
|
|
|
2995
3029
|
)
|
|
2996
3030
|
|
|
2997
3031
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
2998
|
-
'200': "
|
|
3032
|
+
'200': "SubmitInvoiceResponse",
|
|
2999
3033
|
'422': "HTTPValidationError",
|
|
3034
|
+
'401': "APIError",
|
|
3000
3035
|
}
|
|
3001
3036
|
response_data = self.api_client.call_api(
|
|
3002
3037
|
*_param,
|
|
@@ -3007,7 +3042,7 @@ class ChorusProApi:
|
|
|
3007
3042
|
|
|
3008
3043
|
def _soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_serialize(
|
|
3009
3044
|
self,
|
|
3010
|
-
|
|
3045
|
+
submit_invoice_request,
|
|
3011
3046
|
_request_auth,
|
|
3012
3047
|
_content_type,
|
|
3013
3048
|
_headers,
|
|
@@ -3033,8 +3068,8 @@ class ChorusProApi:
|
|
|
3033
3068
|
# process the header parameters
|
|
3034
3069
|
# process the form parameters
|
|
3035
3070
|
# process the body parameter
|
|
3036
|
-
if
|
|
3037
|
-
_body_params =
|
|
3071
|
+
if submit_invoice_request is not None:
|
|
3072
|
+
_body_params = submit_invoice_request
|
|
3038
3073
|
|
|
3039
3074
|
|
|
3040
3075
|
# set the HTTP header `Accept`
|
|
@@ -3099,9 +3134,9 @@ class ChorusProApi:
|
|
|
3099
3134
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3100
3135
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3101
3136
|
) -> object:
|
|
3102
|
-
"""
|
|
3137
|
+
"""Download a group of invoices
|
|
3103
3138
|
|
|
3104
|
-
|
|
3139
|
+
Download one or more invoices (max 10 recommended) with their attachments. **Available formats**: - PDF: PDF file only - XML: XML file only - ZIP: Archive containing PDF + XML + attachments **Maximum size**: 120 MB per download **Example payload**: ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Returns**: The file is base64-encoded in the `fichierBase64` field. **Note**: The `factureTelechargeeParDestinataire` flag is automatically updated.
|
|
3105
3140
|
|
|
3106
3141
|
:param request_body: (required)
|
|
3107
3142
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -3167,9 +3203,9 @@ class ChorusProApi:
|
|
|
3167
3203
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3168
3204
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3169
3205
|
) -> ApiResponse[object]:
|
|
3170
|
-
"""
|
|
3206
|
+
"""Download a group of invoices
|
|
3171
3207
|
|
|
3172
|
-
|
|
3208
|
+
Download one or more invoices (max 10 recommended) with their attachments. **Available formats**: - PDF: PDF file only - XML: XML file only - ZIP: Archive containing PDF + XML + attachments **Maximum size**: 120 MB per download **Example payload**: ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Returns**: The file is base64-encoded in the `fichierBase64` field. **Note**: The `factureTelechargeeParDestinataire` flag is automatically updated.
|
|
3173
3209
|
|
|
3174
3210
|
:param request_body: (required)
|
|
3175
3211
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -3235,9 +3272,9 @@ class ChorusProApi:
|
|
|
3235
3272
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3236
3273
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3237
3274
|
) -> RESTResponseType:
|
|
3238
|
-
"""
|
|
3275
|
+
"""Download a group of invoices
|
|
3239
3276
|
|
|
3240
|
-
|
|
3277
|
+
Download one or more invoices (max 10 recommended) with their attachments. **Available formats**: - PDF: PDF file only - XML: XML file only - ZIP: Archive containing PDF + XML + attachments **Maximum size**: 120 MB per download **Example payload**: ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Returns**: The file is base64-encoded in the `fichierBase64` field. **Note**: The `factureTelechargeeParDestinataire` flag is automatically updated.
|
|
3241
3278
|
|
|
3242
3279
|
:param request_body: (required)
|
|
3243
3280
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -3376,9 +3414,9 @@ class ChorusProApi:
|
|
|
3376
3414
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3377
3415
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3378
3416
|
) -> object:
|
|
3379
|
-
"""
|
|
3417
|
+
"""Process a received invoice (Recipient)
|
|
3380
3418
|
|
|
3381
|
-
Change
|
|
3419
|
+
Change the status of a received invoice. **Possible statuses**: - MISE_A_DISPOSITION: Invoice accepted - SUSPENDUE: Pending additional information (reason required) - REJETEE: Invoice refused (reason required) - MANDATEE: Invoice mandated - MISE_EN_PAIEMENT: Invoice being paid - COMPTABILISEE: Invoice accounted - MISE_A_DISPOSITION_COMPTABLE: Made available to accounting - A_RECYCLER: To be recycled - COMPLETEE: Completed - SERVICE-FAIT: Service rendered - PRISE_EN_COMPTE_DESTINATAIRE: Acknowledged - TRANSMISE_MOA: Transmitted to MOA **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Duplicate invoice\", \"commentaire\": \"Invoice already received under reference ABC123\" } ``` **Rules**: - A reason is **required** for SUSPENDUE and REJETEE - Only certain statuses are allowed depending on the invoice's current status
|
|
3382
3420
|
|
|
3383
3421
|
:param request_body: (required)
|
|
3384
3422
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -3444,9 +3483,9 @@ class ChorusProApi:
|
|
|
3444
3483
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3445
3484
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3446
3485
|
) -> ApiResponse[object]:
|
|
3447
|
-
"""
|
|
3486
|
+
"""Process a received invoice (Recipient)
|
|
3448
3487
|
|
|
3449
|
-
Change
|
|
3488
|
+
Change the status of a received invoice. **Possible statuses**: - MISE_A_DISPOSITION: Invoice accepted - SUSPENDUE: Pending additional information (reason required) - REJETEE: Invoice refused (reason required) - MANDATEE: Invoice mandated - MISE_EN_PAIEMENT: Invoice being paid - COMPTABILISEE: Invoice accounted - MISE_A_DISPOSITION_COMPTABLE: Made available to accounting - A_RECYCLER: To be recycled - COMPLETEE: Completed - SERVICE-FAIT: Service rendered - PRISE_EN_COMPTE_DESTINATAIRE: Acknowledged - TRANSMISE_MOA: Transmitted to MOA **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Duplicate invoice\", \"commentaire\": \"Invoice already received under reference ABC123\" } ``` **Rules**: - A reason is **required** for SUSPENDUE and REJETEE - Only certain statuses are allowed depending on the invoice's current status
|
|
3450
3489
|
|
|
3451
3490
|
:param request_body: (required)
|
|
3452
3491
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -3512,9 +3552,9 @@ class ChorusProApi:
|
|
|
3512
3552
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3513
3553
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3514
3554
|
) -> RESTResponseType:
|
|
3515
|
-
"""
|
|
3555
|
+
"""Process a received invoice (Recipient)
|
|
3516
3556
|
|
|
3517
|
-
Change
|
|
3557
|
+
Change the status of a received invoice. **Possible statuses**: - MISE_A_DISPOSITION: Invoice accepted - SUSPENDUE: Pending additional information (reason required) - REJETEE: Invoice refused (reason required) - MANDATEE: Invoice mandated - MISE_EN_PAIEMENT: Invoice being paid - COMPTABILISEE: Invoice accounted - MISE_A_DISPOSITION_COMPTABLE: Made available to accounting - A_RECYCLER: To be recycled - COMPLETEE: Completed - SERVICE-FAIT: Service rendered - PRISE_EN_COMPTE_DESTINATAIRE: Acknowledged - TRANSMISE_MOA: Transmitted to MOA **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Duplicate invoice\", \"commentaire\": \"Invoice already received under reference ABC123\" } ``` **Rules**: - A reason is **required** for SUSPENDUE and REJETEE - Only certain statuses are allowed depending on the invoice's current status
|
|
3518
3558
|
|
|
3519
3559
|
:param request_body: (required)
|
|
3520
3560
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -3653,8 +3694,9 @@ class ChorusProApi:
|
|
|
3653
3694
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3654
3695
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
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,
|
|
@@ -3720,8 +3763,9 @@ class ChorusProApi:
|
|
|
3720
3763
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3721
3764
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
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,
|
|
@@ -3787,8 +3832,9 @@ class ChorusProApi:
|
|
|
3787
3832
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3788
3833
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
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,
|
|
@@ -3927,9 +3974,9 @@ class ChorusProApi:
|
|
|
3927
3974
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3928
3975
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3929
3976
|
) -> object:
|
|
3930
|
-
"""
|
|
3977
|
+
"""Search invoices to validate (Validator)
|
|
3931
3978
|
|
|
3932
|
-
|
|
3979
|
+
Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
|
|
3933
3980
|
|
|
3934
3981
|
:param request_body: (required)
|
|
3935
3982
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -3995,9 +4043,9 @@ class ChorusProApi:
|
|
|
3995
4043
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3996
4044
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3997
4045
|
) -> ApiResponse[object]:
|
|
3998
|
-
"""
|
|
4046
|
+
"""Search invoices to validate (Validator)
|
|
3999
4047
|
|
|
4000
|
-
|
|
4048
|
+
Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
|
|
4001
4049
|
|
|
4002
4050
|
:param request_body: (required)
|
|
4003
4051
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -4063,9 +4112,9 @@ class ChorusProApi:
|
|
|
4063
4112
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4064
4113
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
4065
4114
|
) -> RESTResponseType:
|
|
4066
|
-
"""
|
|
4115
|
+
"""Search invoices to validate (Validator)
|
|
4067
4116
|
|
|
4068
|
-
|
|
4117
|
+
Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
|
|
4069
4118
|
|
|
4070
4119
|
:param request_body: (required)
|
|
4071
4120
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -4204,9 +4254,9 @@ class ChorusProApi:
|
|
|
4204
4254
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4205
4255
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
4206
4256
|
) -> object:
|
|
4207
|
-
"""
|
|
4257
|
+
"""Validate or reject an invoice (Validator)
|
|
4208
4258
|
|
|
4209
|
-
|
|
4259
|
+
Validate or reject an invoice pending validation. **Actions**: - Validate: The invoice moves to the next status in the workflow - Reject: The invoice is rejected (reason required)
|
|
4210
4260
|
|
|
4211
4261
|
:param request_body: (required)
|
|
4212
4262
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -4272,9 +4323,9 @@ class ChorusProApi:
|
|
|
4272
4323
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4273
4324
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
4274
4325
|
) -> ApiResponse[object]:
|
|
4275
|
-
"""
|
|
4326
|
+
"""Validate or reject an invoice (Validator)
|
|
4276
4327
|
|
|
4277
|
-
|
|
4328
|
+
Validate or reject an invoice pending validation. **Actions**: - Validate: The invoice moves to the next status in the workflow - Reject: The invoice is rejected (reason required)
|
|
4278
4329
|
|
|
4279
4330
|
:param request_body: (required)
|
|
4280
4331
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|
|
@@ -4340,9 +4392,9 @@ class ChorusProApi:
|
|
|
4340
4392
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4341
4393
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
4342
4394
|
) -> RESTResponseType:
|
|
4343
|
-
"""
|
|
4395
|
+
"""Validate or reject an invoice (Validator)
|
|
4344
4396
|
|
|
4345
|
-
|
|
4397
|
+
Validate or reject an invoice pending validation. **Actions**: - Validate: The invoice moves to the next status in the workflow - Reject: The invoice is rejected (reason required)
|
|
4346
4398
|
|
|
4347
4399
|
:param request_body: (required)
|
|
4348
4400
|
:type request_body: Dict[str, object]
|
|
@@ -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,
|