# Boîte de réception scindée pour chatteurs OnlyFans : guide étape par étape

> Développez votre agence avec une boîte de réception scindée pour chatteurs OnlyFans : répartir les abonnés évite les collisions et maximise les revenus.

Dans les opérations de gestion OnlyFans (OFM) à fort volume, la monétisation des abonnés dépend presque entièrement de la rapidité et de la qualité des échanges en messages privés (DM). Les plus gros comptes de créateurs peuvent recevoir des centaines, voire des milliers de messages entrants par jour. Gérer ce volume depuis l'interface web native d'OnlyFans avec plusieurs opérateurs humains crée des goulets d'étranglement catastrophiques : collisions de chats, réponses tardives et revenus perdus.

Pour régler ce problème, les agences les plus avancées mettent en place une « boîte de réception scindée » (split inbox). Ce guide complet explique comment fonctionnent les boîtes de réception scindées, les principales architectures de routage, et détaille étape par étape leur déploiement avec des CRM prêts à l'emploi ou une infrastructure sur mesure construite via API.

## Qu'est-ce qu'une boîte de réception scindée dans la gestion OnlyFans ?

Une boîte de réception scindée divise la file unique de messages privés d'un créateur en sous-boîtes cloisonnées et mutuellement exclusives (ou groupes de fans attribués). Au lieu de consulter un fil chronologique unique, chaque chatteur ne voit que les abonnés qui lui sont attribués.

Une boîte de réception OnlyFans non segmentée, gérée par plusieurs opérateurs humains, perd en efficacité de conversion à cause des collisions de messages, d'une priorisation désorganisée et du chevauchement entre chatteurs. En scindant la boîte de réception, les agences assurent une propriété déterministe des conversations, des temps de réponse rapides et une attribution précise des revenus.

## Pourquoi les meilleures agences adoptent la boîte de réception scindée

Travailler sans boîte de réception scindée expose les agences à quatre risques opérationnels majeurs :

- **Collisions de chats :** plusieurs chatteurs peuvent répondre au même abonné en même temps, avec des tons contradictoires, des scripts qui se chevauchent ou des prix de Pay-Per-View (PPV) différents.
- **Surcharge cognitive & temps perdu :** les chatteurs peuvent perdre une grande partie de leur shift à faire défiler sans fin un fil principal, simplement pour retrouver les messages non lus ou les histoires en cours.
- **Whales négligés :** les abonnés à fort pouvoir d'achat (les « whales ») se retrouvent facilement noyés sous des centaines de messages entrants qui ne rapportent rien.
- **Failles de responsabilité & de sécurité :** les plateformes natives offrent peu d'attribution détaillée pour savoir quel chatteur précis a conclu une vente, divulgué du contenu ou mal géré une conversation VIP. Pour les métriques à suivre par chatteur, consultez notre guide des [KPI des chatteurs OnlyFans](/fr/blog/kpi-chatteurs-onlyfans-ventes-par-chatteur).

## Principales architectures de routage d'une boîte de réception scindée

Les agences déploient généralement la boîte de réception scindée selon l'un de trois grands mécanismes de répartition, en fonction de leur taille et de l'organisation de leurs shifts :

### 1. Partitionnement statique déterministe (ID de fan / numérotation)

Chaque abonné se voit attribuer une partition numérique ou modulo immuable. Par exemple, si une agence a quatre divisions actives de la boîte de réception, les fans sont routés de façon déterministe selon leur ID. C'est l'idéal pour des shifts tournants 24 h/24 et 7 j/7, quand l'agence veut une affinité fan-chatteur constante sur des histoires qui s'étalent sur plusieurs jours.

### 2. Segmentation par niveau / par dépenses

Les fans sont routés selon leurs dépenses cumulées (LTV) ou leurs dépenses sur les 30 derniers jours. Les « whales » à forte valeur sont filtrés vers une boîte VIP gérée par des closers seniors. Les dépensiers intermédiaires vont aux chatteurs PPV standard, tandis que les comptes gratuits ou sans dépenses sont routés vers des chatteurs juniors ou des bots de tri IA.

### 3. Équilibrage de charge dynamique / round-robin

Les nouvelles conversations ou les fans qui redeviennent actifs sont envoyés au prochain chatteur en ligne disponible ayant la plus petite file active. Une fois prise en charge, la conversation est verrouillée sur ce chatteur pendant toute la durée de la session active.

## Comment mettre en place une boîte de réception scindée avec des CRM prêts à l'emploi

Plusieurs extensions de navigateur et CRM tiers prennent en charge nativement la boîte de réception scindée. Voici comment configurer les principales plateformes.

### A. Infloww (Messages Pro™)

L'interface Messages Pro d'Infloww permet aux agences de cloisonner le flux de messages d'un créateur en groupes de sous-boîtes distincts.

1. Ouvrez _Messages Pro_ et activez la fonctionnalité **Split Inbox**.
2. Configurez le nombre de groupes actifs.
3. Répartissez des lots d'abonnés entre ces groupes.
4. Filtrez les vues des chatteurs pour que le membre d'équipe A ne voie que le groupe 1, le membre d'équipe B le groupe 2, etc. Les fans hors du filtre actif d'un chatteur sont masqués, ce qui élimine les distractions.
5. Déplacez les fans qui dépensent beaucoup vers un groupe VIP dédié.

### B. CreatorHero

CreatorHero aborde le routage par la numérotation des fans.

1. Attribuez aux abonnés des étiquettes numériques explicites, visibles dans la liste des chats.
2. Attribuez des plages de numéros précises (par ex. fans n° 001 à 250 au chatteur 1) pour chaque shift.
3. Appuyez-vous sur les indicateurs visuels qui signalent qu'un autre chatteur consulte une conversation pour éviter les collisions.

### C. OnlyMonster

OnlyMonster propose une fonctionnalité de division de la boîte de réception pour répartir les échanges avec les fans entre les membres de l'équipe.

1. Répartissez les fans dans des boîtes de réception distinctes.
2. Limitez les chatteurs aux boîtes qui leur sont attribuées, et donnez aux chefs d'équipe le droit de déplacer des fans d'une boîte à l'autre pour rééquilibrer le volume en cours de shift.
3. Combinez les boîtes de réception scindées avec des filtres comportementaux (par ex. les fans qui ont ouvert les 3 derniers PPV) pour un engagement ultra-ciblé.

## Comment construire une boîte de réception scindée sur mesure avec OnlyFansAPI

Pour les grandes agences qui utilisent des CRM internes sur mesure, des copilotes IA personnalisés ou des opérations multiplateformes (OnlyFans + Fansly), les extensions commerciales présentent souvent des limites, comme des risques de plantage et des algorithmes de routage rigides.

Construire une boîte de réception scindée sur mesure via [OnlyFansAPI](https://onlyfansapi.com/) permet aux agences de mettre en place un routage programmatique des fans, un verrouillage de concurrence basé sur Redis et une attribution directe des PPV, grâce aux endpoints REST et aux webhooks en quasi temps réel. Voici un guide étape par étape pour construire cette infrastructure headless.

### Étape 1 : s'abonner aux webhooks essentiels

Configurez votre backend pour consommer les événements en quasi temps réel des [webhooks OnlyFansAPI](https://docs.onlyfansapi.com/webhooks). Les événements clés sont les suivants :

- `messages.received` : se déclenche en quasi temps réel à chaque message entrant d'un fan.
- `subscriptions.new` : lance le routage d'attribution pour les nouveaux fans.
- `tips.received` : déclenche les vérifications du seuil VIP.

### Étape 2 : ingestion & logique de routage

Utilisez un serveur Node.js/Express adossé à Redis pour gérer le routage. Vous pouvez attribuer les chatteurs de façon déterministe avec une logique modulo.

Chaque livraison contient un en-tête `Signature` (HMAC SHA256 en hexadécimal du corps brut de la requête, avec votre secret de signature de webhook comme clé) : conservez donc le corps brut et vérifiez-le avant de faire confiance à l'enveloppe `{ event, account_id, payload }`.

```typescript
import crypto from 'node:crypto';
import express, { Request, Response } from 'express';
import Redis from 'ioredis';

const app = express();
const redis = new Redis(process.env.REDIS_URL!);
// conserver le corps brut pour pouvoir vérifier le HMAC
app.use(express.json({ verify: (req: any, _res, buf) => { req.rawBody = buf; } }));

async function getAssignedChatter(accountId: string, fanId: string, totalChatters: number): Promise<string> {
  const explicitAssignee = await redis.get(`fan:${fanId}:assignee`);
  if (explicitAssignee) return explicitAssignee;

  const numericId = parseInt(fanId.replace(/\D/g, ''), 10) || 0;
  const chatterSlot = (numericId % totalChatters) + 1;
  return `chatter_${chatterSlot}`;
}

app.post('/webhooks/onlyfans', async (req: Request, res: Response) => {
  const expected = crypto
    .createHmac('sha256', process.env.OFAPI_WEBHOOK_SECRET!)
    .update((req as any).rawBody)
    .digest('hex');
  const received = req.header('Signature') ?? '';
  if (received.length !== expected.length || !crypto.timingSafeEqual(Buffer.from(received), Buffer.from(expected))) {
    return res.status(401).end();
  }

  const { event, account_id, payload } = req.body;
  if (event === 'messages.received') {
    const { id: messageId, fromUser, text } = payload;
    const fanId = fromUser.id.toString(); // utilisable aussi comme chat_id

    const assignedChatter = await getAssignedChatter(account_id, fanId, 4);
    // Enregistrer et émettre un événement WebSocket vers le front-end
  }
  res.status(200).json({ received: true });
});
```

### Étape 3 : contrôle de concurrence & verrouillage des conversations

Pour garantir que deux chatteurs n'interagissent jamais avec le même fan en même temps lors des chevauchements de shifts, mettez en place un verrou distribué avec Redis :

```typescript
export async function acquireChatLock(fanId: string, chatterId: string, ttlSeconds = 60): Promise<boolean> {
  const result = await redis.set(`lock:chat:${fanId}`, chatterId, 'EX', ttlSeconds, 'NX');
  return result === 'OK';
}
```

### Étape 4 : envoyer les réponses via l'API REST

Quand un chatteur envoie un message depuis votre console sur mesure, exécutez la requête via les [endpoints Chat d'OnlyFansAPI](https://onlyfansapi.com/onlyfans-chatting-automation), en déclenchant l'indicateur de saisie pour plus de réalisme.

Un message payant nécessite un `price` compris entre 3 et 200 et au moins une entrée dans `mediaFiles` ; un prix non nul sans média est rejeté.

```typescript
import axios from 'axios';

const api = axios.create({
  baseURL: 'https://app.onlyfansapi.com/api',
  headers: { Authorization: `Bearer ${process.env.ONLYFANS_API_KEY}` },
});

export async function sendChatterReply({ accountId, chatId, text, price = 0, mediaFiles = [] }: {
  accountId: string; chatId: string; text: string; price?: number; mediaFiles?: (string | number)[];
}) {
  if (price !== 0 && (price < 3 || price > 200 || mediaFiles.length === 0)) {
    throw new Error('price must be 0 or 3-200, and paid messages require mediaFiles');
  }

  // 1. Déclencher l'indicateur de saisie (affiché au fan pendant ~4 secondes)
  await api.post(`/${accountId}/chats/${chatId}/typing`);

  // 2. Envoyer le message sortant
  const payload = { text, ...(mediaFiles.length ? { mediaFiles } : {}), ...(price > 0 ? { price } : {}) };
  const response = await api.post(`/${accountId}/chats/${chatId}/messages`, payload);

  return response.data;
}
```

## CRM prêts à l'emploi ou architecture API sur mesure

| Fonctionnalité | Infloww (Messages Pro) | CreatorHero | OnlyMonster | Solution sur mesure (OnlyFansAPI) |
| --- | --- | --- | --- | --- |
| **Capacité de division** | Groupes de sous-boîtes | Blocs de numérotation des fans | Boîtes scindées & rôles | Divisions logiques illimitées |
| **Protection anti-collision** | Isolation par vue | Indicateurs visuels | Isolation par boîte | Verrous distribués Redis |
| **Multiplateforme** | OF, Fansly + autres | OnlyFans uniquement | OF, Fansly, MYM | OnlyFans + Fansly |
| **Intégration IA** | AI Copilot (bêta) | Aides au chat intégrées | Aides au chat intégrées | Intégration LLM ouverte |
| **Modèle tarifaire** | À partir de $40/créateur/mois, par paliers selon les revenus | Tarif par créateur | Par tranches de revenus ($30–$250) | À partir de $69/mois, plans à base de crédits |

## Bonnes pratiques pour une boîte de réception scindée performante

Que vous utilisiez un CRM ou une solution API sur mesure, le respect des bonnes pratiques opérationnelles assure un ROI maximal :

- **Appliquez des règles de propriété strictes :** évitez de basculer en round-robin dynamique au milieu d'une conversation. Les abonnés remarquent les changements soudains de ton et de fréquence des emojis. Gardez un fan verrouillé sur un seul chatteur pendant une fenêtre d'au moins 4 à 8 heures.
- **Standardisez les résumés de passation entre shifts :** exigez des chatteurs sortants qu'ils laissent des notes internes concises sur chaque fan (par ex. _« Aime le contenu pieds, a acheté un custom à $50 hier, attend la vidéo teasing 2 »_).
- **Réservez les whales à des closers dédiés :** les fans dont les dépenses cumulées dépassent $1 000 devraient automatiquement contourner les files de rotation standard et être routés directement vers des account managers seniors.
- **Imposez l'émulation de frappe et des limites de cadence d'envoi :** quand vous combinez un tri IA automatisé avec des boîtes de réception scindées gérées par des humains, maintenez des délais semblables à ceux d'un humain. Utilisez toujours l'endpoint API `/typing` avant d'envoyer une réponse, pour une conversation qui paraît naturelle.

## Conclusion

Passer à une boîte de réception scindée est indispensable pour toute agence OFM qui dépasse un seul opérateur par compte de créateur. Si des plateformes comme Infloww et CreatorHero offrent une excellente segmentation prête à l'emploi, les grandes agences se tournent de plus en plus vers des infrastructures sur mesure propulsées par [OnlyFansAPI](https://onlyfansapi.com/). En prenant le contrôle direct de la logique de routage, de la segmentation VIP et du verrouillage des sessions, les agences peuvent éliminer efficacement les collisions de chats et maximiser la valeur à vie de chaque abonné.