factpulse 4.0.2 → 4.1.2
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 +4 -4
- data/Gemfile.lock +3 -3
- data/README.md +12 -0
- data/docs/AFNORErrorDetail.md +26 -0
- data/docs/AFNORPDPPAApi.md +9 -2
- data/docs/AsyncTasksApi.md +231 -1
- data/docs/ChorusProApi.md +96 -16
- data/docs/ClientManagementApi.md +371 -25
- data/docs/ConversionErrorResult.md +30 -0
- data/docs/ConversionExtractionInfo.md +20 -0
- data/docs/ConversionPendingInputResult.md +30 -0
- data/docs/ConversionSuccessTaskResult.md +36 -0
- data/docs/ConversionTaskStatus.md +22 -0
- data/docs/ConversionTaskStatusResult.md +85 -0
- data/docs/ConversionValidationFailedResult.md +34 -0
- data/docs/ConvertResumeRequest.md +5 -1
- data/docs/DownloadsApi.md +16 -6
- data/docs/ElectronicSignatureApi.md +24 -4
- data/docs/FacturXConversionApi.md +176 -4
- data/docs/FacturXInvoice.md +1 -1
- data/docs/FacturXPDFXMLVerificationApi.md +93 -3
- data/docs/FacturXValidationApi.md +12 -78
- data/docs/FactureElectroniqueModelsInvoiceTypeCode.md +15 -0
- data/docs/FactureElectroniqueRestApiSchemasValidationValidationErrorResponse.md +18 -0
- data/docs/Flux10EReportingApi.md +36 -6
- data/docs/Flux6InvoiceLifecycleCDARApi.md +100 -3
- data/docs/GenerationSuccessResult.md +24 -0
- data/docs/GenerationTaskStatus.md +22 -0
- data/docs/GenerationTaskStatusResult.md +79 -0
- data/docs/HealthApi.md +6 -125
- data/docs/{FacturXGenerationApi.md → InvoiceGenerationApi.md} +39 -24
- data/docs/InvoiceInput.md +1 -1
- data/docs/InvoiceLifecycle.md +24 -0
- data/docs/InvoicingFramework.md +1 -1
- data/docs/KeyRotationRequest.md +20 -0
- data/docs/KeyRotationResponse.md +24 -0
- data/docs/LifecycleEvent.md +38 -0
- data/docs/LifecycleResponse.md +22 -0
- data/docs/PDPConfigResponse.md +2 -0
- data/docs/PDPConfigUpdateRequest.md +3 -1
- data/docs/ParseApi.md +161 -0
- data/docs/ParseFacturXResponse.md +26 -0
- data/docs/ReferencesApi.md +74 -0
- data/docs/SecretStatus.md +5 -1
- data/docs/SignatureSuccessResult.md +34 -0
- data/docs/SignatureTaskStatus.md +22 -0
- data/docs/SignatureTaskStatusResult.md +79 -0
- data/docs/SimplifiedInvoiceData.md +1 -1
- data/docs/SubmitCompleteInvoiceResponse.md +3 -1
- data/docs/Supplier.md +1 -1
- data/docs/TaskErrorResult.md +26 -0
- data/docs/VATEXCodeInfo.md +24 -0
- data/docs/VATEXCodesResponse.md +22 -0
- data/docs/ValidateCDARResponse.md +2 -2
- data/docs/ValidationApi.md +88 -0
- data/docs/ValidationErrorResponse.md +8 -2
- data/docs/ValidationSuccessTaskResult.md +20 -0
- data/docs/ValidationTaskStatus.md +22 -0
- data/docs/ValidationTaskStatusResult.md +79 -0
- data/docs/VerificationSuccessTaskResult.md +20 -0
- data/docs/VerificationTypedTaskStatus.md +22 -0
- data/docs/VerificationTypedTaskStatusResult.md +79 -0
- data/docs/WebhookSecretDeleteResponse.md +20 -0
- data/docs/WebhookSecretGenerateResponse.md +24 -0
- data/docs/WebhookSecretStatusResponse.md +20 -0
- data/factpulse.gemspec +3 -3
- data/lib/factpulse/api/afnorpdppa_api.rb +6 -3
- data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +2 -2
- data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +2 -2
- data/lib/factpulse/api/async_tasks_api.rb +192 -3
- data/lib/factpulse/api/chorus_pro_api.rb +18 -18
- data/lib/factpulse/api/client_management_api.rb +290 -24
- data/lib/factpulse/api/downloads_api.rb +8 -8
- data/lib/factpulse/api/electronic_signature_api.rb +6 -6
- data/lib/factpulse/api/factur_x_conversion_api.rb +143 -6
- data/lib/factpulse/api/factur_x_validation_api.rb +4 -79
- data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +68 -5
- data/lib/factpulse/api/flux10_e_reporting_api.rb +8 -8
- data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +88 -5
- data/lib/factpulse/api/health_api.rb +3 -117
- data/lib/factpulse/api/{factur_x_generation_api.rb → invoice_generation_api.rb} +26 -26
- data/lib/factpulse/api/parse_api.rb +163 -0
- data/lib/factpulse/api/references_api.rb +82 -0
- data/lib/factpulse/api/validation_api.rb +97 -0
- 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 +9 -2
- data/lib/factpulse/models/acknowledgment_status.rb +2 -2
- data/lib/factpulse/models/action_code_info.rb +2 -2
- data/lib/factpulse/models/action_codes_response.rb +2 -2
- data/lib/factpulse/models/additional_document.rb +2 -2
- data/lib/factpulse/models/afnor_acknowledgement.rb +2 -2
- data/lib/factpulse/models/afnor_acknowledgement_detail.rb +2 -2
- data/lib/factpulse/models/afnor_address_edit.rb +2 -2
- data/lib/factpulse/models/afnor_address_patch.rb +2 -2
- data/lib/factpulse/models/afnor_address_put.rb +2 -2
- data/lib/factpulse/models/afnor_address_read.rb +2 -2
- data/lib/factpulse/models/afnor_algorithm.rb +2 -2
- data/lib/factpulse/models/afnor_contains_operator.rb +2 -2
- data/lib/factpulse/models/afnor_create_directory_line_body.rb +2 -2
- data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +2 -2
- data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +2 -2
- data/lib/factpulse/models/afnor_create_routing_code_body.rb +2 -2
- data/lib/factpulse/models/afnor_credentials.rb +2 -2
- data/lib/factpulse/models/afnor_destination.rb +2 -2
- data/lib/factpulse/models/afnor_diffusion_status.rb +2 -2
- data/lib/factpulse/models/afnor_directory_line_field.rb +2 -2
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +2 -2
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +2 -2
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +2 -2
- data/lib/factpulse/models/afnor_directory_line_post201_response.rb +2 -2
- data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +2 -2
- data/lib/factpulse/models/afnor_entity_type.rb +2 -2
- data/lib/factpulse/models/afnor_error.rb +2 -2
- data/lib/factpulse/models/afnor_error_detail.rb +237 -0
- data/lib/factpulse/models/afnor_facility_administrative_status.rb +2 -2
- data/lib/factpulse/models/afnor_facility_nature.rb +2 -2
- data/lib/factpulse/models/afnor_facility_payload_history.rb +2 -2
- data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +2 -2
- data/lib/factpulse/models/afnor_facility_payload_included.rb +2 -2
- data/lib/factpulse/models/afnor_facility_type.rb +2 -2
- data/lib/factpulse/models/afnor_flow.rb +2 -2
- data/lib/factpulse/models/afnor_flow_ack_status.rb +2 -2
- data/lib/factpulse/models/afnor_flow_direction.rb +2 -2
- data/lib/factpulse/models/afnor_flow_info.rb +2 -2
- data/lib/factpulse/models/afnor_flow_profile.rb +2 -2
- data/lib/factpulse/models/afnor_flow_syntax.rb +2 -2
- data/lib/factpulse/models/afnor_flow_type.rb +2 -2
- data/lib/factpulse/models/afnor_full_flow_info.rb +2 -2
- data/lib/factpulse/models/afnor_health_check_response.rb +2 -2
- data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +2 -2
- data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +2 -2
- data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +2 -2
- data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +2 -2
- data/lib/factpulse/models/afnor_platform_status.rb +2 -2
- data/lib/factpulse/models/afnor_processing_rule.rb +2 -2
- data/lib/factpulse/models/afnor_reason_code.rb +2 -2
- data/lib/factpulse/models/afnor_reason_code_enum.rb +2 -2
- data/lib/factpulse/models/afnor_recipient_platform_type.rb +2 -2
- data/lib/factpulse/models/afnor_result.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_field.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_post201_response.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_search.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_search_filters.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +2 -2
- data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +2 -2
- data/lib/factpulse/models/afnor_search_directory_line.rb +2 -2
- data/lib/factpulse/models/afnor_search_directory_line_filters.rb +2 -2
- data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +2 -2
- data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +2 -2
- data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +2 -2
- data/lib/factpulse/models/afnor_search_flow_content.rb +2 -2
- data/lib/factpulse/models/afnor_search_flow_filters.rb +2 -2
- data/lib/factpulse/models/afnor_search_flow_params.rb +2 -2
- data/lib/factpulse/models/afnor_search_siren.rb +2 -2
- data/lib/factpulse/models/afnor_search_siren_filters.rb +2 -2
- data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +2 -2
- data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +2 -2
- data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +2 -2
- data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +2 -2
- data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters_name.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +2 -2
- data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +2 -2
- data/lib/factpulse/models/afnor_siren_field.rb +2 -2
- data/lib/factpulse/models/afnor_siren_search_post200_response.rb +2 -2
- data/lib/factpulse/models/afnor_siret_field.rb +2 -2
- data/lib/factpulse/models/afnor_siret_search_post200_response.rb +2 -2
- data/lib/factpulse/models/afnor_sorting_order.rb +2 -2
- data/lib/factpulse/models/afnor_strict_operator.rb +2 -2
- data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +2 -2
- data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +2 -2
- data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +2 -2
- data/lib/factpulse/models/afnor_webhook_callback_content.rb +2 -2
- data/lib/factpulse/models/aggregated_payment_input.rb +2 -2
- data/lib/factpulse/models/aggregated_transaction_input.rb +2 -2
- data/lib/factpulse/models/allowance_charge.rb +2 -2
- data/lib/factpulse/models/allowance_charge_reason_code.rb +2 -2
- 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 +2 -2
- data/lib/factpulse/models/amount1.rb +2 -2
- data/lib/factpulse/models/amount2.rb +2 -2
- 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 +2 -2
- 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 +2 -2
- 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/chorus_pro_credentials.rb +2 -2
- data/lib/factpulse/models/chorus_pro_destination.rb +2 -2
- data/lib/factpulse/models/chorus_pro_result.rb +2 -2
- data/lib/factpulse/models/client_activate_response.rb +2 -2
- data/lib/factpulse/models/client_create_request.rb +2 -2
- data/lib/factpulse/models/client_detail.rb +2 -2
- data/lib/factpulse/models/client_list_response.rb +2 -2
- data/lib/factpulse/models/client_summary.rb +2 -2
- data/lib/factpulse/models/client_update_request.rb +2 -2
- data/lib/factpulse/models/contact.rb +2 -2
- data/lib/factpulse/models/conversion_error_result.rb +277 -0
- data/lib/factpulse/models/conversion_extraction_info.rb +176 -0
- data/lib/factpulse/models/conversion_pending_input_result.rb +344 -0
- data/lib/factpulse/models/conversion_success_task_result.rb +355 -0
- data/lib/factpulse/models/conversion_task_status.rb +223 -0
- data/lib/factpulse/models/conversion_task_status_result.rb +59 -0
- data/lib/factpulse/models/conversion_validation_failed_result.rb +348 -0
- data/lib/factpulse/models/convert_resume_request.rb +29 -7
- data/lib/factpulse/models/convert_success_response.rb +2 -2
- data/lib/factpulse/models/convert_validation_failed_response.rb +2 -2
- data/lib/factpulse/models/country_code.rb +2 -2
- data/lib/factpulse/models/create_aggregated_report_request.rb +2 -2
- data/lib/factpulse/models/create_cdar_request.rb +2 -2
- data/lib/factpulse/models/create_e_reporting_request.rb +2 -2
- data/lib/factpulse/models/currency.rb +2 -2
- data/lib/factpulse/models/currency_code.rb +2 -2
- data/lib/factpulse/models/delivery_party.rb +2 -2
- data/lib/factpulse/models/destination.rb +2 -2
- data/lib/factpulse/models/doc_type.rb +2 -2
- data/lib/factpulse/models/document_type_info.rb +2 -2
- data/lib/factpulse/models/e_reporting_flow_type.rb +2 -2
- data/lib/factpulse/models/e_reporting_validation_error.rb +2 -2
- data/lib/factpulse/models/electronic_address.rb +2 -2
- data/lib/factpulse/models/encaisseamount.rb +2 -2
- data/lib/factpulse/models/encaisseamount1.rb +2 -2
- data/lib/factpulse/models/encaissee_request.rb +2 -2
- data/lib/factpulse/models/enriched_invoice_info.rb +2 -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 +3 -19
- 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_chorus_pro_chorus_pro_credentials.rb +2 -2
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_validation_validation_error_response.rb +168 -0
- 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 +2 -2
- data/lib/factpulse/models/flow_syntax.rb +2 -2
- data/lib/factpulse/models/flow_type.rb +2 -2
- data/lib/factpulse/models/generate_aggregated_report_response.rb +2 -2
- data/lib/factpulse/models/generate_cdar_response.rb +2 -2
- 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 +2 -2
- data/lib/factpulse/models/generation_success_result.rb +230 -0
- data/lib/factpulse/models/generation_task_status.rb +223 -0
- data/lib/factpulse/models/generation_task_status_result.rb +55 -0
- data/lib/factpulse/models/get_chorus_pro_id_request.rb +2 -2
- data/lib/factpulse/models/get_chorus_pro_id_response.rb +2 -2
- data/lib/factpulse/models/get_invoice_request.rb +2 -2
- data/lib/factpulse/models/get_invoice_response.rb +2 -2
- data/lib/factpulse/models/get_structure_request.rb +2 -2
- data/lib/factpulse/models/get_structure_response.rb +2 -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 +2 -2
- 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 +3 -3
- data/lib/factpulse/models/invoice_lifecycle.rb +215 -0
- data/lib/factpulse/models/invoice_line.rb +2 -2
- data/lib/factpulse/models/invoice_line_allowance_amount.rb +2 -2
- data/lib/factpulse/models/invoice_note.rb +2 -2
- data/lib/factpulse/models/invoice_payment_input.rb +2 -2
- 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 +2 -2
- data/lib/factpulse/models/invoicing_framework.rb +3 -20
- data/lib/factpulse/models/invoicing_framework_code.rb +2 -2
- data/lib/factpulse/models/issuer_role_code.rb +2 -2
- data/lib/factpulse/models/key_rotation_request.rb +211 -0
- data/lib/factpulse/models/key_rotation_response.rb +232 -0
- data/lib/factpulse/models/lifecycle_event.rb +300 -0
- data/lib/factpulse/models/lifecycle_response.rb +205 -0
- data/lib/factpulse/models/line_net_amount.rb +2 -2
- data/lib/factpulse/models/line_sub_type.rb +2 -2
- data/lib/factpulse/models/line_total_amount.rb +2 -2
- data/lib/factpulse/models/location_inner.rb +2 -2
- 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 +5 -3
- data/lib/factpulse/models/page_dimensions_schema.rb +2 -2
- data/lib/factpulse/models/parse_factur_x_response.rb +249 -0
- data/lib/factpulse/models/payee.rb +2 -2
- data/lib/factpulse/models/payment_amount_by_rate.rb +2 -2
- 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_config_response.rb +13 -3
- data/lib/factpulse/models/pdp_config_update_request.rb +51 -7
- 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 +2 -2
- 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 +2 -2
- data/lib/factpulse/models/rate1.rb +2 -2
- data/lib/factpulse/models/reason_code_info.rb +2 -2
- data/lib/factpulse/models/reason_codes_response.rb +2 -2
- data/lib/factpulse/models/recipient.rb +2 -2
- data/lib/factpulse/models/recipient_input.rb +2 -2
- data/lib/factpulse/models/refusee_request.rb +2 -2
- data/lib/factpulse/models/report_issuer.rb +2 -2
- data/lib/factpulse/models/report_period.rb +2 -2
- data/lib/factpulse/models/report_sender.rb +2 -2
- data/lib/factpulse/models/rounding_amount.rb +2 -2
- data/lib/factpulse/models/schematron_validation_error.rb +2 -2
- data/lib/factpulse/models/scheme_id.rb +2 -2
- 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 +2 -2
- data/lib/factpulse/models/search_structure_request.rb +2 -2
- data/lib/factpulse/models/search_structure_response.rb +2 -2
- data/lib/factpulse/models/secret_status.rb +26 -6
- data/lib/factpulse/models/sellercountry.rb +2 -2
- 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/signature_success_result.rb +394 -0
- data/lib/factpulse/models/signature_task_status.rb +223 -0
- data/lib/factpulse/models/signature_task_status_result.rb +55 -0
- data/lib/factpulse/models/simplified_cdar_response.rb +2 -2
- data/lib/factpulse/models/simplified_invoice_data.rb +3 -3
- data/lib/factpulse/models/status_code_info.rb +2 -2
- data/lib/factpulse/models/status_codes_response.rb +2 -2
- 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 +2 -2
- data/lib/factpulse/models/submit_cdar_request.rb +2 -2
- data/lib/factpulse/models/submit_cdar_response.rb +2 -2
- data/lib/factpulse/models/submit_cdarxml_request.rb +2 -2
- data/lib/factpulse/models/submit_complete_invoice_request.rb +2 -2
- data/lib/factpulse/models/submit_complete_invoice_response.rb +33 -4
- data/lib/factpulse/models/submit_e_reporting_request.rb +2 -2
- data/lib/factpulse/models/submit_e_reporting_response.rb +2 -2
- 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 +2 -2
- 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 +2 -2
- data/lib/factpulse/models/supplier.rb +4 -18
- data/lib/factpulse/models/task_error_result.rb +257 -0
- data/lib/factpulse/models/task_response.rb +2 -2
- data/lib/factpulse/models/tax_breakdown_input.rb +2 -2
- data/lib/factpulse/models/tax_due_date_type.rb +2 -2
- data/lib/factpulse/models/tax_representative.rb +2 -2
- data/lib/factpulse/models/taxable_amount.rb +2 -2
- data/lib/factpulse/models/taxableamount.rb +2 -2
- data/lib/factpulse/models/taxamount.rb +2 -2
- data/lib/factpulse/models/taxamount1.rb +2 -2
- data/lib/factpulse/models/taxamount2.rb +2 -2
- data/lib/factpulse/models/taxexclusiveamount.rb +2 -2
- data/lib/factpulse/models/taxexclusiveamount1.rb +2 -2
- 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 +2 -2
- data/lib/factpulse/models/transmission_type_code.rb +2 -2
- data/lib/factpulse/models/unit_net_price.rb +2 -2
- data/lib/factpulse/models/unit_of_measure.rb +17 -3
- data/lib/factpulse/models/validate_cdar_request.rb +2 -2
- data/lib/factpulse/models/validate_cdar_response.rb +4 -4
- data/lib/factpulse/models/validate_e_reporting_request.rb +2 -2
- data/lib/factpulse/models/validate_e_reporting_response.rb +2 -2
- data/lib/factpulse/models/validation_error.rb +2 -2
- data/lib/factpulse/models/validation_error_detail.rb +2 -2
- data/lib/factpulse/models/validation_error_response.rb +69 -22
- data/lib/factpulse/models/validation_info.rb +2 -2
- data/lib/factpulse/models/validation_success_response.rb +2 -2
- data/lib/factpulse/models/validation_success_task_result.rb +210 -0
- data/lib/factpulse/models/validation_task_status.rb +223 -0
- data/lib/factpulse/models/validation_task_status_result.rb +55 -0
- 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/vatex_code_info.rb +247 -0
- data/lib/factpulse/models/vatex_codes_response.rb +204 -0
- data/lib/factpulse/models/verification_success_response.rb +2 -2
- data/lib/factpulse/models/verification_success_task_result.rb +210 -0
- data/lib/factpulse/models/verification_typed_task_status.rb +223 -0
- data/lib/factpulse/models/verification_typed_task_status_result.rb +55 -0
- data/lib/factpulse/models/verified_field_schema.rb +2 -2
- data/lib/factpulse/models/webhook_secret_delete_response.rb +193 -0
- data/lib/factpulse/models/webhook_secret_generate_response.rb +247 -0
- data/lib/factpulse/models/webhook_secret_status_response.rb +176 -0
- data/lib/factpulse/version.rb +3 -3
- data/lib/factpulse.rb +40 -5
- metadata +133 -63
- data/docs/FactureElectroniqueRestApiSchemasCdarValidationErrorResponse.md +0 -24
- data/docs/FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.md +0 -15
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_cdar_validation_error_response.rb +0 -215
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +0 -43
data/docs/ParseApi.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# FactPulse::ParseApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://factpulse.fr*
|
|
4
|
+
|
|
5
|
+
| Method | HTTP request | Description |
|
|
6
|
+
| ------ | ------------ | ----------- |
|
|
7
|
+
| [**parse_facturx_async_api_v1_processing_parse_facturx_async_post**](ParseApi.md#parse_facturx_async_api_v1_processing_parse_facturx_async_post) | **POST** /api/v1/processing/parse-facturx/async | Parse Factur-X XML or PDF (async) |
|
|
8
|
+
| [**parse_facturx_sync_api_v1_processing_parse_facturx_post**](ParseApi.md#parse_facturx_sync_api_v1_processing_parse_facturx_post) | **POST** /api/v1/processing/parse-facturx | Parse CII, UBL or Factur-X PDF (sync) |
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## parse_facturx_async_api_v1_processing_parse_facturx_async_post
|
|
12
|
+
|
|
13
|
+
> <TaskResponse> parse_facturx_async_api_v1_processing_parse_facturx_async_post(file, opts)
|
|
14
|
+
|
|
15
|
+
Parse Factur-X XML or PDF (async)
|
|
16
|
+
|
|
17
|
+
Parse a Factur-X file asynchronously using a Celery task. **Use case:** For large files or when you want non-blocking processing. **Workflow:** 1. Submit file with this endpoint -> receive `task_id` 2. Poll `/tasks/{task_id}/status` for result 3. Result contains `invoice` and `detected_profile` **Optional:** Provide `callback_url` to receive a webhook when parsing completes.
|
|
18
|
+
|
|
19
|
+
### Examples
|
|
20
|
+
|
|
21
|
+
```ruby
|
|
22
|
+
require 'time'
|
|
23
|
+
require 'factpulse'
|
|
24
|
+
# setup authorization
|
|
25
|
+
FactPulse.configure do |config|
|
|
26
|
+
# Configure API key authorization: APIKeyHeader
|
|
27
|
+
config.api_key['X-API-Key'] = 'YOUR API KEY'
|
|
28
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
29
|
+
# config.api_key_prefix['X-API-Key'] = 'Bearer'
|
|
30
|
+
|
|
31
|
+
# Configure Bearer authorization: HTTPBearer
|
|
32
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
api_instance = FactPulse::ParseApi.new
|
|
36
|
+
file = File.new('/path/to/some/file') # File | Factur-X PDF or XML file to parse
|
|
37
|
+
opts = {
|
|
38
|
+
callback_url: 'callback_url_example' # String |
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
begin
|
|
42
|
+
# Parse Factur-X XML or PDF (async)
|
|
43
|
+
result = api_instance.parse_facturx_async_api_v1_processing_parse_facturx_async_post(file, opts)
|
|
44
|
+
p result
|
|
45
|
+
rescue FactPulse::ApiError => e
|
|
46
|
+
puts "Error when calling ParseApi->parse_facturx_async_api_v1_processing_parse_facturx_async_post: #{e}"
|
|
47
|
+
end
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
#### Using the parse_facturx_async_api_v1_processing_parse_facturx_async_post_with_http_info variant
|
|
51
|
+
|
|
52
|
+
This returns an Array which contains the response data, status code and headers.
|
|
53
|
+
|
|
54
|
+
> <Array(<TaskResponse>, Integer, Hash)> parse_facturx_async_api_v1_processing_parse_facturx_async_post_with_http_info(file, opts)
|
|
55
|
+
|
|
56
|
+
```ruby
|
|
57
|
+
begin
|
|
58
|
+
# Parse Factur-X XML or PDF (async)
|
|
59
|
+
data, status_code, headers = api_instance.parse_facturx_async_api_v1_processing_parse_facturx_async_post_with_http_info(file, opts)
|
|
60
|
+
p status_code # => 2xx
|
|
61
|
+
p headers # => { ... }
|
|
62
|
+
p data # => <TaskResponse>
|
|
63
|
+
rescue FactPulse::ApiError => e
|
|
64
|
+
puts "Error when calling ParseApi->parse_facturx_async_api_v1_processing_parse_facturx_async_post_with_http_info: #{e}"
|
|
65
|
+
end
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Parameters
|
|
69
|
+
|
|
70
|
+
| Name | Type | Description | Notes |
|
|
71
|
+
| ---- | ---- | ----------- | ----- |
|
|
72
|
+
| **file** | **File** | Factur-X PDF or XML file to parse | |
|
|
73
|
+
| **callback_url** | **String** | | [optional] |
|
|
74
|
+
|
|
75
|
+
### Return type
|
|
76
|
+
|
|
77
|
+
[**TaskResponse**](TaskResponse.md)
|
|
78
|
+
|
|
79
|
+
### Authorization
|
|
80
|
+
|
|
81
|
+
[APIKeyHeader](../README.md#APIKeyHeader), [HTTPBearer](../README.md#HTTPBearer)
|
|
82
|
+
|
|
83
|
+
### HTTP request headers
|
|
84
|
+
|
|
85
|
+
- **Content-Type**: multipart/form-data
|
|
86
|
+
- **Accept**: application/json
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
## parse_facturx_sync_api_v1_processing_parse_facturx_post
|
|
90
|
+
|
|
91
|
+
> <ParseFacturXResponse> parse_facturx_sync_api_v1_processing_parse_facturx_post(file)
|
|
92
|
+
|
|
93
|
+
Parse CII, UBL or Factur-X PDF (sync)
|
|
94
|
+
|
|
95
|
+
Parse a CII XML, UBL XML, or Factur-X PDF and extract the invoice data as a FacturXInvoice model. **Use cases:** - Extract invoice data from received invoices (any format) - Round-trip: parse an existing invoice, modify it, and regenerate in another format - Convert between CII and UBL via the FacturXInvoice pivot model **Supported formats:** - Factur-X PDF (PDF/A-3 with embedded CII XML) - CII XML (UN/CEFACT Cross-Industry Invoice) - UBL 2.1 XML (OASIS Invoice or CreditNote) **Returns:** - `invoice`: Complete FacturXInvoice data (can be used with /generate-invoice) - `detected_profile`: Factur-X profile (MINIMUM, BASIC, EN16931, EXTENDED)
|
|
96
|
+
|
|
97
|
+
### Examples
|
|
98
|
+
|
|
99
|
+
```ruby
|
|
100
|
+
require 'time'
|
|
101
|
+
require 'factpulse'
|
|
102
|
+
# setup authorization
|
|
103
|
+
FactPulse.configure do |config|
|
|
104
|
+
# Configure API key authorization: APIKeyHeader
|
|
105
|
+
config.api_key['X-API-Key'] = 'YOUR API KEY'
|
|
106
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
107
|
+
# config.api_key_prefix['X-API-Key'] = 'Bearer'
|
|
108
|
+
|
|
109
|
+
# Configure Bearer authorization: HTTPBearer
|
|
110
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
api_instance = FactPulse::ParseApi.new
|
|
114
|
+
file = File.new('/path/to/some/file') # File | Factur-X PDF or XML file to parse
|
|
115
|
+
|
|
116
|
+
begin
|
|
117
|
+
# Parse CII, UBL or Factur-X PDF (sync)
|
|
118
|
+
result = api_instance.parse_facturx_sync_api_v1_processing_parse_facturx_post(file)
|
|
119
|
+
p result
|
|
120
|
+
rescue FactPulse::ApiError => e
|
|
121
|
+
puts "Error when calling ParseApi->parse_facturx_sync_api_v1_processing_parse_facturx_post: #{e}"
|
|
122
|
+
end
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Using the parse_facturx_sync_api_v1_processing_parse_facturx_post_with_http_info variant
|
|
126
|
+
|
|
127
|
+
This returns an Array which contains the response data, status code and headers.
|
|
128
|
+
|
|
129
|
+
> <Array(<ParseFacturXResponse>, Integer, Hash)> parse_facturx_sync_api_v1_processing_parse_facturx_post_with_http_info(file)
|
|
130
|
+
|
|
131
|
+
```ruby
|
|
132
|
+
begin
|
|
133
|
+
# Parse CII, UBL or Factur-X PDF (sync)
|
|
134
|
+
data, status_code, headers = api_instance.parse_facturx_sync_api_v1_processing_parse_facturx_post_with_http_info(file)
|
|
135
|
+
p status_code # => 2xx
|
|
136
|
+
p headers # => { ... }
|
|
137
|
+
p data # => <ParseFacturXResponse>
|
|
138
|
+
rescue FactPulse::ApiError => e
|
|
139
|
+
puts "Error when calling ParseApi->parse_facturx_sync_api_v1_processing_parse_facturx_post_with_http_info: #{e}"
|
|
140
|
+
end
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Parameters
|
|
144
|
+
|
|
145
|
+
| Name | Type | Description | Notes |
|
|
146
|
+
| ---- | ---- | ----------- | ----- |
|
|
147
|
+
| **file** | **File** | Factur-X PDF or XML file to parse | |
|
|
148
|
+
|
|
149
|
+
### Return type
|
|
150
|
+
|
|
151
|
+
[**ParseFacturXResponse**](ParseFacturXResponse.md)
|
|
152
|
+
|
|
153
|
+
### Authorization
|
|
154
|
+
|
|
155
|
+
[APIKeyHeader](../README.md#APIKeyHeader), [HTTPBearer](../README.md#HTTPBearer)
|
|
156
|
+
|
|
157
|
+
### HTTP request headers
|
|
158
|
+
|
|
159
|
+
- **Content-Type**: multipart/form-data
|
|
160
|
+
- **Accept**: application/json
|
|
161
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# FactPulse::ParseFacturXResponse
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **status** | **String** | Parsing status | |
|
|
8
|
+
| **invoice** | **Hash<String, Object>** | Parsed invoice data. For CII/Factur-X: FacturXInvoice format (round-trip with /generate-invoice). For UBL: IncomingInvoice format (summary extraction). | |
|
|
9
|
+
| **detected_format** | **String** | | [optional] |
|
|
10
|
+
| **detected_profile** | **String** | | [optional] |
|
|
11
|
+
| **error** | **String** | | [optional] |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'factpulse'
|
|
17
|
+
|
|
18
|
+
instance = FactPulse::ParseFacturXResponse.new(
|
|
19
|
+
status: null,
|
|
20
|
+
invoice: null,
|
|
21
|
+
detected_format: null,
|
|
22
|
+
detected_profile: null,
|
|
23
|
+
error: null
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# FactPulse::ReferencesApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://factpulse.fr*
|
|
4
|
+
|
|
5
|
+
| Method | HTTP request | Description |
|
|
6
|
+
| ------ | ------------ | ----------- |
|
|
7
|
+
| [**get_vatex_codes_api_v1_references_vatex_codes_get**](ReferencesApi.md#get_vatex_codes_api_v1_references_vatex_codes_get) | **GET** /api/v1/references/vatex-codes | VATEX exemption reason codes |
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## get_vatex_codes_api_v1_references_vatex_codes_get
|
|
11
|
+
|
|
12
|
+
> <VATEXCodesResponse> get_vatex_codes_api_v1_references_vatex_codes_get(opts)
|
|
13
|
+
|
|
14
|
+
VATEX exemption reason codes
|
|
15
|
+
|
|
16
|
+
Returns the list of VATEX (VAT exemption reason) codes from the Peppol BIS Billing 3.0 code list. Source: https://docs.peppol.eu/poacc/billing/3.0/codelist/vatex/
|
|
17
|
+
|
|
18
|
+
### Examples
|
|
19
|
+
|
|
20
|
+
```ruby
|
|
21
|
+
require 'time'
|
|
22
|
+
require 'factpulse'
|
|
23
|
+
|
|
24
|
+
api_instance = FactPulse::ReferencesApi.new
|
|
25
|
+
opts = {
|
|
26
|
+
category: 'category_example' # String | Filter by VAT category code (E, AE, K, G, O).
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
begin
|
|
30
|
+
# VATEX exemption reason codes
|
|
31
|
+
result = api_instance.get_vatex_codes_api_v1_references_vatex_codes_get(opts)
|
|
32
|
+
p result
|
|
33
|
+
rescue FactPulse::ApiError => e
|
|
34
|
+
puts "Error when calling ReferencesApi->get_vatex_codes_api_v1_references_vatex_codes_get: #{e}"
|
|
35
|
+
end
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
#### Using the get_vatex_codes_api_v1_references_vatex_codes_get_with_http_info variant
|
|
39
|
+
|
|
40
|
+
This returns an Array which contains the response data, status code and headers.
|
|
41
|
+
|
|
42
|
+
> <Array(<VATEXCodesResponse>, Integer, Hash)> get_vatex_codes_api_v1_references_vatex_codes_get_with_http_info(opts)
|
|
43
|
+
|
|
44
|
+
```ruby
|
|
45
|
+
begin
|
|
46
|
+
# VATEX exemption reason codes
|
|
47
|
+
data, status_code, headers = api_instance.get_vatex_codes_api_v1_references_vatex_codes_get_with_http_info(opts)
|
|
48
|
+
p status_code # => 2xx
|
|
49
|
+
p headers # => { ... }
|
|
50
|
+
p data # => <VATEXCodesResponse>
|
|
51
|
+
rescue FactPulse::ApiError => e
|
|
52
|
+
puts "Error when calling ReferencesApi->get_vatex_codes_api_v1_references_vatex_codes_get_with_http_info: #{e}"
|
|
53
|
+
end
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Parameters
|
|
57
|
+
|
|
58
|
+
| Name | Type | Description | Notes |
|
|
59
|
+
| ---- | ---- | ----------- | ----- |
|
|
60
|
+
| **category** | **String** | Filter by VAT category code (E, AE, K, G, O). | [optional] |
|
|
61
|
+
|
|
62
|
+
### Return type
|
|
63
|
+
|
|
64
|
+
[**VATEXCodesResponse**](VATEXCodesResponse.md)
|
|
65
|
+
|
|
66
|
+
### Authorization
|
|
67
|
+
|
|
68
|
+
No authorization required
|
|
69
|
+
|
|
70
|
+
### HTTP request headers
|
|
71
|
+
|
|
72
|
+
- **Content-Type**: Not defined
|
|
73
|
+
- **Accept**: application/json
|
|
74
|
+
|
data/docs/SecretStatus.md
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **status** | **String** | Secret status: 'active', 'missing', etc. | |
|
|
8
8
|
| **message** | **String** | Descriptive status message | |
|
|
9
|
+
| **encryption_mode** | **String** | | [optional] |
|
|
10
|
+
| **requires_client_key** | **Boolean** | | [optional] |
|
|
9
11
|
|
|
10
12
|
## Example
|
|
11
13
|
|
|
@@ -14,7 +16,9 @@ require 'factpulse'
|
|
|
14
16
|
|
|
15
17
|
instance = FactPulse::SecretStatus.new(
|
|
16
18
|
status: null,
|
|
17
|
-
message: null
|
|
19
|
+
message: null,
|
|
20
|
+
encryption_mode: null,
|
|
21
|
+
requires_client_key: null
|
|
18
22
|
)
|
|
19
23
|
```
|
|
20
24
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# FactPulse::SignatureSuccessResult
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **status** | **String** | | [optional][default to 'SUCCESS'] |
|
|
8
|
+
| **content_b64** | **String** | | |
|
|
9
|
+
| **filename** | **String** | | |
|
|
10
|
+
| **size_bytes** | **Integer** | | |
|
|
11
|
+
| **is_signed** | **Boolean** | | |
|
|
12
|
+
| **signature_count** | **Integer** | | |
|
|
13
|
+
| **signer_cn** | **String** | | |
|
|
14
|
+
| **signing_date** | **String** | | |
|
|
15
|
+
| **validation_details** | **Hash<String, Object>** | | |
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```ruby
|
|
20
|
+
require 'factpulse'
|
|
21
|
+
|
|
22
|
+
instance = FactPulse::SignatureSuccessResult.new(
|
|
23
|
+
status: null,
|
|
24
|
+
content_b64: null,
|
|
25
|
+
filename: null,
|
|
26
|
+
size_bytes: null,
|
|
27
|
+
is_signed: null,
|
|
28
|
+
signature_count: null,
|
|
29
|
+
signer_cn: null,
|
|
30
|
+
signing_date: null,
|
|
31
|
+
validation_details: null
|
|
32
|
+
)
|
|
33
|
+
```
|
|
34
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# FactPulse::SignatureTaskStatus
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **task_id** | **String** | | |
|
|
8
|
+
| **status** | [**CeleryStatus**](CeleryStatus.md) | | |
|
|
9
|
+
| **result** | [**SignatureTaskStatusResult**](SignatureTaskStatusResult.md) | | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'factpulse'
|
|
15
|
+
|
|
16
|
+
instance = FactPulse::SignatureTaskStatus.new(
|
|
17
|
+
task_id: null,
|
|
18
|
+
status: null,
|
|
19
|
+
result: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# FactPulse::SignatureTaskStatusResult
|
|
2
|
+
|
|
3
|
+
## Class instance methods
|
|
4
|
+
|
|
5
|
+
### `openapi_one_of`
|
|
6
|
+
|
|
7
|
+
Returns the list of classes defined in oneOf.
|
|
8
|
+
|
|
9
|
+
#### Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'factpulse'
|
|
13
|
+
|
|
14
|
+
FactPulse::SignatureTaskStatusResult.openapi_one_of
|
|
15
|
+
# =>
|
|
16
|
+
# [
|
|
17
|
+
# :'SignatureSuccessResult',
|
|
18
|
+
# :'TaskErrorResult'
|
|
19
|
+
# ]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### `openapi_discriminator_name`
|
|
23
|
+
|
|
24
|
+
Returns the discriminator's property name.
|
|
25
|
+
|
|
26
|
+
#### Example
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
require 'factpulse'
|
|
30
|
+
|
|
31
|
+
FactPulse::SignatureTaskStatusResult.openapi_discriminator_name
|
|
32
|
+
# => :'status'
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### `openapi_discriminator_name`
|
|
36
|
+
|
|
37
|
+
Returns the discriminator's mapping.
|
|
38
|
+
|
|
39
|
+
#### Example
|
|
40
|
+
|
|
41
|
+
```ruby
|
|
42
|
+
require 'factpulse'
|
|
43
|
+
|
|
44
|
+
FactPulse::SignatureTaskStatusResult.openapi_discriminator_mapping
|
|
45
|
+
# =>
|
|
46
|
+
# {
|
|
47
|
+
# :'ERROR' => :'TaskErrorResult',
|
|
48
|
+
# :'SUCCESS' => :'SignatureSuccessResult'
|
|
49
|
+
# }
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### build
|
|
53
|
+
|
|
54
|
+
Find the appropriate object from the `openapi_one_of` list and casts the data into it.
|
|
55
|
+
|
|
56
|
+
#### Example
|
|
57
|
+
|
|
58
|
+
```ruby
|
|
59
|
+
require 'factpulse'
|
|
60
|
+
|
|
61
|
+
FactPulse::SignatureTaskStatusResult.build(data)
|
|
62
|
+
# => #<SignatureSuccessResult:0x00007fdd4aab02a0>
|
|
63
|
+
|
|
64
|
+
FactPulse::SignatureTaskStatusResult.build(data_that_doesnt_match)
|
|
65
|
+
# => nil
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
#### Parameters
|
|
69
|
+
|
|
70
|
+
| Name | Type | Description |
|
|
71
|
+
| ---- | ---- | ----------- |
|
|
72
|
+
| **data** | **Mixed** | data to be matched against the list of oneOf items |
|
|
73
|
+
|
|
74
|
+
#### Return type
|
|
75
|
+
|
|
76
|
+
- `SignatureSuccessResult`
|
|
77
|
+
- `TaskErrorResult`
|
|
78
|
+
- `nil` (if no type matches)
|
|
79
|
+
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
| **comment** | **String** | | [optional] |
|
|
14
14
|
| **purchase_order_reference** | **String** | | [optional] |
|
|
15
15
|
| **contract_reference** | **String** | | [optional] |
|
|
16
|
-
| **invoice_type** | [**
|
|
16
|
+
| **invoice_type** | [**FactureElectroniqueModelsInvoiceTypeCode**](FactureElectroniqueModelsInvoiceTypeCode.md) | Document type (UNTDID 1001). Default: 380 (Invoice). | [optional] |
|
|
17
17
|
| **preceding_invoice_reference** | **String** | | [optional] |
|
|
18
18
|
| **operation_nature** | [**OperationNature**](OperationNature.md) | | [optional] |
|
|
19
19
|
| **invoicing_framework** | [**InvoicingFrameworkCode**](InvoicingFrameworkCode.md) | | [optional] |
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
| **destination_type** | **String** | Destination type | |
|
|
9
9
|
| **chorus_result** | [**ChorusProResult**](ChorusProResult.md) | | [optional] |
|
|
10
10
|
| **afnor_result** | [**AFNORResult**](AFNORResult.md) | | [optional] |
|
|
11
|
-
| **enriched_invoice** | [**EnrichedInvoiceInfo**](EnrichedInvoiceInfo.md) | Enriched invoice data | |
|
|
11
|
+
| **enriched_invoice** | [**EnrichedInvoiceInfo**](EnrichedInvoiceInfo.md) | Enriched invoice data (summary) | |
|
|
12
|
+
| **invoice** | **Hash<String, Object>** | Complete enriched invoice data (FacturXInvoice format). Use this to regenerate the same invoice. | |
|
|
12
13
|
| **facturx_pdf** | [**FacturXPDFInfo**](FacturXPDFInfo.md) | Generated PDF information | |
|
|
13
14
|
| **signature** | [**SignatureInfo**](SignatureInfo.md) | | [optional] |
|
|
14
15
|
| **content_b64** | **String** | Generated Factur-X PDF (and signed if requested) base64-encoded | |
|
|
@@ -25,6 +26,7 @@ instance = FactPulse::SubmitCompleteInvoiceResponse.new(
|
|
|
25
26
|
chorus_result: null,
|
|
26
27
|
afnor_result: null,
|
|
27
28
|
enriched_invoice: null,
|
|
29
|
+
invoice: null,
|
|
28
30
|
facturx_pdf: null,
|
|
29
31
|
signature: null,
|
|
30
32
|
content_b64: null,
|
data/docs/Supplier.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **electronic_address** | [**ElectronicAddress**](ElectronicAddress.md) | | [optional] |
|
|
8
|
-
| **supplier_id** | **Integer** |
|
|
8
|
+
| **supplier_id** | **Integer** | Chorus Pro supplier structure ID (idFournisseur). Only required for B2G. | [optional][default to 0] |
|
|
9
9
|
| **private_id** | **String** | | [optional] |
|
|
10
10
|
| **supplier_bank_account_code** | **Integer** | | [optional] |
|
|
11
11
|
| **supplier_service_id** | **Integer** | | [optional] |
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# FactPulse::TaskErrorResult
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **status** | **String** | | [optional][default to 'ERROR'] |
|
|
8
|
+
| **error_code** | **String** | | |
|
|
9
|
+
| **error_message** | **String** | | |
|
|
10
|
+
| **details** | [**Array<AFNORErrorDetail>**](AFNORErrorDetail.md) | | [optional] |
|
|
11
|
+
| **traceback** | **String** | | [optional] |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'factpulse'
|
|
17
|
+
|
|
18
|
+
instance = FactPulse::TaskErrorResult.new(
|
|
19
|
+
status: null,
|
|
20
|
+
error_code: null,
|
|
21
|
+
error_message: null,
|
|
22
|
+
details: null,
|
|
23
|
+
traceback: null
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# FactPulse::VATEXCodeInfo
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **code** | **String** | VATEX code (e.g. VATEX-EU-IC) | |
|
|
8
|
+
| **name** | **String** | Short name (e.g. 'Intra-Community supply') | |
|
|
9
|
+
| **description** | **String** | Detailed description / remark | |
|
|
10
|
+
| **category** | **String** | Associated VAT category code (E, AE, K, G, O) | |
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
require 'factpulse'
|
|
16
|
+
|
|
17
|
+
instance = FactPulse::VATEXCodeInfo.new(
|
|
18
|
+
code: null,
|
|
19
|
+
name: null,
|
|
20
|
+
description: null,
|
|
21
|
+
category: null
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# FactPulse::VATEXCodesResponse
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **codes** | [**Array<VATEXCodeInfo>**](VATEXCodeInfo.md) | | |
|
|
8
|
+
| **count** | **Integer** | | |
|
|
9
|
+
| **source** | **String** | | [optional][default to 'https://docs.peppol.eu/poacc/billing/3.0/codelist/vatex/'] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'factpulse'
|
|
15
|
+
|
|
16
|
+
instance = FactPulse::VATEXCodesResponse.new(
|
|
17
|
+
codes: null,
|
|
18
|
+
count: null,
|
|
19
|
+
source: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **valid** | **Boolean** | Résultat de validation | |
|
|
8
|
-
| **errors** | [**Array<
|
|
9
|
-
| **warnings** | [**Array<
|
|
8
|
+
| **errors** | [**Array<ValidationErrorResponse>**](ValidationErrorResponse.md) | Liste des erreurs | [optional] |
|
|
9
|
+
| **warnings** | [**Array<ValidationErrorResponse>**](ValidationErrorResponse.md) | Liste des avertissements | [optional] |
|
|
10
10
|
|
|
11
11
|
## Example
|
|
12
12
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# FactPulse::ValidationApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://factpulse.fr*
|
|
4
|
+
|
|
5
|
+
| Method | HTTP request | Description |
|
|
6
|
+
| ------ | ------------ | ----------- |
|
|
7
|
+
| [**validate_xml_api_v1_processing_validate_xml_post**](ValidationApi.md#validate_xml_api_v1_processing_validate_xml_post) | **POST** /api/v1/processing/validate-xml | Validate a CII or UBL XML against Schematron rules |
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## validate_xml_api_v1_processing_validate_xml_post
|
|
11
|
+
|
|
12
|
+
> <ValidationSuccessResponse> validate_xml_api_v1_processing_validate_xml_post(xml_file, opts)
|
|
13
|
+
|
|
14
|
+
Validate a CII or UBL XML against Schematron rules
|
|
15
|
+
|
|
16
|
+
Validates a CII (Factur-X) or UBL XML file against Schematron business rules. The XML format is **auto-detected** from namespace: - CII XML → validated with EN16931-CII + profile-specific + BR-FR-CII Schematrons - UBL XML → validated with EN16931-UBL + BR-FR-UBL Schematrons ## Applied Standard **Schematron ISO/IEC 19757-3**: Business rules validation language for XML - Semantic validation (beyond XSD syntax) - European EN 16931 business rules - French-specific rules (BR-FR-CII or BR-FR-UBL) - Arithmetic calculations and data consistency ## Profiles and validated rules (CII only) ### MINIMUM (45 rules) - Unique invoice identifier - Dates (issue, due date) - Party identifiers (SIRET/SIREN) - Total gross amount ### BASIC (102 rules) - All MINIMUM rules - Detailed invoice lines - Basic VAT calculations - Payment methods - References (order, contract) ### EN16931 (178 rules) - All BASIC rules - **European rules (BR-xx)**: 81 business rules - **French rules (FR-xx)**: 12 France-specific rules - **Advanced calculations (CR-xx)**: 32 calculation rules - **Standardized codes (CL-xx)**: 52 code lists ### EXTENDED (210+ rules) - All EN16931 rules - Logistics information - Advanced accounting data - Multiple external references ## Checks performed ### 1. Syntax validation - Correct XML parsing (UTF-8, well-formed) - UN/CEFACT namespaces present - Hierarchical structure respected ### 2. Business rules (BR-xx) Examples: - `BR-1`: Invoice total must equal sum of line totals + document-level amounts - `BR-CO-10`: Sum of VAT base amounts must equal invoice net total - `BR-16`: Invoice currency code must be in ISO 4217 list ### 3. French rules (FR-xx) Examples: - `FR-1`: Supplier SIRET must have 14 digits - `FR-2`: Customer SIRET must have 14 digits (if present) - `FR-5`: Intra-EU VAT number must be in format FRxx999999999 ### 4. Calculation rules (CR-xx) - Net + VAT = Gross amounts - Sum of lines = Document total - Discounts and surcharges correctly applied - Compliant rounding (2 decimals for amounts) ### 5. Standardized codes (CL-xx) - ISO 3166-1 alpha-2 country codes - ISO 4217 currency codes - UN/ECE Rec 20 measurement units - VAT codes (types, categories, exemptions) - SchemeID for identifiers (0002=SIREN, 0009=SIRET, etc.) ## Validation process 1. **XSLT loading**: Schematron file converted to XSLT (Saxon-HE) 2. **Transformation**: Rules applied to XML 3. **Results analysis**: Extraction of errors (`failed-assert`) and warnings (`successful-report`) 4. **Report**: Structured list of non-conformities ## Responses **200 OK**: Compliant XML ```json { \"message\": \"XML is compliant with EN16931 profile\" } ``` **400 Bad Request**: Non-compliant XML ```json { \"detail\": [ \"[BR-1] Invoice total (120.00) does not match calculated sum (100.00 + 20.00)\", \"[FR-1] Supplier SIRET must contain exactly 14 digits\" ] } ``` ## Use cases - **Pre-validation**: Verify XML before PDF/A integration - **Debugging**: Precisely identify generation errors - **Testing**: Validate test or example XMLs - **Compliance**: Ensure European and French rules are met - **Development**: Quick testing without PDF generation ## Processing time - MINIMUM profile: ~0.5 second - EN16931 profile: ~1-2 seconds - EXTENDED profile: ~2-3 seconds
|
|
17
|
+
|
|
18
|
+
### Examples
|
|
19
|
+
|
|
20
|
+
```ruby
|
|
21
|
+
require 'time'
|
|
22
|
+
require 'factpulse'
|
|
23
|
+
# setup authorization
|
|
24
|
+
FactPulse.configure do |config|
|
|
25
|
+
# Configure API key authorization: APIKeyHeader
|
|
26
|
+
config.api_key['X-API-Key'] = 'YOUR API KEY'
|
|
27
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
28
|
+
# config.api_key_prefix['X-API-Key'] = 'Bearer'
|
|
29
|
+
|
|
30
|
+
# Configure Bearer authorization: HTTPBearer
|
|
31
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
api_instance = FactPulse::ValidationApi.new
|
|
35
|
+
xml_file = File.new('/path/to/some/file') # File | CII (Factur-X) or UBL XML file to validate (.xml format). Format is auto-detected.
|
|
36
|
+
opts = {
|
|
37
|
+
profile: FactPulse::APIProfile::MINIMUM, # APIProfile | Validation profile (MINIMUM, BASIC, EN16931, EXTENDED). Used for CII only; ignored for UBL (always EN16931).
|
|
38
|
+
skip_br_fr: true # Boolean |
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
begin
|
|
42
|
+
# Validate a CII or UBL XML against Schematron rules
|
|
43
|
+
result = api_instance.validate_xml_api_v1_processing_validate_xml_post(xml_file, opts)
|
|
44
|
+
p result
|
|
45
|
+
rescue FactPulse::ApiError => e
|
|
46
|
+
puts "Error when calling ValidationApi->validate_xml_api_v1_processing_validate_xml_post: #{e}"
|
|
47
|
+
end
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
#### Using the validate_xml_api_v1_processing_validate_xml_post_with_http_info variant
|
|
51
|
+
|
|
52
|
+
This returns an Array which contains the response data, status code and headers.
|
|
53
|
+
|
|
54
|
+
> <Array(<ValidationSuccessResponse>, Integer, Hash)> validate_xml_api_v1_processing_validate_xml_post_with_http_info(xml_file, opts)
|
|
55
|
+
|
|
56
|
+
```ruby
|
|
57
|
+
begin
|
|
58
|
+
# Validate a CII or UBL XML against Schematron rules
|
|
59
|
+
data, status_code, headers = api_instance.validate_xml_api_v1_processing_validate_xml_post_with_http_info(xml_file, opts)
|
|
60
|
+
p status_code # => 2xx
|
|
61
|
+
p headers # => { ... }
|
|
62
|
+
p data # => <ValidationSuccessResponse>
|
|
63
|
+
rescue FactPulse::ApiError => e
|
|
64
|
+
puts "Error when calling ValidationApi->validate_xml_api_v1_processing_validate_xml_post_with_http_info: #{e}"
|
|
65
|
+
end
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Parameters
|
|
69
|
+
|
|
70
|
+
| Name | Type | Description | Notes |
|
|
71
|
+
| ---- | ---- | ----------- | ----- |
|
|
72
|
+
| **xml_file** | **File** | CII (Factur-X) or UBL XML file to validate (.xml format). Format is auto-detected. | |
|
|
73
|
+
| **profile** | [**APIProfile**](APIProfile.md) | Validation profile (MINIMUM, BASIC, EN16931, EXTENDED). Used for CII only; ignored for UBL (always EN16931). | [optional] |
|
|
74
|
+
| **skip_br_fr** | **Boolean** | | [optional] |
|
|
75
|
+
|
|
76
|
+
### Return type
|
|
77
|
+
|
|
78
|
+
[**ValidationSuccessResponse**](ValidationSuccessResponse.md)
|
|
79
|
+
|
|
80
|
+
### Authorization
|
|
81
|
+
|
|
82
|
+
[APIKeyHeader](../README.md#APIKeyHeader), [HTTPBearer](../README.md#HTTPBearer)
|
|
83
|
+
|
|
84
|
+
### HTTP request headers
|
|
85
|
+
|
|
86
|
+
- **Content-Type**: multipart/form-data
|
|
87
|
+
- **Accept**: application/json
|
|
88
|
+
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **
|
|
7
|
+
| **field** | **String** | Champ concerné | |
|
|
8
|
+
| **message** | **String** | Message d'erreur | |
|
|
9
|
+
| **rule** | **String** | | [optional] |
|
|
10
|
+
| **severity** | **String** | Sévérité (error/warning) | [optional][default to 'error'] |
|
|
8
11
|
|
|
9
12
|
## Example
|
|
10
13
|
|
|
@@ -12,7 +15,10 @@
|
|
|
12
15
|
require 'factpulse'
|
|
13
16
|
|
|
14
17
|
instance = FactPulse::ValidationErrorResponse.new(
|
|
15
|
-
|
|
18
|
+
field: null,
|
|
19
|
+
message: null,
|
|
20
|
+
rule: null,
|
|
21
|
+
severity: null
|
|
16
22
|
)
|
|
17
23
|
```
|
|
18
24
|
|