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/__init__.py
CHANGED
|
@@ -5,8 +5,11 @@ from factpulse.api.afnorpdppa_api import AFNORPDPPAApi
|
|
|
5
5
|
from factpulse.api.afnorpdppa_directory_service_api import AFNORPDPPADirectoryServiceApi
|
|
6
6
|
from factpulse.api.afnorpdppa_flow_service_api import AFNORPDPPAFlowServiceApi
|
|
7
7
|
from factpulse.api.chorus_pro_api import ChorusProApi
|
|
8
|
-
from factpulse.api.
|
|
9
|
-
from factpulse.api.
|
|
10
|
-
from factpulse.api.
|
|
11
|
-
from factpulse.api.
|
|
8
|
+
from factpulse.api.document_conversion_api import DocumentConversionApi
|
|
9
|
+
from factpulse.api.downloads_api import DownloadsApi
|
|
10
|
+
from factpulse.api.e_reporting_api import EReportingApi
|
|
11
|
+
from factpulse.api.health_api import HealthApi
|
|
12
|
+
from factpulse.api.invoice_processing_api import InvoiceProcessingApi
|
|
13
|
+
from factpulse.api.pdfxml_verification_api import PDFXMLVerificationApi
|
|
14
|
+
from factpulse.api.user_api import UserApi
|
|
12
15
|
|
factpulse/api/afnorpdppa_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,9 +17,10 @@ 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 StrictBool, StrictStr
|
|
20
|
+
from pydantic import Field, StrictBool, StrictStr
|
|
20
21
|
from typing import Any, Optional
|
|
21
|
-
from
|
|
22
|
+
from typing_extensions import Annotated
|
|
23
|
+
from factpulse.models.incoming_invoice import IncomingInvoice
|
|
22
24
|
|
|
23
25
|
from factpulse.api_client import ApiClient, RequestSerialized
|
|
24
26
|
from factpulse.api_response import ApiResponse
|
|
@@ -54,9 +56,9 @@ class AFNORPDPPAApi:
|
|
|
54
56
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
55
57
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
56
58
|
) -> object:
|
|
57
|
-
"""
|
|
59
|
+
"""Retrieve stored AFNOR credentials
|
|
58
60
|
|
|
59
|
-
|
|
61
|
+
Retrieves stored AFNOR/PDP credentials for the JWT's client_uid. This endpoint is used by the SDK in 'stored' mode to retrieve credentials before performing AFNOR OAuth itself.
|
|
60
62
|
|
|
61
63
|
:param _request_timeout: timeout setting for this request. If one
|
|
62
64
|
number provided, it will be total request
|
|
@@ -120,9 +122,9 @@ class AFNORPDPPAApi:
|
|
|
120
122
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
121
123
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
122
124
|
) -> ApiResponse[object]:
|
|
123
|
-
"""
|
|
125
|
+
"""Retrieve stored AFNOR credentials
|
|
124
126
|
|
|
125
|
-
|
|
127
|
+
Retrieves stored AFNOR/PDP credentials for the JWT's client_uid. This endpoint is used by the SDK in 'stored' mode to retrieve credentials before performing AFNOR OAuth itself.
|
|
126
128
|
|
|
127
129
|
:param _request_timeout: timeout setting for this request. If one
|
|
128
130
|
number provided, it will be total request
|
|
@@ -186,9 +188,9 @@ class AFNORPDPPAApi:
|
|
|
186
188
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
187
189
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
188
190
|
) -> RESTResponseType:
|
|
189
|
-
"""
|
|
191
|
+
"""Retrieve stored AFNOR credentials
|
|
190
192
|
|
|
191
|
-
|
|
193
|
+
Retrieves stored AFNOR/PDP credentials for the JWT's client_uid. This endpoint is used by the SDK in 'stored' mode to retrieve credentials before performing AFNOR OAuth itself.
|
|
192
194
|
|
|
193
195
|
:param _request_timeout: timeout setting for this request. If one
|
|
194
196
|
number provided, it will be total request
|
|
@@ -294,10 +296,10 @@ class AFNORPDPPAApi:
|
|
|
294
296
|
|
|
295
297
|
|
|
296
298
|
@validate_call
|
|
297
|
-
def
|
|
299
|
+
def get_flux_entrant_api_v1_afnor_incoming_flows_flow_id_get(
|
|
298
300
|
self,
|
|
299
|
-
flow_id: StrictStr,
|
|
300
|
-
include_document: Optional[StrictBool] = None,
|
|
301
|
+
flow_id: Annotated[StrictStr, Field(description="AFNOR flow ID (UUID format)")],
|
|
302
|
+
include_document: Annotated[Optional[StrictBool], Field(description="Include base64-encoded document in response")] = None,
|
|
301
303
|
_request_timeout: Union[
|
|
302
304
|
None,
|
|
303
305
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -310,14 +312,14 @@ class AFNORPDPPAApi:
|
|
|
310
312
|
_content_type: Optional[StrictStr] = None,
|
|
311
313
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
312
314
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
313
|
-
) ->
|
|
314
|
-
"""
|
|
315
|
+
) -> IncomingInvoice:
|
|
316
|
+
"""Retrieve and extract an incoming invoice
|
|
315
317
|
|
|
316
|
-
|
|
318
|
+
Downloads an incoming flow from the AFNOR PDP and extracts invoice metadata into a unified JSON format. Supports Factur-X, CII, and UBL formats.
|
|
317
319
|
|
|
318
|
-
:param flow_id: (required)
|
|
320
|
+
:param flow_id: AFNOR flow ID (UUID format) (required)
|
|
319
321
|
:type flow_id: str
|
|
320
|
-
:param include_document:
|
|
322
|
+
:param include_document: Include base64-encoded document in response
|
|
321
323
|
:type include_document: bool
|
|
322
324
|
:param _request_timeout: timeout setting for this request. If one
|
|
323
325
|
number provided, it will be total request
|
|
@@ -341,7 +343,7 @@ class AFNORPDPPAApi:
|
|
|
341
343
|
:return: Returns the result object.
|
|
342
344
|
""" # noqa: E501
|
|
343
345
|
|
|
344
|
-
_param = self.
|
|
346
|
+
_param = self._get_flux_entrant_api_v1_afnor_incoming_flows_flow_id_get_serialize(
|
|
345
347
|
flow_id=flow_id,
|
|
346
348
|
include_document=include_document,
|
|
347
349
|
_request_auth=_request_auth,
|
|
@@ -351,7 +353,7 @@ class AFNORPDPPAApi:
|
|
|
351
353
|
)
|
|
352
354
|
|
|
353
355
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
354
|
-
'200': "
|
|
356
|
+
'200': "IncomingInvoice",
|
|
355
357
|
'400': None,
|
|
356
358
|
'401': None,
|
|
357
359
|
'404': None,
|
|
@@ -370,10 +372,10 @@ class AFNORPDPPAApi:
|
|
|
370
372
|
|
|
371
373
|
|
|
372
374
|
@validate_call
|
|
373
|
-
def
|
|
375
|
+
def get_flux_entrant_api_v1_afnor_incoming_flows_flow_id_get_with_http_info(
|
|
374
376
|
self,
|
|
375
|
-
flow_id: StrictStr,
|
|
376
|
-
include_document: Optional[StrictBool] = None,
|
|
377
|
+
flow_id: Annotated[StrictStr, Field(description="AFNOR flow ID (UUID format)")],
|
|
378
|
+
include_document: Annotated[Optional[StrictBool], Field(description="Include base64-encoded document in response")] = None,
|
|
377
379
|
_request_timeout: Union[
|
|
378
380
|
None,
|
|
379
381
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -386,14 +388,14 @@ class AFNORPDPPAApi:
|
|
|
386
388
|
_content_type: Optional[StrictStr] = None,
|
|
387
389
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
388
390
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
389
|
-
) -> ApiResponse[
|
|
390
|
-
"""
|
|
391
|
+
) -> ApiResponse[IncomingInvoice]:
|
|
392
|
+
"""Retrieve and extract an incoming invoice
|
|
391
393
|
|
|
392
|
-
|
|
394
|
+
Downloads an incoming flow from the AFNOR PDP and extracts invoice metadata into a unified JSON format. Supports Factur-X, CII, and UBL formats.
|
|
393
395
|
|
|
394
|
-
:param flow_id: (required)
|
|
396
|
+
:param flow_id: AFNOR flow ID (UUID format) (required)
|
|
395
397
|
:type flow_id: str
|
|
396
|
-
:param include_document:
|
|
398
|
+
:param include_document: Include base64-encoded document in response
|
|
397
399
|
:type include_document: bool
|
|
398
400
|
:param _request_timeout: timeout setting for this request. If one
|
|
399
401
|
number provided, it will be total request
|
|
@@ -417,7 +419,7 @@ class AFNORPDPPAApi:
|
|
|
417
419
|
:return: Returns the result object.
|
|
418
420
|
""" # noqa: E501
|
|
419
421
|
|
|
420
|
-
_param = self.
|
|
422
|
+
_param = self._get_flux_entrant_api_v1_afnor_incoming_flows_flow_id_get_serialize(
|
|
421
423
|
flow_id=flow_id,
|
|
422
424
|
include_document=include_document,
|
|
423
425
|
_request_auth=_request_auth,
|
|
@@ -427,7 +429,7 @@ class AFNORPDPPAApi:
|
|
|
427
429
|
)
|
|
428
430
|
|
|
429
431
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
430
|
-
'200': "
|
|
432
|
+
'200': "IncomingInvoice",
|
|
431
433
|
'400': None,
|
|
432
434
|
'401': None,
|
|
433
435
|
'404': None,
|
|
@@ -446,10 +448,10 @@ class AFNORPDPPAApi:
|
|
|
446
448
|
|
|
447
449
|
|
|
448
450
|
@validate_call
|
|
449
|
-
def
|
|
451
|
+
def get_flux_entrant_api_v1_afnor_incoming_flows_flow_id_get_without_preload_content(
|
|
450
452
|
self,
|
|
451
|
-
flow_id: StrictStr,
|
|
452
|
-
include_document: Optional[StrictBool] = None,
|
|
453
|
+
flow_id: Annotated[StrictStr, Field(description="AFNOR flow ID (UUID format)")],
|
|
454
|
+
include_document: Annotated[Optional[StrictBool], Field(description="Include base64-encoded document in response")] = None,
|
|
453
455
|
_request_timeout: Union[
|
|
454
456
|
None,
|
|
455
457
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -463,13 +465,13 @@ class AFNORPDPPAApi:
|
|
|
463
465
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
464
466
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
465
467
|
) -> RESTResponseType:
|
|
466
|
-
"""
|
|
468
|
+
"""Retrieve and extract an incoming invoice
|
|
467
469
|
|
|
468
|
-
|
|
470
|
+
Downloads an incoming flow from the AFNOR PDP and extracts invoice metadata into a unified JSON format. Supports Factur-X, CII, and UBL formats.
|
|
469
471
|
|
|
470
|
-
:param flow_id: (required)
|
|
472
|
+
:param flow_id: AFNOR flow ID (UUID format) (required)
|
|
471
473
|
:type flow_id: str
|
|
472
|
-
:param include_document:
|
|
474
|
+
:param include_document: Include base64-encoded document in response
|
|
473
475
|
:type include_document: bool
|
|
474
476
|
:param _request_timeout: timeout setting for this request. If one
|
|
475
477
|
number provided, it will be total request
|
|
@@ -493,7 +495,7 @@ class AFNORPDPPAApi:
|
|
|
493
495
|
:return: Returns the result object.
|
|
494
496
|
""" # noqa: E501
|
|
495
497
|
|
|
496
|
-
_param = self.
|
|
498
|
+
_param = self._get_flux_entrant_api_v1_afnor_incoming_flows_flow_id_get_serialize(
|
|
497
499
|
flow_id=flow_id,
|
|
498
500
|
include_document=include_document,
|
|
499
501
|
_request_auth=_request_auth,
|
|
@@ -503,7 +505,7 @@ class AFNORPDPPAApi:
|
|
|
503
505
|
)
|
|
504
506
|
|
|
505
507
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
506
|
-
'200': "
|
|
508
|
+
'200': "IncomingInvoice",
|
|
507
509
|
'400': None,
|
|
508
510
|
'401': None,
|
|
509
511
|
'404': None,
|
|
@@ -517,7 +519,7 @@ class AFNORPDPPAApi:
|
|
|
517
519
|
return response_data.response
|
|
518
520
|
|
|
519
521
|
|
|
520
|
-
def
|
|
522
|
+
def _get_flux_entrant_api_v1_afnor_incoming_flows_flow_id_get_serialize(
|
|
521
523
|
self,
|
|
522
524
|
flow_id,
|
|
523
525
|
include_document,
|
|
@@ -570,7 +572,7 @@ class AFNORPDPPAApi:
|
|
|
570
572
|
|
|
571
573
|
return self.api_client.param_serialize(
|
|
572
574
|
method='GET',
|
|
573
|
-
resource_path='/api/v1/afnor/
|
|
575
|
+
resource_path='/api/v1/afnor/incoming-flows/{flow_id}',
|
|
574
576
|
path_params=_path_params,
|
|
575
577
|
query_params=_query_params,
|
|
576
578
|
header_params=_header_params,
|
|
@@ -602,9 +604,9 @@ class AFNORPDPPAApi:
|
|
|
602
604
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
603
605
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
604
606
|
) -> object:
|
|
605
|
-
"""
|
|
607
|
+
"""OAuth2 endpoint for AFNOR authentication
|
|
606
608
|
|
|
607
|
-
|
|
609
|
+
OAuth2 proxy endpoint to obtain an AFNOR access token. Proxies to AFNOR mock (sandbox) or real PDP depending on MOCK_AFNOR_BASE_URL. This endpoint is public (no Django auth required) as it is called by the AFNOR SDK.
|
|
608
610
|
|
|
609
611
|
:param _request_timeout: timeout setting for this request. If one
|
|
610
612
|
number provided, it will be total request
|
|
@@ -666,9 +668,9 @@ class AFNORPDPPAApi:
|
|
|
666
668
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
667
669
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
668
670
|
) -> ApiResponse[object]:
|
|
669
|
-
"""
|
|
671
|
+
"""OAuth2 endpoint for AFNOR authentication
|
|
670
672
|
|
|
671
|
-
|
|
673
|
+
OAuth2 proxy endpoint to obtain an AFNOR access token. Proxies to AFNOR mock (sandbox) or real PDP depending on MOCK_AFNOR_BASE_URL. This endpoint is public (no Django auth required) as it is called by the AFNOR SDK.
|
|
672
674
|
|
|
673
675
|
:param _request_timeout: timeout setting for this request. If one
|
|
674
676
|
number provided, it will be total request
|
|
@@ -730,9 +732,9 @@ class AFNORPDPPAApi:
|
|
|
730
732
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
731
733
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
732
734
|
) -> RESTResponseType:
|
|
733
|
-
"""
|
|
735
|
+
"""OAuth2 endpoint for AFNOR authentication
|
|
734
736
|
|
|
735
|
-
|
|
737
|
+
OAuth2 proxy endpoint to obtain an AFNOR access token. Proxies to AFNOR mock (sandbox) or real PDP depending on MOCK_AFNOR_BASE_URL. This endpoint is public (no Django auth required) as it is called by the AFNOR SDK.
|
|
736
738
|
|
|
737
739
|
:param _request_timeout: timeout setting for this request. If one
|
|
738
740
|
number provided, it will be total request
|