✒️
Documentation API Engagement
Documentation Produit
Documentation Produit
  • INTRODUCTION
    • Qu'est ce que l'API Engagement ?
    • À qui s'adresse l'API Engagement ?
    • Comment devenir partenaire ?
  • ANNONCEUR
    • Partager des missions d'engagement
    • Étape 1 : créer d'un flux XML
      • Format du flux XML
      • Liste des champs à inclure dans le flux XML
      • Conditions d'utilisation du flux XML
    • Étape 2 : tracker des candidatures
      • Rajout de la balise et des commandes de tracking par le tag
      • Tracking de l'activité par API
    • Modération des missions partagées
      • Modération API Engagement
      • Modération des partenaires "diffuseur"
  • Diffuseur
    • Diffuser des missions d'engagement sur mon site
      • Diffuser des missions par API
      • Diffuser des missions par widget
      • Diffuser des missions par lien tracké
    • Modèle de données d'une mission d'engagement
    • Partager les données de diffusion sur mon site à l'API Engagement
      • Missions non diffusées sur mon site
      • Partager vos statistiques de diffusions (impressions) à l'API Engagement
        • Par envoi de fichier csv.
        • Par la mise en place d'un tag (ou pixel) sur votre site
      • Identifier l’origine d’une redirection à l’aide de tags
  • RESSOURCES
    • Traitement des données utilisateurs
Powered by GitBook
On this page
  • Champs de l'adresse
  • Procédure
  • Géolocalisation
  • Exemple : localisation renseignée
  • Exemple : localisation manquante mais adresse + ville + code postal connus
  • Exemple : localisation + adresse manquantes, mais ville + code postal connus
  1. ANNONCEUR
  2. Étape 1 : créer d'un flux XML

Géolocalisation des missions

Last updated 6 months ago

La géolocalisation des missions sur l'API permet d'utiliser les filtres de localisation afin de connaître les missions proches d'un lieu choisi, en France. Pour cela, il faut connaître la longitude et la latitude de l’adresse de la mission. Le traitement de l'API lors de l'importation consiste à récupérer ces valeurs si elles ne sont pas renseignées.

Champs de l'adresse

Les champs pris en compte lors de la géolocalisation de l'adresse sont les suivants:

Nom du champ
Type
Description

country

String

Code du pays sur 2 lettre en majuscule, ex: “FR”

address

String

Adresse de la mission sans ville ni code postal, ex: "1 rue les trois cornières"

city

String

Nom de la ville de la mission, ex: “Mauron”

postalCode

String

Code postal de la mission, ex: “56430”

departmentCode

String

Département de la mission, ex: “56”

departmentName

String

Nom du département de la mission, ex: "Morbihan"

region

String

Région de la mission, ex: “Bretagne”

lonlat

Float[]

Longitude puis latitude de la mission séparées par une ",", ex : "-2.297475, 48.088759" (Attention à l’ordre! La longitude est en premier)

Procédure

Si la longitude et la latitude ne sont pas renseignées ou mal renseignées (valeurs fausses), l’API utilise l' pour retrouver ces valeurs.

La mission est géolocalisée dans les cas où au moins l’un des champs address, city ou postalCode est renseigné.

La mission n’est pas géolocalisée si elle a déjà été géolocalisée une fois.

Géolocalisation

La géolocalisation est faite suivant le code simplifié suivant:

const q = `${mission.address} ${mission.postalCode} ${mission.city}`;
const url = encodeURI(`https://api-adresse.data.gouv.fr/search/?q=${q}&limit=1`);
const res = await fetch(url).then((response) => response.json());

Le premier résultat est récupéré afin de renseigner la localisation.

Exemple : localisation renseignée

<mission>
	{...}
	<address><![CDATA[1 rue les trois cornieres]]></address>
	<postalCode><![CDATA[56430]]></postalCode>
	<departmentCode><![CDATA[56]]></departmentCode>
	<departmentName><![CDATA[Morbihan]]></departmentName>
	<city><![CDATA[Mauron]]></city>
	<region><![CDATA[Bretagne]]></region>
	<country><![CDATA[FR]]></country>
	<lonlat><![CDATA[-2.297475,48.088759]]></lonlat>
<mission>

Aucune géolocalisation n'est effectuée ici car tous les champs sont renseignés.

Exemple : localisation manquante mais adresse + ville + code postal connus

<mission>
	{...}
	<address><![CDATA[1 rue les trois cornieres]]></address>
	<postalCode><![CDATA[56430]]></postalCode>
	<departmentCode><![CDATA[56]]></departmentCode>
	<city><![CDATA[Mauron]]></city>
	<region><![CDATA[Bretagne]]></region>
	<country><![CDATA[FR]]></country>
<mission>

L’adresse, la ville et le code postal sont connus, alors cette requête est envoyée :

GET <https://api-adresse.data.gouv.fr/search/?q=1%20rue%20les%20trois%20cornieres%2056430%20Mauron&limit=1>

La réponse récupérée est la suivante :

{
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [
            -2.297475,
            48.088759
        ]
    },
    "properties": {
        "label": "1 Les 3 Cornieres 56430 Mauron",
        "score": 0.6043526573426573,
        "housenumber": "1",
        "id": "56127_b341_00001",
        "name": "1 Les 3 Cornieres",
        "postcode": "56430",
        "citycode": "56127",
        "x": 305874.02,
        "y": 6789712.68,
        "city": "Mauron",
        "context": "56, Morbihan, Bretagne",
        "type": "housenumber",
        "importance": 0.41711,
        "street": "Les 3 Cornieres"
    }
}

Exemple : localisation + adresse manquantes, mais ville + code postal connus

<mission>
	{...}
	<postalCode><![CDATA[56430]]></postalCode>
	<departmentCode><![CDATA[56]]></departmentCode>
	<city><![CDATA[Mauron]]></city>
	<region><![CDATA[Bretagne]]></region>
	<country><![CDATA[FR]]></country>
<mission>

Seuls la ville et le code postal sont connus, alors cette requête est envoyée :

GET <https://api-adresse.data.gouv.fr/search/?q=56430%20Mauron&limit=1>

La réponse récupérée est la suivante :

{
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [
            -2.307683,
            48.090167
        ]
    },
    "properties": {
        "label": "Mauron",
        "score": 0.9407090909090908,
        "id": "56127",
        "type": "municipality",
        "name": "Mauron",
        "postcode": "56430",
        "citycode": "56127",
        "x": 305126.21,
        "y": 6789919.8,
        "population": 3145,
        "city": "Mauron",
        "context": "56, Morbihan, Bretagne",
        "importance": 0.3478,
        "municipality": "Mauron"
    }
}

On remarque que la longitude et latitude sont moins précises mais permettent toujours de géolocaliser la mission. Il en est de même si seul le code postal est renseigné.

Attention, si seule l’adresse ou la ville est renseignée il se peut qu’il y ait des doublons et donc que la géolocalisation choisie corresponde au mauvais doublon : le code postal est une valeur sûre.

api-adresse