# Geoloc API

### Aperçu

Le **Geoloc API** vous permet d'enrichir les données de trafic de votre site web avec des informations géographiques sur vos visiteurs — **sans avoir besoin du support de votre équipe technique**.\
Ce service fournit des attributs de localisation précis tels que :

* Code du continent
* Code pays
* Région
* Ville
* Code postal
* Latitude & longitude

> **Remarque :** Geoloc est une **fonctionnalité optionnelle et facturable**. Veuillez contacter votre **Commanders Act Sales representative** pour les détails de tarification.

***

### Comment ça fonctionne

Pour récupérer les données de geoloc, notre système envoie une requête au endpoint suivant :

```
https://api.commander1.com/geoloc?token=XXX&site=XXX
```

**Paramètres :**

| Paramètre | Description                                               |
| --------- | --------------------------------------------------------- |
| `token`   | API token fourni par l'équipe de support Commanders Act   |
| `site`    | ID du site (workspace Commanders Act) demandant la geoloc |

L'API renvoie un objet JSON contenant les détails géographiques du visiteur.

#### Exemple de réponse

```json
{
  "continentCode": "EU",
  "countryCode": "FR",
  "region": "Île-de-France",
  "longitude": 2.3333,
  "latitude": 48.8667,
  "city": "Paris",
  "postalCode": "75001"
}
```

***

### Utiliser Geoloca dans votre bloc JavaScript personnalisé

Voici un exemple simple montrant comment appeler l'API et stocker le résultat dans `tC.internalvars` pour une utilisation dans le TMS. Vous pouvez utiliser ce code dans votre bloc javascript personnalisé.

#### Script exemple

```javascript
function httpGet(url) {
  var xmlHttp = new XMLHttpRequest();
  xmlHttp.open("GET", url, false); // requête synchrone
  xmlHttp.send(null);
  return JSON.parse(xmlHttp.responseText);
}

tC.internalvars.geoloc = httpGet("https://api.commander1.com/geoloc/?site={YOUR SITE ID}&token={YOUR TOKEN}");
```

Une fois assignées, vous pouvez utiliser directement n'importe quel champ via internalvars

```javascript
tC.internalvars.geoloc.continentCode  // "EU"
tC.internalvars.geoloc.countryCode    // "FR"
tC.internalvars.geoloc.region         // "Île-de-France"
tC.internalvars.geoloc.longitude      // 2.3399
tC.internalvars.geoloc.latitude       // 48.8718
tC.internalvars.geoloc.city           // "Paris"
tC.internalvars.geoloc.postalCode     // "75009"
```

Ces variables peuvent désormais être utilisées pour créer vos propres règles personnalisées, par exemple afficher une bannière de confidentialité pour différents pays.
