Desarrolladores

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.

Header de autenticación
Authorization: Bearer avk_live_xxxxxxxxxxxxxxxxxxxxxxxx

Evaluar 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.

Solicitud
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 }'
Respuesta
{
  "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_cerrada

A un cheque de tu cartera le cerraron la cuenta bancaria después de que lo analizaste.

cheque.denunciado

Un cheque de tu cartera figura denunciado en el BCRA (robo/extravío).

emisor.deterioro

El score de un emisor que monitoreás bajó de forma significativa o pasó a riesgo alto.

Cada entrega es un POST con este cuerpo:

Cuerpo de la entrega
{
  "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).

Verificación (Node.js)
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.