talk to a human
Reading

API de Cobranza para Conectar con Core Bancario: Guía de Integración 2026

Guía técnica de APIs de cobranza automatizada para integración con core bancario. Arquitectura REST/GraphQL, seguridad, webhooks y sincronización en tiempo real.

May 4, 2026 - 10 min read

|

by ed-escobar Co-Founder & CEO

API de Cobranza para Conectar con Core Bancario: Guía de Integración 2026

La automatización de cobranza mediante voice agents y comunicación multicanal requiere integración profunda con el core bancario de la institución financiera. Sin acceso en tiempo real a saldos de cuenta, historial de pagos, productos activos y scoring crediticio, los sistemas automatizados operan ciegos, sin capacidad de personalizar estrategias o tomar decisiones informadas. La API de cobranza es el puente crítico que conecta inteligencia artificial moderna con datos financieros almacenados en sistemas legacy de décadas de antigüedad.

El desafío técnico es significativo: los core bancarios no fueron diseñados para cargas de trabajo de IA en tiempo real, tienen modelos de datos complejos específicos de cada institución, y requieren niveles de seguridad extremos para proteger información financiera sensible. Kleva ha desarrollado e integrado APIs de cobranza con core bancarios en 7 países de LATAM, procesando 900,000+ minutos mensuales de conversaciones que consultan datos financieros en tiempo real con latencias inferiores a 500ms y cero brechas de seguridad.

Arquitectura de API de Cobranza: Requisitos Funcionales

Una API de cobranza completa debe exponer funcionalidad en cinco categorías principales:

1. Consulta de Información de Cliente y Deuda

Endpoints que permiten al sistema de cobranza automatizada obtener contexto completo del cliente:

  • GET /clientes/{clienteId}/perfil: Información demográfica, productos activos, scoring crediticio, segmento de cliente
  • GET /clientes/{clienteId}/cuentas: Lista de todas las cuentas/productos del cliente con saldos actuales
  • GET /clientes/{clienteId}/mora: Detalle de deuda vencida por cuenta: monto, días de mora, fecha de vencimiento original, intereses moratorios
  • GET /clientes/{clienteId}/historial-pagos: Últimos N pagos con fechas, montos, método de pago, días de atraso
  • GET /clientes/{clienteId}/historial-contactos: Interacciones previas de cobranza: fechas, canales, resultados, promesas de pago

2. Gestión de Promesas y Acuerdos de Pago

Capacidad de registrar compromisos del cliente y ofertas de facilidades:

  • POST /promesas-pago: Registrar compromiso del cliente de pagar monto específico en fecha específica
  • GET /promesas-pago/{promesaId}: Consultar estado de promesa (pendiente, cumplida, incumplida)
  • POST /acuerdos-pago: Crear acuerdo de pago en cuotas con calendario de pagos
  • GET /acuerdos-pago/{acuerdoId}/estado: Consultar cumplimiento del acuerdo, cuotas pagadas vs pendientes
  • PUT /acuerdos-pago/{acuerdoId}: Modificar acuerdo existente (extensión, reestructuración)

3. Procesamiento de Pagos

Integración con pasarelas de pago para facilitar pago inmediato durante conversación:

  • POST /pagos/generar-link: Crear enlace de pago tokenizado con monto predefinido, enviar vía SMS/WhatsApp
  • GET /pagos/{pagoId}/estado: Consultar estado de pago (pendiente, procesando, exitoso, fallido)
  • POST /pagos/debito-automatico: Procesar débito desde cuenta bancaria del cliente (requiere autorización previa)
  • POST /pagos/tarjeta: Procesar pago con tarjeta de crédito/débito tokenizada

4. Registro de Interacciones y Auditoría

Documentación completa de todas las gestiones de cobranza para compliance:

  • POST /interacciones: Registrar cada contacto: fecha/hora, canal (voz, SMS, WhatsApp, email), resultado, transcripción
  • POST /interacciones/{interaccionId}/transcripcion: Almacenar transcripción completa de conversación de voice agent
  • GET /interacciones/cliente/{clienteId}: Historial completo de interacciones de cobranza con cliente específico
  • POST /eventos-auditoria: Log de eventos críticos para auditoría regulatoria

5. Configuración y Reglas de Negocio

Parametrización de estrategias de cobranza:

  • GET /configuracion/estrategias-cobranza: Reglas de contacto por segmento: frecuencia máxima, canales permitidos, horarios
  • GET /configuracion/ofertas-facilidades: Opciones de acuerdos de pago autorizadas por tipo de cliente y monto de deuda
  • GET /configuracion/limites-regulatorios: Restricciones por jurisdicción: horarios, frecuencia máxima de contacto
  • POST /configuracion/listas-no-contactar: Gestión de clientes que solicitaron no ser contactados

Diseño de API: REST vs GraphQL

La arquitectura de API puede seguir paradigma RESTful tradicional o GraphQL moderno. Cada uno tiene ventajas según el caso de uso:

REST API: Simplicidad y Compatibilidad

Ventajas de REST para APIs de cobranza:

  • Amplia compatibilidad: Todos los sistemas legacy pueden consumir APIs REST HTTP
  • Caching HTTP estándar: Infraestructura de caché (CDN, proxies) funciona out-of-the-box
  • Patrones bien establecidos: Desarrolladores familiarizados con convenciones REST
  • Tooling maduro: Swagger/OpenAPI para documentación, Postman para testing

Desventajas:

  • Over-fetching: Endpoints devuelven más datos de los necesarios
  • Under-fetching: Requiere múltiples requests para obtener datos relacionados
  • Versionado complejo: Cambios breaking requieren versiones paralelas (/v1, /v2)

GraphQL: Flexibilidad y Eficiencia

Ventajas de GraphQL para APIs de cobranza:

  • Fetch exacto: Cliente pide exactamente los campos que necesita, nada más
  • Single request: Obtener datos de múltiples recursos en una sola query
  • Tipado fuerte: Schema define contratos claros, validación automática
  • Introspección: API auto-documentada, tooling genera documentación automáticamente

Desventajas:

  • Complejidad de implementación: Requiere resolvers, manejo de N+1 queries, dataloader
  • Caching más complejo: HTTP caching no funciona igual, requiere caching en capa de aplicación
  • Curva de aprendizaje: Desarrolladores necesitan aprender paradigma diferente

Recomendación Híbrida

Kleva utiliza enfoque híbrido:

  • REST para operaciones simples: Consulta de saldo, registro de promesa de pago
  • GraphQL para consultas complejas: Obtener perfil completo del cliente con cuentas, mora, historial de pagos, historial de contactos en single query
  • Webhooks para eventos: Notificaciones push cuando ocurren eventos importantes (pago recibido, promesa incumplida)

Autenticación y Seguridad

Las APIs de cobranza manejan información financiera altamente sensible. La seguridad no es opcional:

OAuth 2.0 con Client Credentials Flow

Flujo recomendado para autenticación machine-to-machine (sistema de cobranza ← → core bancario):

Paso 1 - Obtención de token:

POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id={clientId}
&client_secret={clientSecret}
&scope=cobranza.read cobranza.write

Respuesta:

{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "cobranza.read cobranza.write"
}

Paso 2 - Uso de token en requests:

GET /clientes/12345/mora
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Alcance de Permisos (Scopes)

Implementar granularidad fina de permisos:

  • cobranza.clientes.read: Consultar información de clientes y deuda
  • cobranza.promesas.write: Registrar promesas de pago
  • cobranza.acuerdos.write: Crear y modificar acuerdos de pago
  • cobranza.pagos.write: Procesar pagos
  • cobranza.interacciones.write: Registrar interacciones
  • cobranza.configuracion.read: Consultar reglas de negocio
  • cobranza.admin: Acceso completo (solo para administradores)

Sistema de cobranza solo recibe scopes específicos que necesita, siguiendo principio de least privilege.

Cifrado en Tránsito y en Reposo

  • TLS 1.3 obligatorio: Todas las comunicaciones cifradas, certificados con mínimo 2048 bits
  • Certificate pinning: Cliente valida certificado específico del servidor, previene MITM
  • Mutual TLS (mTLS): Cliente también presenta certificado, autenticación bidireccional
  • Cifrado de datos sensibles: Números de cuenta, tarjetas tokenizadas, nunca en texto plano

Rate Limiting y Throttling

Protección contra abuso y ataques DDoS:

EndpointLímiteVentanaJustificación

GET /clientes/{id}/perfil1000 requestspor minutoAlto volumen esperado en campañas

POST /promesas-pago500 requestspor minutoVolumen medio de compromisos

POST /pagos/*100 requestspor minutoOperación crítica, limitar para monitoreo

POST /configuracion/*10 requestspor minutoCambios poco frecuentes, limitar riesgo

Respuesta cuando se excede límite:

HTTP/1.1 429 Too Many Requests
Retry-After: 60
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1678901234

{
"error": "rate_limit_exceeded",
"message": "Has excedido el límite de 1000 requests por minuto",
"retry_after": 60
}

Manejo de Latencia y Rendimiento

La latencia de API es crítica cuando voice agents esperan respuestas para continuar conversaciones naturales:

Objetivos de Latencia por Tipo de Endpoint

Tipo de OperaciónLatencia Objetivo P95Latencia Máxima Aceptable

Consultas simples (saldo, mora)

Consultas complejas (perfil completo)

Escrituras (promesas, interacciones)

Procesamiento de pagos

Estrategias de Optimización

1. Caching en múltiples niveles:

  • CDN edge cache: Configuraciones y catálogos estáticos cacheados en edge locations
  • API gateway cache: Respuestas frecuentes cacheadas con TTL corto (30-60 segundos)
  • Application cache (Redis): Datos de cliente consultados recientemente con TTL de 5 minutos
  • Database query cache: Resultados de queries complejos cacheados a nivel de base de datos

2. Optimización de queries a base de datos:

  • Índices en campos frecuentemente consultados (clienteId, cuentaId, fechas)
  • Materialización de vistas para queries complejos (JOIN de múltiples tablas)
  • Particionamiento de tablas grandes por fecha o región
  • Read replicas para distribuir carga de consultas

3. Paralelización de consultas:

Cuando endpoint requiere datos de múltiples fuentes, ejecutar en paralelo:

// Anti-patrón (secuencial): 1.5 segundos total
const perfil = await obtenerPerfil(clienteId); // 500ms
const cuentas = await obtenerCuentas(clienteId); // 500ms
const mora = await obtenerMora(clienteId); // 500ms

// Patrón correcto (paralelo): 500ms total
const [perfil, cuentas, mora] = await Promise.all([
obtenerPerfil(clienteId),
obtenerCuentas(clienteId),
obtenerMora(clienteId)
]);

4. Compresión de respuestas:

  • Gzip/Brotli para responses grandes (reducción de 70-80% en tamaño)
  • Especialmente importante para endpoints que devuelven arrays grandes (historial de transacciones)

Monitoreo de Performance

Instrumentar API con métricas detalladas:

  • Latencia por endpoint: P50, P95, P99 para identificar outliers
  • Tasa de error por endpoint: HTTP 4xx, 5xx desglosado
  • Throughput: Requests por segundo, tendencias horarias/diarias
  • Cache hit rate: Porcentaje de requests servidos desde caché vs base de datos
  • Database query time: Tiempo consumido en queries específicos para identificar N+1 o queries lentos

Webhooks para Eventos en Tiempo Real

Además de polling (consultar periódicamente), los webhooks permiten notificaciones push cuando ocurren eventos importantes:

Eventos Notificables

  • pago.recibido: Se procesó pago exitosamente, actualizar estado de mora
  • promesa.vencida: Cliente no cumplió promesa de pago en fecha comprometida
  • acuerdo.incumplido: Cliente falló cuota de acuerdo de pago
  • mora.nueva: Nueva deuda entró en mora (día 1 post-vencimiento)
  • mora.escalada: Mora temprana escaló a mora intermedia (día 31)
  • cliente.solicita-no-contactar: Cliente ejerció derecho de solicitar exclusión de contactos

Configuración de Webhook

Cliente de API registra URL donde recibirá notificaciones:

POST /webhooks/suscripciones
Authorization: Bearer {token}
Content-Type: application/json

{
"url": "https://sistema-cobranza.example.com/webhooks/eventos",
"eventos": ["pago.recibido", "promesa.vencida"],
"secret": "webhook_secret_12345"
}

Payload de Webhook

Cuando evento ocurre, API envía POST al URL registrado:

POST https://sistema-cobranza.example.com/webhooks/eventos
Content-Type: application/json
X-Webhook-Signature: sha256=abc123...

{
"evento": "pago.recibido",
"timestamp": "2026-05-04T14:32:15Z",
"data": {
"pagoId": "pago-789",
"clienteId": "12345",
"monto": 1250.00,
"moneda": "MXN",
"metodo": "tarjeta_credito",
"cuentaId": "cuenta-456"
}
}

Verificación de Autenticidad

Cliente valida que webhook proviene realmente de API, no de atacante:

const crypto = require('crypto');

function validarWebhook(payload, signature, secret) {
const expectedSignature = crypto
.createHmac('sha256', secret)
.update(JSON.stringify(payload))
.digest('hex');

return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(`sha256=${expectedSignature}`)
);
}

Manejo de Fallos en Webhooks

  • Reintentos automáticos: Si URL no responde HTTP 200, reintentar con backoff exponencial (1min, 5min, 15min, 1h)
  • Dead letter queue: Después de N intentos fallidos, mover a cola de errores para investigación manual
  • Monitoring de deliverability: Dashboard mostrando tasa de éxito de webhooks por suscriptor

Versionado y Retrocompatibilidad

APIs evolucionan. Cambios deben implementarse sin romper clientes existentes:

Estrategias de Versionado

1. URL versioning (más común):

GET /v1/clientes/12345/mora
GET /v2/clientes/12345/mora

2. Header versioning:

GET /clientes/12345/mora
Accept: application/vnd.cobranza.v2+json

3. Query parameter versioning:

GET /clientes/12345/mora?version=2

Políticas de Deprecation

  • Anuncio con 6 meses de anticipación: Notificar a clientes de API sobre deprecation de versión antigua
  • Header de advertencia: Versiones deprecadas incluyen Warning: 299 - "Esta versión será discontinuada el 2026-12-31"
  • Soporte de mínimo 2 versiones: Mantener versión actual y anterior simultáneamente
  • Migración asistida: Documentación clara de cambios breaking, ejemplos de migración

Cambios No Breaking (Safe)

Pueden implementarse sin cambiar versión:

  • Agregar nuevo endpoint
  • Agregar campo opcional a request
  • Agregar campo nuevo a response (clientes ignoran campos desconocidos)
  • Cambiar orden de campos en response (si formato es JSON, orden no importa)

Cambios Breaking (Requieren Nueva Versión)

  • Eliminar endpoint existente
  • Eliminar campo de response
  • Cambiar tipo de dato de campo (string → number)
  • Hacer campo opcional obligatorio
  • Cambiar estructura de response (objeto → array)

Documentación de API

Documentación clara es crítica para adopción exitosa:

OpenAPI/Swagger Specification

Definir API en formato estándar OpenAPI 3.0:

openapi: 3.0.0
info:
title: API de Cobranza
version: 2.0.0
description: API para integración de sistemas de cobranza automatizada con core bancario

paths:
/clientes/{clienteId}/mora:
get:
summary: Obtener detalle de mora del cliente
parameters:
- name: clienteId
in: path
required: true
schema:
type: string
responses:
'200':
description: Detalle de mora
content:
application/json:
schema:
$ref: '#/components/schemas/MoraDetalle'

Beneficios:

  • Generación automática de documentación interactiva (Swagger UI, ReDoc)
  • Generación de SDKs en múltiples lenguajes
  • Validación automática de requests/responses
  • Contract testing para garantizar compatibilidad

Guías de Integración

Además de referencia técnica, incluir guías narrativas:

  • Getting Started: Tutorial paso a paso de primera integración (15 minutos)
  • Casos de uso comunes: Ejemplos completos con código de escenarios típicos
  • Mejores prácticas: Recomendaciones de caching, manejo de errores, reintentos
  • Troubleshooting: Errores comunes y cómo resolverlos

Monitoreo y Observabilidad

Visibilidad profunda del comportamiento de API en producción:

Logging Estructurado

Logs en formato JSON con campos estandarizados:

{
"timestamp": "2026-05-04T14:32:15.123Z",
"level": "info",
"request_id": "req-abc123",
"method": "GET",
"path": "/clientes/12345/mora",
"status_code": 200,
"latency_ms": 245,
"client_id": "sistema-cobranza-prod",
"user_agent": "Kleva/2.0"
}

Distributed Tracing

Seguir request end-to-end desde sistema de cobranza → API → core bancario:

  • OpenTelemetry o Jaeger para captura de traces
  • Cada operación (autenticación, consulta DB, llamada a core) genera span
  • Correlación mediante trace ID único propagado en headers
  • Visualización de waterfall mostrando dónde se consume tiempo

Alertas Proactivas

CondiciónUmbralSeveridadAcción

Latencia P95 > objetivoP95 > 1 segundoWarningInvestigar queries lentos

Tasa de error > 1%5xx > 1%CriticalEscalar a on-call

Cache hit rate bajoWarningRevisar configuración de caché

Rate limit excedido frecuentemente>10 clientes/horaInfoConsiderar aumentar límites

Casos de Uso: Flujos de Integración Completos

Caso 1: Voice Agent Realiza Llamada de Cobranza

Flujo:

  1. Voice agent inicia llamada a cliente con mora de 15 días
  2. API Call:GET /clientes/{id}/perfil - Obtener nombre, segmento, preferencias
  3. API Call:GET /clientes/{id}/mora - Obtener monto adeudado, días de mora, fecha de vencimiento
  4. API Call:GET /clientes/{id}/historial-contactos - Verificar intentos previos
  5. Voice agent conversa con cliente, explica situación
  6. Cliente promete pagar $1,250 en 3 días
  7. API Call:POST /promesas-pago - Registrar compromiso
  8. API Call:POST /interacciones - Documentar conversación completa
  9. 3 días después, Webhook:promesa.vencida si no pagó, activar seguimiento

Caso 2: Cliente Solicita Facilidades de Pago Durante Conversación

Flujo:

  1. Cliente indica que no puede pagar monto completo
  2. API Call:GET /configuracion/ofertas-facilidades - Obtener opciones autorizadas para este segmento/monto
  3. Voice agent ofrece: "Puedo dividir los $5,000 en 3 pagos quincenales de $1,750 sin intereses adicionales"
  4. Cliente acepta
  5. API Call:POST /acuerdos-pago - Crear acuerdo con calendario de 3 cuotas
  6. API Call:POST /pagos/generar-link - Generar enlace de pago para primera cuota
  7. Sistema envía SMS con enlace de pago
  8. Webhook:pago.recibido cuando cliente paga primera cuota
  9. API Call:GET /acuerdos-pago/{id}/estado - Monitorear cumplimiento en fechas de cuotas siguientes

Casos de Éxito en LATAM

Kleva ha desarrollado e integrado APIs de cobranza en 7 países:

Banco en México: Integración con core bancario Temenos T24 (15 años de antigüedad). API desarrollada como capa de abstracción RESTful sobre APIs SOAP legacy del core. Latencia P95 de 420ms para consultas complejas mediante caché inteligente. Procesamiento de 120,000 llamadas mensuales consultando datos en tiempo real. Cero brechas de seguridad en 18 meses de operación.

Fintech en Colombia: API GraphQL para máxima flexibilidad. Single query obtiene perfil completo del cliente con 8 tipos de datos relacionados. Reducción del 75% en número de requests vs API REST equivalente. Webhooks para notificaciones de pagos reducen latencia de actualización de 5 minutos (polling) a tiempo real (

Cooperativa en Argentina: API con autenticación mTLS (mutual TLS) para máxima seguridad. Integración directa con base de datos del core mediante read replicas dedicadas. Materialización de vistas para queries complejos logra latencia de

Tendencias Futuras

  • APIs asíncronas con AsyncAPI: Especificación estándar para APIs event-driven con websockets y message queues
  • gRPC para comunicación interna: Protocol buffers para serialización eficiente, HTTP/2 multiplexing, latencia ultra-baja
  • Service mesh para observabilidad: Istio/Linkerd para tracing, metrics, security entre microservicios sin modificar código
  • GraphQL federation: Múltiples servicios exponiendo schema unificado, cliente consume API única aunque datos vengan de sistemas distribuidos

Conclusión

La API de cobranza es la columna vertebral técnica que permite automatización inteligente. Sin integración profunda con el core bancario, los voice agents operan ciegos, sin capacidad de personalizar estrategias o tomar decisiones informadas. El diseño correcto balancea funcionalidad completa, seguridad extrema, rendimiento bajo latencia y facilidad de integración.

Las instituciones financieras en LATAM que invierten en APIs de cobranza bien diseñadas establecen foundation sólida para automatización que escala. La diferencia entre API mediocre y API excelente se mide en millones de dólares de diferencia en recuperación de cartera.

Talk to a human

No bots, no endless forms. Fill in your details and someone from our team will reach out.

Your information is secure and will only be used for scheduling purposes

Reach us out

Reach out directly to our team*

  • Email hi@kleva.co
  • WhatsApp +1 704-816-9059
  • Office Miami, Florida