factpulse 4.0.1 → 4.0.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 +1 -1
- data/docs/AFNORPDPPAApi.md +5 -72
- data/docs/AsyncTasksApi.md +77 -0
- data/docs/ChorusProCredentials.md +8 -8
- data/docs/ChorusProDestination.md +1 -1
- data/docs/CreateAggregatedReportRequest.md +3 -1
- data/docs/CreateEReportingRequest.md +3 -1
- data/docs/ElectronicSignatureApi.md +319 -0
- data/docs/EncaisseeRequest.md +10 -6
- data/docs/{DocumentConversionApi.md → FacturXConversionApi.md} +39 -39
- data/docs/FacturXGenerationApi.md +239 -0
- data/docs/FacturXInvoice.md +1 -1
- data/docs/FacturXPDFXMLVerificationApi.md +225 -0
- data/docs/FacturXValidationApi.md +241 -0
- data/docs/FactureElectroniqueRestApiSchemasChorusProChorusProCredentials.md +26 -0
- data/docs/{EReportingApi.md → Flux10EReportingApi.md} +53 -51
- data/docs/{CDARCycleDeVieApi.md → Flux6InvoiceLifecycleCDARApi.md} +145 -75
- data/docs/GetChorusProIdRequest.md +1 -1
- data/docs/GetInvoiceRequest.md +1 -1
- data/docs/GetStructureRequest.md +1 -1
- data/docs/HealthApi.md +67 -0
- data/docs/InvoiceInput.md +4 -2
- data/docs/IssuerRoleCode.md +15 -0
- data/docs/RefuseeRequest.md +10 -6
- data/docs/ReportIssuer.md +24 -0
- data/docs/ReportSender.md +1 -1
- data/docs/SearchStructureRequest.md +1 -1
- data/docs/SubmitInvoiceRequest.md +1 -1
- data/factpulse.gemspec +2 -2
- data/lib/factpulse/api/afnorpdppa_api.rb +5 -62
- data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +1 -1
- data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +1 -1
- data/lib/factpulse/api/async_tasks_api.rb +85 -0
- data/lib/factpulse/api/chorus_pro_api.rb +1 -1
- data/lib/factpulse/api/client_management_api.rb +1 -1
- data/lib/factpulse/api/downloads_api.rb +1 -1
- data/lib/factpulse/api/electronic_signature_api.rb +339 -0
- data/lib/factpulse/api/{document_conversion_api.rb → factur_x_conversion_api.rb} +42 -42
- data/lib/factpulse/api/factur_x_generation_api.rb +254 -0
- data/lib/factpulse/api/factur_x_validation_api.rb +256 -0
- data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +232 -0
- data/lib/factpulse/api/{e_reporting_api.rb → flux10_e_reporting_api.rb} +54 -51
- data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +670 -0
- data/lib/factpulse/api/health_api.rb +58 -1
- data/lib/factpulse/api_client.rb +1 -1
- data/lib/factpulse/api_error.rb +1 -1
- data/lib/factpulse/api_model_base.rb +1 -1
- data/lib/factpulse/configuration.rb +1 -1
- data/lib/factpulse/models/acknowledgment_status.rb +1 -1
- data/lib/factpulse/models/action_code_info.rb +1 -1
- data/lib/factpulse/models/action_codes_response.rb +1 -1
- data/lib/factpulse/models/additional_document.rb +1 -1
- data/lib/factpulse/models/afnor_acknowledgement.rb +1 -1
- data/lib/factpulse/models/afnor_acknowledgement_detail.rb +1 -1
- data/lib/factpulse/models/afnor_address_edit.rb +1 -1
- data/lib/factpulse/models/afnor_address_patch.rb +1 -1
- data/lib/factpulse/models/afnor_address_put.rb +1 -1
- data/lib/factpulse/models/afnor_address_read.rb +1 -1
- data/lib/factpulse/models/afnor_algorithm.rb +1 -1
- data/lib/factpulse/models/afnor_contains_operator.rb +1 -1
- data/lib/factpulse/models/afnor_create_directory_line_body.rb +1 -1
- data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +1 -1
- data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +1 -1
- data/lib/factpulse/models/afnor_create_routing_code_body.rb +1 -1
- data/lib/factpulse/models/afnor_credentials.rb +1 -1
- data/lib/factpulse/models/afnor_destination.rb +1 -1
- data/lib/factpulse/models/afnor_diffusion_status.rb +1 -1
- data/lib/factpulse/models/afnor_directory_line_field.rb +1 -1
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +1 -1
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +1 -1
- data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +1 -1
- data/lib/factpulse/models/afnor_directory_line_post201_response.rb +1 -1
- data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +1 -1
- data/lib/factpulse/models/afnor_entity_type.rb +1 -1
- data/lib/factpulse/models/afnor_error.rb +1 -1
- data/lib/factpulse/models/afnor_facility_administrative_status.rb +1 -1
- data/lib/factpulse/models/afnor_facility_nature.rb +1 -1
- data/lib/factpulse/models/afnor_facility_payload_history.rb +1 -1
- data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +1 -1
- data/lib/factpulse/models/afnor_facility_payload_included.rb +1 -1
- data/lib/factpulse/models/afnor_facility_type.rb +1 -1
- data/lib/factpulse/models/afnor_flow.rb +1 -1
- data/lib/factpulse/models/afnor_flow_ack_status.rb +1 -1
- data/lib/factpulse/models/afnor_flow_direction.rb +1 -1
- data/lib/factpulse/models/afnor_flow_info.rb +1 -1
- data/lib/factpulse/models/afnor_flow_profile.rb +1 -1
- data/lib/factpulse/models/afnor_flow_syntax.rb +1 -1
- data/lib/factpulse/models/afnor_flow_type.rb +1 -1
- data/lib/factpulse/models/afnor_full_flow_info.rb +1 -1
- data/lib/factpulse/models/afnor_health_check_response.rb +1 -1
- data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +1 -1
- data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +1 -1
- data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +1 -1
- data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +1 -1
- data/lib/factpulse/models/afnor_platform_status.rb +1 -1
- data/lib/factpulse/models/afnor_processing_rule.rb +1 -1
- data/lib/factpulse/models/afnor_reason_code.rb +1 -1
- data/lib/factpulse/models/afnor_reason_code_enum.rb +1 -1
- data/lib/factpulse/models/afnor_recipient_platform_type.rb +1 -1
- data/lib/factpulse/models/afnor_result.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_field.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_post201_response.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_search.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_search_filters.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +1 -1
- data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +1 -1
- data/lib/factpulse/models/afnor_search_directory_line.rb +1 -1
- data/lib/factpulse/models/afnor_search_directory_line_filters.rb +1 -1
- data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +1 -1
- data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +1 -1
- data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +1 -1
- data/lib/factpulse/models/afnor_search_flow_content.rb +1 -1
- data/lib/factpulse/models/afnor_search_flow_filters.rb +1 -1
- data/lib/factpulse/models/afnor_search_flow_params.rb +1 -1
- data/lib/factpulse/models/afnor_search_siren.rb +1 -1
- data/lib/factpulse/models/afnor_search_siren_filters.rb +1 -1
- data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +1 -1
- data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +1 -1
- data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +1 -1
- data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +1 -1
- data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters_name.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +1 -1
- data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +1 -1
- data/lib/factpulse/models/afnor_siren_field.rb +1 -1
- data/lib/factpulse/models/afnor_siren_search_post200_response.rb +1 -1
- data/lib/factpulse/models/afnor_siret_field.rb +1 -1
- data/lib/factpulse/models/afnor_siret_search_post200_response.rb +1 -1
- data/lib/factpulse/models/afnor_sorting_order.rb +1 -1
- data/lib/factpulse/models/afnor_strict_operator.rb +1 -1
- data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +1 -1
- data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +1 -1
- data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +1 -1
- data/lib/factpulse/models/afnor_webhook_callback_content.rb +1 -1
- data/lib/factpulse/models/aggregated_payment_input.rb +1 -1
- data/lib/factpulse/models/aggregated_transaction_input.rb +1 -1
- data/lib/factpulse/models/allowance_charge.rb +1 -1
- data/lib/factpulse/models/allowance_charge_reason_code.rb +1 -1
- data/lib/factpulse/models/allowance_reason_code.rb +1 -1
- data/lib/factpulse/models/allowance_total_amount.rb +1 -1
- data/lib/factpulse/models/amount.rb +1 -1
- data/lib/factpulse/models/amount1.rb +1 -1
- data/lib/factpulse/models/amount2.rb +1 -1
- data/lib/factpulse/models/amount_due.rb +1 -1
- data/lib/factpulse/models/api_error.rb +1 -1
- data/lib/factpulse/models/api_profile.rb +1 -1
- data/lib/factpulse/models/async_task_status.rb +1 -1
- data/lib/factpulse/models/base_amount.rb +1 -1
- data/lib/factpulse/models/bounding_box_schema.rb +1 -1
- data/lib/factpulse/models/buyercountry.rb +2 -2
- data/lib/factpulse/models/celery_status.rb +1 -1
- data/lib/factpulse/models/certificate_info_response.rb +1 -1
- data/lib/factpulse/models/charge_total_amount.rb +1 -1
- data/lib/factpulse/models/chorus_pro_credentials.rb +27 -95
- data/lib/factpulse/models/chorus_pro_destination.rb +2 -2
- data/lib/factpulse/models/chorus_pro_result.rb +1 -1
- data/lib/factpulse/models/client_activate_response.rb +1 -1
- data/lib/factpulse/models/client_create_request.rb +1 -1
- data/lib/factpulse/models/client_detail.rb +1 -1
- data/lib/factpulse/models/client_list_response.rb +1 -1
- data/lib/factpulse/models/client_summary.rb +1 -1
- data/lib/factpulse/models/client_update_request.rb +1 -1
- data/lib/factpulse/models/contact.rb +1 -1
- data/lib/factpulse/models/convert_resume_request.rb +1 -1
- data/lib/factpulse/models/convert_success_response.rb +1 -1
- data/lib/factpulse/models/convert_validation_failed_response.rb +1 -1
- data/lib/factpulse/models/country_code.rb +1 -1
- data/lib/factpulse/models/create_aggregated_report_request.rb +13 -3
- data/lib/factpulse/models/create_cdar_request.rb +1 -1
- data/lib/factpulse/models/create_e_reporting_request.rb +13 -3
- data/lib/factpulse/models/currency.rb +1 -1
- data/lib/factpulse/models/currency_code.rb +1 -1
- data/lib/factpulse/models/delivery_party.rb +1 -1
- data/lib/factpulse/models/destination.rb +1 -1
- data/lib/factpulse/models/doc_type.rb +1 -1
- data/lib/factpulse/models/document_type_info.rb +1 -1
- data/lib/factpulse/models/e_reporting_flow_type.rb +1 -1
- data/lib/factpulse/models/e_reporting_validation_error.rb +1 -1
- data/lib/factpulse/models/electronic_address.rb +1 -1
- data/lib/factpulse/models/encaisseamount.rb +1 -1
- data/lib/factpulse/models/encaisseamount1.rb +1 -1
- data/lib/factpulse/models/encaissee_request.rb +86 -32
- data/lib/factpulse/models/enriched_invoice_info.rb +1 -1
- data/lib/factpulse/models/error_level.rb +1 -1
- data/lib/factpulse/models/error_source.rb +3 -2
- data/lib/factpulse/models/extraction_info.rb +1 -1
- data/lib/factpulse/models/factur_x_invoice.rb +1 -18
- data/lib/factpulse/models/factur_xpdf_info.rb +1 -1
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_cdar_validation_error_response.rb +1 -1
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb +259 -0
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +1 -1
- data/lib/factpulse/models/field_status.rb +1 -1
- data/lib/factpulse/models/file_info.rb +1 -1
- data/lib/factpulse/models/files_info.rb +1 -1
- data/lib/factpulse/models/flow_direction.rb +1 -1
- data/lib/factpulse/models/flow_profile.rb +1 -1
- data/lib/factpulse/models/flow_summary.rb +1 -1
- data/lib/factpulse/models/flow_syntax.rb +1 -1
- data/lib/factpulse/models/flow_type.rb +1 -1
- data/lib/factpulse/models/generate_aggregated_report_response.rb +1 -1
- data/lib/factpulse/models/generate_cdar_response.rb +1 -1
- data/lib/factpulse/models/generate_certificate_request.rb +1 -1
- data/lib/factpulse/models/generate_certificate_response.rb +1 -1
- data/lib/factpulse/models/generate_e_reporting_response.rb +1 -1
- data/lib/factpulse/models/get_chorus_pro_id_request.rb +2 -2
- data/lib/factpulse/models/get_chorus_pro_id_response.rb +1 -1
- data/lib/factpulse/models/get_invoice_request.rb +2 -2
- data/lib/factpulse/models/get_invoice_response.rb +1 -1
- data/lib/factpulse/models/get_structure_request.rb +2 -2
- data/lib/factpulse/models/get_structure_response.rb +1 -1
- data/lib/factpulse/models/global_allowance_amount.rb +1 -1
- data/lib/factpulse/models/gross_unit_price.rb +1 -1
- data/lib/factpulse/models/http_validation_error.rb +1 -1
- data/lib/factpulse/models/incoming_invoice.rb +1 -1
- data/lib/factpulse/models/incoming_supplier.rb +1 -1
- data/lib/factpulse/models/invoice_format.rb +1 -1
- data/lib/factpulse/models/invoice_input.rb +14 -21
- data/lib/factpulse/models/invoice_line.rb +1 -1
- data/lib/factpulse/models/invoice_line_allowance_amount.rb +1 -1
- data/lib/factpulse/models/invoice_note.rb +1 -1
- data/lib/factpulse/models/invoice_payment_input.rb +1 -1
- data/lib/factpulse/models/invoice_references.rb +1 -1
- data/lib/factpulse/models/invoice_status.rb +1 -1
- data/lib/factpulse/models/invoice_totals.rb +1 -1
- data/lib/factpulse/models/invoice_totals_prepayment.rb +1 -1
- data/lib/factpulse/models/invoice_type_code.rb +1 -1
- data/lib/factpulse/models/invoice_type_code_output.rb +1 -1
- data/lib/factpulse/models/invoicing_framework.rb +1 -1
- data/lib/factpulse/models/invoicing_framework_code.rb +1 -1
- data/lib/factpulse/models/issuer_role_code.rb +40 -0
- data/lib/factpulse/models/line_net_amount.rb +1 -1
- data/lib/factpulse/models/line_sub_type.rb +1 -1
- data/lib/factpulse/models/line_total_amount.rb +1 -1
- data/lib/factpulse/models/location_inner.rb +1 -1
- data/lib/factpulse/models/mandatory_note_schema.rb +1 -1
- data/lib/factpulse/models/manual_rate.rb +1 -1
- data/lib/factpulse/models/manual_vat_rate.rb +1 -1
- data/lib/factpulse/models/missing_field.rb +1 -1
- data/lib/factpulse/models/operation_nature.rb +1 -1
- data/lib/factpulse/models/output_format.rb +1 -1
- data/lib/factpulse/models/page_dimensions_schema.rb +1 -1
- data/lib/factpulse/models/payee.rb +1 -1
- data/lib/factpulse/models/payment_amount_by_rate.rb +1 -1
- data/lib/factpulse/models/payment_card.rb +1 -1
- data/lib/factpulse/models/payment_means.rb +1 -1
- data/lib/factpulse/models/pdf_validation_result_api.rb +1 -1
- data/lib/factpulse/models/pdp_config_response.rb +1 -1
- data/lib/factpulse/models/pdp_config_update_request.rb +1 -1
- data/lib/factpulse/models/pdp_credentials.rb +1 -1
- data/lib/factpulse/models/percentage.rb +1 -1
- data/lib/factpulse/models/postal_address.rb +1 -1
- data/lib/factpulse/models/price_allowance_amount.rb +1 -1
- data/lib/factpulse/models/price_basis_quantity.rb +1 -1
- data/lib/factpulse/models/processing_options.rb +1 -1
- data/lib/factpulse/models/processing_rule.rb +1 -1
- data/lib/factpulse/models/product_characteristic.rb +1 -1
- data/lib/factpulse/models/product_classification.rb +1 -1
- data/lib/factpulse/models/quantity.rb +1 -1
- data/lib/factpulse/models/rate.rb +1 -1
- data/lib/factpulse/models/rate1.rb +1 -1
- data/lib/factpulse/models/reason_code_info.rb +1 -1
- data/lib/factpulse/models/reason_codes_response.rb +1 -1
- data/lib/factpulse/models/recipient.rb +1 -1
- data/lib/factpulse/models/recipient_input.rb +1 -1
- data/lib/factpulse/models/refusee_request.rb +84 -30
- data/lib/factpulse/models/report_issuer.rb +236 -0
- data/lib/factpulse/models/report_period.rb +1 -1
- data/lib/factpulse/models/report_sender.rb +3 -3
- data/lib/factpulse/models/rounding_amount.rb +1 -1
- data/lib/factpulse/models/schematron_validation_error.rb +1 -1
- data/lib/factpulse/models/scheme_id.rb +1 -1
- data/lib/factpulse/models/search_flow_request.rb +1 -1
- data/lib/factpulse/models/search_flow_response.rb +1 -1
- data/lib/factpulse/models/search_services_response.rb +1 -1
- data/lib/factpulse/models/search_structure_request.rb +2 -2
- data/lib/factpulse/models/search_structure_response.rb +1 -1
- data/lib/factpulse/models/secret_status.rb +1 -1
- data/lib/factpulse/models/sellercountry.rb +2 -2
- data/lib/factpulse/models/signature_info.rb +1 -1
- data/lib/factpulse/models/signature_info_api.rb +1 -1
- data/lib/factpulse/models/signature_parameters.rb +1 -1
- data/lib/factpulse/models/simplified_cdar_response.rb +1 -1
- data/lib/factpulse/models/simplified_invoice_data.rb +1 -1
- data/lib/factpulse/models/status_code_info.rb +1 -1
- data/lib/factpulse/models/status_codes_response.rb +1 -1
- data/lib/factpulse/models/structure_info.rb +1 -1
- data/lib/factpulse/models/structure_parameters.rb +1 -1
- data/lib/factpulse/models/structure_service.rb +1 -1
- data/lib/factpulse/models/submission_mode.rb +1 -1
- data/lib/factpulse/models/submit_aggregated_report_request.rb +1 -1
- data/lib/factpulse/models/submit_cdar_request.rb +1 -1
- data/lib/factpulse/models/submit_cdar_response.rb +1 -1
- data/lib/factpulse/models/submit_cdarxml_request.rb +1 -1
- data/lib/factpulse/models/submit_complete_invoice_request.rb +1 -1
- data/lib/factpulse/models/submit_complete_invoice_response.rb +1 -1
- data/lib/factpulse/models/submit_e_reporting_request.rb +1 -1
- data/lib/factpulse/models/submit_e_reporting_response.rb +1 -1
- data/lib/factpulse/models/submit_flow_request.rb +1 -1
- data/lib/factpulse/models/submit_flow_response.rb +1 -1
- data/lib/factpulse/models/submit_gross_amount.rb +1 -1
- data/lib/factpulse/models/submit_invoice_request.rb +2 -2
- data/lib/factpulse/models/submit_invoice_response.rb +1 -1
- data/lib/factpulse/models/submit_net_amount.rb +1 -1
- data/lib/factpulse/models/submit_vat_amount.rb +1 -1
- data/lib/factpulse/models/supplementary_attachment.rb +1 -1
- data/lib/factpulse/models/supplier.rb +1 -1
- data/lib/factpulse/models/task_response.rb +1 -1
- data/lib/factpulse/models/tax_breakdown_input.rb +1 -1
- data/lib/factpulse/models/tax_due_date_type.rb +1 -1
- data/lib/factpulse/models/tax_representative.rb +1 -1
- data/lib/factpulse/models/taxable_amount.rb +1 -1
- data/lib/factpulse/models/taxableamount.rb +1 -1
- data/lib/factpulse/models/taxamount.rb +1 -1
- data/lib/factpulse/models/taxamount1.rb +1 -1
- data/lib/factpulse/models/taxamount2.rb +1 -1
- data/lib/factpulse/models/taxexclusiveamount.rb +1 -1
- data/lib/factpulse/models/taxexclusiveamount1.rb +1 -1
- data/lib/factpulse/models/total_gross_amount.rb +1 -1
- data/lib/factpulse/models/total_net_amount.rb +1 -1
- data/lib/factpulse/models/total_vat_amount.rb +1 -1
- data/lib/factpulse/models/transaction_category.rb +1 -1
- data/lib/factpulse/models/transmission_type_code.rb +1 -1
- data/lib/factpulse/models/unit_net_price.rb +1 -1
- data/lib/factpulse/models/unit_of_measure.rb +1 -1
- data/lib/factpulse/models/validate_cdar_request.rb +1 -1
- data/lib/factpulse/models/validate_cdar_response.rb +1 -1
- data/lib/factpulse/models/validate_e_reporting_request.rb +1 -1
- data/lib/factpulse/models/validate_e_reporting_response.rb +1 -1
- data/lib/factpulse/models/validation_error.rb +1 -1
- data/lib/factpulse/models/validation_error_detail.rb +1 -1
- data/lib/factpulse/models/validation_error_response.rb +1 -1
- data/lib/factpulse/models/validation_info.rb +1 -1
- data/lib/factpulse/models/validation_success_response.rb +1 -1
- data/lib/factpulse/models/vat_accounting_code.rb +1 -1
- data/lib/factpulse/models/vat_amount.rb +1 -1
- data/lib/factpulse/models/vat_category.rb +1 -1
- data/lib/factpulse/models/vat_line.rb +1 -1
- data/lib/factpulse/models/vat_point_date_code.rb +1 -1
- data/lib/factpulse/models/vat_rate.rb +1 -1
- data/lib/factpulse/models/verification_success_response.rb +1 -1
- data/lib/factpulse/models/verified_field_schema.rb +1 -1
- data/lib/factpulse/version.rb +2 -2
- data/lib/factpulse.rb +12 -8
- metadata +46 -37
- data/docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md +0 -26
- data/docs/InvoiceProcessingApi.md +0 -855
- data/docs/PDFXMLVerificationApi.md +0 -443
- data/docs/UserApi.md +0 -74
- data/lib/factpulse/api/cdar_cycle_de_vie_api.rb +0 -601
- data/lib/factpulse/api/invoice_processing_api.rb +0 -868
- data/lib/factpulse/api/pdfxml_verification_api.rb +0 -442
- data/lib/factpulse/api/user_api.rb +0 -79
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb +0 -191
|
@@ -0,0 +1,670 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#FactPulse REST API
|
|
3
|
+
|
|
4
|
+
# REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X - 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) ### ✅ Factur-X - Validation - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) ### ✍️ 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 ### 📋 Flux 6 - Invoice Lifecycle (CDAR) - **CDAR Messages**: Acknowledgements, invoice statuses - **PPF Statuses**: REFUSED (210), PAID (212) ### 📊 Flux 10 - E-Reporting - **Tax Declarations**: International B2B, B2C - **Flow Types**: 10.1 (B2B transactions), 10.2 (B2B payments), 10.3 (B2C transactions), 10.4 (B2C payments) ### 📡 AFNOR PDP/PA (XP Z12-013) - **Flow Service**: Submit and search flows to PDPs - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user ### 🏛️ Chorus Pro - **Public Sector Invoicing**: Complete API for Chorus Pro ### ⏳ Async Tasks - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **Webhooks**: Automatic notifications when tasks complete ## 🔒 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
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
Contact: contact@factpulse.fr
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.20.0-SNAPSHOT
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module FactPulse
|
|
16
|
+
class Flux6InvoiceLifecycleCDARApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Generate a CDAR message
|
|
23
|
+
# Generate a CDAR XML message (Cross Domain Acknowledgement and Response) to communicate the status of an invoice. **Message types:** - **23** (Processing): Standard lifecycle message - **305** (Transmission): Inter-platform transmission message **Business rules:** - BR-FR-CDV-14: Status 212 (PAID) requires a paid amount - BR-FR-CDV-15: Statuses 206/207/208/210/213/501 require a reason code
|
|
24
|
+
# @param create_cdar_request [CreateCDARRequest]
|
|
25
|
+
# @param [Hash] opts the optional parameters
|
|
26
|
+
# @return [GenerateCDARResponse]
|
|
27
|
+
def generate_cdar_api_v1_cdar_generate_post(create_cdar_request, opts = {})
|
|
28
|
+
data, _status_code, _headers = generate_cdar_api_v1_cdar_generate_post_with_http_info(create_cdar_request, opts)
|
|
29
|
+
data
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Generate a CDAR message
|
|
33
|
+
# Generate a CDAR XML message (Cross Domain Acknowledgement and Response) to communicate the status of an invoice. **Message types:** - **23** (Processing): Standard lifecycle message - **305** (Transmission): Inter-platform transmission message **Business rules:** - BR-FR-CDV-14: Status 212 (PAID) requires a paid amount - BR-FR-CDV-15: Statuses 206/207/208/210/213/501 require a reason code
|
|
34
|
+
# @param create_cdar_request [CreateCDARRequest]
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @return [Array<(GenerateCDARResponse, Integer, Hash)>] GenerateCDARResponse data, response status code and response headers
|
|
37
|
+
def generate_cdar_api_v1_cdar_generate_post_with_http_info(create_cdar_request, opts = {})
|
|
38
|
+
if @api_client.config.debugging
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.generate_cdar_api_v1_cdar_generate_post ...'
|
|
40
|
+
end
|
|
41
|
+
# verify the required parameter 'create_cdar_request' is set
|
|
42
|
+
if @api_client.config.client_side_validation && create_cdar_request.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'create_cdar_request' when calling Flux6InvoiceLifecycleCDARApi.generate_cdar_api_v1_cdar_generate_post"
|
|
44
|
+
end
|
|
45
|
+
# resource path
|
|
46
|
+
local_var_path = '/api/v1/cdar/generate'
|
|
47
|
+
|
|
48
|
+
# query parameters
|
|
49
|
+
query_params = opts[:query_params] || {}
|
|
50
|
+
|
|
51
|
+
# header parameters
|
|
52
|
+
header_params = opts[:header_params] || {}
|
|
53
|
+
# HTTP header 'Accept' (if needed)
|
|
54
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
55
|
+
# HTTP header 'Content-Type'
|
|
56
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
57
|
+
if !content_type.nil?
|
|
58
|
+
header_params['Content-Type'] = content_type
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# form parameters
|
|
62
|
+
form_params = opts[:form_params] || {}
|
|
63
|
+
|
|
64
|
+
# http body (model)
|
|
65
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(create_cdar_request)
|
|
66
|
+
|
|
67
|
+
# return_type
|
|
68
|
+
return_type = opts[:debug_return_type] || 'GenerateCDARResponse'
|
|
69
|
+
|
|
70
|
+
# auth_names
|
|
71
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
72
|
+
|
|
73
|
+
new_options = opts.merge(
|
|
74
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.generate_cdar_api_v1_cdar_generate_post",
|
|
75
|
+
:header_params => header_params,
|
|
76
|
+
:query_params => query_params,
|
|
77
|
+
:form_params => form_params,
|
|
78
|
+
:body => post_body,
|
|
79
|
+
:auth_names => auth_names,
|
|
80
|
+
:return_type => return_type
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
84
|
+
if @api_client.config.debugging
|
|
85
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#generate_cdar_api_v1_cdar_generate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
86
|
+
end
|
|
87
|
+
return data, status_code, headers
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# List of CDAR action codes
|
|
91
|
+
# Returns the complete list of action codes (BR-FR-CDV-CL-10). These codes indicate the requested action on the invoice.
|
|
92
|
+
# @param [Hash] opts the optional parameters
|
|
93
|
+
# @return [ActionCodesResponse]
|
|
94
|
+
def get_action_codes_api_v1_cdar_action_codes_get(opts = {})
|
|
95
|
+
data, _status_code, _headers = get_action_codes_api_v1_cdar_action_codes_get_with_http_info(opts)
|
|
96
|
+
data
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# List of CDAR action codes
|
|
100
|
+
# Returns the complete list of action codes (BR-FR-CDV-CL-10). These codes indicate the requested action on the invoice.
|
|
101
|
+
# @param [Hash] opts the optional parameters
|
|
102
|
+
# @return [Array<(ActionCodesResponse, Integer, Hash)>] ActionCodesResponse data, response status code and response headers
|
|
103
|
+
def get_action_codes_api_v1_cdar_action_codes_get_with_http_info(opts = {})
|
|
104
|
+
if @api_client.config.debugging
|
|
105
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.get_action_codes_api_v1_cdar_action_codes_get ...'
|
|
106
|
+
end
|
|
107
|
+
# resource path
|
|
108
|
+
local_var_path = '/api/v1/cdar/action-codes'
|
|
109
|
+
|
|
110
|
+
# query parameters
|
|
111
|
+
query_params = opts[:query_params] || {}
|
|
112
|
+
|
|
113
|
+
# header parameters
|
|
114
|
+
header_params = opts[:header_params] || {}
|
|
115
|
+
# HTTP header 'Accept' (if needed)
|
|
116
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
117
|
+
|
|
118
|
+
# form parameters
|
|
119
|
+
form_params = opts[:form_params] || {}
|
|
120
|
+
|
|
121
|
+
# http body (model)
|
|
122
|
+
post_body = opts[:debug_body]
|
|
123
|
+
|
|
124
|
+
# return_type
|
|
125
|
+
return_type = opts[:debug_return_type] || 'ActionCodesResponse'
|
|
126
|
+
|
|
127
|
+
# auth_names
|
|
128
|
+
auth_names = opts[:debug_auth_names] || []
|
|
129
|
+
|
|
130
|
+
new_options = opts.merge(
|
|
131
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.get_action_codes_api_v1_cdar_action_codes_get",
|
|
132
|
+
:header_params => header_params,
|
|
133
|
+
:query_params => query_params,
|
|
134
|
+
:form_params => form_params,
|
|
135
|
+
:body => post_body,
|
|
136
|
+
:auth_names => auth_names,
|
|
137
|
+
:return_type => return_type
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
141
|
+
if @api_client.config.debugging
|
|
142
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#get_action_codes_api_v1_cdar_action_codes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
143
|
+
end
|
|
144
|
+
return data, status_code, headers
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# List of CDAR reason codes
|
|
148
|
+
# Returns the complete list of status reason codes (BR-FR-CDV-CL-09). These codes explain the reason for a particular status.
|
|
149
|
+
# @param [Hash] opts the optional parameters
|
|
150
|
+
# @return [ReasonCodesResponse]
|
|
151
|
+
def get_reason_codes_api_v1_cdar_reason_codes_get(opts = {})
|
|
152
|
+
data, _status_code, _headers = get_reason_codes_api_v1_cdar_reason_codes_get_with_http_info(opts)
|
|
153
|
+
data
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# List of CDAR reason codes
|
|
157
|
+
# Returns the complete list of status reason codes (BR-FR-CDV-CL-09). These codes explain the reason for a particular status.
|
|
158
|
+
# @param [Hash] opts the optional parameters
|
|
159
|
+
# @return [Array<(ReasonCodesResponse, Integer, Hash)>] ReasonCodesResponse data, response status code and response headers
|
|
160
|
+
def get_reason_codes_api_v1_cdar_reason_codes_get_with_http_info(opts = {})
|
|
161
|
+
if @api_client.config.debugging
|
|
162
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.get_reason_codes_api_v1_cdar_reason_codes_get ...'
|
|
163
|
+
end
|
|
164
|
+
# resource path
|
|
165
|
+
local_var_path = '/api/v1/cdar/reason-codes'
|
|
166
|
+
|
|
167
|
+
# query parameters
|
|
168
|
+
query_params = opts[:query_params] || {}
|
|
169
|
+
|
|
170
|
+
# header parameters
|
|
171
|
+
header_params = opts[:header_params] || {}
|
|
172
|
+
# HTTP header 'Accept' (if needed)
|
|
173
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
174
|
+
|
|
175
|
+
# form parameters
|
|
176
|
+
form_params = opts[:form_params] || {}
|
|
177
|
+
|
|
178
|
+
# http body (model)
|
|
179
|
+
post_body = opts[:debug_body]
|
|
180
|
+
|
|
181
|
+
# return_type
|
|
182
|
+
return_type = opts[:debug_return_type] || 'ReasonCodesResponse'
|
|
183
|
+
|
|
184
|
+
# auth_names
|
|
185
|
+
auth_names = opts[:debug_auth_names] || []
|
|
186
|
+
|
|
187
|
+
new_options = opts.merge(
|
|
188
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.get_reason_codes_api_v1_cdar_reason_codes_get",
|
|
189
|
+
:header_params => header_params,
|
|
190
|
+
:query_params => query_params,
|
|
191
|
+
:form_params => form_params,
|
|
192
|
+
:body => post_body,
|
|
193
|
+
:auth_names => auth_names,
|
|
194
|
+
:return_type => return_type
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
198
|
+
if @api_client.config.debugging
|
|
199
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#get_reason_codes_api_v1_cdar_reason_codes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
200
|
+
end
|
|
201
|
+
return data, status_code, headers
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
# List of CDAR status codes
|
|
205
|
+
# Returns the complete list of invoice status codes (BR-FR-CDV-CL-06). These codes indicate the lifecycle state of an invoice.
|
|
206
|
+
# @param [Hash] opts the optional parameters
|
|
207
|
+
# @return [StatusCodesResponse]
|
|
208
|
+
def get_status_codes_api_v1_cdar_status_codes_get(opts = {})
|
|
209
|
+
data, _status_code, _headers = get_status_codes_api_v1_cdar_status_codes_get_with_http_info(opts)
|
|
210
|
+
data
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
# List of CDAR status codes
|
|
214
|
+
# Returns the complete list of invoice status codes (BR-FR-CDV-CL-06). These codes indicate the lifecycle state of an invoice.
|
|
215
|
+
# @param [Hash] opts the optional parameters
|
|
216
|
+
# @return [Array<(StatusCodesResponse, Integer, Hash)>] StatusCodesResponse data, response status code and response headers
|
|
217
|
+
def get_status_codes_api_v1_cdar_status_codes_get_with_http_info(opts = {})
|
|
218
|
+
if @api_client.config.debugging
|
|
219
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.get_status_codes_api_v1_cdar_status_codes_get ...'
|
|
220
|
+
end
|
|
221
|
+
# resource path
|
|
222
|
+
local_var_path = '/api/v1/cdar/status-codes'
|
|
223
|
+
|
|
224
|
+
# query parameters
|
|
225
|
+
query_params = opts[:query_params] || {}
|
|
226
|
+
|
|
227
|
+
# header parameters
|
|
228
|
+
header_params = opts[:header_params] || {}
|
|
229
|
+
# HTTP header 'Accept' (if needed)
|
|
230
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
231
|
+
|
|
232
|
+
# form parameters
|
|
233
|
+
form_params = opts[:form_params] || {}
|
|
234
|
+
|
|
235
|
+
# http body (model)
|
|
236
|
+
post_body = opts[:debug_body]
|
|
237
|
+
|
|
238
|
+
# return_type
|
|
239
|
+
return_type = opts[:debug_return_type] || 'StatusCodesResponse'
|
|
240
|
+
|
|
241
|
+
# auth_names
|
|
242
|
+
auth_names = opts[:debug_auth_names] || []
|
|
243
|
+
|
|
244
|
+
new_options = opts.merge(
|
|
245
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.get_status_codes_api_v1_cdar_status_codes_get",
|
|
246
|
+
:header_params => header_params,
|
|
247
|
+
:query_params => query_params,
|
|
248
|
+
:form_params => form_params,
|
|
249
|
+
:body => post_body,
|
|
250
|
+
:auth_names => auth_names,
|
|
251
|
+
:return_type => return_type
|
|
252
|
+
)
|
|
253
|
+
|
|
254
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
255
|
+
if @api_client.config.debugging
|
|
256
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#get_status_codes_api_v1_cdar_status_codes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
257
|
+
end
|
|
258
|
+
return data, status_code, headers
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
# Generate and submit a CDAR message
|
|
262
|
+
# Generate a CDAR message and submit it to the PA/PDP platform. **Authentication strategies:** 1. **JWT with client_uid** (recommended): PDP credentials retrieved from backend 2. **Zero-storage**: Provide pdpFlowServiceUrl, pdpClientId, pdpClientSecret in the request **Flow types (flowType):** - `CustomerInvoiceLC`: Client-side lifecycle (buyer) - `SupplierInvoiceLC`: Supplier-side lifecycle (seller)
|
|
263
|
+
# @param submit_cdar_request [SubmitCDARRequest]
|
|
264
|
+
# @param [Hash] opts the optional parameters
|
|
265
|
+
# @return [SubmitCDARResponse]
|
|
266
|
+
def submit_cdar_api_v1_cdar_submit_post(submit_cdar_request, opts = {})
|
|
267
|
+
data, _status_code, _headers = submit_cdar_api_v1_cdar_submit_post_with_http_info(submit_cdar_request, opts)
|
|
268
|
+
data
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
# Generate and submit a CDAR message
|
|
272
|
+
# Generate a CDAR message and submit it to the PA/PDP platform. **Authentication strategies:** 1. **JWT with client_uid** (recommended): PDP credentials retrieved from backend 2. **Zero-storage**: Provide pdpFlowServiceUrl, pdpClientId, pdpClientSecret in the request **Flow types (flowType):** - `CustomerInvoiceLC`: Client-side lifecycle (buyer) - `SupplierInvoiceLC`: Supplier-side lifecycle (seller)
|
|
273
|
+
# @param submit_cdar_request [SubmitCDARRequest]
|
|
274
|
+
# @param [Hash] opts the optional parameters
|
|
275
|
+
# @return [Array<(SubmitCDARResponse, Integer, Hash)>] SubmitCDARResponse data, response status code and response headers
|
|
276
|
+
def submit_cdar_api_v1_cdar_submit_post_with_http_info(submit_cdar_request, opts = {})
|
|
277
|
+
if @api_client.config.debugging
|
|
278
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.submit_cdar_api_v1_cdar_submit_post ...'
|
|
279
|
+
end
|
|
280
|
+
# verify the required parameter 'submit_cdar_request' is set
|
|
281
|
+
if @api_client.config.client_side_validation && submit_cdar_request.nil?
|
|
282
|
+
fail ArgumentError, "Missing the required parameter 'submit_cdar_request' when calling Flux6InvoiceLifecycleCDARApi.submit_cdar_api_v1_cdar_submit_post"
|
|
283
|
+
end
|
|
284
|
+
# resource path
|
|
285
|
+
local_var_path = '/api/v1/cdar/submit'
|
|
286
|
+
|
|
287
|
+
# query parameters
|
|
288
|
+
query_params = opts[:query_params] || {}
|
|
289
|
+
|
|
290
|
+
# header parameters
|
|
291
|
+
header_params = opts[:header_params] || {}
|
|
292
|
+
# HTTP header 'Accept' (if needed)
|
|
293
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
294
|
+
# HTTP header 'Content-Type'
|
|
295
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
296
|
+
if !content_type.nil?
|
|
297
|
+
header_params['Content-Type'] = content_type
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
# form parameters
|
|
301
|
+
form_params = opts[:form_params] || {}
|
|
302
|
+
|
|
303
|
+
# http body (model)
|
|
304
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_cdar_request)
|
|
305
|
+
|
|
306
|
+
# return_type
|
|
307
|
+
return_type = opts[:debug_return_type] || 'SubmitCDARResponse'
|
|
308
|
+
|
|
309
|
+
# auth_names
|
|
310
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
311
|
+
|
|
312
|
+
new_options = opts.merge(
|
|
313
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.submit_cdar_api_v1_cdar_submit_post",
|
|
314
|
+
:header_params => header_params,
|
|
315
|
+
:query_params => query_params,
|
|
316
|
+
:form_params => form_params,
|
|
317
|
+
:body => post_body,
|
|
318
|
+
:auth_names => auth_names,
|
|
319
|
+
:return_type => return_type
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
323
|
+
if @api_client.config.debugging
|
|
324
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#submit_cdar_api_v1_cdar_submit_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
325
|
+
end
|
|
326
|
+
return data, status_code, headers
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
# Submit a pre-generated CDAR XML
|
|
330
|
+
# Submit a pre-generated CDAR XML message to the PA/PDP platform. Useful for submitting XML generated by other systems. **Validation:** The XML is validated against XSD and Schematron BR-FR-CDV rules BEFORE submission. Invalid XML will be rejected with detailed error messages. **Authentication strategies:** 1. **JWT with client_uid** (recommended): PDP credentials retrieved from backend 2. **Zero-storage**: Provide pdpFlowServiceUrl, pdpClientId, pdpClientSecret in the request
|
|
331
|
+
# @param submit_cdarxml_request [SubmitCDARXMLRequest]
|
|
332
|
+
# @param [Hash] opts the optional parameters
|
|
333
|
+
# @return [SubmitCDARResponse]
|
|
334
|
+
def submit_cdar_xml_api_v1_cdar_submit_xml_post(submit_cdarxml_request, opts = {})
|
|
335
|
+
data, _status_code, _headers = submit_cdar_xml_api_v1_cdar_submit_xml_post_with_http_info(submit_cdarxml_request, opts)
|
|
336
|
+
data
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
# Submit a pre-generated CDAR XML
|
|
340
|
+
# Submit a pre-generated CDAR XML message to the PA/PDP platform. Useful for submitting XML generated by other systems. **Validation:** The XML is validated against XSD and Schematron BR-FR-CDV rules BEFORE submission. Invalid XML will be rejected with detailed error messages. **Authentication strategies:** 1. **JWT with client_uid** (recommended): PDP credentials retrieved from backend 2. **Zero-storage**: Provide pdpFlowServiceUrl, pdpClientId, pdpClientSecret in the request
|
|
341
|
+
# @param submit_cdarxml_request [SubmitCDARXMLRequest]
|
|
342
|
+
# @param [Hash] opts the optional parameters
|
|
343
|
+
# @return [Array<(SubmitCDARResponse, Integer, Hash)>] SubmitCDARResponse data, response status code and response headers
|
|
344
|
+
def submit_cdar_xml_api_v1_cdar_submit_xml_post_with_http_info(submit_cdarxml_request, opts = {})
|
|
345
|
+
if @api_client.config.debugging
|
|
346
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.submit_cdar_xml_api_v1_cdar_submit_xml_post ...'
|
|
347
|
+
end
|
|
348
|
+
# verify the required parameter 'submit_cdarxml_request' is set
|
|
349
|
+
if @api_client.config.client_side_validation && submit_cdarxml_request.nil?
|
|
350
|
+
fail ArgumentError, "Missing the required parameter 'submit_cdarxml_request' when calling Flux6InvoiceLifecycleCDARApi.submit_cdar_xml_api_v1_cdar_submit_xml_post"
|
|
351
|
+
end
|
|
352
|
+
# resource path
|
|
353
|
+
local_var_path = '/api/v1/cdar/submit-xml'
|
|
354
|
+
|
|
355
|
+
# query parameters
|
|
356
|
+
query_params = opts[:query_params] || {}
|
|
357
|
+
|
|
358
|
+
# header parameters
|
|
359
|
+
header_params = opts[:header_params] || {}
|
|
360
|
+
# HTTP header 'Accept' (if needed)
|
|
361
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
362
|
+
# HTTP header 'Content-Type'
|
|
363
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
364
|
+
if !content_type.nil?
|
|
365
|
+
header_params['Content-Type'] = content_type
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
# form parameters
|
|
369
|
+
form_params = opts[:form_params] || {}
|
|
370
|
+
|
|
371
|
+
# http body (model)
|
|
372
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_cdarxml_request)
|
|
373
|
+
|
|
374
|
+
# return_type
|
|
375
|
+
return_type = opts[:debug_return_type] || 'SubmitCDARResponse'
|
|
376
|
+
|
|
377
|
+
# auth_names
|
|
378
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
379
|
+
|
|
380
|
+
new_options = opts.merge(
|
|
381
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.submit_cdar_xml_api_v1_cdar_submit_xml_post",
|
|
382
|
+
:header_params => header_params,
|
|
383
|
+
:query_params => query_params,
|
|
384
|
+
:form_params => form_params,
|
|
385
|
+
:body => post_body,
|
|
386
|
+
:auth_names => auth_names,
|
|
387
|
+
:return_type => return_type
|
|
388
|
+
)
|
|
389
|
+
|
|
390
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
391
|
+
if @api_client.config.debugging
|
|
392
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#submit_cdar_xml_api_v1_cdar_submit_xml_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
393
|
+
end
|
|
394
|
+
return data, status_code, headers
|
|
395
|
+
end
|
|
396
|
+
|
|
397
|
+
# [Simplified] Submit PAID status (212) - Issued invoice
|
|
398
|
+
# **Simplified endpoint for OD** - Submit a PAID status (212) for an **ISSUED** invoice. This status is **mandatory for PPF** (BR-FR-CDV-14 requires the paid amount). **Use case:** The **seller** confirms payment receipt for an invoice they issued. **Who issues this status?** - **Issuer (IssuerTradeParty):** The seller (SE = Seller) who received payment - **Recipient (RecipientTradeParty):** The buyer (BY = Buyer) who paid **Reference:** XP Z12-014 Annex B, example UC1_F202500003_07-CDV-212_Encaissee.xml **Authentication:** JWT Bearer (recommended) or PDP credentials in request.
|
|
399
|
+
# @param encaissee_request [EncaisseeRequest]
|
|
400
|
+
# @param [Hash] opts the optional parameters
|
|
401
|
+
# @return [SimplifiedCDARResponse]
|
|
402
|
+
def submit_encaissee_api_v1_cdar_encaissee_post(encaissee_request, opts = {})
|
|
403
|
+
data, _status_code, _headers = submit_encaissee_api_v1_cdar_encaissee_post_with_http_info(encaissee_request, opts)
|
|
404
|
+
data
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
# [Simplified] Submit PAID status (212) - Issued invoice
|
|
408
|
+
# **Simplified endpoint for OD** - Submit a PAID status (212) for an **ISSUED** invoice. This status is **mandatory for PPF** (BR-FR-CDV-14 requires the paid amount). **Use case:** The **seller** confirms payment receipt for an invoice they issued. **Who issues this status?** - **Issuer (IssuerTradeParty):** The seller (SE = Seller) who received payment - **Recipient (RecipientTradeParty):** The buyer (BY = Buyer) who paid **Reference:** XP Z12-014 Annex B, example UC1_F202500003_07-CDV-212_Encaissee.xml **Authentication:** JWT Bearer (recommended) or PDP credentials in request.
|
|
409
|
+
# @param encaissee_request [EncaisseeRequest]
|
|
410
|
+
# @param [Hash] opts the optional parameters
|
|
411
|
+
# @return [Array<(SimplifiedCDARResponse, Integer, Hash)>] SimplifiedCDARResponse data, response status code and response headers
|
|
412
|
+
def submit_encaissee_api_v1_cdar_encaissee_post_with_http_info(encaissee_request, opts = {})
|
|
413
|
+
if @api_client.config.debugging
|
|
414
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.submit_encaissee_api_v1_cdar_encaissee_post ...'
|
|
415
|
+
end
|
|
416
|
+
# verify the required parameter 'encaissee_request' is set
|
|
417
|
+
if @api_client.config.client_side_validation && encaissee_request.nil?
|
|
418
|
+
fail ArgumentError, "Missing the required parameter 'encaissee_request' when calling Flux6InvoiceLifecycleCDARApi.submit_encaissee_api_v1_cdar_encaissee_post"
|
|
419
|
+
end
|
|
420
|
+
# resource path
|
|
421
|
+
local_var_path = '/api/v1/cdar/encaissee'
|
|
422
|
+
|
|
423
|
+
# query parameters
|
|
424
|
+
query_params = opts[:query_params] || {}
|
|
425
|
+
|
|
426
|
+
# header parameters
|
|
427
|
+
header_params = opts[:header_params] || {}
|
|
428
|
+
# HTTP header 'Accept' (if needed)
|
|
429
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
430
|
+
# HTTP header 'Content-Type'
|
|
431
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
432
|
+
if !content_type.nil?
|
|
433
|
+
header_params['Content-Type'] = content_type
|
|
434
|
+
end
|
|
435
|
+
|
|
436
|
+
# form parameters
|
|
437
|
+
form_params = opts[:form_params] || {}
|
|
438
|
+
|
|
439
|
+
# http body (model)
|
|
440
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(encaissee_request)
|
|
441
|
+
|
|
442
|
+
# return_type
|
|
443
|
+
return_type = opts[:debug_return_type] || 'SimplifiedCDARResponse'
|
|
444
|
+
|
|
445
|
+
# auth_names
|
|
446
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
447
|
+
|
|
448
|
+
new_options = opts.merge(
|
|
449
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.submit_encaissee_api_v1_cdar_encaissee_post",
|
|
450
|
+
:header_params => header_params,
|
|
451
|
+
:query_params => query_params,
|
|
452
|
+
:form_params => form_params,
|
|
453
|
+
:body => post_body,
|
|
454
|
+
:auth_names => auth_names,
|
|
455
|
+
:return_type => return_type
|
|
456
|
+
)
|
|
457
|
+
|
|
458
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
459
|
+
if @api_client.config.debugging
|
|
460
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#submit_encaissee_api_v1_cdar_encaissee_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
461
|
+
end
|
|
462
|
+
return data, status_code, headers
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
# [Simplified] Submit REFUSED status (210) - Received invoice
|
|
466
|
+
# **Simplified endpoint for OD** - Submit a REFUSED status (210) for a **RECEIVED** invoice. This status is **mandatory for PPF** (BR-FR-CDV-15 requires a reason code). **Use case:** The **buyer** refuses an invoice they received. **Who issues this status?** - **Issuer (IssuerTradeParty):** The buyer (BY = Buyer) refusing the invoice - **Recipient (RecipientTradeParty):** The seller (SE = Seller) who issued the invoice **Reference:** XP Z12-014 Annex B, example UC3_F202500005_04-CDV-210_Refusee.xml **Allowed reason codes (BR-FR-CDV-CL-09):** - `TX_TVA_ERR`: Incorrect VAT rate - `MONTANTTOTAL_ERR`: Incorrect total amount - `CALCUL_ERR`: Calculation error - `NON_CONFORME`: Non-compliant - `DOUBLON`: Duplicate - `DEST_ERR`: Wrong recipient - `TRANSAC_INC`: Incomplete transaction - `EMMET_INC`: Unknown issuer - `CONTRAT_TERM`: Contract terminated - `DOUBLE_FACT`: Double billing - `CMD_ERR`: Order error - `ADR_ERR`: Address error - `REF_CT_ABSENT`: Missing contract reference **Authentication:** JWT Bearer (recommended) or PDP credentials in request.
|
|
467
|
+
# @param refusee_request [RefuseeRequest]
|
|
468
|
+
# @param [Hash] opts the optional parameters
|
|
469
|
+
# @return [SimplifiedCDARResponse]
|
|
470
|
+
def submit_refusee_api_v1_cdar_refusee_post(refusee_request, opts = {})
|
|
471
|
+
data, _status_code, _headers = submit_refusee_api_v1_cdar_refusee_post_with_http_info(refusee_request, opts)
|
|
472
|
+
data
|
|
473
|
+
end
|
|
474
|
+
|
|
475
|
+
# [Simplified] Submit REFUSED status (210) - Received invoice
|
|
476
|
+
# **Simplified endpoint for OD** - Submit a REFUSED status (210) for a **RECEIVED** invoice. This status is **mandatory for PPF** (BR-FR-CDV-15 requires a reason code). **Use case:** The **buyer** refuses an invoice they received. **Who issues this status?** - **Issuer (IssuerTradeParty):** The buyer (BY = Buyer) refusing the invoice - **Recipient (RecipientTradeParty):** The seller (SE = Seller) who issued the invoice **Reference:** XP Z12-014 Annex B, example UC3_F202500005_04-CDV-210_Refusee.xml **Allowed reason codes (BR-FR-CDV-CL-09):** - `TX_TVA_ERR`: Incorrect VAT rate - `MONTANTTOTAL_ERR`: Incorrect total amount - `CALCUL_ERR`: Calculation error - `NON_CONFORME`: Non-compliant - `DOUBLON`: Duplicate - `DEST_ERR`: Wrong recipient - `TRANSAC_INC`: Incomplete transaction - `EMMET_INC`: Unknown issuer - `CONTRAT_TERM`: Contract terminated - `DOUBLE_FACT`: Double billing - `CMD_ERR`: Order error - `ADR_ERR`: Address error - `REF_CT_ABSENT`: Missing contract reference **Authentication:** JWT Bearer (recommended) or PDP credentials in request.
|
|
477
|
+
# @param refusee_request [RefuseeRequest]
|
|
478
|
+
# @param [Hash] opts the optional parameters
|
|
479
|
+
# @return [Array<(SimplifiedCDARResponse, Integer, Hash)>] SimplifiedCDARResponse data, response status code and response headers
|
|
480
|
+
def submit_refusee_api_v1_cdar_refusee_post_with_http_info(refusee_request, opts = {})
|
|
481
|
+
if @api_client.config.debugging
|
|
482
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.submit_refusee_api_v1_cdar_refusee_post ...'
|
|
483
|
+
end
|
|
484
|
+
# verify the required parameter 'refusee_request' is set
|
|
485
|
+
if @api_client.config.client_side_validation && refusee_request.nil?
|
|
486
|
+
fail ArgumentError, "Missing the required parameter 'refusee_request' when calling Flux6InvoiceLifecycleCDARApi.submit_refusee_api_v1_cdar_refusee_post"
|
|
487
|
+
end
|
|
488
|
+
# resource path
|
|
489
|
+
local_var_path = '/api/v1/cdar/refusee'
|
|
490
|
+
|
|
491
|
+
# query parameters
|
|
492
|
+
query_params = opts[:query_params] || {}
|
|
493
|
+
|
|
494
|
+
# header parameters
|
|
495
|
+
header_params = opts[:header_params] || {}
|
|
496
|
+
# HTTP header 'Accept' (if needed)
|
|
497
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
498
|
+
# HTTP header 'Content-Type'
|
|
499
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
500
|
+
if !content_type.nil?
|
|
501
|
+
header_params['Content-Type'] = content_type
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
# form parameters
|
|
505
|
+
form_params = opts[:form_params] || {}
|
|
506
|
+
|
|
507
|
+
# http body (model)
|
|
508
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(refusee_request)
|
|
509
|
+
|
|
510
|
+
# return_type
|
|
511
|
+
return_type = opts[:debug_return_type] || 'SimplifiedCDARResponse'
|
|
512
|
+
|
|
513
|
+
# auth_names
|
|
514
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
515
|
+
|
|
516
|
+
new_options = opts.merge(
|
|
517
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.submit_refusee_api_v1_cdar_refusee_post",
|
|
518
|
+
:header_params => header_params,
|
|
519
|
+
:query_params => query_params,
|
|
520
|
+
:form_params => form_params,
|
|
521
|
+
:body => post_body,
|
|
522
|
+
:auth_names => auth_names,
|
|
523
|
+
:return_type => return_type
|
|
524
|
+
)
|
|
525
|
+
|
|
526
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
527
|
+
if @api_client.config.debugging
|
|
528
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#submit_refusee_api_v1_cdar_refusee_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
529
|
+
end
|
|
530
|
+
return data, status_code, headers
|
|
531
|
+
end
|
|
532
|
+
|
|
533
|
+
# Validate CDAR structured data
|
|
534
|
+
# Validate CDAR structured data without generating XML. **Note:** This endpoint validates structured data fields only. Use `/validate-xml` to validate a pre-generated CDAR XML file against XSD and Schematron. Checks: - Field formats (SIREN, dates, etc.) - Enum codes (status, reason, action) - Business rules BR-FR-CDV-*
|
|
535
|
+
# @param validate_cdar_request [ValidateCDARRequest]
|
|
536
|
+
# @param [Hash] opts the optional parameters
|
|
537
|
+
# @return [ValidateCDARResponse]
|
|
538
|
+
def validate_cdar_api_v1_cdar_validate_post(validate_cdar_request, opts = {})
|
|
539
|
+
data, _status_code, _headers = validate_cdar_api_v1_cdar_validate_post_with_http_info(validate_cdar_request, opts)
|
|
540
|
+
data
|
|
541
|
+
end
|
|
542
|
+
|
|
543
|
+
# Validate CDAR structured data
|
|
544
|
+
# Validate CDAR structured data without generating XML. **Note:** This endpoint validates structured data fields only. Use `/validate-xml` to validate a pre-generated CDAR XML file against XSD and Schematron. Checks: - Field formats (SIREN, dates, etc.) - Enum codes (status, reason, action) - Business rules BR-FR-CDV-*
|
|
545
|
+
# @param validate_cdar_request [ValidateCDARRequest]
|
|
546
|
+
# @param [Hash] opts the optional parameters
|
|
547
|
+
# @return [Array<(ValidateCDARResponse, Integer, Hash)>] ValidateCDARResponse data, response status code and response headers
|
|
548
|
+
def validate_cdar_api_v1_cdar_validate_post_with_http_info(validate_cdar_request, opts = {})
|
|
549
|
+
if @api_client.config.debugging
|
|
550
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.validate_cdar_api_v1_cdar_validate_post ...'
|
|
551
|
+
end
|
|
552
|
+
# verify the required parameter 'validate_cdar_request' is set
|
|
553
|
+
if @api_client.config.client_side_validation && validate_cdar_request.nil?
|
|
554
|
+
fail ArgumentError, "Missing the required parameter 'validate_cdar_request' when calling Flux6InvoiceLifecycleCDARApi.validate_cdar_api_v1_cdar_validate_post"
|
|
555
|
+
end
|
|
556
|
+
# resource path
|
|
557
|
+
local_var_path = '/api/v1/cdar/validate'
|
|
558
|
+
|
|
559
|
+
# query parameters
|
|
560
|
+
query_params = opts[:query_params] || {}
|
|
561
|
+
|
|
562
|
+
# header parameters
|
|
563
|
+
header_params = opts[:header_params] || {}
|
|
564
|
+
# HTTP header 'Accept' (if needed)
|
|
565
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
566
|
+
# HTTP header 'Content-Type'
|
|
567
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
568
|
+
if !content_type.nil?
|
|
569
|
+
header_params['Content-Type'] = content_type
|
|
570
|
+
end
|
|
571
|
+
|
|
572
|
+
# form parameters
|
|
573
|
+
form_params = opts[:form_params] || {}
|
|
574
|
+
|
|
575
|
+
# http body (model)
|
|
576
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(validate_cdar_request)
|
|
577
|
+
|
|
578
|
+
# return_type
|
|
579
|
+
return_type = opts[:debug_return_type] || 'ValidateCDARResponse'
|
|
580
|
+
|
|
581
|
+
# auth_names
|
|
582
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
583
|
+
|
|
584
|
+
new_options = opts.merge(
|
|
585
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.validate_cdar_api_v1_cdar_validate_post",
|
|
586
|
+
:header_params => header_params,
|
|
587
|
+
:query_params => query_params,
|
|
588
|
+
:form_params => form_params,
|
|
589
|
+
:body => post_body,
|
|
590
|
+
:auth_names => auth_names,
|
|
591
|
+
:return_type => return_type
|
|
592
|
+
)
|
|
593
|
+
|
|
594
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
595
|
+
if @api_client.config.debugging
|
|
596
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#validate_cdar_api_v1_cdar_validate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
597
|
+
end
|
|
598
|
+
return data, status_code, headers
|
|
599
|
+
end
|
|
600
|
+
|
|
601
|
+
# Validate CDAR XML against XSD and Schematron BR-FR-CDV
|
|
602
|
+
# Validates a CDAR XML file against: 1. **XSD schema**: UN/CEFACT D22B CrossDomainAcknowledgementAndResponse 2. **Schematron BR-FR-CDV**: French business rules for invoice lifecycle Returns validation status and detailed error messages if invalid. **Note:** Use `/validate` to validate structured data fields (JSON).
|
|
603
|
+
# @param xml_file [File] CDAR XML file to validate
|
|
604
|
+
# @param [Hash] opts the optional parameters
|
|
605
|
+
# @return [Hash<String, Object>]
|
|
606
|
+
def validate_xml_cdar_api_v1_cdar_validate_xml_post(xml_file, opts = {})
|
|
607
|
+
data, _status_code, _headers = validate_xml_cdar_api_v1_cdar_validate_xml_post_with_http_info(xml_file, opts)
|
|
608
|
+
data
|
|
609
|
+
end
|
|
610
|
+
|
|
611
|
+
# Validate CDAR XML against XSD and Schematron BR-FR-CDV
|
|
612
|
+
# Validates a CDAR XML file against: 1. **XSD schema**: UN/CEFACT D22B CrossDomainAcknowledgementAndResponse 2. **Schematron BR-FR-CDV**: French business rules for invoice lifecycle Returns validation status and detailed error messages if invalid. **Note:** Use `/validate` to validate structured data fields (JSON).
|
|
613
|
+
# @param xml_file [File] CDAR XML file to validate
|
|
614
|
+
# @param [Hash] opts the optional parameters
|
|
615
|
+
# @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
|
|
616
|
+
def validate_xml_cdar_api_v1_cdar_validate_xml_post_with_http_info(xml_file, opts = {})
|
|
617
|
+
if @api_client.config.debugging
|
|
618
|
+
@api_client.config.logger.debug 'Calling API: Flux6InvoiceLifecycleCDARApi.validate_xml_cdar_api_v1_cdar_validate_xml_post ...'
|
|
619
|
+
end
|
|
620
|
+
# verify the required parameter 'xml_file' is set
|
|
621
|
+
if @api_client.config.client_side_validation && xml_file.nil?
|
|
622
|
+
fail ArgumentError, "Missing the required parameter 'xml_file' when calling Flux6InvoiceLifecycleCDARApi.validate_xml_cdar_api_v1_cdar_validate_xml_post"
|
|
623
|
+
end
|
|
624
|
+
# resource path
|
|
625
|
+
local_var_path = '/api/v1/cdar/validate-xml'
|
|
626
|
+
|
|
627
|
+
# query parameters
|
|
628
|
+
query_params = opts[:query_params] || {}
|
|
629
|
+
|
|
630
|
+
# header parameters
|
|
631
|
+
header_params = opts[:header_params] || {}
|
|
632
|
+
# HTTP header 'Accept' (if needed)
|
|
633
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
634
|
+
# HTTP header 'Content-Type'
|
|
635
|
+
content_type = @api_client.select_header_content_type(['multipart/form-data'])
|
|
636
|
+
if !content_type.nil?
|
|
637
|
+
header_params['Content-Type'] = content_type
|
|
638
|
+
end
|
|
639
|
+
|
|
640
|
+
# form parameters
|
|
641
|
+
form_params = opts[:form_params] || {}
|
|
642
|
+
form_params['xml_file'] = xml_file
|
|
643
|
+
|
|
644
|
+
# http body (model)
|
|
645
|
+
post_body = opts[:debug_body]
|
|
646
|
+
|
|
647
|
+
# return_type
|
|
648
|
+
return_type = opts[:debug_return_type] || 'Hash<String, Object>'
|
|
649
|
+
|
|
650
|
+
# auth_names
|
|
651
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
652
|
+
|
|
653
|
+
new_options = opts.merge(
|
|
654
|
+
:operation => :"Flux6InvoiceLifecycleCDARApi.validate_xml_cdar_api_v1_cdar_validate_xml_post",
|
|
655
|
+
:header_params => header_params,
|
|
656
|
+
:query_params => query_params,
|
|
657
|
+
:form_params => form_params,
|
|
658
|
+
:body => post_body,
|
|
659
|
+
:auth_names => auth_names,
|
|
660
|
+
:return_type => return_type
|
|
661
|
+
)
|
|
662
|
+
|
|
663
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
664
|
+
if @api_client.config.debugging
|
|
665
|
+
@api_client.config.logger.debug "API called: Flux6InvoiceLifecycleCDARApi#validate_xml_cdar_api_v1_cdar_validate_xml_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
666
|
+
end
|
|
667
|
+
return data, status_code, headers
|
|
668
|
+
end
|
|
669
|
+
end
|
|
670
|
+
end
|