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