Passer au contenu principal

Configurer un webhook

Un webhook est un mécanisme qui permet de fournir à d'autres applications des informations liées à différents événements au sein d'une campagne de jeu ou de la plateforme Adictiz Box.

Retrouvez-les dans la section Mon Compte > Mes Webhooks.

Les évènements disponibles :

  • Soumission d'un formulaire : données envoyées lors de la soumission d'un formulaire dans une campagne de jeu. Dans le cas d'une campagne avec plusieurs formulaires, les webhooks sont soumis à chaque validation de formulaire avec les données associées.

  • Attribution d'une dotation à un Instant Gagnant ("Dotation distribuée") : données envoyées lorsqu'un utilisateur d'une campagne remporte une dotation sur un module d'instant gagnant.

  • Création d'une nouvelle campagne de jeu : données envoyées lors de la création d'une campagne sur la plateforme Adictiz Box

  • Participation à un jeu : données envoyées lors de la génération d'une participation (score réalisé, média publié, etc.).

  • Média modéré : données envoyées lors de la modération d’un média

  • Envoi d’emails de partage : données envoyées lors d’un partage par email à un ou plusieurs destinataires.

  • Participation au module de type Quiz : données envoyées lors de la participation d’un utilisateur à un jeu de Quiz. Une seule requête est envoyée par participation, avec toutes les questions et les réponses données.

  • Connexion via le SSO : données envoyées lors d'une connexion via un SSO après une connexion ou une création de compte.

  • Connexion via une JWT : données envoyées lors d'une authentification à la campagne via JWT. Le webhook retourne toute les données du noeud API ainsi que le partnerUserID

  • Transactions : données envoyées lors d’une transaction détectée par le pixel de conversion installé sur votre site e-commerce.

  • FileUpload : données d'upload de fichier(s) par les utilisateurs de la campagne.

Pour chaque webhook, les données sont envoyées à l'URL configurée via la méthode POST, au format JSON dans le body de la requête.

IPs de sortie :

  • 52.31.162.5 (A supprimer à partir de Janvier 2024)

  • 54.77.225.202 (A supprimer à partir de Janvier 2024)

  • 35.241.193.158

  • 146.148.125.165

  • 35.187.48.192

À savoir : nos IPs de sortie de la plateforme Adictiz Box vont basculer progressivement d'ici la fin d'année 2023 et les 2 IPs suivantes seront à supprimer dans votre whitelist (à compter du 1er janvier 2024) :

  • 52.31.162.5

  • 54.77.225.202

Événement "FormSubscribe" : Soumission de formulaire

Les données sont envoyées lors de la soumission d'un formulaire dans une campagne Adictiz Box. Dans le cas d'une campagne avec plusieurs formulaires, les webhooks sont soumis à chaque validation de formulaire avec les données associées.
Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "k3j9x2m1p0",
"event_type": "FormSubscribe",
"data": {
// Valeurs : mr, mrs, miss, other
"civility": "mrs",
"lastname": "",
"firstname": "",
"email": "",
"email_confirm": "",
"address": "",
"full_address": "",
// Complément d'adresse
"add_address": "",
"street_number": "",
"street": "",
"zipCode": "",
"city": "",
"country": "",
// JJ/MM/AAAA ou AAAA-MM-JJ selon le champ
"birthday": "",
"deskPhone": "",
"mobilePhone": "",
// N° de carte de fidélité
"loyalty": "",
// Acceptation du règlement
"rule": true,
// Opt-in annonceur
"newsletter": false,
// Opt-in partenaires
"optin_partner": false,
// Opt-in SMS
"optin_mobile": false,
"optin_email_tracking": false,
"nickname": "",
"pinterest_board": "",
// ID interne du magasin choisi
"shops": 12,
// custom_N = Nème champ personnalisé
"custom_1": "",
"custom_2": "",
// Identifiants personnalisés (une clé chacun)
"source": "newsletter",
"session_id": "65f0e5f6...",
"ip_address": "203.0.113.10",
// ID numérique de la campagne
"identifier": 12345,
// ID utilisateur, unique par campagne
"user_id": "65f0c3d4...",
"language": "fr",
// utm_* : null si non transmis dans l'URL
"utm_source": null,
"utm_medium": null,
"utm_campaign": null,
"utm_term": null,
"utm_content": null,
// Début de la campagne (timestamp Unix)
"date_operation": 1736899200,
// Valeurs : desktop, mobile, tablet
"device": "mobile",
// shop_id et shop_name : si magasin associé
"shop_id": "",
"shop_name": "",
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu",
"createdAt": 1736935199.84
}
}

Événement "Instant Win" : Attribution d'une dotation à un Instant-Gagnant

Il s'agit des données envoyées lorsqu'un utilisateur d'une campagne remporte une dotation sur un module d'instant gagnant. Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "p8w2n5c7x1",
"event_type": "InstantWin",
"data": {
// ID de la dotation
"prize_id": "",
// Valeurs : normal, code
"prize_type": "code",
"prize_name": "Bon d'achat 10 euros",
// Peut être vide
"prize_description": "",
// URL du visuel
"prize_picture": "https://.../visuel.png",
// Peut être vide
"prize_value": "",
"user_id": "65f0c3d4...",
// Déblocage de la dotation
"distributionDate": "2025-01-15 10:00:00",
// Gain réel
"gainDate": "2025-01-15 10:02:31",
// Selon le type de dotation
"data": {
// Si dotation à code
"code": "ABC123",
// Si dotation avec lien
"link": "https://..."
},
"session_id": "65f0e5f6...",
"ip_address": "203.0.113.10",
// shop_id et shop_name : si magasin associé
"shop_id": "",
"shop_name": "",
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu",
"createdAt": 1736935199.84
}
}

Événement "MediaGalleryModerated" : Modération de médias

Il s'agit des données envoyées lors de la modération d’un média.
Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "m4q8z1v6r3",
"event_type": "MediaGalleryModerated",
"data": {
// Email de l'auteur du média
"email": "",
// 0 = en attente, 1 = en ligne, 2 = hors ligne
"moderate": 1,
// ID de la campagne
"campaignId": "65f0a1b2...",
"campaign_name": "Grand Jeu",
"user_id": "65f0c3d4...",
"media_id": "65f0b7c8...",
"media_url": "https://f.a-fs.me/.../photo.png",
"media_type": "image/png",
"media_name": "photo.png"
}
}

Événement "OperationCreate" : Création de campagne

Il s'agit des données envoyées lors de la création d'une campagne.
Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "c2t7y4h9k0",
"event_type": "OperationCreate",
"data": {
// ID numérique (= identifier de FormSubscribe)
"operation_id": 12345,
"name": "Grand Jeu",
// Début de la campagne (timestamp Unix)
"timestamp_start": 1736899200,
// Fin de la campagne (timestamp Unix)
"timestamp_end": 1739577600,
// Peut être null
"time_zone": "Europe/Paris",
// Langue par défaut
"default_locale": "fr_FR"
}
}

Événement "GameParticipation" : Participation à un jeu

Il s'agit des données envoyées lors de la génération d'une participation (score réalisé, média publié, etc.).
Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "g5b1d8f3j6",
"event_type": "GameParticipation",
"data": {
"operationId": "65f0a1b2...",
"pageId": 98543,
// Type de module
"pageType": "formD3",
"userId": "65f0c3d4...",
// Identique à pageType
"gameParticipationType": "formD3",
"gameData": {
// Date de la participation
"date": "2025-01-15 10:00:00",
// Variable selon le module
"data": { "isFilled": true },
"sessionId": "65f0e5f6...",
// Seulement si magasin associé
"shop": 12
},
"session_id": "65f0e5f6...",
"ip_address": "203.0.113.10",
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu",
"createdAt": 1736935199.84
}
}

Le noeud GameData est variable, et dépend du module concerné :

{
"timestamp": 1736935200,
"request_id": "g5b1d8f3j6",
"event_type": "GameParticipation",
"data": {
"operationId": "65f0a1b2...",
"pageId": 98543,
// Type de module
"pageType": "flappy",
"userId": "65f0c3d4...",
// Identique à pageType
"gameParticipationType": "flappy",
"gameData": {
// Date de la participation
"date": "2025-01-15 10:00:00",
// Variable selon le jeu
"data": null,
"sessionId": "65f0e5f6...",
// Seulement si magasin associé
"shop": 12,
// Score réalisé
"score": 1250,
// Durée de la partie
"duration": 42,
// true = partie gagnée
"status": true,
// Seulement si triche détectée
"cheating": true,
// Détails de la triche, si disponibles
"cheatingDetails": {}
},
"session_id": "65f0e5f6...",
"ip_address": "203.0.113.10",
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu",
"createdAt": 1736935199.84
}
}

Événement "SSO Connexion" : Connexion réussie via le SSO

Il s'agit des données envoyées lors d'une connexion via SSO après une connexion ou une création de compte. Le webhook retourne toute les données du noeud API ainsi que le partnerUserID.
Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "s7n3k1w9e4",
"event_type": "SSOConnexion",
"data": {
// Données transmises par le SSO (variables)
"email": "",
"firstname": "",
"lastname": "",
"civility": "",
"optin_partner": "",
"optin_tierce": "",
"creationDate": "",
// Si magasin transmis (pointofsale ou shop)
"shop": 12,
"operationId": "65f0a1b2...",
"userId": "65f0c3d4...",
// partnerUserID transmis par le SSO
"partnerId": "1334397545",
"session_id": "65f0e5f6...",
"ip_address": "203.0.113.10",
// Identifiants personnalisés ([] si aucun)
"source_ids": { "source": "newsletter" },
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu",
"createdAt": 1736935199.84
}
}

Événement "JWT Connexion" : Connexion réussie via une JWT

Il s'agit des données envoyées à chaque arrivée sur la campagne avec un JWT valide. Le webhook contient toutes les données du JWT, dont le partnerUserID.
Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "j2h6v0b8u5",
"event_type": "JWTConnection",
"data": {
// Tous les claims du JWT (variables)
"email": "",
"firstname": "",
"lastname": "",
"civility": "",
"optin_partner": "",
"optin_tierce": "",
// Claims standards, si présents
"iat": 1736935100,
"exp": 1736938700,
// null si absent du JWT
"partnerUserID": "1334397545",
// Si magasin transmis (pointofsale ou shop)
"shop": 12,
"operationId": "65f0a1b2...",
"userId": "65f0c3d4...",
"session_id": "65f0e5f6...",
"ip_address": "203.0.113.10",
// Identifiants personnalisés ([] si aucun)
"source_ids": { "source": "newsletter" },
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu",
"createdAt": 1736935199.84
}
}

Événement "EmailShare" : Envoi d’emails de partage

Il s'agit des données envoyées lors d’un partage par email à un ou plusieurs destinataires. Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "e9r4t2y7u1",
"event_type": "EmailShare",
"data": {
// Expéditeur ([] s'il n'est pas identifié)
"user": {
"id": "65f0c3d4...",
"firstname": "",
"lastname": "",
"email": ""
},
// Emails des destinataires
"receivers": ["ami@example.com"],
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu",
"createdAt": 1736935199.84
}
}

Événement "QuestionParticipation" : Participation à un module Quiz

Il s'agit des données envoyées lors de la participation à un Quiz. Une seule requête est envoyée par participation, avec toutes les questions et les réponses données. Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "q1w5e8r3t6",
"event_type": "QuestionParticipation",
"data": {
"user_id": "65f0c3d4...",
"questions": [
{
"id_question": "a0d9f890-...",
"label_question": "Question 1",
// Une ou plusieurs réponses
"answers": [
{ "id": "455c464d-...", "label": "Réponse 1" }
],
"is_correct": true,
// Points gagnés sur la question
"points": 10
},
{
"id_question": "b1e7c2d4-...",
"label_question": "Question 2",
"answers": [
// id vide possible pour une réponse libre
{ "id": "", "label": "Texte saisi" }
],
"is_correct": false,
"points": 0
}
],
// Identifiants personnalisés ([] si aucun)
"campaign_customized_id": { "source": "newsletter" },
"lang": "fr",
"operation_id": "65f0a1b2...",
"operation_name": "Quiz",
"createdAt": 1736935199.84
}
}

Événement "Transactions"

Il s'agit des données envoyées lors d’une transaction détectée par le pixel de conversion installé sur votre site e-commerce. Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "t4y8u2i6o0",
"event_type": "Transaction",
"data": {
"user_id": "65f0c3d4...",
// Heure du fuseau de la campagne (Paris par défaut)
"command_date": "2025-01-15 11:00:00",
// N° de commande
"command_number": "CMD-12345",
// Montant (nombre décimal)
"command_amount": 49.9,
// Devise, telle que transmise par le pixel
"command_currency": "EUR",
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu"
}
}

Événement "FileUpload"

Il s'agit des données envoyées lorsqu’un utilisateur effectue un upload de média sur une campagne. Chaque requête correspond à un média. Les données renvoyées sont les suivantes :

{
"timestamp": 1736935200,
"request_id": "f6g2h8j4k1",
"event_type": "FileUpload",
"data": {
"user_id": "65f0c3d4...",
// <ID contenu>_<ID média>
"upload_id": "61489d15..._61489d17...",
"upload_type": "image/png",
"upload_name": "photo.png",
"upload_url": "https://f.a-fs.me/.../photo.png",
"upload_short_description": "",
"upload_description": "",
"upload_date": "2025-01-15 10:00:00",
"operation_id": "65f0a1b2...",
"operation_name": "Grand Jeu",
"createdAt": 1736935199.84
}
}

Une fois que vous avez renseigné l'url d'appel, vous pouvez l'ajouter à votre compte Adictiz Box :

Avez-vous trouvé la réponse à votre question ?