Bonsoir à tous,
Je m’arrache actuellement les cheveux car toutes mes techniques ne fonctionnent pas et pourtant ça parait si simple.
Contexte :
J’ai scrappé un grand nombre (+2000) d’entreprise. J’ai l’adresse, le nom, le code postal. Je souhaite rajouté à toutes ces entreprises le SIRET ou SIREN.
J’ai essayé 2 solutions : les Google Script et la formule en deux étapes directement dans le Sheet.
Voici le code que j’ai utilisé :
function GetSirenNumber2(CompanyName) {
// Add credentials
var params = {
"method": "GET",
"headers": {
"Authorization": "Basic API_KEY"
},
"muteHttpExceptions": true
};
// Send request
var response = UrlFetchApp.fetch("api.insee.fr/entreprises/sirene/V3/siren?q=periode(denominationUniteLegale:" + CompanyName + ")", params);
// Parse response
var xml = XmlService.parse(response.getContentText());
var siren = xml.getRootElement().getChild("siren").getText();
return siren;
}
J’ai utilisé le XML car le JSON ne fonctionne pas et ça me donnait une erreur.
Pour les formules G-Sheet, j’ai utilisé ça :
=CONCATENATE("api.insee.fr/entreprises/sirene/V3/siren?q=periode(denominationUniteLegale:",B2,")")
Puis
=ImportJSON(A7,"unitesLegales/siren","credential=API_KEY&apiKey=API_KEY")
J’ai remplacé mon crédential par « API_KEY » pour vous fournir les codes.
Je sais que beaucoup d’entre vous sont expérimentés et c’est pourquoi je vous demande de l’aide sur ce sujet.
PS :
La requête fonctionne bien car quand je sélectionne une entreprise au hasard, j’ai une réponse dans PostMan.
"api.insee.fr/entreprises/sirene/V3/siren?q=periode(denominationUniteLegale:"HUILERIE DE LAPALISSE")"
Et j’ai bien cette réponse avec la donnée que je souhaite (le siren) :
{
"header": {
"statut": 200,
"message": "OK",
"total": 1,
"debut": 0,
"nombre": 1
},
"unitesLegales": [
{
"siren": "314539792",
"statutDiffusionUniteLegale": "O",
"dateCreationUniteLegale": "1978-01-01",
"sigleUniteLegale": null,
"sexeUniteLegale": null,
"prenom1UniteLegale": null,
"prenom2UniteLegale": null,
"prenom3UniteLegale": null,
"prenom4UniteLegale": null,
"prenomUsuelUniteLegale": null,
"pseudonymeUniteLegale": null,
"identifiantAssociationUniteLegale": null,
"trancheEffectifsUniteLegale": "12",
"anneeEffectifsUniteLegale": "2020",
"dateDernierTraitementUniteLegale": "2022-08-29T09:14:36",
"nombrePeriodesUniteLegale": 8,
"categorieEntreprise": "PME",
"anneeCategorieEntreprise": "2020",
"periodesUniteLegale": [
{
"dateFin": null,
"dateDebut": "2020-12-31",
"etatAdministratifUniteLegale": "A",
"changementEtatAdministratifUniteLegale": false,
"nomUniteLegale": null,
"changementNomUniteLegale": false,
"nomUsageUniteLegale": null,
"changementNomUsageUniteLegale": false,
"denominationUniteLegale": "HUILERIE DE LAPALISSE",
"changementDenominationUniteLegale": false,
"denominationUsuelle1UniteLegale": null,
"denominationUsuelle2UniteLegale": null,
"denominationUsuelle3UniteLegale": null,
"changementDenominationUsuelleUniteLegale": false,
"categorieJuridiqueUniteLegale": "5710",
"changementCategorieJuridiqueUniteLegale": false,
"activitePrincipaleUniteLegale": "10.41A",
"nomenclatureActivitePrincipaleUniteLegale": "NAFRev2",
"changementActivitePrincipaleUniteLegale": true,
"nicSiegeUniteLegale": "00015",
"changementNicSiegeUniteLegale": false,
"economieSocialeSolidaireUniteLegale": null,
"changementEconomieSocialeSolidaireUniteLegale": false,
"societeMissionUniteLegale": null,
"changementSocieteMissionUniteLegale": false,
"caractereEmployeurUniteLegale": "O",
"changementCaractereEmployeurUniteLegale": false
},