Saltar a contenido

Integración con WispHub

Integración completa

WispHub soporta el flujo bidireccional completo: notificaciones ISP → cliente final por TPL y Bot WhatsApp con reporte de pago real, promesa de pago con activación automática, y lookup de cliente por teléfono/cédula.

Configuración en HybsChat

En tu panel my.hybschat.comConfiguración → Sistema ISP:

Campo Valor
Sistema WispHub
URL del ISP tu-empresa.wisphub.app (sin http://) o api.wisphub.net (SaaS)
Token El token de API de tu WispHub (con permisos de Facturas y Promesas de Pago)

Permiso 'Promesas de Pago' en el API Key

Si vas a usar el Bot WhatsApp con promesa de pago automática, tu API key debe tener el permiso "Promesas de Pago" habilitado en el role del usuario API. Sin ese permiso, la llamada falla con HTTP 403 y la promesa no se crea (el reporte de pago sigue funcionando).

Configuración en WispHub

Configuración en WispHub

En tu panel WispHub, configurá el proveedor:

Campo Valor
URL del webhook https://gw.hybschat.com/mw?appkey=TU_APPKEY
Método POST

Cómo armar un TPL correctamente

Una sola regla:

TPL:nombre_template | {{cliente_nombre}} | {{otra_var}} | ...

Reglas básicas

  1. Separador: | (pipe)
  2. Nombre del cliente: incluí {{cliente_nombre}} o {{cliente_apellidos}} para que HybsChat registre el contacto en Chatwoot
  3. Lookup por teléfono: WispHub puede ser consultado por teléfono automáticamente — HybsChat busca al cliente en tu WispHub y lo registra con el nombre real. No necesitás incluir CEDULA en el TPL.

Cómo funciona el lookup por teléfono

WispHub expone el endpoint /api/clientes/?telefono=X que devuelve el cliente match. Cuando HybsChat recibe una notificación:

  1. Toma el número de teléfono del destinatario
  2. Llama a tu WispHub buscando ese teléfono
  3. Si encuentra match: usa el nombre del WispHub para el contacto Chatwoot
  4. Si no: usa la primera variable del TPL como nombre

Variables disponibles

WispHub usa sintaxis {{variable}} (doble llave). Más de 200 tags totales — acá las usables en mensajería de cobranza:

Variable Descripción
{{cliente_nombre}} Nombres del cliente
{{cliente_apellidos}} Apellidos
{{cliente.telefono}} Teléfono
{{cliente.cedula}} Cédula/DNI
{{cliente.direccion}} Dirección
{{cliente.email}} Email
Variable Descripción
{{plan_internet_nombre}} Nombre del plan
{{plan_internet.precio}} Precio del plan
{{id_servicio}} ID del servicio
{{usuario_servicio}} Username PPPoE
Variable Descripción
{{factura_cliente.id_factura}} ID de la factura
{{fecha_emision}} Fecha de emisión
{{fecha_vencimiento}} Fecha de vencimiento
{{fecha_corte}} Fecha de corte
{{total}} Total de la factura
{{saldo}} Saldo pendiente
{{descuento}} Descuento aplicado
Variable Descripción
{{fecha_pago}} Fecha del pago
{{total_cobrado}} Monto cobrado
{{forma_pago}} Forma de pago
Variable Descripción
{{ver_factura}} URL para ver la factura
{{url_lista_facturas}} URL del listado de facturas del cliente
{{link_mercadopago}} Link de pago MercadoPago

Referencia oficial WispHub

wisphub.net/documentacion/articulo/listado-de-tags — 200+ tags incluyendo SAT México, PayU, MercadoPago, openPay.


Ejemplos por caso de uso

TPL en WispHub:

TPL:recordatorio_pago | {{cliente_nombre}} | {{total}} | {{fecha_vencimiento}} | {{ver_factura}}

Body del template Meta:

Hola *{{1}}*, tu factura de *S/{{2}}* vence el *{{3}}*.
Verla acá: {{4}}

TPL en WispHub:

TPL:confirmacion_pago | {{cliente_nombre}} | {{cliente_apellidos}} | {{factura_cliente.id_factura}} | {{total_cobrado}}

Body del template Meta:

Estimado(a) *{{1}} {{2}}*, tu pago fue registrado.
Recibo: *{{3}}*. Monto: *S/{{4}}*. ¡Gracias!

TPL en WispHub:

TPL:aviso_corte | {{cliente_nombre}} | {{fecha_corte}} | {{saldo}} | {{link_mercadopago}}

Body del template Meta:

Hola *{{1}}*, tu servicio se corta el *{{2}}* por un saldo de *S/{{3}}*.
Pagá ahora: {{4}}

TPL en WispHub:

TPL:bienvenida | {{cliente_nombre}} | {{plan_internet_nombre}}

Body del template Meta:

Hola *{{1}}*, gracias por contratar *{{2}}*. ¡Te damos la bienvenida!


Bot WhatsApp interactivo

Con el addon Bot WhatsApp ($15/mes), tus clientes pueden:

  • Identificarse por DNI desde un menú interactivo (lookup por /api/clientes/?cedula=)
  • Consultar su saldo (/api/clientes/{id}/saldo/)
  • Reportar pago con foto del comprobante (/api/facturas/reportar-pago/{id}/) — el reporte queda registrado en tu WispHub con forma_pago=bot
  • Promesa de pago automática que activa el servicio inmediatamente (/api/promesa-pago/ con accion=1)
  • Derivar a un asesor humano por equipo (cobranza/soporte/ventas)

Forma de pago "bot" en WispHub

Para que el reporte de pago se registre correctamente, tu WispHub debe tener una forma de pago llamada "bot". Si no existe, HybsChat usa la primera disponible. Recomendado crearla:

  1. WispHub → Configuración → Formas de pago → Nueva
  2. Nombre: bot (minúsculas)
  3. Descripción: Reportes vía bot WhatsApp HybsChat

Promesa de pago con activación

A diferencia de Mikrowisp, WispHub permite activar automáticamente el servicio del cliente cuando se crea la promesa (parámetro accion=1). HybsChat aprovecha esto: cuando el cliente reporta pago por el bot, su servicio queda activo inmediatamente por el plazo de la promesa (1-20 días, configurable) mientras un humano valida el comprobante.

Activá el bot desde tu panel HybsChat → pestaña Bot WhatsApp. Configuración detallada en Manual del CRM → Bot WhatsApp.


Lo que HybsChat maneja automáticamente

Situación Qué hace HybsChat
Mandás menos vars que el template Meta requiere Padding automático con .
Mandás una variable vacía (ej. factura sin descripción) Se rellena con . antes de enviar a Meta
Lookup por teléfono Automático si el teléfono está registrado en tu WispHub
Una variable contiene ~ (ej. en un campo libre) El parser respeta el separador \|, no se rompe
Nombre del template tiene - o . Soportado
Monto pagado en moneda local (S/, COP, etc.) Se entrega tal cual — agregá el currency en el body del template Meta (ej. S/{{N}})

Troubleshooting

Meta responde 132xxx 'missing parameter'

El template Meta tiene más {{N}} que las variables que mandás. HybsChat ya hace padding automático con . — verificá:

  1. Que la cantidad de vars en tu TPL sea razonable para el template Meta
  2. Que las vars del TPL no vengan todas vacías de WispHub (ej. campo {{descuento}} cuando no hay descuento devuelve vacío — eso lo rellenamos con . igual)
El cliente aparece en Chatwoot como '+51999...' sin nombre

HybsChat busca al cliente por teléfono en tu WispHub automáticamente. Si no encuentra match:

  1. Verificá que el teléfono del cliente en WispHub esté en formato local sin código de país (ej. 981730608 no +51981730608)
  2. Asegurate de incluir {{cliente_nombre}} como primera variable del TPL como fallback
El bot reporta 'Permiso Promesas de Pago no disponible'

Tu API key de WispHub no tiene el permiso habilitado. Ir a WispHub → Configuración → API → Roles → editar role del usuario API → activar permiso "Promesas de Pago". Sin esto el bot puede reportar pagos pero no crear promesas.

El monto sale con prefijo 'US\$' cuando debería ser 'S/'

Bug corregido en mayo 2026. Si seguís viendo el bug, verificá que tu instancia esté actualizada. El monto ahora se entrega raw — el currency lo definís en el body del template Meta (ej. *S/{{2}}*).

Tengo varias plantillas con el mismo prefijo (recordatorio, 2recordatorio, etc.)

El nombre del TPL debe coincidir exactamente con un template APPROVED en tu WABA Meta. Si tenés versiones numeradas, usá el nombre exacto en tu TPL. El parser ya acepta nombres con guión, punto y números (recordatorio-pago_v2, 2recordatorio, etc.).

Formato fecha del API rechazado por WispHub

Algunos endpoints WispHub piden formato específico. Para promesa de pago, HybsChat usa YYYY-MM-DD (la doc dice YYYY/mm/dd pero el endpoint real rechaza eso — fix validado en producción). Si hacés llamadas custom, usá YYYY-MM-DD.