From 0af229a7a57281d21cae4a67df802cff4f0ab010 Mon Sep 17 00:00:00 2001 From: Samuel-Zacharie FAURE Date: Thu, 6 Aug 2026 15:24:20 +0200 Subject: [PATCH 1/2] Enhance: give CNAV's unattributed provider error its own subcode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CNAV-specific unattributed 404 and the generic ProviderUnknownError baseline both surfaced as code 37999 with an identical title, making them indistinguishable in the API docs. Make ProviderUnknownError's subcode overridable per instance (default stays '999', so the ~50 other unknown_provider_response! call sites are unaffected), add subcode 998 "Réponse inconnue du fournisseur de données" to the error catalog, and have CNAV's fallback use it. --- siade/app/errors/provider_unknown_error.rb | 7 +++++-- siade/app/interactors/cnav/validate_response.rb | 2 +- siade/app/interactors/validate_response.rb | 8 ++++---- siade/config/errors.yml | 4 ++++ siade/spec/errors/provider_unknown_error_spec.rb | 16 ++++++++++++++++ .../interactors/cnav/validate_response_spec.rb | 4 ++++ .../v2/cnav/allocation_adulte_handicape_spec.rb | 2 +- .../v2/cnav/allocation_soutien_familial_spec.rb | 2 +- .../cnav/complementaire_sante_solidaire_spec.rb | 2 +- .../v2/cnav/prime_activite_spec.rb | 2 +- .../v2/cnav/quotient_familial_v2_spec.rb | 2 +- .../v2/cnav/revenu_solidarite_active_spec.rb | 2 +- ...cation_adulte_handicape_with_civility_spec.rb | 2 +- ..._adulte_handicape_with_france_connect_spec.rb | 2 +- ...cation_enfant_handicape_with_civility_spec.rb | 2 +- ..._enfant_handicape_with_france_connect_spec.rb | 2 +- ...cation_rentree_scolaire_with_civility_spec.rb | 2 +- ..._rentree_scolaire_with_france_connect_spec.rb | 2 +- ...cation_soutien_familial_with_civility_spec.rb | 2 +- ..._soutien_familial_with_france_connect_spec.rb | 2 +- ...entaire_sante_solidaire_with_civility_spec.rb | 2 +- ...e_sante_solidaire_with_france_connect_spec.rb | 2 +- .../cnav/prime_activite_with_civility_spec.rb | 2 +- .../prime_activite_with_france_connect_spec.rb | 2 +- .../cnav/quotient_familial_with_civility_spec.rb | 2 +- ...quotient_familial_with_france_connect_spec.rb | 2 +- ...evenu_solidarite_active_with_civility_spec.rb | 2 +- ...solidarite_active_with_france_connect_spec.rb | 2 +- 28 files changed, 56 insertions(+), 29 deletions(-) diff --git a/siade/app/errors/provider_unknown_error.rb b/siade/app/errors/provider_unknown_error.rb index a0b04765f9..046cc67bd5 100644 --- a/siade/app/errors/provider_unknown_error.rb +++ b/siade/app/errors/provider_unknown_error.rb @@ -1,8 +1,11 @@ class ProviderUnknownError < AbstractGenericProviderError - def subcode - '999' + def initialize(provider_name, message = nil, subcode: '999') + super(provider_name, message) + @subcode = subcode end + attr_reader :subcode + def tracking_level 'error' end diff --git a/siade/app/interactors/cnav/validate_response.rb b/siade/app/interactors/cnav/validate_response.rb index dbe977a100..d5292a7d2a 100644 --- a/siade/app/interactors/cnav/validate_response.rb +++ b/siade/app/interactors/cnav/validate_response.rb @@ -18,7 +18,7 @@ def resource_not_found! return regime_not_found_error(regime) if regime.present? - unknown_provider_response!('Une erreur inattendue est survenue lors de la collecte des données') + unknown_provider_response!('Une erreur inattendue est survenue lors de la collecte des données', subcode: '998') end def sub_provider_error? diff --git a/siade/app/interactors/validate_response.rb b/siade/app/interactors/validate_response.rb index 7eccb27b07..843a1e27ff 100644 --- a/siade/app/interactors/validate_response.rb +++ b/siade/app/interactors/validate_response.rb @@ -24,8 +24,8 @@ def call protected - def build_error(error_klass, message = nil) - error_klass.new(context.provider_name, message) + def build_error(error_klass, message = nil, **) + error_klass.new(context.provider_name, message, **) end def fail_with_error!(error) @@ -41,8 +41,8 @@ def temporary_error!(message = nil) fail_with_error!(build_error(::ProviderTemporaryError, message)) end - def unknown_provider_response!(message = nil) - error = build_error(::ProviderUnknownError, message) + def unknown_provider_response!(message = nil, **) + error = build_error(::ProviderUnknownError, message, **) add_monitoring_private_context(error) diff --git a/siade/config/errors.yml b/siade/config/errors.yml index 4df30d71b3..f4edfb9474 100644 --- a/siade/config/errors.yml +++ b/siade/config/errors.yml @@ -4,6 +4,10 @@ title: 'Erreur inconnue du fournisseur de données' detail: "La réponse retournée par le fournisseur de données est invalide et inconnue de notre service. L'équipe technique a été notifiée de cette erreur pour investigation." +- subcode: '998' + title: 'Réponse inconnue du fournisseur de données' + detail: "La réponse retournée par le fournisseur de données correspond à un cas d'erreur imprévu. L'équipe technique a été notifiée de cette erreur pour investigation." + - subcode: '000' title: 'Erreur interne du fournisseur de données' detail: 'La réponse retournée par le fournisseur de données est invalide et a été identifié comme étant une erreur interne. Si le problème persiste, consultez la page de status ou contactez nous sur le support.' diff --git a/siade/spec/errors/provider_unknown_error_spec.rb b/siade/spec/errors/provider_unknown_error_spec.rb index dc4909d7de..6c0f082a1e 100644 --- a/siade/spec/errors/provider_unknown_error_spec.rb +++ b/siade/spec/errors/provider_unknown_error_spec.rb @@ -2,4 +2,20 @@ it_behaves_like 'a valid error' do let(:instance) { described_class.new('INSEE') } end + + it 'defaults to subcode 999' do + expect(described_class.new('INSEE').subcode).to eq('999') + end + + context 'with a custom subcode' do + let(:instance) { described_class.new('CNAV', subcode: '998') } + + it 'uses the given subcode' do + expect(instance.subcode).to eq('998') + end + + it 'resolves the title for that subcode' do + expect(instance.title).to eq('Réponse inconnue du fournisseur de données') + end + end end diff --git a/siade/spec/interactors/cnav/validate_response_spec.rb b/siade/spec/interactors/cnav/validate_response_spec.rb index dfe9878d35..c9fcdbd076 100644 --- a/siade/spec/interactors/cnav/validate_response_spec.rb +++ b/siade/spec/interactors/cnav/validate_response_spec.rb @@ -122,6 +122,10 @@ it 'returns a provider unknown error' do expect(subject.errors.first.detail).to include('Une erreur inattendue est survenue lors de la collecte des données') end + + it 'uses the dedicated unattributed-error subcode' do + expect(subject.errors.first.subcode).to eq('998') + end end end diff --git a/siade/spec/requests/api_particulier/v2/cnav/allocation_adulte_handicape_spec.rb b/siade/spec/requests/api_particulier/v2/cnav/allocation_adulte_handicape_spec.rb index d83d9d5f1e..78e37749fa 100644 --- a/siade/spec/requests/api_particulier/v2/cnav/allocation_adulte_handicape_spec.rb +++ b/siade/spec/requests/api_particulier/v2/cnav/allocation_adulte_handicape_spec.rb @@ -167,7 +167,7 @@ stub_cnav_404('allocation_adulte_handicape') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v2/cnav/allocation_soutien_familial_spec.rb b/siade/spec/requests/api_particulier/v2/cnav/allocation_soutien_familial_spec.rb index 39ed744219..ff69a166fc 100644 --- a/siade/spec/requests/api_particulier/v2/cnav/allocation_soutien_familial_spec.rb +++ b/siade/spec/requests/api_particulier/v2/cnav/allocation_soutien_familial_spec.rb @@ -167,7 +167,7 @@ stub_cnav_404('allocation_soutien_familial') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v2/cnav/complementaire_sante_solidaire_spec.rb b/siade/spec/requests/api_particulier/v2/cnav/complementaire_sante_solidaire_spec.rb index 46bb056825..29a1b4ca12 100644 --- a/siade/spec/requests/api_particulier/v2/cnav/complementaire_sante_solidaire_spec.rb +++ b/siade/spec/requests/api_particulier/v2/cnav/complementaire_sante_solidaire_spec.rb @@ -157,7 +157,7 @@ stub_cnav_404('complementaire_sante_solidaire') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v2/cnav/prime_activite_spec.rb b/siade/spec/requests/api_particulier/v2/cnav/prime_activite_spec.rb index 920b5603ee..c25587c116 100644 --- a/siade/spec/requests/api_particulier/v2/cnav/prime_activite_spec.rb +++ b/siade/spec/requests/api_particulier/v2/cnav/prime_activite_spec.rb @@ -167,7 +167,7 @@ stub_cnav_404('prime_activite') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v2/cnav/quotient_familial_v2_spec.rb b/siade/spec/requests/api_particulier/v2/cnav/quotient_familial_v2_spec.rb index 5ad4198cef..0039600013 100644 --- a/siade/spec/requests/api_particulier/v2/cnav/quotient_familial_v2_spec.rb +++ b/siade/spec/requests/api_particulier/v2/cnav/quotient_familial_v2_spec.rb @@ -209,7 +209,7 @@ stub_cnav_404('quotient_familial_v2') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v2/cnav/revenu_solidarite_active_spec.rb b/siade/spec/requests/api_particulier/v2/cnav/revenu_solidarite_active_spec.rb index 24ac691539..7c0dc21824 100644 --- a/siade/spec/requests/api_particulier/v2/cnav/revenu_solidarite_active_spec.rb +++ b/siade/spec/requests/api_particulier/v2/cnav/revenu_solidarite_active_spec.rb @@ -167,7 +167,7 @@ stub_cnav_404('revenu_solidarite_active') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_adulte_handicape_with_civility_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_adulte_handicape_with_civility_spec.rb index b446ca80ff..602249f183 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_adulte_handicape_with_civility_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_adulte_handicape_with_civility_spec.rb @@ -139,7 +139,7 @@ stub_cnav_404('allocation_adulte_handicape') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_adulte_handicape_with_france_connect_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_adulte_handicape_with_france_connect_spec.rb index 3f96ac9fbe..c50a21397e 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_adulte_handicape_with_france_connect_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_adulte_handicape_with_france_connect_spec.rb @@ -107,7 +107,7 @@ stub_cnav_404('allocation_adulte_handicape') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_enfant_handicape/allocation_enfant_handicape_with_civility_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_enfant_handicape/allocation_enfant_handicape_with_civility_spec.rb index 4109b50e4c..b096c23a11 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_enfant_handicape/allocation_enfant_handicape_with_civility_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_enfant_handicape/allocation_enfant_handicape_with_civility_spec.rb @@ -139,7 +139,7 @@ stub_cnav_404('allocation_enfant_handicape') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_enfant_handicape/allocation_enfant_handicape_with_france_connect_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_enfant_handicape/allocation_enfant_handicape_with_france_connect_spec.rb index 61f3787efc..a91da376b2 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_enfant_handicape/allocation_enfant_handicape_with_france_connect_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_enfant_handicape/allocation_enfant_handicape_with_france_connect_spec.rb @@ -107,7 +107,7 @@ stub_cnav_404('allocation_enfant_handicape') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_rentree_scolaire/allocation_rentree_scolaire_with_civility_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_rentree_scolaire/allocation_rentree_scolaire_with_civility_spec.rb index 5ddc5cc19f..4d6cab9d22 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_rentree_scolaire/allocation_rentree_scolaire_with_civility_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_rentree_scolaire/allocation_rentree_scolaire_with_civility_spec.rb @@ -134,7 +134,7 @@ stub_cnav_404('allocation_rentree_scolaire') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_rentree_scolaire/allocation_rentree_scolaire_with_france_connect_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_rentree_scolaire/allocation_rentree_scolaire_with_france_connect_spec.rb index dbcd906d8f..2ade66c560 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_rentree_scolaire/allocation_rentree_scolaire_with_france_connect_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_rentree_scolaire/allocation_rentree_scolaire_with_france_connect_spec.rb @@ -102,7 +102,7 @@ stub_cnav_404('allocation_rentree_scolaire') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_soutien_familial_with_civility_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_soutien_familial_with_civility_spec.rb index 18019b40d0..7be6f98c50 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_soutien_familial_with_civility_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_soutien_familial_with_civility_spec.rb @@ -139,7 +139,7 @@ stub_cnav_404('allocation_soutien_familial') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_soutien_familial_with_france_connect_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_soutien_familial_with_france_connect_spec.rb index 538d494edd..8dfdea7ca9 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_soutien_familial_with_france_connect_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/allocation_soutien_familial_with_france_connect_spec.rb @@ -107,7 +107,7 @@ stub_cnav_404('allocation_soutien_familial') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/complementaire_sante_solidaire_with_civility_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/complementaire_sante_solidaire_with_civility_spec.rb index 5f735f7810..d35378c82d 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/complementaire_sante_solidaire_with_civility_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/complementaire_sante_solidaire_with_civility_spec.rb @@ -129,7 +129,7 @@ stub_cnav_404('complementaire_sante_solidaire') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/complementaire_sante_solidaire_with_france_connect_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/complementaire_sante_solidaire_with_france_connect_spec.rb index 9e2e060f54..35079ca9c2 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/complementaire_sante_solidaire_with_france_connect_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/complementaire_sante_solidaire_with_france_connect_spec.rb @@ -97,7 +97,7 @@ stub_cnav_404('complementaire_sante_solidaire') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/prime_activite_with_civility_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/prime_activite_with_civility_spec.rb index e2ed9ec7be..077a65a6f1 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/prime_activite_with_civility_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/prime_activite_with_civility_spec.rb @@ -139,7 +139,7 @@ stub_cnav_404('prime_activite') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/prime_activite_with_france_connect_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/prime_activite_with_france_connect_spec.rb index e3db8fc880..18631844e8 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/prime_activite_with_france_connect_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/prime_activite_with_france_connect_spec.rb @@ -107,7 +107,7 @@ stub_cnav_404('prime_activite') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/quotient_familial_with_civility_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/quotient_familial_with_civility_spec.rb index f757165463..19d7d57b49 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/quotient_familial_with_civility_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/quotient_familial_with_civility_spec.rb @@ -179,7 +179,7 @@ stub_cnav_404('quotient_familial_v2') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/quotient_familial_with_france_connect_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/quotient_familial_with_france_connect_spec.rb index a68884608f..9ef4e4355a 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/quotient_familial_with_france_connect_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/quotient_familial_with_france_connect_spec.rb @@ -123,7 +123,7 @@ stub_cnav_404('quotient_familial_v2') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/revenu_solidarite_active_with_civility_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/revenu_solidarite_active_with_civility_spec.rb index 7b45fc032b..37356b8fe0 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/revenu_solidarite_active_with_civility_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/revenu_solidarite_active_with_civility_spec.rb @@ -139,7 +139,7 @@ stub_cnav_404('revenu_solidarite_active') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' diff --git a/siade/spec/requests/api_particulier/v3_and_more/cnav/revenu_solidarite_active_with_france_connect_spec.rb b/siade/spec/requests/api_particulier/v3_and_more/cnav/revenu_solidarite_active_with_france_connect_spec.rb index 2c02950c25..4720d7b42b 100644 --- a/siade/spec/requests/api_particulier/v3_and_more/cnav/revenu_solidarite_active_with_france_connect_spec.rb +++ b/siade/spec/requests/api_particulier/v3_and_more/cnav/revenu_solidarite_active_with_france_connect_spec.rb @@ -107,7 +107,7 @@ stub_cnav_404('revenu_solidarite_active') end - build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données'), :unexpected_error) + build_rswag_example(ProviderUnknownError.new('CNAV', 'Une erreur inattendue est survenue lors de la collecte des données', subcode: '998'), :unexpected_error) schema '$ref' => '#/components/schemas/Error' From 3667bd3a1e6ffb3b0427d24710d736646a7de000 Mon Sep 17 00:00:00 2001 From: Samuel-Zacharie FAURE Date: Thu, 6 Aug 2026 15:24:56 +0200 Subject: [PATCH 2/2] Chore: regenerate OpenAPI docs for CNAV subcode differentiation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run siade/bin/generate_swagger.sh to reflect the previous commit: the CNAV-specific unattributed-error example now shows code 37998 "Réponse inconnue du fournisseur de données" instead of duplicating the generic 37999 baseline example. --- commons/swagger/openapi-particulier.yaml | 96 +++++++++++----------- commons/swagger/openapi-particulierv2.yaml | 10 +-- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/commons/swagger/openapi-particulier.yaml b/commons/swagger/openapi-particulier.yaml index 89809df7be..488e19680a 100644 --- a/commons/swagger/openapi-particulier.yaml +++ b/commons/swagger/openapi-particulier.yaml @@ -1269,14 +1269,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -1700,14 +1700,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -2172,14 +2172,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -2619,14 +2619,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -3085,14 +3085,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -3525,14 +3525,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -3984,14 +3984,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -4417,14 +4417,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -4898,14 +4898,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -5353,14 +5353,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -7020,14 +7020,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -7463,14 +7463,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -8313,14 +8313,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -8996,14 +8996,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -9465,14 +9465,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données erreur_inconnue_du_fournisseur_de_donnees_37999: @@ -9908,14 +9908,14 @@ paths: unexpected_error: value: errors: - - code: '37999' - title: Erreur inconnue du fournisseur de données + - code: '37998' + title: Réponse inconnue du fournisseur de données detail: Une erreur inattendue est survenue lors de la collecte des données source: meta: provider: CNAV - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: diff --git a/commons/swagger/openapi-particulierv2.yaml b/commons/swagger/openapi-particulierv2.yaml index 904ff10da1..d989bb7cea 100644 --- a/commons/swagger/openapi-particulierv2.yaml +++ b/commons/swagger/openapi-particulierv2.yaml @@ -328,7 +328,7 @@ paths: des données message: Une erreur inattendue est survenue lors de la collecte des données - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -630,7 +630,7 @@ paths: des données message: Une erreur inattendue est survenue lors de la collecte des données - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -943,7 +943,7 @@ paths: des données message: Une erreur inattendue est survenue lors de la collecte des données - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -1253,7 +1253,7 @@ paths: des données message: Une erreur inattendue est survenue lors de la collecte des données - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: @@ -2117,7 +2117,7 @@ paths: des données message: Une erreur inattendue est survenue lors de la collecte des données - summary: Erreur inconnue du fournisseur de données + summary: Réponse inconnue du fournisseur de données description: Une erreur inattendue est survenue lors de la collecte des données schema: