← DocumentaciónPlataforma

Pool de números + routing

Warmup automático, sticky routing, quarantine.

Cuando vas a enviar miles de mensajes al día, un solo número no escala — WhatsApp lo flaggea. La solución es un pool de números calentados orgánicamente y un algoritmo de sticky routing que mantiene a cada cliente siempre hablando con el mismo número.

Tiers de calentamiento

Un número nuevo arranca en Tier 0 con un cap diario muy bajo. A medida que demuestra buena salud (delivery rate, sin spam complaints), Replai lo promueve automáticamente.

TierCap/díaDías en tierHealth mínima
T0 — Nuevo100
T1 — Calentando50385%
T2 — Tibio250785%
T3 — Caliente1.0001490%
T4 — Maduro5.0003092%

Si excedes el cap del tier, el send devuelve 429 RATE_LIMITED con header Retry-After apuntando al próximo UTC midnight.

Warmup bot

Para acelerar el calentamiento, Replai puede correr conversaciones cruzadas entre los números del mismo pool — el bot interno simula clientes ocasionales. Esto sube delivery rate sin necesidad de tráfico real (modo OFF por default; lo enciendes en el pool).

Pools

Un NumberPool agrupa N sesiones bajo el mismo tenant. Cada pool tiene:

  • Lista de miembros (sesiones con sus tiers).
  • Política de routing (sticky por default).
  • Historial de miembros que se han ido (logged_out, sustained quarantine).

Sticky routing

Para un leadId dado (el msisdn del cliente, o un id externo que pases), Replai usa rendezvous hashing para elegir un número del pool. Cada combinación (lead, número) produce un score; el número con score más alto gana. Resultado:

  • El mismo cliente siempre habla con el mismo número (hasta que ese número muera).
  • Si un número entra a quarantine, los leads ruteados a él re-eligen — pero solo después de la ventana sticky de 24h, para no dropear conversaciones activas.
  • Si añades un número nuevo al pool, solo afecta a leads nuevos — los viejos se quedan donde estaban.

Health scoring

Cada 5 minutos Replai computa el health score de cada sesión:

health = delivery_rate × (1 - complaint_rate)
       — donde delivery_rate = DELIVERED / (DELIVERED + FAILED) en 7 días
       — complaint_rate viene de spam complaints reportadas (cuando WhatsApp las expone)

Acciones según el score:

ScoreAcción
≥ 0.90OK — sigue elegible para promoción al siguiente tier.
0.70 – 0.89Warn — promoción pausada; suba la calidad de tu copy.
< 0.70Quarantine automático. El pool route excluye este número.

Quarantine + recuperación

Quarantine es no-destructivo: el número sigue conectado, recibe mensajes, pero no se rutean nuevos sends a él. Tras 7 días con score saludable, Replai lo saca automáticamente. Quarantine sostenido (> 14 días) escala al equipo de soporte.

Campaigns

Los campaigns son el caso de uso típico de pool: defines una audiencia (CSV o segment), unas variantes A/B de plantilla, un schedule. Replai materializa los recipients con sticky routing + variante elegida, y el CampaignRunner los va lanzando respetando los tier caps. Ver API ReferencePOST /v1/campaigns.

Pool de números + routing · Replai · WhatsApp con IA en Venezuela