← Blog

·

Flujo de cobranza por WhatsApp: cómo armarlo sin que te bloqueen

Actualizado el 25/10/2026

Un flujo de cobranza por WhatsApp (en Brasil, régua de cobrança) es una secuencia de recordatorios enviados antes, el día y después del vencimiento de una factura, con plantillas de utilidad aprobadas por Meta. Para no ser bloqueado, cada mensaje debe hablar solo de la cuenta del cliente, sin tono promocional ni amenazas, con intervalos cortos de envío y un punto de cierre claro. La política de WhatsApp incluye el «cobro de deudas» entre los servicios prohibidos, así que el flujo sirve para que la empresa recuerde a sus propios clientes sus propias facturas, no para gestionar cobranza de terceros.

Esta guía muestra el límite entre lo que Meta acepta y lo que prohíbe, las etapas del flujo, cómo escribir las plantillas, cómo incluir botones de Pix y boleto y qué dice el Código de Defensa del Consumidor de Brasil sobre la forma de cobrar. (Contexto: Pix es el sistema de pagos instantáneos de Brasil; el boleto es un comprobante bancario con vencimiento y una «línea digitable» numérica.)

Qué acepta Meta y qué prohíbe

Dos reglas de Meta definen el espacio del flujo.

La primera está en las pautas de categorización de plantillas. Entre los ejemplos de utilidad, en «alertas o actualizaciones de cuenta», Meta incluye un recordatorio de pago: «Recordatorio: el pago mensual de {{servicio}} se cobrará el {{fecha}} en la {{tarjeta}} registrada». Avisar al cliente sobre su propia factura es un uso previsto.

La segunda está en la sección 4 de la Política de Mensajes de WhatsApp Business (actualizada el 23/09/2026), que prohíbe usar WhatsApp para empresas para comprar, vender, promocionar o facilitar ciertos productos y servicios. La lista incluye «préstamos de día de pago, adelantos de sueldo, préstamos entre particulares, cobro de deudas y fianzas», y la prohibición se aplica sin importar las licencias o aprobaciones que tenga la empresa.

En la práctica:

EscenarioLectura
Escuela, gimnasio, SaaS o proveedor de internet recordando la mensualidad a su propio clienteRecordatorio de cuenta, uso previsto como utilidad
Tienda avisando el vencimiento del boleto de un pedidoAviso de una transacción del cliente
Agencia de cobranza contratada para recuperar deudas de tercerosEncaja en «cobro de deudas», servicio prohibido
Empresa que compra carteras de deuda y contacta deudoresEncaja en «cobro de deudas», servicio prohibido

Meta decide cada caso a su criterio. Si su negocio es la cobranza en sí, lea la política completa antes de invertir en la integración.

Las etapas del flujo

No existe un flujo oficial. La tabla es un modelo para adaptar a sus plazos y a su historial de pagos:

EtapaMomentoObjetivoBotón
Factura disponibleAl emitirlaEnviar monto, vencimiento y medio de pagoPix, boleto o enlace
Recordatorio2 a 3 días antesRecordar a quien aún no pagóPix o boleto
VencimientoEl mismo día, por la mañanaÚltimo aviso dentro del plazoPix o boleto
Atraso inicial1 a 3 días despuésInformar el atraso y la nueva forma de pagoNuevo Pix o boleto actualizado
Atraso persistenteCerca de una semana despuésOfrecer contacto con una personaRespuesta rápida «Hablar con un agente»
CierreSegún la política de la empresaInformar la siguiente medida prevista en el contratoNinguno o atención

Tres reglas de operación evitan la mayoría de los problemas:

  1. Detenga el flujo al recibir el pago. Consulte al banco o proveedor de pagos (PSP) justo antes de cada envío. Un aviso de atraso a quien ya pagó es la queja más común.
  2. Un mensaje por etapa. No reenvíe la misma plantilla el mismo día ni cuando el mensaje anterior no fue leído.
  3. Los atrasos largos van a personas. Tras algunos intentos sin respuesta, el flujo automático se detiene y el caso sigue por atención humana u otro canal.

Cómo escribir plantillas de utilidad

La utilidad exige texto no promocional y específico del usuario. En cobranza, eso significa datos concretos de la factura y ningún incentivo:

TextoCategoría probablePor qué
«Su factura de {{1}}, por {{2}}, vence el {{3}}. Use el botón para copiar el código Pix.»UtilidadAlerta de cuenta con datos específicos
«No identificamos el pago de la factura {{1}}, vencida el {{2}}. Si ya pagó, ignore este mensaje.»UtilidadActualización de cuenta, sin persuasión
«¡Pague hoy con 30 % de descuento!»MarketingOferta con incentivo económico
«Su suscripción vence el {{1}}. Renueve hoy con descuento.»MarketingMeta cita los intentos de renovación con descuento como marketing
«¡¡¡Último aviso antes de acciones judiciales!!!»Rechazo o bloqueosTono amenazante, genera denuncias y choca con la ley del consumidor

Desde abril de 2025, una plantilla enviada como UTILITY que Meta considera marketing se aprueba como MARKETING, y las plantillas aprobadas se siguen reevaluando. Vigile el webhook template_category_update. El artículo marketing, utilidad o autenticación detalla los criterios, y plantilla rechazada cubre los motivos de rechazo más comunes.

Una propuesta de renegociación con descuento suele caer en marketing porque trae un incentivo. Si su flujo tiene esa etapa, cree una plantilla de marketing aparte y envíela solo a quien aceptó recibir ofertas.

Pix y boleto dentro del mensaje

En Brasil, Meta permite agregar hasta tres botones PAYMENT_REQUEST a una plantilla de utilidad, con código Pix dinámico, línea digitable del boleto, enlace de pago o pago con tarjeta en un clic (payment request CTA templates). El encabezado puede ser un documento, lo que permite adjuntar el PDF de la factura.

Envío de una factura con el PDF en el encabezado y dos botones (boleto y Pix):

{
  "messaging_product": "whatsapp",
  "to": "5584999999999",
  "type": "template",
  "template": {
    "name": "fatura_disponivel",
    "language": { "code": "pt_BR" },
    "components": [
      { "type": "header", "parameters": [
        { "type": "document", "document": { "link": "https://ejemplo.com/facturas/2026-10-4471.pdf", "filename": "factura-octubre.pdf" } } ] },
      { "type": "body", "parameters": [
        { "type": "text", "text": "outubro" },
        { "type": "text", "text": "R$ 249,00" },
        { "type": "text", "text": "10/11/2026" } ] },
      { "type": "button", "sub_type": "payment_request", "index": "0", "parameters": [
        { "type": "action", "action": { "payment_request": { "payment_setting": {
          "type": "boleto", "boleto": { "digitable_line": "LINEA_DIGITABLE_FACTURA" } } } } } ] },
      { "type": "button", "sub_type": "payment_request", "index": "1", "parameters": [
        { "type": "action", "action": { "payment_request": { "payment_setting": {
          "type": "pix_dynamic_code", "pix_dynamic_code": { "code": "CODIGO_PIX_FACTURA" } } } } } ] }
    ]
  }
}

Al crear la plantilla, la etiqueta de cada botón debe ser uno de los valores fijos de la documentación (Copy Boleto code, Copy Pix code, Open payment link). Meta registra dos advertencias: WhatsApp no desactiva el botón cuando el código vence y no concilia pagos. Genere un Pix nuevo en cada etapa de atraso y confirme el pago con su PSP.

Frecuencia y calidad del número

El flujo corre todos los meses, para mucha gente a la vez, y por eso pesa en la calidad del número. Meta calcula la calidad a partir de bloqueos, denuncias y otras señales recientes y, cuando baja, pausa plantillas y puede limitar la cuenta (aplicación de políticas). El artículo sobre calidad del número explica los niveles y sus efectos.

Prácticas que reducen bloqueos:

  • Remitente reconocible. Nombre visible igual a la marca de la factura.
  • Horario comercial. Evite la noche, la madrugada y los fines de semana.
  • Datos que el cliente reconoce. Mes de referencia, monto y número de contrato.
  • Salida fácil. Un botón «Ya pagué» o «Hablar con un agente» resuelve dudas antes de que se conviertan en denuncias.
  • Reparta el envío. Distribuya el lote durante la mañana en lugar de enviarlo todo en el mismo minuto, dentro de su límite de mensajes.

Qué dice el Código de Defensa del Consumidor de Brasil

Tres artículos de la Ley 8.078/1990, el Código de Defensa del Consumidor (CDC), tratan directamente la forma de cobrar:

  • Art. 42: en el cobro de deudas, el consumidor moroso no será expuesto al ridículo ni sometido a vergüenza o amenaza. El párrafo único garantiza la devolución del doble de lo cobrado indebidamente y pagado, salvo error justificable.
  • Art. 42-A: todo documento de cobro debe incluir nombre, dirección y CPF o CNPJ (identificación fiscal brasileña) del proveedor.
  • Art. 71: es delito usar, en la cobranza, amenaza, coacción, vergüenza, afirmaciones falsas o cualquier procedimiento que exponga al consumidor al ridículo o interfiera con su trabajo, descanso u ocio.

Para el flujo, eso se traduce en mensajes sin amenazas ni exposición, en horarios razonables, con datos correctos (cobrar a quien ya pagó puede generar devolución doble) y con la identificación del proveedor en el PDF o en el pie del mensaje. El flujo también trata datos personales y está sujeto a la LGPD, la ley brasileña de protección de datos; vea LGPD y WhatsApp. Este texto es informativo y no sustituye asesoría legal.

Ejemplo: programador del flujo en Python

El script corre una vez al día, determina la etapa de cada factura abierta y envía la plantilla correspondiente por Vectalk, que acepta el payload de la Cloud API.

import datetime as dt
import os
import requests

VECTALK = "https://apis.vectalk.com.br/api/messages"
TOKEN = os.environ["VECTALK_TOKEN"]

ETAPAS = [  # (días respecto al vencimiento, nombre de la plantilla)
    (-3, "factura_recordatorio"),
    (0, "factura_vence_hoy"),
    (2, "factura_atrasada"),
    (7, "factura_atraso_agente"),
]

def etapa_del_dia(vencimiento: dt.date, hoy: dt.date):
    delta = (hoy - vencimiento).days
    for dias, plantilla in ETAPAS:
        if delta == dias:
            return plantilla
    return None

def enviar(factura, plantilla):
    cuerpo = {
        "messaging_product": "whatsapp",
        "to": factura["wa_id"],
        "type": "template",
        "template": {
            "name": plantilla,
            "language": {"code": "pt_BR"},
            "components": [{"type": "body", "parameters": [
                {"type": "text", "text": factura["referencia"]},
                {"type": "text", "text": factura["monto"]},
                {"type": "text", "text": factura["vencimiento"].strftime("%d/%m/%Y")},
            ]}],
        },
    }
    r = requests.post(VECTALK, json=cuerpo, timeout=15,
                      headers={"Authorization": f"Bearer {TOKEN}"})
    r.raise_for_status()
    return r.json()["messages"][0]["id"]

def ejecutar(db, psp, hoy=None):
    hoy = hoy or dt.date.today()
    for factura in db.facturas_abiertas():
        plantilla = etapa_del_dia(factura["vencimiento"], hoy)
        if not plantilla or db.ya_enviado(factura["id"], plantilla):
            continue
        if psp.esta_pagada(factura["id"]):  # verificar antes de cada envío
            db.marcar_pagada(factura["id"])
            continue
        if factura["optout"] or factura["con_agente_humano"]:
            continue
        db.registrar_envio(factura["id"], plantilla, enviar(factura, plantilla))

Guarde el wamid de cada envío y trate las fallas en el webhook de estado. La guía de errores de la API de WhatsApp lista los códigos que requieren acción.

Cómo hacerlo con Vectalk

Con Vectalk usa la WhatsApp Cloud API oficial con los mismos payloads y webhooks de Meta: solo cambian la URL base (https://apis.vectalk.com.br/api) y el token. Las plantillas se crean en el endpoint de plantillas, y los documentos pueden ir por enlace o por subida de medios. Los cargos de Meta llegan en la factura de Vectalk, sin tarjeta registrada en Meta. Cree su cuenta en apps.vectalk.com.br/register.

Preguntas frecuentes

¿Puedo cobrar por WhatsApp con la API oficial?

Puede recordar a sus propios clientes sus facturas con plantillas de utilidad, un uso que Meta cita como ejemplo. La política prohíbe usar WhatsApp para el «cobro de deudas» como servicio, sin importar las licencias.

¿El aviso de factura vencida es utilidad o marketing?

Suele ser utilidad cuando trae solo datos de la cuenta (referencia, monto, fecha) y ningún incentivo. Un descuento para pagar o renovar lleva la plantilla a marketing.

¿Cuántos mensajes puede tener el flujo?

Meta no fija un número. Cuantos más mensajes sin respuesta, mayor el riesgo de bloqueos y de baja calidad. Un flujo corto que pasa el caso a una persona tras algunos avisos es más seguro.

El cliente pidió dejar de recibir cobros. ¿Y ahora?

La política exige respetar las solicitudes de dejar de recibir mensajes. Registre el opt-out, cierre el flujo en WhatsApp y continúe por los canales previstos en el contrato.

¿Sirve el mismo flujo para Pix de ventas no pagadas?

La lógica es parecida, pero ese caso es recuperación de ventas, no factura recurrente. Vea recuperación de Pix, boleto y carrito.


Fuentes oficiales consultadas el 25/10/2026: Categorización de plantillas, Política de Mensajes de WhatsApp Business, Payment request CTA templates (Brasil), Aplicación de políticas, Get opt-in for WhatsApp, Código de Defensa del Consumidor (Ley 8.078/1990), Documentación de Vectalk.

Integre o WhatsApp oficial ao seu sistema

A Vectalk entrega a Cloud API da Meta com os mesmos payloads e webhooks, um token para todas as contas e documentação completa.