Demande
L'API de placement publicitaire peut être appelée soit du côté client, soit du côté serveur.
Lors de l'utilisation de l'implémentation côté client, le navigateur peut effectuer une requête pre-flight. Si vous souhaitez éviter cela, dans l'en-tête de la requête, utilisez Content-Type : text/plain. Cela permettra au navigateur de qualifier la requête de "simple" et donc d'éviter la requête de pré-vol.
De plus, lorsque vous appelez l'API du côté client, les IP ne sont pas nécessaires car il peut être difficile de détecter l'IP à l'aide du frontend et de Javascript. Au lieu de cela, notre API détecte l'IP à partir de la connexion lorsque la demande est faite.
Lors de l'utilisation de l'implémentation côté serveur, afin de garantir un ciblage correct, l'adresse IP correcte de l'utilisateur doit être transmise explicitement. Dans le cas contraire, les publicités seront ciblées en fonction de l'emplacement du serveur, ce qui peut entraîner l'invalidation ultérieure des impressions en raison d'une erreur d'adresse IP.
Qu'il s'agisse d'un client ou d'un serveur, si une adresse IP est transmise, elle sera prioritaire par rapport à celle que nous détectons.
Pour effectuer une requête à l'API de placement de publicités, vous devez transmettre deux objets : utilisateur et zones. La demande est faite en JSON en utilisant HTTP POST.
utilisateur
| Paramètres | Nécessaire ? | Description |
|---|---|---|
| id | Non | L'ID de l'utilisateur |
| ip | Recommandé | L'adresse IP de l'utilisateur. |
| ua | Oui | L'agent utilisateur : Une chaîne contenant le navigateur/l'application et l'appareil/le système d'exploitation de l'utilisateur. |
| langue | Non | Définit la langue de la demande en utilisant le code ISO standard à deux caractères plus un code régional facultatif à deux caractères, par exemple en-us pour l'anglais des États-Unis. |
| référent | Non | L'adresse du site où l'annonce sera diffusée. |
| el | Non | L'adresse électronique de l'utilisateur, encodée en Base64. |
| résolution_écran | Non | Résolution de l'écran de l'appareil utilisé par l'utilisateur |
| orientation_de_la_fenêtre | Non | Il doit s'agir d'un "portrait" si le site a une présentation mobile et d'un "paysage" s'il s'agit d'un site de bureau. |
| gdpr | Non | Extensions conseillées en matière de protection de la vie privée (objet). |
utilisateur.gdpr
| Paramètres | Description |
|---|---|
| gdpr | Cette valeur doit être 0 si l'appelant pense que l'utilisateur n'est pas soumis au GDPR, et 1 si l'utilisateur est soumis au GDPR. |
| consentement | Il s'agit de la chaîne de consentement requise par les normes de l'IAB. |
zones
| Paramètres | Nécessaire ? | Description |
|---|---|---|
| id | Oui | L'ID de la zone publicitaire |
| sous | Non | Le sous-identifiant de la zone publicitaire |
| mots-clés | Non | Tout mot-clé associé au trafic qui pourrait correspondre à un type de publicité spécifique. S'il n'y a pas de mots-clés, l'URL du site sera utilisée pour l'appariement |
| ciblage_personnalisé | Non | Valeurs de zone personnalisées (objet) |
zones.custom_targeting
| Paramètres | Description |
|---|---|
| ex_av | Cette valeur doit être 0 si non défini, 1 si âge vérifié et 2 si âge non vérifié |
Exemple
Il est possible de demander plusieurs zones publicitaires en une seule fois. Chaque zone aura un identifiant différent, comme vous pouvez le voir dans l'exemple ci-dessous.
{
"user": {
"id": "abdef8u9",
"ip": "10.42.0.1",
"ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
"language": "en-US",
"referer": "https://blabla.com",
"gdpr" : {
"gdpr" : 1,
"consent": "CPAoZRHPArq3hBcADBENBJCgAAAAAAAAAAqIHKQAAOUgAAAA"
}
},
"zones": [
{
"id": 4031007,
"sub": 111,
"keywords": "humour, general"
},
{
"id": 4031015,
"sub": 222
},
{
"id": 4031019,
"sub": 222
}
]
}