Webhooks
Qu’est ce que les webhooks ?
Section intitulée « Qu’est ce que les webhooks ? »Prenons l’exemple de votre banque. Lorsque vous effectuez un retrait, le distributeur vérifie le solde restant sur votre compte et sort le montant que vous avez demandé. Une fois cette opération effectuée, votre solde est mis à jour. Ce changement de solde déclenche une action : un SMS vous est envoyé avec les détails du retrait. C’est de cette façon que fonctionnent les webhooks.
Un webhook permet de déclencher une action suite à un évènement. Ils sont généralement utilisés pour faire communiquer des systèmes. C’est la façon la plus simple de recevoir une alerte lorsque quelque chose se produit dans un autre système.
Les webhooks sont utilisés pour les notifications en temps réel, de sorte que votre système peut être mis à jour dès que l’événement se produit.
Les webhooks sont des points de rappel HTTP qui sont définis par l’utilisateur. Ils vous permettent d’enregistrer une URL où les données de l’événement peuvent être stockées. Ensuite, vous pourrez faire ce que vous voulez avec les données que vous récupérez et stockez d’un événement en déclenchant une action.
Avec des webhooks, vous pouvez entre autres :
- Synchroniser les systèmes en temps réel
- Envoyer n’importe quel type de notification
- Traiter les données comme vous le souhaitez
- Créer des rapports
- …
Comment configurer un webhook ?
Section intitulée « Comment configurer un webhook ? »Prenons un exemple : Vous souhaitez stocker dans un fichier excel les contacts des personnes ayant passé une commande sur votre site.
Prérequis : Vous devez créer votre compte sur Make.
1. Créez un scénario en sélectionnant le trigger Custom Webhook.
2. Nommez le webhook.
3. Le webhook est en “écoute” : Copier l’url donnée par Make et gardez cette fenêtre ouverte.
Renseignez l’url donnée par Make dans l’application Ciklik.
Cliquez sur Mes Sites, puis Modifier.
Dans l’onglet Paramètres marketing, ajouter les clés et URL des webhooks associées au niveau du champ Webhooks.
4. Passez une commande sur votre site pour valider l’écoute du webhook et la remontée de données pour ce scénario.
5. Vous pouvez à présent construire votre scénario pour utiliser les données réceptionnées lors d’une prise de commande et conduire automatiquement les actions de votre choix.
Avant de créer une action, liez le trigger à un router. Cela vous permettra par la suite de déclencher plusieurs actions lors d’une prise de commande sans avoir à tout reparamétrer.
6. Sélectionnez à présent l’application que vous souhaitez pour conduire votre action.
Dans notre exemple, on cherche à récolter les informations dans une feuille excel.
Créez un fichier vierge dans votre drive et donnez-lui la structure souhaitée en définissant les valeurs des colonnes.
Il faut ensuite effectuer la connexion avec votre compte google.
Puis renseignez le nom du google sheet dans lequel seront rapatriées les données sélectionnées parmi la liste des valeurs remontées par l’application Ciklik via le webhook lors de la création d’une commande.
7. Validez votre scenario puis activez-le. Vous pouvez tester en passant une nouvelle commande sur votre site. Vous retrouverez automatiquement les valeurs des champs renseignés dans votre fichier excel.
Quels événements sont disponibles ?
Section intitulée « Quels événements sont disponibles ? »Voici la liste des événements disponibles pour les webhooks depuis l’application Ciklik :
| Ressource | Clé de l’événement |
|---|---|
| subscription | created_subscription |
| subscription | updated_subscription |
| subscription | deleted_subscription |
| checkoutorder | created_checkoutorder |
| checkoutorder | updated_checkoutorder |
| checkouttransaction | created_checkouttransaction |
| checkouttransaction | updated_checkouttransaction |
| checkoutinvoice | created_checkoutinvoice |
| address | created_address |
| address | updated_address |
| shippingbox | created_shippingbox |
| shippingbox | updated_shippingbox |
| shippingbox | deleted_shippingbox |
| user | created_user |
| user | updated_user |
| optin | created_optin |
| optin | updated_optin |
Pour chacune de ces clés, un scénario peut être déclenché avec un webhook en renseignant son URL au niveau du champ Webhooks, dans l’onglet Paramètres marketing de votre site.
Retrouvez dans la rubrique Webhooks de la colonne de gauche le détail des données envoyées via les webhooks quand le scénario a été exécuté avec succès. Ces données sont sauvegardées temporairement dans l’application.
Pour les mises à jour (updated), on retrouve la liste des champs modifiés et leur nouvelle valeur dans le tableau changed.
L’URL pour la gestion des paniers abandonnés est renseignée au niveau du champ Url Webhook : Paniers abandonnés.
Exemples de structures de données
Section intitulée « Exemples de structures de données »Webhook Panier Abandonné
Section intitulée « Webhook Panier Abandonné »{ "cart_id": 1042077, "user_id": 133180, "first_name": "JEANNE", "last_name": "MOULIN", "phone": "0604000000", "email": "jeannemoulin06@gmail.com", "created": "2021-01-17T21:05:47.000000Z", "item": "Box 3 mois"}Webhook Création d’un Nouvel Abonnement
Section intitulée « Webhook Création d’un Nouvel Abonnement »{ "order_id": 230129, "user_id": 122312, "first_name": "ANNE", "last_name": "DUPOND", "phone": "0600000000", "email": "annedupond@gmail.com", "status": "completed", "created": "2021-01-15T09:02:16.000000Z", "items": [ { "id": 474784, "price": 50, "tax": "0.000", "quantity": 1, "name": "Ma formule de box mensuelle", "type": "App\\Plan", "orderable": { "id": 1062, "uuid": "formule-box-mensuelle", "name": "Ma formule de box mensuelle", "interval": "month", "interval_count": 1, "start_billing_day": 1, "close_billing_day": 10, "short_name": null, "more": null, "active": true, "tenant_id": 82, "created_at": "2020-11-25T17:15:59.000000Z", "updated_at": "2020-11-25T17:39:32.000000Z", "deleted_at": null, "img": null, "shipped_count": 1, "start_date": null, "best_value": "0", "alert": false, "need_auto_pause": false, "mass_shipping": true, "engaged": false, "engaged_interval": 0, "affilae": "5c34b7dbs8race63108b456c-5f1aa9bb0856337cd27ffc3a", "fixed_period": true, "category_id": null, "advanced_mod": null, "position": 449, "tax": 0.000, "price": "50.00" }, "affilae": "5c34b7dbs8race63108b456c-5f6aa9bb0856337cd27ffc6a" } ], "shipping": "0.00", "count": 1, "total_tax_paid": "0.00", "total_discount_inc": "0.000", "total_paid": "50.000", "total_shipping_paid": "0.000", "created_at": "2021-01-15T09:02:16.000000Z", "coupon": [], "subscription_uuid": "78be3696-cb96-4e2f-98c6-2a4951db6f1d", "comments": null, "revenue": "50.00", "refunded": "0.00", "customerRevenue": "50.00", "customerRefund": "0.00", "totalTransactionsSuccess": 1, "subTransactionsSuccess": 1, "next_billing": "2021-03-01T00:00:00.000000Z", "countTransactions": 1}Webhook Confirmation de Commande
Section intitulée « Webhook Confirmation de Commande »{ "order_id": 230102, "user_id": 121888, "first_name": "NATHALIE", "last_name": "DUPONT", "phone": "0200000000", "email": "nathalie.dupont@outlook.fr", "status": "completed", "created": "2021-01-15T01:03:03.000000Z", "items": [ { "id": 474730, "price": 20, "tax": "0.000", "quantity": 1, "name": "Formule 1 mois", "type": "App\\Plan", "orderable": { "id": 905, "uuid": "ma-box-formule-1-mois", "name": "Formule 1 mois", "interval": "month", "interval_count": 1, "start_billing_day": 1, "close_billing_day": 10, "short_name": null, "more": "Ma formule de box 1 mois", "active": false, "tenant_id": 82, "created_at": "2020-10-07T13:52:31.000000Z", "updated_at": "2020-11-30T08:39:15.000000Z", "deleted_at": null, "img": null, "shipped_count": 1, "start_date": null, "best_value": "0", "alert": false, "need_auto_pause": false, "mass_shipping": true, "engaged": false, "engaged_interval": 1, "affilae": null, "fixed_period": true, "category_id": null, "advanced_mod": null, "position": 331, "tax": 0.000, "price": "20.000" }, "affilae": null } ], "shipping": "0.00", "count": 1, "total_tax_paid": "0.000", "total_discount_inc": "20.000", "total_paid": "0.000", "total_shipping_paid": "0.000", "created_at": "2021-01-15T01:03:03.000000Z", "coupon": { "id": 43768, "uuid": "MONCOUPON1MOIS", "plans": null, "price": "20.00", "percent_off": null, "currency": null, "duration": "repeating", "redeem_by": 1626350400, "display_amount": "20,00€", "display_percent": null }, "subscription_uuid": "bdda3255-b2f8-459b-adeb-75fe533fb579", "comments": null, "revenue": "0.00", "refunded": "0.00", "customerRevenue": "0.00", "customerRefund": "0.00", "totalTransactionsSuccess": 3, "subTransactionsSuccess": 3, "next_billing": "2021-03-01T23:59:59.000000Z", "countTransactions": 1}Webhook Mise en Pause d’un Abonnement
Section intitulée « Webhook Mise en Pause d’un Abonnement »{ "id": 66641, "uuid": "e5e00564-9cc8-402a-ba1e-6c69ff519c37", "plan": { "id": 1057, "uuid": "ma-formule-3-mois", "name": "Formule 3 Mois", "short_name": null, "more": null, "image": "https://s4.eu-image-1.amazonaws.com/boxraiser/", "start_at": null, "price": 30, "category": null, "tax": 0.000, "addons": [], "interval": "month", "interval_count": 3, "shipped_count": 3, "advanced_mod": null, "position": 444, "engaged_interval": 0, "engaged": false }, "address": { "id": 96909, "address": "35 rue JEAN JAURES", "address1": "", "postcode": "75000", "city": "PARIS", "phone": "0600008888", "first_name": "MARIE", "last_name": "THOMAS", "country": { "id": 2, "name": "France Métropolitaine", "alphaCode": "FR" } }, "transporter": { "id": 381, "name": "Livraison à domicile", "description": "1 livraisons par mois", "price": 0, "gift": false, "active": true, "shipped_count": 1, "type": "subs" }, "declinaison": { "id": 139740, "attribute": { "id": 47, "name": "Votre Profil" }, "values": [ { "id": 283650, "property": { "id": 133, "name": "Votre sexe", "type": "list", "predefined": true }, "propValue": { "id": 563, "value": "Femme" } }, { "id": 283651, "property": { "id": 134, "name": "Quel est votre âge ?", "type": "list", "predefined": true }, "propValue": { "id": 567, "value": "Entre 35 et 45 ans" } }, { "id": 283652, "property": { "id": 135, "name": "Quel est votre taille de vêtements ?", "type": "list", "predefined": true }, "propValue": { "id": 572, "value": "L" } } ] }, "created_at": "2020-12-08T17:52:44.000000Z", "end_date": "2021-02-01T00:00:00.000000Z", "engaged_date": "2021-11-08T23:59:59.000000Z", "auto_pause_at": "2021-11-08T23:59:59.000000Z", "start_date": "2020-12-08T00:00:00.000000Z", "active": false, "paused": false, "next_billing": null, "is_auto": false, "revenue": "50.00", "refunded": "0.00", "customerRevenue": "50.00", "customerRefund": "0.00", "totalTransactionsSuccess": 3, "subTransactionsSuccess": 2, "has_active_subscription": false}Webhook Modification d’un Abonnement (updated_subscription)
Section intitulée « Webhook Modification d’un Abonnement (updated_subscription) »{ "id": 118147, "email": "cedricyoung@gmail.com", "uuid": "549c8710-1a41-4cc2-ba28-607ebace2e63", "refp": "https://winebox.fr/subscribe?refp=4f8e62c5-24c2-4208-ae62-4f771ae502ce", "can_void_with_coupon": true, "has_active_subscription": true, "info": null, "addresses": [ { "id": 89278, "address": "321 RUE JEAN MOULIN", "address1": "", "postcode": "75000", "city": "PARIS", "phone": "0610000000", "first_name": "CEDRIC", "last_name": "YOUN", "country": { "id": 2, "name": "France Métropolitaine", "alphaCode": "FR" } } ], "profiles": [ { "id": 124540, "attribute": { "id": 47, "name": "Votre Profil" }, "values": [ { "id": 259955, "property": { "id": 133, "name": "Votre sexe", "type": "list", "predefined": true }, "propValue": { "id": 563, "value": "Homme" } }, { "id": 259956, "property": { "id": 134, "name": "Quel est votre âge ?", "type": "list", "predefined": true }, "propValue": { "id": 567, "value": "Entre 35 et 45 ans" } }, { "id": 259957, "property": { "id": 135, "name": "Quelle est votre taille de vêtement ?", "type": "list", "predefined": true }, "propValue": { "id": 573, "value": "L" } } ] } ], "customerRevenue": "500.00", "customerRefund": "0.00", "totalTransactionsSuccess": 3}