diff --git a/app/lib/api_entreprise/api.rb b/app/lib/api_entreprise/api.rb index 91c30dea5..c37d24d66 100644 --- a/app/lib/api_entreprise/api.rb +++ b/app/lib/api_entreprise/api.rb @@ -5,8 +5,8 @@ class APIEntreprise::API TVA_NAME = "v3/european_commission/unites_legales/%{id}/numero_tva" EXERCICES_RESOURCE_NAME = "v3/dgfip/etablissements/%{id}/chiffres_affaires" RNA_RESOURCE_NAME = "v4/djepva/api-association/associations/open_data/%{id}" - EFFECTIFS_RESOURCE_NAME = "v2/effectifs_mensuels_acoss_covid" EFFECTIFS_ANNUELS_RESOURCE_NAME = "v2/effectifs_annuels_acoss_covid/%{id}" + EFFECTIFS_RESOURCE_NAME = "v3/gip_mds/etablissements/%{id}/effectifs_mensuels" ATTESTATION_SOCIALE_RESOURCE_NAME = "v4/urssaf/unites_legales/%{id}/attestation_vigilance" ATTESTATION_FISCALE_RESOURCE_NAME = "v4/dgfip/unites_legales/%{id}/attestation_fiscale" BILANS_BDF_RESOURCE_NAME = "v3/banque_de_france/unites_legales/%{id}/bilans" @@ -50,9 +50,9 @@ class APIEntreprise::API call_with_siret(RNA_RESOURCE_NAME, siret) end - def effectifs(siren, annee, mois) - endpoint = [EFFECTIFS_RESOURCE_NAME, annee, mois, "entreprise", "%{id}"].join('/') - call_with_siret(endpoint, siren) + def effectifs(siret, annee, mois) + endpoint = [EFFECTIFS_RESOURCE_NAME, mois, "annee", annee].join('/') + call_with_siret(endpoint, siret) end def effectifs_annuels(siren) diff --git a/app/lib/api_entreprise/effectifs_adapter.rb b/app/lib/api_entreprise/effectifs_adapter.rb index 55011d6ac..a8f660fbe 100644 --- a/app/lib/api_entreprise/effectifs_adapter.rb +++ b/app/lib/api_entreprise/effectifs_adapter.rb @@ -9,18 +9,24 @@ class APIEntreprise::EffectifsAdapter < APIEntreprise::Adapter private def get_resource - api(@procedure_id).effectifs(siren, @annee, @mois) + api(@procedure_id).effectifs(@siret, @annee, @mois) end def process_params - if data_source[:effectifs_mensuels].present? - { - entreprise_effectif_mensuel: data_source[:effectifs_mensuels], - entreprise_effectif_mois: data_source[:mois], - entreprise_effectif_annee: data_source[:annee] - } - else - {} + data = data_source.fetch(:data, nil) + Sentry.with_scope do |scope| + scope.set_tags(siret: @siret) + scope.set_extras(source: data) + effectifs = data&.fetch(:effectifs_mensuels, nil)&.first + if effectifs.present? + { + entreprise_effectif_mensuel: effectifs[:value], + entreprise_effectif_mois: effectifs[:mois], + entreprise_effectif_annee: effectifs[:annee] + } + else + {} + end end end end diff --git a/spec/lib/api_entreprise/effectifs_adapter_spec.rb b/spec/lib/api_entreprise/effectifs_adapter_spec.rb index d9acbd325..ac0eb8ee9 100644 --- a/spec/lib/api_entreprise/effectifs_adapter_spec.rb +++ b/spec/lib/api_entreprise/effectifs_adapter_spec.rb @@ -9,7 +9,7 @@ describe APIEntreprise::EffectifsAdapter do subject { adapter.to_params } before do - stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v2\/effectifs_mensuels_acoss_covid\/#{annee}\/#{mois}\/entreprise\/#{siren}/) + stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v3\/gip_mds\/etablissements\/#{siret}\/effectifs_mensuels\/#{mois}\/annee\/#{annee}/) .to_return(body: body, status: status) allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false) end @@ -23,7 +23,7 @@ describe APIEntreprise::EffectifsAdapter do end it "renvoie les effectifs du mois demandé" do - expect(subject[:entreprise_effectif_mensuel]).to eq(100.5) + expect(subject[:entreprise_effectif_mensuel]).to eq(12.34) end end end