Webhooks
- Créer un webhook
- Configurer un webhook
- Gestion des données sur l'URL de callback
- Données reçues par type de webhook
Les webhooks sont utilisés pour remonter des informations dans votre propre CRM de façon automatique.
Un webhook est une URL appelée automatiquement par SPREAD lors de certaines actions, tels que les acceptations et refus de consentements, la distribution d’un coupon remise ou la mise à jour de la cagnotte d'un profil.
Au déclenchement d'un événement webhook, cette URL est contactée par SPREAD et un payload JSON est attaché à la requête avec des informations utiles pour votre traitement.
Créer un webhook
Pour configurer un webhook, rendez-vous dans "Paramétrage > Webhooks", puis utilisez le bouton "Ajouter un webhook" et saisissez le nom de votre webhook.
Configurer un webhook
La configuration du webhook se fait en 3 étapes.
Configuration de l'URL de callback
L'URL de callback de votre webhook est l'URL cible que SPREAD va appeler et à laquelle il enverra les données liées au webhook qui vient d'être déclenché (en fonction des événements configurés).
Cette URL doit être accessible publiquement.
Configuration des événements déclencheurs
Vous avez la possibilité de vous abonner à un ou plusieurs événements pour l'URL passée en paramètre à l'étape précédente.
Pour cela, il vous suffit de cocher les événements qui vous intéressent. Cette configuration est flexible : vous pouvez avoir une seule URL qui gère tous les événements chez vous, ou une URL par événement.
Voici la liste des événements auxquels vous pouvez vous abonner :
Nom de l'événement | Précisions |
---|---|
Mise à jour de cagnotte | Est déclenché lorsqu'une mise à jour de la cagnotte du profil est effectuée (ajout ou retrait de points) |
Envoi d'un coupon | Est déclenché lorsqu'un coupon est donné à un participant (via une opération de distribution de coupon, un instant gagnant ou via la cagnotte) |
Consentement accepté | Est déclenché quand un profil accepte un consentement. Cet événement sera déclenché quand un profil validera l'acceptation d'un consentement via la mécanique de double optin. |
Consentement refusé | Est déclenché quand un profil refuse un consentement. |
Consentement à confirmer | Est déclenché quand un profil accepte un consentement, mais que ce consentement doit être validé via la mécanique de double optin. |
Mise à jour de consentement | Est déclenché quand un profil met à jour un consentement (le statut du consentement ne change pas, mais les canaux ont été modifiés) |
Participation complète | Est déclenché quand un profil est allé au bout d'un module |
Résumé et activation
Une fois les 2 étapes précédentes validées, il ne vous reste plus qu'à contrôler et activer votre webhook !
Cette page va vous résumer la configuration de votre webhook : l'URL de callback renseignée ainsi que les événements auxquels vous vous êtes abonné.
Vous n'avez plus qu'à utiliser le bouton "Activer" pour démarrer votre webhook.
Gestion des données sur l'URL de callback
Lorsqu'un événement de webhook est déclenché, SPREAD va contacter l'URL que vous avez configuré pour un événement donné et va envoyer les données correspondantes à l'événement dans un payload JSON.
Voici un exemple de code de traitement possible (en PHP) pour un événement d'acceptation de consentement :
$requestBody = file_get_contents('php://input'); $data = json_decode($requestBody); var_dump($data);
Le code suivant afficherait les données suivantes :
Données reçues par type de webhook
Mise à jour de cagnotte
Format des données envoyées
Nom technique de l'événement : spread.reward.updated
Données reçues :
Valeur des données spécifiques
Les valeurs du paramètre reward_source peuvent être les suivantes :
Valeur | Signification / Conditions |
---|---|
-1 | Récupération d'un code dans la cagnotte |
-2 | (Parrainage) Retrait de points au parrain en cas d'annulation d'une commande qui récompense un parrainage |
-3 | (Parrainage) Retrait de points au filleul en cas d'annulation d'une commande qui récompense un parrainage |
1 | (Parrainage) Ajout de points au parrain en cas d'inscription d'un filleul sur le site |
2 | (Parrainage) Ajout de points au parrain en cas de passage de commande d'un filleul sur le site |
3 | (Parrainage) Ajout de points au filleul s'il passe commande sur le site |
4 | (Parrainage) Ajout de points au filleul s'il passe commande sur le site (validation manuelle de la cagnotte) |
5 | (Parrainage) Ajout de points au parrain en cas d'inscription d'un filleul sur le site (validation manuelle de la cagnotte) |
6 | (Parrainage) Ajout de points au parrain en cas de passage de commande d'un filleul sur le site (validation manuelle de la cagnotte) |
7 | Ajouté via la participation à une opération (historique, ne peut plus être ajouté) |
8 | (Parrainage) Ajout de points au filleul s'il s'inscrit sur le site |
9 | (Parrainage) Ajout au parrain en cas de récupération d'un code promo si le parrainage est lié à une opération de distribution de code promo |
10 | (Parrainage) Ajout au filleul en cas de récupération d'un code promo si le parrainage est lié à une opération de distribution de code promo |
11 | (Parrainage) Ajout de points au filleul s'il s'inscrit sur le site (validation manuelle de la cagnotte) |
12 | Ajout de points via un appel API |
13 | Ajout manuel de points via le BO SPREAD |
14 | Retrait manuel de points via le BO SPREAD |
15 | (Parrainage) Récompense d'objectif de parrainage en cas de participation à une opération |
16 | Ajout de crédit dans la cagnotte via une commande |
17 | Retrait de crédit dans la cagnotte via une commande |
18 | Mise à jour du crédit de la cagnotte via une commande |
Envoi d'un code remise
Format des données envoyées
Nom technique de l'événement : spread.incentive.giftcodesent
Données reçues :
Valeur des données spécifiques
La valeur du champ "unit" du paramètre "gift_code" sera l'une des valeurs suivantes. Cette valeur est par exemple définie lorsque vous configurez la récompense à un instant gagnant.
$ |
€ |
£ |
% |
CHF |
¥ |
HKD |
points |
Consentement accepté
Format des données envoyées
Nom technique de l'événement : spread.consent.accepted
Données reçues :
Valeur des données spécifiques
En même temps que le consentement, l'identifiant de la trace et les informations du profil, nous vous envoyons également la liste des canaux du consentement et leur état.
Un état de canal peut avoir 2 valeurs :
Valeur | Statut |
---|---|
1 | Canal accepté |
-1 | Canal refusé |
Consentement refusé
Format des données envoyées
Nom technique de l'événement : spread.consent.refused
Données reçues :
Valeur des données spécifiques
En même temps que le consentement, l'identifiant de la trace et les informations du profil, nous vous envoyons également la liste des canaux du consentement et leur état.
Un état de canal peut avoir 2 valeurs :
Valeur | Statut |
---|---|
1 | Canal accepté |
-1 | Canal refusé |
Consentement à confirmer
Format des données envoyées
Nom technique de l'événement : spread.consent.tobeconfirmed
Données reçues :
Valeur des données spécifiques
En même temps que le consentement, l'identifiant de la trace et les informations du profil, nous vous envoyons également la liste des canaux du consentement et leur état.
Un état de canal peut avoir 2 valeurs :
Valeur | Statut |
---|---|
1 | Canal accepté |
-1 | Canal refusé |
Mise à jour de consentement
Format des données envoyées
Nom technique de l'événement : spread.consent.updated
Données reçues :
Valeur des données spécifiques
En même temps que le consentement, l'identifiant de la trace et les informations du profil, nous vous envoyons également la liste des canaux du consentement et leur état.
Un état de canal peut avoir 2 valeurs :
Valeur | Statut |
---|---|
1 | Canal accepté |
-1 | Canal refusé |
Participation complète
Format des données envoyées
Nom technique de l'événement : spread.participation.completed
Données reçues :
English
- Create a webhook
- Configure a webhook
- Data management on the callback URL
- Data received by type of webhook
Webhooks are used to feed information into your own CRM automatically.
A webhook is a URL that is automatically called by SPREAD for certain actions, such as accepting and refusing consents, distributing a discounted coupon, or updating a profile's kitty.
When a webhook event is triggered, this URL is contacted by SPREAD and a JSON payload is attached to the request along with useful information for your processing.
Create a webhook
To set up a webhook, go to "Settings> Webhooks", then use the "Add a webhook" button and enter the name of your webhook.
Configure a webhook
The configuration of a webhook is done in 3 steps.
Configuring the callback URL
The callback URL of your webhook is the target URL that SPREAD will call and to which it will send the data related to the webhook that has just been triggered (depending on the events configured).
This URL must be publicly accessible.
Configuring trigger events
You have the possibility to subscribe to one or more events for the URL passed as a parameter in the previous step.
To do this, simply check the events that interest you. This configuration is flexible: you can have a single URL that handles all events at your place, or a URL per event.
Here is the list of events you can subscribe to:
Event name | Details |
---|---|
Kitty update | Is triggered when an update of the profile's kitty is done (adding or removing points) |
Send a discount code | Is triggered when a coupon is given to a participant (by an operation to delivered discount code, a winning instant or via the kitty) |
Consent accepted | Is triggered when a profile accepte a consent. This event is triggered when a profile will validate the acceptance of a consent via the double optin mechanism. |
Consent refused | Is triggered when a profile refuse a consent. |
Consent to confirm | Is triggered when a profile accepte un consentement, mais que ce consentement doit être validé via la mécanique de double optin. |
Consent update | Is triggered when a profile update a consent (consent status doesn't change, but the channels are updated) |
Summary and Activation
After the 2 previous steps validated, you just have to control and activate your webhook!
This page will summarize the configuration of your webhook: the entered callback URL and the events you have subscribed.
You just have to use the "Activate" button to start your webhook.
Data management on the callback URL
When a webhook event is triggered, SPREAD will contact the URL you have configured for a specific event and will send the corresponding data to the event in a JSON payload.
Here is an example of a possible treatment code (in PHP) for a consent acceptance event:
$requestBody = file_get_contents('php://input'); $data = json_decode($requestBody); var_dump($data);
The following code would display the following data:
Data received by type of webhook
Kitty update
Format of sent data
Event technical name: spread.reward.updated
Received datas:
Value of specific data
The values of the reward_source parameter can be:
Value | Meaning / Conditions |
---|---|
-1 | Recovering a code in the kitty |
-2 | (Sponsorship) Canceling of points from the sponsor in case of cancellation of an order that rewards a sponsorship |
-3 | (Sponsorship) Cancelling of points from the godchild in case of cancellation of an order which rewards a sponsorship |
1 | (Sponsorship) Adding points to the sponsor in case of registration of a godson on the site |
2 | (Sponsorship) Adding points to the godfather in case of placing an order from a godson on the site |
3 | (Sponsorship) Adding points to the godson if he places an order on the site |
4 | (Sponsorship) Adding points to the godson if he places an order on the site (manual validation of the kitty) |
5 | (Sponsorship) Adding points to the godfather in case of registration of a godson on the site (manual validation of the kitty) |
6 | (Sponsorship) Adding points to the godfather in case of placing an order from a godson on the site (manual validation of the kitty) |
7 | Added via participation in an operation (history, can not be added anymore) |
8 | (Sponsorship) Adding points to the godchild if he registered on the site |
9 | (Sponsorship) Adding to the sponsor in case of recovery of a discount code if the sponsorship is linked to a distribution operation discount code |
10 | (Sponsorship) Adding to the godchild in case of recovery of a discount code if the sponsorship is linked to a distribution operation discount code |
11 | (Sponsorship) Adding points to the godchild if he registered on the site (manual validation of the kitty) |
12 | Adding points via an API call |
13 | Adding points manually via the BO SPREAD |
14 | Manual removal of points via the BO SPREAD |
15 | (Sponsorship) Sponsorship Goal Reward for Participating in an Operation |
16 | Adding credit to the kitty via an order |
17 | Removal of credit in the kitty via a command |
18 | Update the pool credit via an order |
Send a discount code
Format of sent data
Event technical name: spread.incentive.giftcodesent
Received datas:
Value of specific data
The value of the "unit" field of the "gift_code" parameter will be one of the following values. This value is set, for example, when you configure the reward at a winning instant.
$ |
€ |
£ |
% |
CHF |
¥ |
HKD |
points |
Consent accepted
Format of sent data
Event technical name: spread.consent.accepted
Received datas:
Value of specific data
In the same time of the consent, the trace identifier and the profile information, we also send you the list of consent channels and their status.
A channel status can be 2 values:
Value | Status |
---|---|
1 | Channel accepted |
-1 | Channel refused |
Consent refused
Format of sent data
Event technical name: spread.consent.refused
Received datas:
Value of specific data
In the same time of the consent, the trace identifier and the profile information, we also send you the list of consent channels and their status.
A channel status can be 2 values:
Value | Status |
---|---|
1 | Channel accepted |
-1 | Channel refused |
Consent to confirm
Format of sent data
Event technical name: spread.consent.tobeconfirmed
Received datas:
Value of specific data
In the same time of the consent, the trace identifier and the profile information, we also send you the list of consent channels and their status.
A channel status can be 2 values:
Value | Status |
---|---|
1 | Channel accepted |
-1 | Channel refused |
Consent update
Format of sent data
Event technical name: spread.consent.updated
Received datas:
Value of specific data
In the same time of the consent, the trace identifier and the profile information, we also send you the list of consent channels and their status.
A channel status can be 2 values:
Value | Status |
---|---|
1 | Channel accepted |
-1 | Channel refused |
Complete participation
Format of sent data
Event technical name: spread.participation.completed
Received datas: