Si votre intégration Fansly interroge l'API toutes les minutes pour vérifier les nouveaux messages, ventes ou abonnements, vous brûlez des crédits, vous ajoutez de la latence et vous manquez des événements entre deux requêtes. Les webhooks Fansly inversent le modèle : chaque événement sur Fansly est envoyé à votre serveur au moment où il se produit, avec une signature cryptographique, des relances automatiques et un contrat d'idempotence intégré pour dédoublonner en toute sécurité.
Ce guide présente les événements qui déclenchent des webhooks, la façon de les configurer en moins de cinq minutes, la manière de les traiter sans risque en production, et les cas d'usage en agence qui justifient d'abandonner le polling.
Pourquoi les webhooks battent le polling sur Fansly
Le polling a l'air inoffensif : une tâche cron qui interroge l'API Fansly toutes les minutes pour demander « du nouveau ? ». En réalité, il pose trois problèmes coûteux :
- Le coût : chaque requête consomme des crédits, qu'il y ait eu de nouveaux événements ou non. Un polling « toutes les minutes » sur 20 comptes de créateurs consomme 28 800 appels par jour. Les webhooks offrant la même couverture ne coûtent qu'une fraction de ce montant.
- La latence : entre deux requêtes, les événements attendent sur la plateforme. Un pourboire de whale arrive à 9:00:15 ; votre scraper le remarque à 9:01:00. C'est dans ces 45 secondes d'écart que se referment les fenêtres de relance des chatteurs.
- La fiabilité : le polling est en course permanente contre les limites de requêtes. Les livraisons de webhooks sont mises en file d'attente par Fansly et relancées jusqu'à ce que votre serveur en accuse réception.
Les webhooks suppriment ces trois problèmes. Un événement = une livraison HTTP = un crédit pour 100 événements.
Types d'événements des webhooks Fansly
Chaque événement significatif sur un compte Fansly connecté déclenche un webhook. Les plus courants :
| Événement | Se déclenche quand |
|---|---|
message.received |
Un fan envoie un message privé à un créateur |
message.sent |
Le créateur envoie un message privé (via l'API ou la plateforme) |
sale.completed |
Un fan finalise un achat (PPV, pourboire, abonnement) |
subscription.created |
Un fan s'abonne pour la première fois |
subscription.renewed |
L'abonnement d'un fan se renouvelle automatiquement |
subscription.expired |
L'abonnement d'un fan prend fin |
tip.received |
Un fan envoie un pourboire |
post.liked |
Un fan aime une publication |
typing.started |
Un fan commence à écrire dans un chat |
account.status_changed |
Un compte connecté change d'état |
La liste complète est visible dans le tableau de bord dès que vous enregistrez un endpoint. De nouveaux événements sont ajoutés régulièrement sans casser les handlers existants.
Comment configurer les webhooks Fansly en 5 minutes
- Ouvrez le tableau de bord Fansly API : allez dans la section Webhooks
- Ajoutez un endpoint : collez l'URL de votre serveur (HTTPS uniquement : Fansly ne livre pas en HTTP)
- Choisissez les événements auxquels vous abonner : commencez par
message.received,sale.completed,subscription.renewedetsubscription.expired. Élargissez ensuite. - Copiez le secret de signature : stockez-le dans votre environnement sous le nom
FANSLY_WEBHOOK_SECRET - Testez depuis le tableau de bord : Fansly déclenche un événement de test pour que vous puissiez vérifier que votre serveur l'accepte et répond 200
- Passez en production : basculez l'endpoint sur Active
C'est tout. Votre serveur commence à recevoir les événements au moment où ils se produisent.
Vérifier les signatures des webhooks Fansly
Chaque livraison inclut un en-tête X-Fansly-Signature. Vérifiez-le avant de traiter la moindre charge utile : sinon, un attaquant pourrait forger de faux événements.
import { createHmac } from 'crypto'
function verifyWebhook(rawBody, signatureHeader, secret) {
const expected = createHmac('sha256', secret)
.update(rawBody)
.digest('hex')
return signatureHeader === expected
}
// Dans votre handler :
if (!verifyWebhook(req.rawBody, req.headers['x-fansly-signature'], process.env.FANSLY_WEBHOOK_SECRET)) {
return res.status(401).send('invalid signature')
}Notez l'utilisation de rawBody : vous devez hacher le corps de la requête avant le parsing JSON ou toute modification par un middleware. La plupart des frameworks web proposent un mode raw-body qu'il faut activer.
Gérer sans risque les renvois de webhooks Fansly
Fansly relance toute livraison qui ne renvoie pas une réponse 2xx, avec un backoff exponentiel. Votre serveur peut recevoir le même événement 2 à 5 fois quand le réseau est instable.
Dédoublonnez à l'aide de la clé d'idempotence présente sur chaque événement :
const seen = new Set() // utilisez Redis ou une base de données pour les déploiements multi-instances
async function handleWebhook(event) {
if (seen.has(event.idempotencyKey)) {
return // déjà traité, on ignore
}
seen.add(event.idempotencyKey)
await processEvent(event) // la logique métier peut maintenant s'exécuter sans risque
}Pour les faibles volumes (moins de 10k événements par jour et par serveur), un Set en mémoire suffit. En production avec plusieurs workers, stockez les clés dans Redis avec un TTL de 24 heures.
Cas d'usage en agence : ce que les webhooks permettent vraiment
Les webhooks ne sont pas un simple confort pour les développeurs. Ils sont le socle de toutes les automatisations génératrices de revenus d'une agence.
Alertes whale en temps réel → captez les pourboires en quelques minutes
Abonnez-vous à tip.received, filtrez les montants ≥ $100 et envoyez-les dans un canal Slack ou sur le Telegram des chatteurs. Résultat : les chatteurs relancent le fan pendant qu'il est encore dans la conversation, et non le lendemain matin quand l'occasion est passée.
Séquences de bienvenue → activez les nouveaux abonnés dès la première heure
Abonnez-vous à subscription.created. Attendez 1 heure. Envoyez un message de bienvenue personnalisé via l'API de messagerie. Attendez 24 heures. Relancez avec un PPV. Résultat : un revenu de première semaine 3 à 5 fois supérieur par nouvel abonné, par rapport à l'attente d'une prise de contact manuelle par un chatteur.
Reconquête après churn → récupérez 15 à 25 % des abonnés expirés
Abonnez-vous à subscription.expired. Attendez 7 jours. Envoyez un message privé personnalisé avec un code de réduction issu de l'endpoint Promotions et un lien de tracking. Résultat : des milliers de dollars de MRR récupérés grâce à un workflow qui tourne tout seul.
Routage des chatteurs → la bonne personne sur le bon fan
Abonnez-vous à message.received. Récupérez le niveau de dépenses du fan depuis l'endpoint Fans. Envoyez les fans à forte LTV aux chatteurs seniors, les nouveaux fans aux chatteurs chargés de l'accueil et les fans inactifs aux spécialistes de la rétention. Résultat : chaque fan reçoit le bon niveau d'attention, sans tri manuel.
Tableaux de bord de revenus en temps réel → la finance arrête de demander
Abonnez-vous à sale.completed et subscription.renewed. Envoyez le flux vers BigQuery, Snowflake ou une Google Sheet via n8n / Zapier / Make.com. Résultat : l'équipe finance voit les revenus arriver dans son tableau de bord en quelques secondes, et non au rapprochement de fin de mois.
Conformité et surveillance du contenu → repérez les problèmes avant qu'ils ne s'aggravent
Abonnez-vous à message.received. Faites passer le texte dans un classifieur de modération (OpenAI Moderation API, Perspective API ou votre propre modèle). Signalez les messages problématiques et transmettez-les aux opérations. Résultat : un risque réduit pour la sécurité des comptes et des heures de relecture manuelle supprimées.
Conseils de production pour les webhooks Fansly
- Répondez 200 rapidement. Accusez réception, puis mettez l'événement en file d'attente pour un traitement asynchrone. Les handlers synchrones trop longs provoquent des timeouts et déclenchent des relances.
- Journalisez chaque livraison. Même avec des clés d'idempotence, conservez un journal de la charge utile et de la réponse pour l'audit et le débogage. Le tableau de bord dispose d'une page Webhook Logs qui montre la vue côté Fansly.
- Testez les scénarios d'échec. Simulez des requêtes de base de données lentes, des pannes d'API tierces et des défaillances de stockage. Votre handler ne doit jamais planter à cause d'un seul événement défectueux.
- Utilisez HTTPS avec des certificats valides. Fansly ne livre pas aux endpoints HTTP ni aux certificats TLS invalides. Mettez en place Let's Encrypt ou AWS ACM si ce n'est pas déjà fait.
- Surveillez le tableau de bord. La page Webhook Logs affiche chaque tentative de livraison, le nombre de relances et le statut final. Configurez une alerte quand le taux d'échec dépasse 1 % sur une fenêtre de 5 minutes.
Tarifs des webhooks Fansly
Les livraisons de webhooks coûtent 1 crédit pour 100 événements, soit généralement 100 à 1000 fois moins cher qu'une couverture équivalente par polling.
Un compte de créateur avec une forte activité de fans (plus de 5 000 événements par jour entre messages, likes, pourboires et abonnements) coûte environ 50 crédits par jour en livraisons de webhooks. La même couverture avec un polling toutes les minutes consommerait 1 440 appels par jour au coût standard en crédits.
Offres et crédits inclus :
- Basic : $69/mois : 20 000 crédits, 1 compte, accès complet aux webhooks
- Pro : $299/mois : 100 000 crédits, 5 comptes, accès complet aux webhooks
- Enterprise : plus de 100 comptes : tarification dynamique à partir de $11,60 par compte, crédits sur mesure
Les webhooks sont inclus dans toutes les offres payantes : aucune offre premium n'est nécessaire.
Consultez la page de tarifs complète pour les crédits inclus et les tarifs de dépassement.
Questions fréquentes sur les webhooks Fansly
Quelle est la différence entre le polling et les webhooks Fansly ? Avec le polling, votre serveur demande à l'API Fansly toutes les minutes (ou toutes les secondes) s'il s'est passé quelque chose de nouveau. Avec les webhooks, Fansly prévient votre serveur au moment même où cela se produit. À grande échelle, les webhooks sont 100 à 1000 fois moins chers, plus rapides et plus fiables : il n'y a pas de situation de concurrence dans laquelle vous manquez des événements entre deux requêtes.
Les webhooks Fansly sont-ils assez fiables pour la production ? Oui. Chaque livraison inclut une signature HMAC-SHA256 pour la vérification, une clé d'idempotence pour des renvois sans risque et une relance automatique avec backoff exponentiel en cas d'échec. Nous avons traité plus de 150 millions d'événements avec des garanties de livraison conformes aux standards des entreprises.
Quels événements Fansly déclenchent des webhooks ? Les messages reçus et envoyés, les ventes finalisées, les abonnements créés, renouvelés et expirés, les pourboires reçus, les PPV achetés, les interactions avec les publications, les indicateurs de saisie, les changements de statut de compte, et plus encore. La liste complète des événements est disponible dans le tableau de bord dès que vous enregistrez un endpoint.
Comment gérer sans risque les renvois de webhooks Fansly ? Chaque livraison de webhook inclut une clé d'idempotence unique. Stockez les clés déjà traitées (dans Redis, une base de données, ou même un set en mémoire pour les faibles volumes) et ignorez tout doublon. Les livraisons en échec sont relancées avec un backoff exponentiel jusqu'à ce qu'elles réussissent ou expirent.
Puis-je utiliser les webhooks Fansly sans écrire de code ? Oui. n8n, Zapier et Make.com proposent tous des nodes de déclenchement par webhook. Collez l'URL dans le tableau de bord Fansly API et votre workflow no-code démarre dès que l'événement se déclenche : pas de serveur, pas de code, pas d'infrastructure à maintenir.
Ce qui a changé avec la version de juin 2025
Ce guide reflète la version de juin 2025 de Fansly API, qui a introduit :
- Des webhooks de production : la livraison d'événements en temps réel pour les messages, les ventes, les abonnements, les pourboires, les interactions avec les publications, les indicateurs de saisie et les changements d'état des comptes
- L'intégration Make.com : la première plateforme no-code couvrant entièrement Fansly API, avec des scénarios préconfigurés pour la synchronisation des transactions et le suivi des liens
- Des endpoints de gestion des médias : téléversement de photos, vidéos et fichiers audio, organisation des médias du coffre-fort, création de listes dans le coffre-fort
- La gestion des publications : programmation de publications avec labels, médias, sondages (classiques et quiz), objectifs de collecte de fonds et dates d'expiration
- Une messagerie avancée : PPV, pièces jointes multimédias, tags de créateurs
- La mise en forme du texte : gras, italique, couleur et taille dans les publications et les messages
Suivez @onlyfansapi_updates sur Telegram pour les dernières nouveautés.
Prêt à abandonner le polling ? Inscrivez-vous gratuitement : 100 premiers crédits inclus, sans carte bancaire.