factpulse 3.0.10 → 3.0.14
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -3
- data/Gemfile.lock +3 -3
- data/LICENSE +1 -1
- data/docs/AFNORAcknowledgement.md +20 -0
- data/docs/AFNORAcknowledgementDetail.md +24 -0
- data/docs/AFNORAddressEdit.md +30 -0
- data/docs/AFNORAddressPatch.md +30 -0
- data/docs/AFNORAddressPut.md +30 -0
- data/docs/AFNORAddressRead.md +32 -0
- data/docs/{ValidationErrorLocInner.md → AFNORAlgorithm.md} +2 -2
- data/docs/AFNORContainsOperator.md +15 -0
- data/docs/AFNORCreateDirectoryLineBody.md +20 -0
- data/docs/AFNORCreateDirectoryLineBodyAddressingInformation.md +24 -0
- data/docs/AFNORCreateDirectoryLineBodyPeriod.md +20 -0
- data/docs/AFNORCreateRoutingCodeBody.md +32 -0
- data/docs/AFNORDestination.md +4 -2
- data/docs/AFNORDiffusionStatus.md +15 -0
- data/docs/AFNORDirectoryLineField.md +15 -0
- data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCode.md +32 -0
- data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodePlatform.md +20 -0
- data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodeRoutingCode.md +28 -0
- data/docs/AFNORDirectoryLinePost201Response.md +22 -0
- data/docs/AFNORDirectoryLineSearchPost200Response.md +22 -0
- data/docs/AFNOREntityType.md +15 -0
- data/docs/AFNORError.md +26 -0
- data/docs/AFNORFacilityAdministrativeStatus.md +15 -0
- data/docs/AFNORFacilityNature.md +15 -0
- data/docs/AFNORFacilityPayloadHistory.md +34 -0
- data/docs/AFNORFacilityPayloadHistoryUleB2gAdditionalData.md +28 -0
- data/docs/AFNORFacilityPayloadIncluded.md +32 -0
- data/docs/AFNORFacilityType.md +15 -0
- data/docs/AFNORFlow.md +38 -0
- data/docs/AFNORFlowAckStatus.md +15 -0
- data/docs/AFNORFlowDirection.md +15 -0
- data/docs/AFNORFlowInfo.md +28 -0
- data/docs/AFNORFlowProfile.md +15 -0
- data/docs/AFNORFlowSyntax.md +15 -0
- data/docs/AFNORFlowType.md +15 -0
- data/docs/AFNORFullFlowInfo.md +32 -0
- data/docs/AFNORLegalUnitAdministrativeStatus.md +15 -0
- data/docs/AFNORLegalUnitPayloadHistory.md +24 -0
- data/docs/AFNORLegalUnitPayloadIncluded.md +24 -0
- data/docs/AFNORLegalUnitPayloadIncludedNoSiren.md +22 -0
- data/docs/AFNORPDPPAApi.md +5 -5
- data/docs/AFNORPDPPADirectoryServiceApi.md +278 -178
- data/docs/AFNORPDPPAFlowServiceApi.md +39 -27
- data/docs/AFNORPlatformStatus.md +15 -0
- data/docs/AFNORProcessingRule.md +15 -0
- data/docs/AFNORReasonCode.md +49 -0
- data/docs/AFNORReasonCodeEnum.md +15 -0
- data/docs/AFNORRecipientPlatformType.md +15 -0
- data/docs/AFNORResult.md +7 -1
- data/docs/AFNORRoutingCodeAdministrativeStatus.md +15 -0
- data/docs/AFNORRoutingCodeField.md +15 -0
- data/docs/AFNORRoutingCodePayloadHistoryLegalUnitFacility.md +34 -0
- data/docs/AFNORRoutingCodePost201Response.md +22 -0
- data/docs/AFNORRoutingCodeSearch.md +28 -0
- data/docs/AFNORRoutingCodeSearchFilters.md +30 -0
- data/docs/AFNORRoutingCodeSearchFiltersAdministrativeStatus.md +20 -0
- data/docs/AFNORRoutingCodeSearchFiltersRoutingCodeName.md +20 -0
- data/docs/AFNORRoutingCodeSearchFiltersRoutingIdentifier.md +20 -0
- data/docs/AFNORRoutingCodeSearchPost200Response.md +22 -0
- data/docs/AFNORRoutingCodeSearchSortingInner.md +20 -0
- data/docs/AFNORSearchDirectoryLine.md +26 -0
- data/docs/AFNORSearchDirectoryLineFilters.md +26 -0
- data/docs/AFNORSearchDirectoryLineFiltersAddressingIdentifier.md +20 -0
- data/docs/AFNORSearchDirectoryLineFiltersAddressingSuffix.md +20 -0
- data/docs/AFNORSearchDirectoryLineSortingInner.md +20 -0
- data/docs/AFNORSearchFlowContent.md +22 -0
- data/docs/AFNORSearchFlowFilters.md +30 -0
- data/docs/AFNORSearchFlowParams.md +20 -0
- data/docs/AFNORSearchSiren.md +26 -0
- data/docs/AFNORSearchSirenFilters.md +24 -0
- data/docs/AFNORSearchSirenFiltersAdministrativeStatus.md +20 -0
- data/docs/AFNORSearchSirenFiltersBusinessName.md +20 -0
- data/docs/AFNORSearchSirenFiltersEntityType.md +20 -0
- data/docs/AFNORSearchSirenFiltersSiren.md +20 -0
- data/docs/AFNORSearchSirenSortingInner.md +20 -0
- data/docs/AFNORSearchSiret.md +28 -0
- data/docs/AFNORSearchSiretFilters.md +34 -0
- data/docs/AFNORSearchSiretFiltersAddressLines.md +20 -0
- data/docs/AFNORSearchSiretFiltersAdministrativeStatus.md +20 -0
- data/docs/AFNORSearchSiretFiltersCountrySubdivision.md +20 -0
- data/docs/AFNORSearchSiretFiltersFacilityType.md +20 -0
- data/docs/AFNORSearchSiretFiltersLocality.md +20 -0
- data/docs/AFNORSearchSiretFiltersName.md +20 -0
- data/docs/AFNORSearchSiretFiltersPostalCode.md +20 -0
- data/docs/AFNORSearchSiretFiltersSiret.md +20 -0
- data/docs/AFNORSearchSiretSortingInner.md +20 -0
- data/docs/AFNORSirenField.md +15 -0
- data/docs/AFNORSirenSearchPost200Response.md +22 -0
- data/docs/AFNORSiretField.md +15 -0
- data/docs/AFNORSiretSearchPost200Response.md +22 -0
- data/docs/AFNORSortingOrder.md +15 -0
- data/docs/AFNORStrictOperator.md +15 -0
- data/docs/AFNORUpdatePatchDirectoryLineBody.md +18 -0
- data/docs/AFNORUpdatePatchRoutingCodeBody.md +24 -0
- data/docs/AFNORUpdatePutRoutingCodeBody.md +24 -0
- data/docs/AFNORWebhookCallbackContent.md +18 -0
- data/docs/AcceptLanguage.md +15 -0
- data/docs/AggregatedPaymentInput.md +22 -0
- data/docs/AggregatedTransactionInput.md +32 -0
- data/docs/AllowanceCharge.md +3 -3
- data/docs/AllowanceChargeReasonCode.md +15 -0
- data/docs/Amount1.md +15 -0
- data/docs/Buyercountry.md +15 -0
- data/docs/ChorusProApi.md +5 -3
- data/docs/{FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md → ChorusProCredentials.md} +2 -2
- data/docs/ConvertValidationFailedResponse.md +5 -5
- data/docs/CountryCode.md +15 -0
- data/docs/CreateAggregatedReportRequest.md +34 -0
- data/docs/CreateEReportingRequest.md +36 -0
- data/docs/Currency.md +15 -0
- data/docs/CurrencyCode.md +15 -0
- data/docs/DirectoryLineInclude.md +15 -0
- data/docs/DocType.md +15 -0
- data/docs/DocumentConversionApi.md +12 -86
- data/docs/DownloadsApi.md +295 -0
- data/docs/EReportingApi.md +782 -0
- data/docs/EReportingFlowType.md +15 -0
- data/docs/ElectronicAddress.md +2 -2
- data/docs/EnrichedInvoiceInfo.md +6 -6
- data/docs/FactureElectroniqueModelsInvoiceTypeCode.md +15 -0
- data/docs/FactureElectroniqueRestApiSchemasConvertValidationError.md +32 -0
- data/docs/FlowSummary.md +2 -2
- data/docs/GenerateAggregatedReportResponse.md +30 -0
- data/docs/GenerateEReportingResponse.md +26 -0
- data/docs/GetChorusProIdRequest.md +1 -1
- data/docs/GetInvoiceRequest.md +1 -1
- data/docs/GetInvoiceResponse.md +2 -2
- data/docs/GetStructureRequest.md +1 -1
- data/docs/GetStructureResponse.md +2 -2
- data/docs/HealthApi.md +1 -1
- data/docs/IncomingInvoice.md +1 -1
- data/docs/InvoiceInput.md +48 -0
- data/docs/InvoiceLine.md +4 -0
- data/docs/InvoiceNote.md +1 -1
- data/docs/InvoicePaymentInput.md +26 -0
- data/docs/InvoiceProcessingApi.md +41 -17
- data/docs/InvoiceTypeCodeOutput.md +15 -0
- data/docs/InvoicingFramework.md +1 -1
- data/docs/LineSubType.md +15 -0
- data/docs/LocationInner.md +15 -0
- data/docs/PDFXMLVerificationApi.md +17 -9
- data/docs/PaymentAmountByRate.md +20 -0
- data/docs/ProcessingRule.md +15 -0
- data/docs/Rate.md +15 -0
- data/docs/Rate1.md +15 -0
- data/docs/ReportPeriod.md +20 -0
- data/docs/ReportSender.md +22 -0
- data/docs/RoutingCodeInclude.md +15 -0
- data/docs/SearchServicesResponse.md +3 -3
- data/docs/SearchStructureRequest.md +1 -1
- data/docs/Sellercountry.md +15 -0
- data/docs/SimplifiedInvoiceData.md +9 -1
- data/docs/SiretInclude.md +15 -0
- data/docs/SubmitAggregatedReportRequest.md +28 -0
- data/docs/SubmitEReportingRequest.md +28 -0
- data/docs/SubmitEReportingResponse.md +32 -0
- data/docs/SubmitInvoiceRequest.md +1 -1
- data/docs/SupplementaryAttachment.md +5 -5
- data/docs/TaxBreakdownInput.md +22 -0
- data/docs/TaxDueDateType.md +15 -0
- data/docs/Taxableamount.md +15 -0
- data/docs/Taxamount.md +15 -0
- data/docs/Taxamount1.md +15 -0
- data/docs/Taxamount2.md +15 -0
- data/docs/Taxexclusiveamount.md +15 -0
- data/docs/Taxexclusiveamount1.md +15 -0
- data/docs/TransactionCategory.md +15 -0
- data/docs/TransmissionTypeCode.md +15 -0
- data/docs/UserApi.md +1 -1
- data/docs/ValidateEReportingRequest.md +18 -0
- data/docs/ValidateEReportingResponse.md +28 -0
- data/docs/ValidationError.md +1 -1
- data/docs/ValidationInfo.md +1 -1
- data/factpulse.gemspec +4 -4
- data/lib/factpulse/api/afnorpdppa_api.rb +6 -6
- data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +210 -123
- data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +57 -24
- data/lib/factpulse/api/chorus_pro_api.rb +6 -4
- data/lib/factpulse/api/document_conversion_api.rb +13 -85
- data/lib/factpulse/api/downloads_api.rb +280 -0
- data/lib/factpulse/api/e_reporting_api.rb +774 -0
- data/lib/factpulse/api/health_api.rb +2 -2
- data/lib/factpulse/api/invoice_processing_api.rb +47 -14
- data/lib/factpulse/api/pdfxml_verification_api.rb +22 -10
- data/lib/factpulse/api/user_api.rb +2 -2
- data/lib/factpulse/api_client.rb +2 -2
- data/lib/factpulse/api_error.rb +2 -2
- data/lib/factpulse/api_model_base.rb +2 -2
- data/lib/factpulse/configuration.rb +10 -6
- data/lib/factpulse/models/accept_language.rb +40 -0
- data/lib/factpulse/models/acknowledgment_status.rb +2 -2
- data/lib/factpulse/models/additional_document.rb +2 -2
- data/lib/factpulse/models/afnor_acknowledgement.rb +216 -0
- data/lib/factpulse/models/afnor_acknowledgement_detail.rb +267 -0
- data/lib/factpulse/models/afnor_address_edit.rb +353 -0
- data/lib/factpulse/models/afnor_address_patch.rb +386 -0
- data/lib/factpulse/models/afnor_address_put.rb +435 -0
- data/lib/factpulse/models/afnor_address_read.rb +382 -0
- data/lib/factpulse/models/afnor_algorithm.rb +43 -0
- data/lib/factpulse/models/afnor_contains_operator.rb +39 -0
- data/lib/factpulse/models/afnor_create_directory_line_body.rb +156 -0
- data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +294 -0
- data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +175 -0
- data/lib/factpulse/models/afnor_create_routing_code_body.rb +412 -0
- data/lib/factpulse/models/afnor_credentials.rb +2 -2
- data/lib/factpulse/models/afnor_destination.rb +19 -23
- data/lib/factpulse/models/afnor_diffusion_status.rb +40 -0
- data/lib/factpulse/models/afnor_directory_line_field.rb +44 -0
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +312 -0
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +178 -0
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +308 -0
- data/lib/factpulse/models/afnor_directory_line_post201_response.rb +187 -0
- data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +168 -0
- data/lib/factpulse/models/afnor_entity_type.rb +40 -0
- data/lib/factpulse/models/{convert_error_response.rb → afnor_error.rb} +51 -61
- data/lib/factpulse/models/afnor_facility_administrative_status.rb +40 -0
- data/lib/factpulse/models/afnor_facility_nature.rb +40 -0
- data/lib/factpulse/models/afnor_facility_payload_history.rb +323 -0
- data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +198 -0
- data/lib/factpulse/models/afnor_facility_payload_included.rb +314 -0
- data/lib/factpulse/models/afnor_facility_type.rb +40 -0
- data/lib/factpulse/models/afnor_flow.rb +315 -0
- data/lib/factpulse/models/afnor_flow_ack_status.rb +41 -0
- data/lib/factpulse/models/afnor_flow_direction.rb +40 -0
- data/lib/factpulse/models/afnor_flow_info.rb +293 -0
- data/lib/factpulse/models/afnor_flow_profile.rb +41 -0
- data/lib/factpulse/models/afnor_flow_syntax.rb +43 -0
- data/lib/factpulse/models/afnor_flow_type.rb +51 -0
- data/lib/factpulse/models/afnor_full_flow_info.rb +339 -0
- data/lib/factpulse/models/afnor_health_check_response.rb +2 -2
- data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +40 -0
- data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +247 -0
- data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +247 -0
- data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +207 -0
- data/lib/factpulse/models/afnor_platform_status.rb +40 -0
- data/lib/factpulse/models/afnor_processing_rule.rb +44 -0
- data/lib/factpulse/models/afnor_reason_code.rb +105 -0
- data/lib/factpulse/models/afnor_reason_code_enum.rb +53 -0
- data/lib/factpulse/models/afnor_recipient_platform_type.rb +40 -0
- data/lib/factpulse/models/afnor_result.rb +37 -7
- data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +40 -0
- data/lib/factpulse/models/afnor_routing_code_field.rb +46 -0
- data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +366 -0
- data/lib/factpulse/models/afnor_routing_code_post201_response.rb +228 -0
- data/lib/factpulse/models/afnor_routing_code_search.rb +224 -0
- data/lib/factpulse/models/afnor_routing_code_search_filters.rb +201 -0
- data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +178 -0
- data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +209 -0
- data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +209 -0
- data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +168 -0
- data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +179 -0
- data/lib/factpulse/models/afnor_search_directory_line.rb +191 -0
- data/lib/factpulse/models/afnor_search_directory_line_filters.rb +183 -0
- data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +198 -0
- data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +198 -0
- data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +179 -0
- data/lib/factpulse/models/afnor_search_flow_content.rb +168 -0
- data/lib/factpulse/models/afnor_search_flow_filters.rb +250 -0
- data/lib/factpulse/models/afnor_search_flow_params.rb +195 -0
- data/lib/factpulse/models/afnor_search_siren.rb +191 -0
- data/lib/factpulse/models/afnor_search_siren_filters.rb +174 -0
- data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +178 -0
- data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +198 -0
- data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +178 -0
- data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +209 -0
- data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +179 -0
- data/lib/factpulse/models/afnor_search_siret.rb +224 -0
- data/lib/factpulse/models/afnor_search_siret_filters.rb +219 -0
- data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +198 -0
- data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +178 -0
- data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +198 -0
- data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +178 -0
- data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +198 -0
- data/lib/factpulse/models/afnor_search_siret_filters_name.rb +198 -0
- data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +209 -0
- data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +209 -0
- data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +179 -0
- data/lib/factpulse/models/afnor_siren_field.rb +43 -0
- data/lib/factpulse/models/afnor_siren_search_post200_response.rb +168 -0
- data/lib/factpulse/models/afnor_siret_field.rb +52 -0
- data/lib/factpulse/models/afnor_siret_search_post200_response.rb +168 -0
- data/lib/factpulse/models/afnor_sorting_order.rb +40 -0
- data/lib/factpulse/models/afnor_strict_operator.rb +39 -0
- data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +148 -0
- data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +258 -0
- data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +289 -0
- data/lib/factpulse/models/afnor_webhook_callback_content.rb +148 -0
- data/lib/factpulse/models/aggregated_payment_input.rb +213 -0
- data/lib/factpulse/models/aggregated_transaction_input.rb +349 -0
- data/lib/factpulse/models/allowance_charge.rb +27 -5
- data/lib/factpulse/models/allowance_charge_reason_code.rb +76 -0
- data/lib/factpulse/models/allowance_reason_code.rb +2 -2
- data/lib/factpulse/models/allowance_total_amount.rb +2 -2
- data/lib/factpulse/models/amount.rb +3 -3
- data/lib/factpulse/models/amount1.rb +104 -0
- data/lib/factpulse/models/amount_due.rb +2 -2
- data/lib/factpulse/models/api_error.rb +2 -2
- data/lib/factpulse/models/api_profile.rb +4 -3
- data/lib/factpulse/models/async_task_status.rb +2 -2
- data/lib/factpulse/models/base_amount.rb +2 -2
- data/lib/factpulse/models/bounding_box_schema.rb +2 -2
- data/lib/factpulse/models/buyercountry.rb +104 -0
- data/lib/factpulse/models/celery_status.rb +2 -2
- data/lib/factpulse/models/certificate_info_response.rb +2 -2
- data/lib/factpulse/models/charge_total_amount.rb +2 -2
- data/lib/factpulse/models/{facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb → chorus_pro_credentials.rb} +5 -5
- data/lib/factpulse/models/chorus_pro_destination.rb +2 -2
- data/lib/factpulse/models/chorus_pro_result.rb +2 -2
- data/lib/factpulse/models/contact.rb +2 -2
- data/lib/factpulse/models/convert_resume_request.rb +2 -2
- data/lib/factpulse/models/convert_success_response.rb +2 -2
- data/lib/factpulse/models/convert_validation_failed_response.rb +7 -2
- data/lib/factpulse/models/country_code.rb +208 -0
- data/lib/factpulse/models/create_aggregated_report_request.rb +310 -0
- data/lib/factpulse/models/create_e_reporting_request.rb +337 -0
- data/lib/factpulse/models/currency.rb +104 -0
- data/lib/factpulse/models/currency_code.rb +91 -0
- data/lib/factpulse/models/delivery_party.rb +2 -2
- data/lib/factpulse/models/destination.rb +2 -2
- data/lib/factpulse/models/directory_line_include.rb +42 -0
- data/lib/factpulse/models/doc_type.rb +42 -0
- data/lib/factpulse/models/document_type_info.rb +2 -2
- data/lib/factpulse/models/e_reporting_flow_type.rb +42 -0
- data/lib/factpulse/models/electronic_address.rb +4 -2
- data/lib/factpulse/models/enriched_invoice_info.rb +8 -2
- data/lib/factpulse/models/error_level.rb +2 -2
- data/lib/factpulse/models/error_source.rb +2 -2
- data/lib/factpulse/models/extraction_info.rb +2 -2
- data/lib/factpulse/models/factur_x_invoice.rb +2 -2
- data/lib/factpulse/models/factur_xpdf_info.rb +2 -2
- data/lib/factpulse/models/facture_electronique_models_invoice_type_code.rb +54 -0
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_convert_validation_error.rb +294 -0
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb +2 -2
- data/lib/factpulse/models/field_status.rb +2 -2
- data/lib/factpulse/models/file_info.rb +2 -2
- data/lib/factpulse/models/files_info.rb +2 -2
- data/lib/factpulse/models/flow_direction.rb +2 -2
- data/lib/factpulse/models/flow_profile.rb +2 -2
- data/lib/factpulse/models/flow_summary.rb +4 -2
- data/lib/factpulse/models/flow_syntax.rb +2 -2
- data/lib/factpulse/models/flow_type.rb +12 -4
- data/lib/factpulse/models/generate_aggregated_report_response.rb +330 -0
- data/lib/factpulse/models/generate_certificate_request.rb +2 -2
- data/lib/factpulse/models/generate_certificate_response.rb +2 -2
- data/lib/factpulse/models/generate_e_reporting_response.rb +274 -0
- data/lib/factpulse/models/get_chorus_pro_id_request.rb +3 -3
- data/lib/factpulse/models/get_chorus_pro_id_response.rb +2 -2
- data/lib/factpulse/models/get_invoice_request.rb +3 -3
- data/lib/factpulse/models/get_invoice_response.rb +4 -2
- data/lib/factpulse/models/get_structure_request.rb +3 -3
- data/lib/factpulse/models/get_structure_response.rb +4 -2
- data/lib/factpulse/models/global_allowance_amount.rb +2 -2
- data/lib/factpulse/models/gross_unit_price.rb +2 -2
- data/lib/factpulse/models/http_validation_error.rb +2 -2
- data/lib/factpulse/models/incoming_invoice.rb +3 -36
- data/lib/factpulse/models/incoming_supplier.rb +2 -2
- data/lib/factpulse/models/invoice_format.rb +2 -2
- data/lib/factpulse/models/invoice_input.rb +446 -0
- data/lib/factpulse/models/invoice_line.rb +23 -3
- data/lib/factpulse/models/invoice_line_allowance_amount.rb +2 -2
- data/lib/factpulse/models/invoice_note.rb +3 -2
- data/lib/factpulse/models/invoice_payment_input.rb +267 -0
- data/lib/factpulse/models/invoice_references.rb +2 -2
- data/lib/factpulse/models/invoice_status.rb +2 -2
- data/lib/factpulse/models/invoice_totals.rb +2 -2
- data/lib/factpulse/models/invoice_totals_prepayment.rb +2 -2
- data/lib/factpulse/models/invoice_type_code.rb +8 -19
- data/lib/factpulse/models/invoice_type_code_output.rb +54 -0
- data/lib/factpulse/models/invoicing_framework.rb +3 -2
- data/lib/factpulse/models/invoicing_framework_code.rb +2 -2
- data/lib/factpulse/models/line_net_amount.rb +2 -2
- data/lib/factpulse/models/line_sub_type.rb +41 -0
- data/lib/factpulse/models/line_total_amount.rb +2 -2
- data/lib/factpulse/models/{validation_error_loc_inner.rb → location_inner.rb} +3 -3
- data/lib/factpulse/models/mandatory_note_schema.rb +2 -2
- data/lib/factpulse/models/manual_rate.rb +2 -2
- data/lib/factpulse/models/manual_vat_rate.rb +2 -2
- data/lib/factpulse/models/missing_field.rb +2 -2
- data/lib/factpulse/models/operation_nature.rb +2 -2
- data/lib/factpulse/models/output_format.rb +2 -2
- data/lib/factpulse/models/page_dimensions_schema.rb +2 -2
- data/lib/factpulse/models/payee.rb +2 -2
- data/lib/factpulse/models/payment_amount_by_rate.rb +191 -0
- data/lib/factpulse/models/payment_card.rb +2 -2
- data/lib/factpulse/models/payment_means.rb +2 -2
- data/lib/factpulse/models/pdf_validation_result_api.rb +2 -2
- data/lib/factpulse/models/pdp_credentials.rb +2 -2
- data/lib/factpulse/models/percentage.rb +2 -2
- data/lib/factpulse/models/postal_address.rb +2 -2
- data/lib/factpulse/models/price_allowance_amount.rb +2 -2
- data/lib/factpulse/models/price_basis_quantity.rb +2 -2
- data/lib/factpulse/models/processing_options.rb +2 -2
- data/lib/factpulse/models/processing_rule.rb +44 -0
- data/lib/factpulse/models/product_characteristic.rb +2 -2
- data/lib/factpulse/models/product_classification.rb +2 -2
- data/lib/factpulse/models/quantity.rb +2 -2
- data/lib/factpulse/models/rate.rb +104 -0
- data/lib/factpulse/models/rate1.rb +104 -0
- data/lib/factpulse/models/recipient.rb +2 -2
- data/lib/factpulse/models/report_period.rb +193 -0
- data/lib/factpulse/models/report_sender.rb +221 -0
- data/lib/factpulse/models/rounding_amount.rb +2 -2
- data/lib/factpulse/models/routing_code_include.rb +40 -0
- data/lib/factpulse/models/scheme_id.rb +10 -3
- data/lib/factpulse/models/search_flow_request.rb +2 -2
- data/lib/factpulse/models/search_flow_response.rb +2 -2
- data/lib/factpulse/models/search_services_response.rb +5 -2
- data/lib/factpulse/models/search_structure_request.rb +3 -3
- data/lib/factpulse/models/search_structure_response.rb +2 -2
- data/lib/factpulse/models/sellercountry.rb +104 -0
- data/lib/factpulse/models/signature_info.rb +2 -2
- data/lib/factpulse/models/signature_info_api.rb +2 -2
- data/lib/factpulse/models/signature_parameters.rb +2 -2
- data/lib/factpulse/models/simplified_invoice_data.rb +69 -7
- data/lib/factpulse/models/siret_include.rb +39 -0
- data/lib/factpulse/models/structure_info.rb +2 -2
- data/lib/factpulse/models/structure_parameters.rb +2 -2
- data/lib/factpulse/models/structure_service.rb +2 -2
- data/lib/factpulse/models/submission_mode.rb +2 -2
- data/lib/factpulse/models/submit_aggregated_report_request.rb +216 -0
- data/lib/factpulse/models/submit_complete_invoice_request.rb +2 -2
- data/lib/factpulse/models/submit_complete_invoice_response.rb +2 -2
- data/lib/factpulse/models/submit_e_reporting_request.rb +216 -0
- data/lib/factpulse/models/submit_e_reporting_response.rb +306 -0
- data/lib/factpulse/models/submit_flow_request.rb +2 -2
- data/lib/factpulse/models/submit_flow_response.rb +2 -2
- data/lib/factpulse/models/submit_gross_amount.rb +2 -2
- data/lib/factpulse/models/submit_invoice_request.rb +3 -3
- data/lib/factpulse/models/submit_invoice_response.rb +2 -2
- data/lib/factpulse/models/submit_net_amount.rb +2 -2
- data/lib/factpulse/models/submit_vat_amount.rb +2 -2
- data/lib/factpulse/models/supplementary_attachment.rb +7 -2
- data/lib/factpulse/models/supplier.rb +2 -2
- data/lib/factpulse/models/task_response.rb +2 -2
- data/lib/factpulse/models/tax_breakdown_input.rb +217 -0
- data/lib/factpulse/models/tax_due_date_type.rb +44 -0
- data/lib/factpulse/models/tax_representative.rb +2 -2
- data/lib/factpulse/models/taxable_amount.rb +2 -2
- data/lib/factpulse/models/taxableamount0.rb +104 -0
- data/lib/factpulse/models/taxamount.rb +104 -0
- data/lib/factpulse/models/taxamount1.rb +104 -0
- data/lib/factpulse/models/taxamount2.rb +104 -0
- data/lib/factpulse/models/taxexclusiveamount.rb +104 -0
- data/lib/factpulse/models/taxexclusiveamount1.rb +104 -0
- data/lib/factpulse/models/total_gross_amount.rb +2 -2
- data/lib/factpulse/models/total_net_amount.rb +2 -2
- data/lib/factpulse/models/total_vat_amount.rb +2 -2
- data/lib/factpulse/models/transaction_category.rb +42 -0
- data/lib/factpulse/models/transmission_type_code.rb +40 -0
- data/lib/factpulse/models/unit_net_price.rb +2 -2
- data/lib/factpulse/models/unit_of_measure.rb +2 -2
- data/lib/factpulse/models/validate_e_reporting_request.rb +166 -0
- data/lib/factpulse/models/validate_e_reporting_response.rb +271 -0
- data/lib/factpulse/models/validation_error.rb +3 -3
- data/lib/factpulse/models/validation_error_detail.rb +2 -2
- data/lib/factpulse/models/validation_error_response.rb +2 -2
- data/lib/factpulse/models/validation_info.rb +3 -3
- data/lib/factpulse/models/validation_success_response.rb +2 -2
- data/lib/factpulse/models/vat_accounting_code.rb +2 -2
- data/lib/factpulse/models/vat_amount.rb +2 -2
- data/lib/factpulse/models/vat_category.rb +2 -2
- data/lib/factpulse/models/vat_line.rb +2 -2
- data/lib/factpulse/models/vat_point_date_code.rb +2 -2
- data/lib/factpulse/models/vat_rate.rb +2 -2
- data/lib/factpulse/models/verification_success_response.rb +2 -2
- data/lib/factpulse/models/verified_field_schema.rb +2 -2
- data/lib/factpulse/version.rb +3 -3
- data/lib/factpulse.rb +143 -6
- metadata +291 -17
- data/docs/ConvertErrorResponse.md +0 -26
- data/docs/ConvertPendingInputResponse.md +0 -32
- data/lib/factpulse/models/convert_pending_input_response.rb +0 -322
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#FactPulse REST API
|
|
3
3
|
|
|
4
|
-
# 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://
|
|
4
|
+
# 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/
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
|
7
|
-
|
|
7
|
+
Contact: contact@factpulse.fr
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.19.0-SNAPSHOT
|
|
10
10
|
|
|
@@ -20,20 +20,22 @@ module FactPulse
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Download a flow
|
|
23
|
-
# Download
|
|
24
|
-
# @param flow_id [String]
|
|
23
|
+
# Download a file related to a given flow (AFNOR XP Z12-013 compliant): - Metadata [Default]: provides the flow metadata as JSON - Original: the document initially sent by the emitter - Converted: the document optionally converted by the system - ReadableView: the document optionally generated as readable file
|
|
24
|
+
# @param flow_id [String] AFNOR flow identifier (UUID)
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
|
-
# @
|
|
26
|
+
# @option opts [DocType] :doc_type Type of file to download: Metadata (default, JSON), Original, Converted, or ReadableView
|
|
27
|
+
# @return [AFNORFlow]
|
|
27
28
|
def download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get(flow_id, opts = {})
|
|
28
29
|
data, _status_code, _headers = download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get_with_http_info(flow_id, opts)
|
|
29
30
|
data
|
|
30
31
|
end
|
|
31
32
|
|
|
32
33
|
# Download a flow
|
|
33
|
-
# Download
|
|
34
|
-
# @param flow_id [String]
|
|
34
|
+
# Download a file related to a given flow (AFNOR XP Z12-013 compliant): - Metadata [Default]: provides the flow metadata as JSON - Original: the document initially sent by the emitter - Converted: the document optionally converted by the system - ReadableView: the document optionally generated as readable file
|
|
35
|
+
# @param flow_id [String] AFNOR flow identifier (UUID)
|
|
35
36
|
# @param [Hash] opts the optional parameters
|
|
36
|
-
# @
|
|
37
|
+
# @option opts [DocType] :doc_type Type of file to download: Metadata (default, JSON), Original, Converted, or ReadableView
|
|
38
|
+
# @return [Array<(AFNORFlow, Integer, Hash)>] AFNORFlow data, response status code and response headers
|
|
37
39
|
def download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get_with_http_info(flow_id, opts = {})
|
|
38
40
|
if @api_client.config.debugging
|
|
39
41
|
@api_client.config.logger.debug 'Calling API: AFNORPDPPAFlowServiceApi.download_flow_proxy_api_v1_afnor_flow_v1_flows_flow_id_get ...'
|
|
@@ -47,11 +49,12 @@ module FactPulse
|
|
|
47
49
|
|
|
48
50
|
# query parameters
|
|
49
51
|
query_params = opts[:query_params] || {}
|
|
52
|
+
query_params[:'docType'] = opts[:'doc_type'] if !opts[:'doc_type'].nil?
|
|
50
53
|
|
|
51
54
|
# header parameters
|
|
52
55
|
header_params = opts[:header_params] || {}
|
|
53
56
|
# HTTP header 'Accept' (if needed)
|
|
54
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/pdf']) unless header_params['Accept']
|
|
57
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/pdf', 'application/xml']) unless header_params['Accept']
|
|
55
58
|
|
|
56
59
|
# form parameters
|
|
57
60
|
form_params = opts[:form_params] || {}
|
|
@@ -60,7 +63,7 @@ module FactPulse
|
|
|
60
63
|
post_body = opts[:debug_body]
|
|
61
64
|
|
|
62
65
|
# return_type
|
|
63
|
-
return_type = opts[:debug_return_type] || '
|
|
66
|
+
return_type = opts[:debug_return_type] || 'AFNORFlow'
|
|
64
67
|
|
|
65
68
|
# auth_names
|
|
66
69
|
auth_names = opts[:debug_auth_names] || []
|
|
@@ -83,7 +86,7 @@ module FactPulse
|
|
|
83
86
|
end
|
|
84
87
|
|
|
85
88
|
# Healthcheck Flow Service
|
|
86
|
-
# Check Flow Service availability
|
|
89
|
+
# Check Flow Service availability (AFNOR XP Z12-013 compliant)
|
|
87
90
|
# @param [Hash] opts the optional parameters
|
|
88
91
|
# @return [Object]
|
|
89
92
|
def flow_healthcheck_proxy_api_v1_afnor_flow_v1_healthcheck_get(opts = {})
|
|
@@ -92,7 +95,7 @@ module FactPulse
|
|
|
92
95
|
end
|
|
93
96
|
|
|
94
97
|
# Healthcheck Flow Service
|
|
95
|
-
# Check Flow Service availability
|
|
98
|
+
# Check Flow Service availability (AFNOR XP Z12-013 compliant)
|
|
96
99
|
# @param [Hash] opts the optional parameters
|
|
97
100
|
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
|
98
101
|
def flow_healthcheck_proxy_api_v1_afnor_flow_v1_healthcheck_get_with_http_info(opts = {})
|
|
@@ -140,22 +143,28 @@ module FactPulse
|
|
|
140
143
|
end
|
|
141
144
|
|
|
142
145
|
# Search flows
|
|
143
|
-
# Search invoicing flows by criteria (
|
|
146
|
+
# Search invoicing flows by criteria (AFNOR XP Z12-013 compliant)
|
|
147
|
+
# @param afnor_search_flow_params [AFNORSearchFlowParams]
|
|
144
148
|
# @param [Hash] opts the optional parameters
|
|
145
|
-
# @return [
|
|
146
|
-
def search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post(opts = {})
|
|
147
|
-
data, _status_code, _headers = search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_with_http_info(opts)
|
|
149
|
+
# @return [AFNORSearchFlowContent]
|
|
150
|
+
def search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post(afnor_search_flow_params, opts = {})
|
|
151
|
+
data, _status_code, _headers = search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_with_http_info(afnor_search_flow_params, opts)
|
|
148
152
|
data
|
|
149
153
|
end
|
|
150
154
|
|
|
151
155
|
# Search flows
|
|
152
|
-
# Search invoicing flows by criteria (
|
|
156
|
+
# Search invoicing flows by criteria (AFNOR XP Z12-013 compliant)
|
|
157
|
+
# @param afnor_search_flow_params [AFNORSearchFlowParams]
|
|
153
158
|
# @param [Hash] opts the optional parameters
|
|
154
|
-
# @return [Array<(
|
|
155
|
-
def search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_with_http_info(opts = {})
|
|
159
|
+
# @return [Array<(AFNORSearchFlowContent, Integer, Hash)>] AFNORSearchFlowContent data, response status code and response headers
|
|
160
|
+
def search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post_with_http_info(afnor_search_flow_params, opts = {})
|
|
156
161
|
if @api_client.config.debugging
|
|
157
162
|
@api_client.config.logger.debug 'Calling API: AFNORPDPPAFlowServiceApi.search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post ...'
|
|
158
163
|
end
|
|
164
|
+
# verify the required parameter 'afnor_search_flow_params' is set
|
|
165
|
+
if @api_client.config.client_side_validation && afnor_search_flow_params.nil?
|
|
166
|
+
fail ArgumentError, "Missing the required parameter 'afnor_search_flow_params' when calling AFNORPDPPAFlowServiceApi.search_flows_proxy_api_v1_afnor_flow_v1_flows_search_post"
|
|
167
|
+
end
|
|
159
168
|
# resource path
|
|
160
169
|
local_var_path = '/api/v1/afnor/flow/v1/flows/search'
|
|
161
170
|
|
|
@@ -166,15 +175,20 @@ module FactPulse
|
|
|
166
175
|
header_params = opts[:header_params] || {}
|
|
167
176
|
# HTTP header 'Accept' (if needed)
|
|
168
177
|
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
178
|
+
# HTTP header 'Content-Type'
|
|
179
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
180
|
+
if !content_type.nil?
|
|
181
|
+
header_params['Content-Type'] = content_type
|
|
182
|
+
end
|
|
169
183
|
|
|
170
184
|
# form parameters
|
|
171
185
|
form_params = opts[:form_params] || {}
|
|
172
186
|
|
|
173
187
|
# http body (model)
|
|
174
|
-
post_body = opts[:debug_body]
|
|
188
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(afnor_search_flow_params)
|
|
175
189
|
|
|
176
190
|
# return_type
|
|
177
|
-
return_type = opts[:debug_return_type] || '
|
|
191
|
+
return_type = opts[:debug_return_type] || 'AFNORSearchFlowContent'
|
|
178
192
|
|
|
179
193
|
# auth_names
|
|
180
194
|
auth_names = opts[:debug_auth_names] || []
|
|
@@ -198,21 +212,33 @@ module FactPulse
|
|
|
198
212
|
|
|
199
213
|
# Submit an invoicing flow
|
|
200
214
|
# Submits an electronic invoice to a Partner Dematerialization Platform (PDP) in compliance with the AFNOR XP Z12-013 standard
|
|
215
|
+
# @param flow_info [AFNORFlowInfo]
|
|
216
|
+
# @param file [File] Flow file (PDF/A-3 with embedded XML or XML)
|
|
201
217
|
# @param [Hash] opts the optional parameters
|
|
202
218
|
# @return [Object]
|
|
203
|
-
def submit_flow_proxy_api_v1_afnor_flow_v1_flows_post(opts = {})
|
|
204
|
-
data, _status_code, _headers = submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_with_http_info(opts)
|
|
219
|
+
def submit_flow_proxy_api_v1_afnor_flow_v1_flows_post(flow_info, file, opts = {})
|
|
220
|
+
data, _status_code, _headers = submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_with_http_info(flow_info, file, opts)
|
|
205
221
|
data
|
|
206
222
|
end
|
|
207
223
|
|
|
208
224
|
# Submit an invoicing flow
|
|
209
225
|
# Submits an electronic invoice to a Partner Dematerialization Platform (PDP) in compliance with the AFNOR XP Z12-013 standard
|
|
226
|
+
# @param flow_info [AFNORFlowInfo]
|
|
227
|
+
# @param file [File] Flow file (PDF/A-3 with embedded XML or XML)
|
|
210
228
|
# @param [Hash] opts the optional parameters
|
|
211
229
|
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
|
212
|
-
def submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_with_http_info(opts = {})
|
|
230
|
+
def submit_flow_proxy_api_v1_afnor_flow_v1_flows_post_with_http_info(flow_info, file, opts = {})
|
|
213
231
|
if @api_client.config.debugging
|
|
214
232
|
@api_client.config.logger.debug 'Calling API: AFNORPDPPAFlowServiceApi.submit_flow_proxy_api_v1_afnor_flow_v1_flows_post ...'
|
|
215
233
|
end
|
|
234
|
+
# verify the required parameter 'flow_info' is set
|
|
235
|
+
if @api_client.config.client_side_validation && flow_info.nil?
|
|
236
|
+
fail ArgumentError, "Missing the required parameter 'flow_info' when calling AFNORPDPPAFlowServiceApi.submit_flow_proxy_api_v1_afnor_flow_v1_flows_post"
|
|
237
|
+
end
|
|
238
|
+
# verify the required parameter 'file' is set
|
|
239
|
+
if @api_client.config.client_side_validation && file.nil?
|
|
240
|
+
fail ArgumentError, "Missing the required parameter 'file' when calling AFNORPDPPAFlowServiceApi.submit_flow_proxy_api_v1_afnor_flow_v1_flows_post"
|
|
241
|
+
end
|
|
216
242
|
# resource path
|
|
217
243
|
local_var_path = '/api/v1/afnor/flow/v1/flows'
|
|
218
244
|
|
|
@@ -223,9 +249,16 @@ module FactPulse
|
|
|
223
249
|
header_params = opts[:header_params] || {}
|
|
224
250
|
# HTTP header 'Accept' (if needed)
|
|
225
251
|
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
252
|
+
# HTTP header 'Content-Type'
|
|
253
|
+
content_type = @api_client.select_header_content_type(['multipart/form-data'])
|
|
254
|
+
if !content_type.nil?
|
|
255
|
+
header_params['Content-Type'] = content_type
|
|
256
|
+
end
|
|
226
257
|
|
|
227
258
|
# form parameters
|
|
228
259
|
form_params = opts[:form_params] || {}
|
|
260
|
+
form_params['flowInfo'] = flow_info
|
|
261
|
+
form_params['file'] = file
|
|
229
262
|
|
|
230
263
|
# http body (model)
|
|
231
264
|
post_body = opts[:debug_body]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#FactPulse REST API
|
|
3
3
|
|
|
4
|
-
# 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://
|
|
4
|
+
# 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/
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
|
7
|
-
|
|
7
|
+
Contact: contact@factpulse.fr
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.19.0-SNAPSHOT
|
|
10
10
|
|
|
@@ -293,7 +293,7 @@ module FactPulse
|
|
|
293
293
|
|
|
294
294
|
# List structure services
|
|
295
295
|
# Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
|
|
296
|
-
# @param id_structure_cpp [Integer]
|
|
296
|
+
# @param id_structure_cpp [Integer] Chorus Pro structure ID (idStructureCPP)
|
|
297
297
|
# @param [Hash] opts the optional parameters
|
|
298
298
|
# @return [SearchServicesResponse]
|
|
299
299
|
def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get(id_structure_cpp, opts = {})
|
|
@@ -303,7 +303,7 @@ module FactPulse
|
|
|
303
303
|
|
|
304
304
|
# List structure services
|
|
305
305
|
# Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
|
|
306
|
-
# @param id_structure_cpp [Integer]
|
|
306
|
+
# @param id_structure_cpp [Integer] Chorus Pro structure ID (idStructureCPP)
|
|
307
307
|
# @param [Hash] opts the optional parameters
|
|
308
308
|
# @return [Array<(SearchServicesResponse, Integer, Hash)>] SearchServicesResponse data, response status code and response headers
|
|
309
309
|
def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(id_structure_cpp, opts = {})
|
|
@@ -899,6 +899,7 @@ module FactPulse
|
|
|
899
899
|
end
|
|
900
900
|
|
|
901
901
|
# Consult an invoice (Validator)
|
|
902
|
+
# Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
|
|
902
903
|
# @param request_body [Hash<String, Object>]
|
|
903
904
|
# @param [Hash] opts the optional parameters
|
|
904
905
|
# @return [Object]
|
|
@@ -908,6 +909,7 @@ module FactPulse
|
|
|
908
909
|
end
|
|
909
910
|
|
|
910
911
|
# Consult an invoice (Validator)
|
|
912
|
+
# Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
|
|
911
913
|
# @param request_body [Hash<String, Object>]
|
|
912
914
|
# @param [Hash] opts the optional parameters
|
|
913
915
|
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#FactPulse REST API
|
|
3
3
|
|
|
4
|
-
# 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://
|
|
4
|
+
# 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/
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
|
7
|
-
|
|
7
|
+
Contact: contact@factpulse.fr
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.19.0-SNAPSHOT
|
|
10
10
|
|
|
@@ -19,87 +19,13 @@ module FactPulse
|
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
|
-
# Convertir un document en Factur-X
|
|
23
|
-
# Convertit un document (PDF, DOCX, XLSX, image) en Factur-X conforme. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Extraction OCR + Classification** : Mistral OCR extrait les données et classifie le document en un seul appel 3. **Enrichissement** : Les données sont enrichies via SIRENE (SIRET → raison sociale) 4. **Validation** : Les règles Schematron sont appliquées 5. **Génération** : Le Factur-X PDF/A-3 est généré ## Réponses possibles - **200** : Conversion réussie, fichiers disponibles - **202** : Données manquantes, complétion requise - **422** : Validation échouée, corrections nécessaires - **400** : Fichier invalide - **429** : Quota dépassé
|
|
24
|
-
# @param file [File] Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
|
|
25
|
-
# @param [Hash] opts the optional parameters
|
|
26
|
-
# @option opts [String] :output Format de sortie: pdf, xml, both (default to 'pdf')
|
|
27
|
-
# @option opts [String] :callback_url
|
|
28
|
-
# @return [ConvertSuccessResponse]
|
|
29
|
-
def convert_document_api_v1_convert_post(file, opts = {})
|
|
30
|
-
data, _status_code, _headers = convert_document_api_v1_convert_post_with_http_info(file, opts)
|
|
31
|
-
data
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
# Convertir un document en Factur-X
|
|
35
|
-
# Convertit un document (PDF, DOCX, XLSX, image) en Factur-X conforme. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Extraction OCR + Classification** : Mistral OCR extrait les données et classifie le document en un seul appel 3. **Enrichissement** : Les données sont enrichies via SIRENE (SIRET → raison sociale) 4. **Validation** : Les règles Schematron sont appliquées 5. **Génération** : Le Factur-X PDF/A-3 est généré ## Réponses possibles - **200** : Conversion réussie, fichiers disponibles - **202** : Données manquantes, complétion requise - **422** : Validation échouée, corrections nécessaires - **400** : Fichier invalide - **429** : Quota dépassé
|
|
36
|
-
# @param file [File] Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
|
|
37
|
-
# @param [Hash] opts the optional parameters
|
|
38
|
-
# @option opts [String] :output Format de sortie: pdf, xml, both (default to 'pdf')
|
|
39
|
-
# @option opts [String] :callback_url
|
|
40
|
-
# @return [Array<(ConvertSuccessResponse, Integer, Hash)>] ConvertSuccessResponse data, response status code and response headers
|
|
41
|
-
def convert_document_api_v1_convert_post_with_http_info(file, opts = {})
|
|
42
|
-
if @api_client.config.debugging
|
|
43
|
-
@api_client.config.logger.debug 'Calling API: DocumentConversionApi.convert_document_api_v1_convert_post ...'
|
|
44
|
-
end
|
|
45
|
-
# verify the required parameter 'file' is set
|
|
46
|
-
if @api_client.config.client_side_validation && file.nil?
|
|
47
|
-
fail ArgumentError, "Missing the required parameter 'file' when calling DocumentConversionApi.convert_document_api_v1_convert_post"
|
|
48
|
-
end
|
|
49
|
-
# resource path
|
|
50
|
-
local_var_path = '/api/v1/convert'
|
|
51
|
-
|
|
52
|
-
# query parameters
|
|
53
|
-
query_params = opts[:query_params] || {}
|
|
54
|
-
|
|
55
|
-
# header parameters
|
|
56
|
-
header_params = opts[:header_params] || {}
|
|
57
|
-
# HTTP header 'Accept' (if needed)
|
|
58
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
59
|
-
# HTTP header 'Content-Type'
|
|
60
|
-
content_type = @api_client.select_header_content_type(['multipart/form-data'])
|
|
61
|
-
if !content_type.nil?
|
|
62
|
-
header_params['Content-Type'] = content_type
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# form parameters
|
|
66
|
-
form_params = opts[:form_params] || {}
|
|
67
|
-
form_params['file'] = file
|
|
68
|
-
form_params['output'] = opts[:'output'] if !opts[:'output'].nil?
|
|
69
|
-
form_params['callback_url'] = opts[:'callback_url'] if !opts[:'callback_url'].nil?
|
|
70
|
-
|
|
71
|
-
# http body (model)
|
|
72
|
-
post_body = opts[:debug_body]
|
|
73
|
-
|
|
74
|
-
# return_type
|
|
75
|
-
return_type = opts[:debug_return_type] || 'ConvertSuccessResponse'
|
|
76
|
-
|
|
77
|
-
# auth_names
|
|
78
|
-
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
79
|
-
|
|
80
|
-
new_options = opts.merge(
|
|
81
|
-
:operation => :"DocumentConversionApi.convert_document_api_v1_convert_post",
|
|
82
|
-
:header_params => header_params,
|
|
83
|
-
:query_params => query_params,
|
|
84
|
-
:form_params => form_params,
|
|
85
|
-
:body => post_body,
|
|
86
|
-
:auth_names => auth_names,
|
|
87
|
-
:return_type => return_type
|
|
88
|
-
)
|
|
89
|
-
|
|
90
|
-
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
91
|
-
if @api_client.config.debugging
|
|
92
|
-
@api_client.config.logger.debug "API called: DocumentConversionApi#convert_document_api_v1_convert_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
93
|
-
end
|
|
94
|
-
return data, status_code, headers
|
|
95
|
-
end
|
|
96
|
-
|
|
97
22
|
# Convertir un document en Factur-X (mode asynchrone)
|
|
98
23
|
# Lance une conversion asynchrone via Celery. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Task Celery** : La tâche est mise en file d'attente 3. **Callback** : Notification par webhook à la fin ## Réponses possibles - **202** : Tâche acceptée, en cours de traitement - **400** : Fichier invalide
|
|
99
24
|
# @param file [File] Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
|
|
100
25
|
# @param [Hash] opts the optional parameters
|
|
101
26
|
# @option opts [String] :output Format de sortie: pdf, xml, both (default to 'pdf')
|
|
102
27
|
# @option opts [String] :callback_url
|
|
28
|
+
# @option opts [String] :webhook_mode Mode de livraison du contenu: 'inline' (base64 dans webhook) ou 'download_url' (URL temporaire 1h) (default to 'inline')
|
|
103
29
|
# @return [Object]
|
|
104
30
|
def convert_document_async_api_v1_convert_async_post(file, opts = {})
|
|
105
31
|
data, _status_code, _headers = convert_document_async_api_v1_convert_async_post_with_http_info(file, opts)
|
|
@@ -112,6 +38,7 @@ module FactPulse
|
|
|
112
38
|
# @param [Hash] opts the optional parameters
|
|
113
39
|
# @option opts [String] :output Format de sortie: pdf, xml, both (default to 'pdf')
|
|
114
40
|
# @option opts [String] :callback_url
|
|
41
|
+
# @option opts [String] :webhook_mode Mode de livraison du contenu: 'inline' (base64 dans webhook) ou 'download_url' (URL temporaire 1h) (default to 'inline')
|
|
115
42
|
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
|
116
43
|
def convert_document_async_api_v1_convert_async_post_with_http_info(file, opts = {})
|
|
117
44
|
if @api_client.config.debugging
|
|
@@ -142,6 +69,7 @@ module FactPulse
|
|
|
142
69
|
form_params['file'] = file
|
|
143
70
|
form_params['output'] = opts[:'output'] if !opts[:'output'].nil?
|
|
144
71
|
form_params['callback_url'] = opts[:'callback_url'] if !opts[:'callback_url'].nil?
|
|
72
|
+
form_params['webhook_mode'] = opts[:'webhook_mode'] if !opts[:'webhook_mode'].nil?
|
|
145
73
|
|
|
146
74
|
# http body (model)
|
|
147
75
|
post_body = opts[:debug_body]
|
|
@@ -171,8 +99,8 @@ module FactPulse
|
|
|
171
99
|
|
|
172
100
|
# Télécharger un fichier généré
|
|
173
101
|
# Télécharge le fichier Factur-X PDF ou XML généré. ## Fichiers disponibles - `facturx.pdf` : PDF/A-3 avec XML embarqué - `facturx.xml` : XML CII seul (Cross Industry Invoice) Les fichiers sont disponibles pendant 24 heures après génération.
|
|
174
|
-
# @param conversion_id [String]
|
|
175
|
-
# @param filename [String]
|
|
102
|
+
# @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
|
|
103
|
+
# @param filename [String] File to download: 'facturx.pdf' or 'facturx.xml'
|
|
176
104
|
# @param [Hash] opts the optional parameters
|
|
177
105
|
# @return [Object]
|
|
178
106
|
def download_file_api_v1_convert_conversion_id_download_filename_get(conversion_id, filename, opts = {})
|
|
@@ -182,8 +110,8 @@ module FactPulse
|
|
|
182
110
|
|
|
183
111
|
# Télécharger un fichier généré
|
|
184
112
|
# Télécharge le fichier Factur-X PDF ou XML généré. ## Fichiers disponibles - `facturx.pdf` : PDF/A-3 avec XML embarqué - `facturx.xml` : XML CII seul (Cross Industry Invoice) Les fichiers sont disponibles pendant 24 heures après génération.
|
|
185
|
-
# @param conversion_id [String]
|
|
186
|
-
# @param filename [String]
|
|
113
|
+
# @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
|
|
114
|
+
# @param filename [String] File to download: 'facturx.pdf' or 'facturx.xml'
|
|
187
115
|
# @param [Hash] opts the optional parameters
|
|
188
116
|
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
|
189
117
|
def download_file_api_v1_convert_conversion_id_download_filename_get_with_http_info(conversion_id, filename, opts = {})
|
|
@@ -240,7 +168,7 @@ module FactPulse
|
|
|
240
168
|
|
|
241
169
|
# Vérifier le statut d'une conversion
|
|
242
170
|
# Retourne le statut actuel d'une conversion asynchrone.
|
|
243
|
-
# @param conversion_id [String]
|
|
171
|
+
# @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
|
|
244
172
|
# @param [Hash] opts the optional parameters
|
|
245
173
|
# @return [Hash<String, Object>]
|
|
246
174
|
def get_conversion_status_api_v1_convert_conversion_id_status_get(conversion_id, opts = {})
|
|
@@ -250,7 +178,7 @@ module FactPulse
|
|
|
250
178
|
|
|
251
179
|
# Vérifier le statut d'une conversion
|
|
252
180
|
# Retourne le statut actuel d'une conversion asynchrone.
|
|
253
|
-
# @param conversion_id [String]
|
|
181
|
+
# @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
|
|
254
182
|
# @param [Hash] opts the optional parameters
|
|
255
183
|
# @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
|
|
256
184
|
def get_conversion_status_api_v1_convert_conversion_id_status_get_with_http_info(conversion_id, opts = {})
|
|
@@ -303,7 +231,7 @@ module FactPulse
|
|
|
303
231
|
|
|
304
232
|
# Reprendre une conversion avec corrections
|
|
305
233
|
# Reprend une conversion après complétion des données manquantes ou correction des erreurs. L'extraction OCR est conservée, les données sont mises à jour avec les corrections, puis une nouvelle validation Schematron est effectuée.
|
|
306
|
-
# @param conversion_id [String]
|
|
234
|
+
# @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
|
|
307
235
|
# @param convert_resume_request [ConvertResumeRequest]
|
|
308
236
|
# @param [Hash] opts the optional parameters
|
|
309
237
|
# @return [ConvertSuccessResponse]
|
|
@@ -314,7 +242,7 @@ module FactPulse
|
|
|
314
242
|
|
|
315
243
|
# Reprendre une conversion avec corrections
|
|
316
244
|
# Reprend une conversion après complétion des données manquantes ou correction des erreurs. L'extraction OCR est conservée, les données sont mises à jour avec les corrections, puis une nouvelle validation Schematron est effectuée.
|
|
317
|
-
# @param conversion_id [String]
|
|
245
|
+
# @param conversion_id [String] Conversion ID returned by POST /convert (UUID format)
|
|
318
246
|
# @param convert_resume_request [ConvertResumeRequest]
|
|
319
247
|
# @param [Hash] opts the optional parameters
|
|
320
248
|
# @return [Array<(ConvertSuccessResponse, Integer, Hash)>] ConvertSuccessResponse data, response status code and response headers
|