API de Avalio
Integrá el análisis de riesgo de cheques a tu sistema. La API es determinística —el mismo motor que usa la app, con datos oficiales del BCRA— y responde en segundos. Sumá webhooks firmados para que tu sistema se entere solo cuando un emisor que monitoreás se deteriora, sin consultar en loop.
Autenticación
Todas las llamadas usan una clave de API de tu empresa. La generás desde la app, en Desarrolladores → API (solo el administrador). Se muestra una sola vez: guardala en un lugar seguro. Enviala en el header Authorization: Bearer o en x-api-key.
Authorization: Bearer avk_live_xxxxxxxxxxxxxxxxxxxxxxxxEvaluar un cheque
POST /api/v1/evaluate. Enviás el CUIT del librador y, opcionalmente, el monto y el plazo (en días). Recibís el score, la recomendación y el detalle.
curl -X POST https://avalio.com.ar/api/v1/evaluate \
-H "Authorization: Bearer avk_live_..." \
-H "Content-Type: application/json" \
-d '{ "cuit": "30711044567", "monto": 1500000, "plazo": 30 }'{
"ok": true,
"version": "v1",
"cuit": "30711044567",
"denominacion": "EMPRESA EJEMPLO S.A.",
"score": 82,
"nivel": "Bajo",
"recomendacion": "Aprobar",
"probabilidad_cobro": 88,
"cheques_rechazados": 0,
"sin_registros": false,
"confianza": 90,
"datos_parciales": false,
"datos_desactualizados": false,
"generado": "2026-07-28T14:30:00.000Z"
}Importante: datos_parciales o datos_desactualizados en truesignifican que una fuente estaba caída o se sirvió una copia de respaldo. En ese caso el resultado es orientativo: conviene reintentar antes de decidir. Avalio nunca asume que una fuente caída está «limpia».
Límites de uso
60 solicitudes por minuto y 2.000 por hora, por clave. Si los superás, la API responde 429.
Webhooks
En vez de consultar la API en loop, registrá una URL y Avalio te avisa cuando pasa algo relevante sobre tus emisores monitoreados. La configurás en Desarrolladores → Webhooks (solo el administrador); podés probar la conexión al instante con el botón Probar.
cheque.cuenta_cerradaA un cheque de tu cartera le cerraron la cuenta bancaria después de que lo analizaste.
cheque.denunciadoUn cheque de tu cartera figura denunciado en el BCRA (robo/extravío).
emisor.deterioroEl score de un emisor que monitoreás bajó de forma significativa o pasó a riesgo alto.
Cada entrega es un POST con este cuerpo:
{
"event": "emisor.deterioro",
"created": "2026-07-28T14:30:00.000Z",
"data": {
"cuit": "30711044567",
"denominacion": "EMPRESA EJEMPLO S.A.",
"score": 58,
"score_anterior": 74,
"nivel": "Medio"
}
}Verificar la firma
Cada entrega viaja firmada en el header X-Avalio-Signature con el formato t=<timestamp>,v1=<hmac>. El HMAC es SHA-256 sobre el texto <timestamp>.<cuerpo> usando el secret del webhook. Verificalo antes de confiar en el evento, y rechazá timestamps viejos (evita reenvíos).
const crypto = require('crypto');
function verificarAvalio(secret, rawBody, header) {
const partes = Object.fromEntries(header.split(',').map(kv => kv.split('=')));
const t = Number(partes.t);
if (Math.abs(Date.now() / 1000 - t) > 300) return false; // > 5 min: posible reenvío
const esperado = crypto.createHmac('sha256', secret)
.update(t + '.' + rawBody).digest('hex');
return crypto.timingSafeEqual(Buffer.from(esperado), Buffer.from(partes.v1));
}Respondé 2xx para confirmar la recepción. Si tu endpoint no responde, Avalio registra el fallo y lo vas a ver en el panel.
Empezá a integrar
Creá tu cuenta gratis, generá una clave de API y probá el primer análisis. Sin tarjeta.
Crear cuenta gratis¿Dudas de integración? Escribinos.