Filtrado de contenido y opt-out
Por qué los operadores bloquean mensajes y cómo gestionar bajas de forma confiable.
Los operadores filtran tráfico A2P para proteger a sus usuarios del spam y el fraude. Los filtros miran URLs, palabras clave, volumen repentino y remitentes no registrados.
Cómo no caer en filtros
- Usa dominios propios en los enlaces; evita acortadores públicos.
- Calienta el volumen gradualmente al lanzar un remitente nuevo.
- Mantén coherencia entre remitente, marca y contenido.
Opt-out confiable
Una baja debe procesarse en todos tus sistemas, de inmediato y para siempre. Mantén una lista de supresión central consultada antes de cada envío promocional, no solo en el segmento de la campaña.
async function sendPromo(to, text) {
if (await suppression.has(to)) return { skipped: "opt_out" };
return mx.sms.send({ to, text: text + " Responde BAJA para no recibir más." });
}El opt-out no es una cortesía: en la mayoría de los mercados es una obligación, y los operadores filtran el tráfico de remitentes que la ignoran. Procesar palabras como BAJA, STOP o NO en cualquier combinación de mayúsculas debe ser automático e inmediato.
Mantén una lista de supresión central, consultada por todos los sistemas que envían, antes de cada envío. Una baja registrada en el canal de marketing que no llega al sistema de cobranza sigue siendo un incumplimiento a ojos del usuario.
Pruébalo
// Opt-out keywords update a central suppression list
const supresion = new Set();
const PALABRAS = ["baja", "stop", "no", "salir", "cancelar"];
async function enviar(to, text) {
if (supresion.has(to)) return console.warn("omitido (dado de baja):", to);
await mx.sms.send({ to, text });
}
mx.bot.onMessage(async ({ text, from }) => {
if (PALABRAS.includes(text.trim().toLowerCase())) {
supresion.add(from);
mx.bot.reply("Listo, no recibirás más mensajes promocionales.");
await enviar(from, "Oferta: 20% en tu próxima compra");
return;
}
mx.bot.reply("Escribe BAJA para dejar de recibir mensajes.");
});
await enviar("+56900000000", "Oferta: 20% en tu próxima compra");