Casos de Uso Prácticos
Esta sección describe escenarios reales de implementación de las APIs de Max Capital, con ejemplos concretos basados en los endpoints disponibles.
🏢 Empresas: Automatización Contable
Problema de Negocio
Una empresa corporativa invierte en fondos de inversión a través de su tesorero que opera directamente con Max Capital. Necesita:
- Automatizar la descarga diaria de movimientos de cuenta corriente
- Registrar automáticamente estos movimientos en su ERP/sistema contable
- Conciliar saldos sin intervención manual
- Generar reportes automáticos para auditoría y control de gestión
Solución con Max Capital APIs
Automatizar la descarga de movimientos de cuenta corriente usando la API de Statements para integración directa con el ERP.
Flujo de Automatización
1. Descarga Automática de Movimientos Diarios
# Consultar movimientos del día anterior (ejecutar diariamente a las 8:00 AM)
GET /v1/current-account/instruments?number=12345678&dateFrom=2024-06-01&dateTo=2024-06-01&dateType=operation
# Respuesta con movimientos para el ERP:
[{
"isPreviousBalance": false,
"currentAccountCode": 12345678,
"operationDate": "2024-06-01",
"settlementDate": "2024-06-01",
"detail": "Suscripción FCI MAX RENTA FIJA - Orden 789456",
"isAvailable": true,
"instrumentDescription": "MAX RENTA FIJA CLASE A",
"amount": 1000000.00,
"net": 1000000.00,
"gross": 1000000.00,
"balance": 5500000.00,
"currencyCode": "ARS",
"instrumentTypeCode": "FCI"
}]
2. Consulta de Movimientos por Período
# Para conciliación mensual o reportes específicos
GET /v1/current-account/instruments?number=12345678&dateFrom=2024-06-01&dateTo=2024-06-30&dateType=settlement
3. Integración con ERP
// Servicio que se ejecuta diariamente al final del día
async function syncAccountMovements() {
const yesterday = getYesterday(); // 2024-06-01
// 1. Descargar movimientos del día anterior
const movements = await maxAPI.get('/v1/current-account/instruments', {
params: {
number: company.accountNumber,
dateFrom: yesterday,
dateTo: yesterday,
dateType: 'operation'
}
});
// 2. Procesar cada movimiento
movements.forEach(movement => {
// Determinar tipo de asiento según el movimiento
let accountMapping = getAccountMapping(movement.instrumentTypeCode, movement.amount);
// Registrar en sistema contable
erpSystem.createJournalEntry({
date: movement.settlementDate,
reference: movement.detail,
entries: [
{
account: accountMapping.debit,
debit: Math.abs(movement.net)
},
{
account: accountMapping.credit,
credit: Math.abs(movement.net)
}
],
externalRef: `MC-${movement.currentAccountCode}-${movement.operationDate}`
});
// Actualizar control de conciliación
updateReconciliationControl(movement);
});
}
function getAccountMapping(instrumentType, amount) {
// Mapeo de cuentas según tipo de instrumento y si es débito/crédito
const mappings = {
'FCI': {
debit: amount > 0 ? '1.1.3.001' : '1.1.1.001', // Inversiones FCI : Banco
credit: amount > 0 ? '1.1.1.001' : '1.1.3.001' // Banco : Inversiones FCI
},
'PLAZO_FIJO': {
debit: amount > 0 ? '1.1.2.001' : '1.1.1.001', // Plazos Fijos : Banco
credit: amount > 0 ? '1.1.1.001' : '1.1.2.001' // Banco : Plazos Fijos
}
};
return mappings[instrumentType] || mappings['FCI'];
}
⚙️ Automatización de Reportes
Reporte Mensual para Auditoría
async function generateMonthlyReport(month, year) {
const startDate = `${year}-${month.toString().padStart(2, '0')}-01`;
const endDate = new Date(year, month, 0).toISOString().split('T')[0];
// Obtener todas las operaciones del mes
const operations = [];
for (let date = startDate; date <= endDate; date = nextDay(date)) {
const dailyOps = await Promise.all([
maxAPI.get('/v1/subscriptions', {
params: {
operationDate: date,
accountHolderNumber: company.accountNumber
}
}),
maxAPI.get('/v1/redemptions', {params: {operationDate: date, accountHolderNumber: company.accountNumber}})
]);
operations.push(...dailyOps.flat());
}
// Generar reporte Excel para auditoría
const report = {
period: `${month}/${year}`,
totalSubscriptions: operations.filter(op => op.type === 'subscription').reduce((sum, op) => sum + op.amount, 0),
totalRedemptions: operations.filter(op => op.type === 'redemption').reduce((sum, op) => sum + op.amount, 0),
finalPosition: await getCurrentPosition(),
operations: operations
};
return generateExcelReport(report);
}
📊 Beneficios Obtenidos
- 100% automatización de registración contable
- Reducción 95% tiempo de conciliación mensual
- Trazabilidad completa para auditorías
- Valuación diaria de cartera de inversiones
- Reportes automáticos listos para AFIP y auditoría
📋 Checklist de Implementación
- Mapear cuentas contables
- Desarrollar conectores con ERP
- Configurar consultas programadas
- Implementar generación de reportes
- Establecer procedimientos de conciliación
💳 PSP/Wallet: Remuneración de Saldos
Problema de Negocio
Un PSP o wallet digital tiene usuarios con saldos inactivos que no generan rendimientos. Quiere ofrecer remuneración automática de estos saldos para:
- Aumentar retención de usuarios
- Generar ingresos por comisiones
- Competir con bancos tradicionales
Solución con Max Capital APIs
Automatizar la inversión de saldos ociosos en fondos money market de alta liquidez usando las APIs de Onboarding, Mutual Funds y Auth.
Flujo de Implementación
1. Onboarding del Usuario
# Crear proceso de onboarding para el usuario del wallet
POST /v1/onboardings
{
"account": {
"people": [{
"type": "HUMAN",
"ownership_type": "OWNER",
"signature_type": "INDIVIDUAL",
"personal_info": {
"first_name": "María",
"last_name": "González",
"document": {
"type": "DNI_AR",
"code": "35123456"
},
"email": "[email protected]",
"phone": "+5491156781234"
},
"tax_info": {
"document": {
"type": "CUIT_AR",
"code": "27351234567"
},
"economic_activity": "47"
}
}]
}
}
2. Consultar Fondos Disponibles
# Obtener información del fondo money market
GET /v1/mutual-funds/3852
# Respuesta: Fondo "MAX MONEY MARKET Clase A" con liquidez T+0
3. Automatizar Suscripciones
# Cuando el saldo supera $10,000, invertir automáticamente
POST /v1/subscriptions
{
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 25000,
"cvu": "0000003100059118503787"
}
4. Rescates Automáticos
# Cuando el usuario necesita liquidez, rescatar automáticamente
POST /v1/redemptions
{
"mutualFundCafciCode": 3852,
"accountHolderNumber": 11772,
"amount": 5000,
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER"
}
⚙️ Beneficios Obtenidos
- +3.5% anual de rendimiento para usuarios vs 0% en cuenta corriente
- +25% retención de usuarios con saldos remunerados
- 0.8% comisión anual sobre activos administrados como nueva fuente de ingresos
🔄 Ejemplo de flujo completo: PSP con Automatización
Un PSP que combina ambos casos de uso: remunera saldos de usuarios finales Y automatiza su propia contabilidad.
📊 Métricas de Éxito
- Tiempo de implementación: 8-12 semanas vs 12+ meses desarrollo propio
- Costo operativo: Reducción 60% en tareas manuales
- Compliance: 100% cumplimiento normativo desde día 1
- Revenue: Nueva línea de ingresos por gestión de activos
📋 Checklist de Implementación
- Obtener credenciales de desarrollo
- Implementar flujo de onboarding
- Configurar lógica de suscripción automática
- Desarrollar funcionalidad de rescate on-demand
- Integrar notificaciones de rendimientos
¿Su caso de uso es similar? Contacte a nuestro equipo de integración para una consulta técnica personalizada: [email protected]