Comment fonctionnent les Pulses
1
Un événement se produit
Un événement se produit dans votre boutique (par exemple, une vente est finalisée).
2
Pulse déclenché
Chariow envoie une requête HTTP POST signée vers votre point de terminaison configuré.
3
Vérifier la signature
Votre serveur contrôle l’en-tête
x-chariow-signature avant de faire confiance à la charge utile.4
Traiter l'événement
Votre serveur déduplique sur
x-pulse-delivery-id puis traite la charge utile.5
Confirmer la réception
Votre serveur renvoie un code de statut 2xx pour confirmer la réception.
En-têtes de la requête
Chaque livraison porte ces en-têtes :Contrat de signature complet, extraits de vérification et diagnostic : Sécurité des Pulses.
Configuration des Pulses
Vous pouvez configurer les Pulses de plusieurs manières :Via le tableau de bord de la boutique
- Allez dans Automatisation → Pulses
- Cliquez sur Ajouter un Pulse
- Entrez l’URL de votre point de terminaison webhook (doit être en HTTPS)
- Sélectionnez les événements que vous souhaitez recevoir
- Sélectionnez éventuellement des produits spécifiques (laissez vide pour tous les produits)
- Enregistrez votre Pulse
Votre point de terminaison Pulse doit être accessible via HTTPS. Les points de terminaison HTTP ne sont pas pris en charge pour des raisons de sécurité.
Événements Pulse
Les Pulses prennent en charge les événements suivants. Lorsqu’un événement se produit, la charge utile du webhook contient un champevent avec la valeur de l’événement.
Événements de vente
Événements de licence
Événements d’affiliation
Charge utile Pulse
Lorsqu’un événement configuré se produit, Chariow envoie une requête HTTP POST vers votre URL webhook avec les données de l’événement dans le corps de la requête. La structure exacte de la charge utile dépend du type d’événement.Les charges utiles Pulse contiennent des données d’événement complètes, y compris des détails sur l’entité (vente, licence, etc.), les informations client, les détails du produit et le contexte de la boutique. La structure de la charge utile varie selon le type d’événement pour fournir des informations pertinentes pour chaque événement.
Exemple de vente réussie
Lorsqu’une vente est finalisée, Chariow envoie un webhook avec l’événementsuccessful.sale :
Exemple de licence activée
Lorsqu’une licence est activée, Chariow envoie un webhook avec l’événementlicense.activated :
Exemple de licence bientôt expirée
Chariow analyse les licences chaque jour et envoie l’événementlicense.nearing_expiry une seule fois par licence, dès qu’elle entre dans la fenêtre de sept jours précédant sa date expires_at. Utilise-le pour proposer un renouvellement avant que le client ne perde son accès.
days_until_expiry n’est présent que sur cet événement. La valeur est arrondie à l’entier supérieur : une licence qui expire dans quelques heures renvoie 1. Une licence n’est annoncée qu’une seule fois, même si l’analyse est relancée avant son expiration.Exemple d’affilié rejoint
Lorsqu’un nouvel affilié rejoint votre boutique, Chariow envoie un webhook avec l’événementaffiliate.joined :
Gestion des Pulses
Exemple basique (Node.js/Express)
Exemple PHP
Politique de réessai
Si votre point de terminaison ne répond pas avec un code de statut 2xx, Chariow réessaie la livraison. Une livraison bénéficie de 5 tentatives au total, espacées par une temporisation exponentielle :
Chaque tentative expire au bout de 30 secondes. La signature est calculée une seule fois à l’émission et réutilisée à l’identique par chaque réessai : une tentative qui arrive plusieurs heures plus tard reste donc vérifiable.
Historique de livraison et rejeu
Chaque tentative est enregistrée : vous pouvez donc savoir si Chariow a réellement appelé votre point de terminaison et ce qu’il a répondu. Ouvrez Automatisations → Pulses → sélectionnez votre Pulse → onglet Livraisons. Le tableau liste chaque livraison avec :pending signifie en file d’attente ou en cours de réessai, pas en échec. Une livraison ne devient failed qu’une fois les 5 tentatives épuisées.Meilleures pratiques
Répondre rapidement
Répondre rapidement
Renvoyez une réponse 200 immédiatement, puis traitez le Pulse de manière asynchrone pour éviter les délais d’expiration :
Gérer les doublons
Gérer les doublons
En raison de la logique de réessai, une même livraison peut vous parvenir plusieurs fois. Dédupliquez sur l’en-tête Ne dédupliquez pas sur l’identifiant de l’entité contenue dans la charge utile : une même vente produit légitimement une livraison par Pulse abonné.
x-pulse-delivery-id, stable sur toutes les tentatives d’une livraison :Vérifier la signature
Vérifier la signature
N’agissez jamais sur une charge utile avant d’avoir contrôlé
x-chariow-signature. Voir Sécurité des Pulses pour le contrat complet et des extraits prêts à l’emploi.Utiliser HTTPS
Utiliser HTTPS
Utilisez toujours HTTPS pour votre point de terminaison Pulse afin de garantir que les données sont chiffrées en transit. Chariow rejettera les points de terminaison HTTP pour des raisons de sécurité.
Surveiller les échecs
Surveiller les échecs
Consultez régulièrement l’onglet Livraisons de votre Pulse. Il affiche le code de statut et le corps de réponse de chaque tentative, ce qui permet de diagnostiquer un échec sans ajouter de journalisation de votre côté.
Filtrer par produits
Filtrer par produits
Pour les boutiques à fort volume, envisagez de créer des Pulses séparés pour différents produits afin de rendre le traitement plus efficace et organisé.
Test des Pulses
Utilisez la fonctionnalité de test de Pulse dans votre tableau de bord :- Allez dans Automatisations → Pulses
- Cliquez sur votre Pulse
- Cliquez sur Envoyer un pulse de test
- Vérifiez que votre point de terminaison a reçu la charge utile de test
Un événement de test est signé exactement comme un événement réel, mais il ne porte pas d’en-tête
x-pulse-delivery-id (aucun enregistrement de livraison n’est créé pour lui) et sa charge utile contient un champ note supplémentaire. Pour valider votre intégration contre une charge utile réelle, rejouez plutôt une livraison depuis l’onglet Livraisons.Pour le développement local, utilisez un service comme ngrok pour exposer votre serveur local à Internet.
Gestion des Pulses via l’API
Vous pouvez gérer vos Pulses de manière programmatique en utilisant l’API publique Chariow :Lister tous les Pulses
Obtenir un Pulse spécifique
Filtrer les Pulses
Vous pouvez filtrer les pulses par URL ou type d’événement en utilisant le paramètre de recherche :Pour la documentation complète de l’API, consultez les points de terminaison Lister les Pulses et Obtenir un Pulse.
Ressources associées
Sécurité des Pulses
Vérifier les signatures et dédupliquer les réessais
Référence API - Lister les Pulses
Consultez la documentation détaillée de l’API
Référence API - Obtenir un Pulse
Obtenez un pulse spécifique via l’API
Guide des ventes
En savoir plus sur les événements de vente
Guide des licences
En savoir plus sur les événements de licence
Guide des affiliés
En savoir plus sur les événements d’affiliation