WebHooks
Les webhooks permettent de communiquer des informations à vos serveurs.
Envoie une alerte à vos serveurs lorsqu'un utilisateur s'inscrit, met à jour ses informations, se désinscrit de myAppliz ou de votre Appliz. Cela vous permet de maintenir à jour votre base de donnée et de remplir votre obligation légale en supprimant les données des utilisateurs en ayant fait la demande. Nous pouvons envoyer ces informations à l'url de votre choix (voir les paramètres de votre Appliz). Si votre url ne répond pas avec un code http 200 nous essayerons de renvoyer plusieurs fois le webhook avec un temps de plus en plus long.
Paramètres | Description |
---|---|
id string
|
L'identifiant du webhook. |
events array
|
Évènement(s) du webhook. |
resend bool
|
Présent uniquement si le webhook a déjà été envoyé. |
events | Description | ||||||
---|---|---|---|---|---|---|---|
type string
|
Type de l'évènement.
|
||||||
ids array
|
Les identifiants des utilisateurs concernés par l'évènement. | ||||||
info_interne string
|
Note interne (non destinée au public) sur l'évènement. |
if($webhook = $myAppliz->verif_signature()) // Cette méthode vérifie que le webhook provient bien de myAppliz
{
if(!empty($webhook) && isset($webhook['id']) && !empty($webhook['events']))
{
foreach($webhook['events'] as $event) // Boucle, un webhook peut contenir plusieurs évènements
{
if(isset($event['type']) && !empty($event['ids']))
{
if($event['type'] == 'users.add') // Type d'évènement
{
/*
$event['ids'] est un tableau (array) d'identifiants des nouveaux utilisateurs.
Ce type d'évenement peut éventuellement servir à des fins de statistiques concernant les inscriptions.
NOUS VOUS DECONSEILLONS FORTEMENT d'utiliser ce type d'évènement pour enregistrer les nouveaux utilisateurs
dans votre base de donnée. En effet, le webhook peut arriver en retard, le nouvel utilisateur se sera
donc connecté à votre Appliz avant le réception du webhook. Il sera donc connecté avant d'être enregistré
dans votre base de données.
Il vaut mieux enregistrer l'utilisateur lors de sa première connexion à votre Appliz. Pour détecter la
première connexion vous pouvez vérifier si l'identifiant de l'utilisateur fournit par la méthode
$myAppliz->user(), est présent ou non dans votre base de données. Si il ne l'est pas enregistrez-le (ainsi que
les informations dont vous avez besoin).
*/
}
elseif($event['type'] == 'users.modify')
{
/*
$event['ids'] est un tableau (array) d'identifiants des utilisateurs ayant modifié leurs informations
Servez-vous de ce type d'évenement pour mettre à jour votre base de données et ainsi toujours avoir
les informations les plus récentes.
ATTENTION : toujours prendre en compte que ce type d'évènement peut être appelé alors que l'utilisateur ne s'est
pas encore connecté à votre Appliz et n'est donc peut-être pas encore enregistré dans votre base de données.
*/
$users_update = $myAppliz->users('get', ['id', 'prenom', 'nom'], $event['ids']);
/*
MAJ de votre base de données à l'aide de l'array $users_update
Astuce $users_update contient l'identifiant de l'utilisateur comme clé :
$users_update['507f1f77bcf86cd799439011'] = ['id' => '507f1f77bcf86cd799439011', 'prenom' => 'Prénom', 'nom' => 'Nom'];
Vous pouvez donc utiliser :
foreach($users_update as $user_id => $user)
{
}
*/
}
elseif($event['type'] == 'users.remove')
{
/*
$event['ids'] est un tableau (array) d'identifiants des utilisateurs ayant supprimé votre Appliz ou leur compte myAppliz.
Servez-vous de ce type d'évenement pour supprimer les données de ces utilisateurs.
ATTENTION : toujours prendre en compte que ce type d'évènement peut être appelé alors que l'utilisateur ne s'est
pas encore connecté à votre Appliz et n'est donc peut-être pas encore enregistré dans votre base de données.
*/
}
}
}
}
}