Skip to content

Bhawk · Contrato de integración

This content is not available in your language yet.

Este contrato describe cómo tu sistema le pide a Bhawk que evalúe el riesgo — el halcón que vigila tu cumplimiento SARLAFT. Incluye operaciones, costos en Açaí, payloads y eventos.

OperaciónEndpointPlanoCosto
Crear regla SARLAFTPOST /v1/rulesControl0 Açaí
Evaluar un subjectPOST /v1/evaluationsData8 Açaí (+ 5 Açaí por lista cruzada)
Evaluar transacción individualPOST /v1/evaluations/transactionData1 Açaí
Sincronizar lista restrictivaPOST /v1/lists/{code}/syncControl0 Açaí
Consultar evaluaciónGET /v1/evaluations/{id}Data1 Açaí
  1. Definir reglas desde el Rule Builder (UI) o por API (POST /v1/rules).
  2. Configurar listas restrictivas (OFAC, ONU, propias) en el Control Plane.
  3. Tu app llama POST /v1/evaluations con la referencia al subject y datos contextuales.
  4. Bhawk evalúa en background — ejecuta el motor de reglas + cruces de listas.
  5. Recibes webhook bhawk.evaluation.completed con la decisión y los findings.
  6. Tu lógica de negocio actúa según decision (approve / review / reject).
POST /v1/evaluations HTTP/1.1
Host: api.digital-jungle.bjungle.com
X-API-Key: <api_key>
Content-Type: application/json
{
"subject_ref": "0c4b5b32-3a89-4a45-9c2c-1a8c47e91234",
"context": {
"monto_solicitado": 5000000,
"moneda": "COP",
"producto": "microcredito",
"canal": "digital",
"ip": "190.158.20.10"
},
"lists": ["ofac", "onu", "pep_colombia"],
"rules_set": "originacion-v2"
}
{
"evaluation_id": "01J8G02H3M4P5Q6R7S8T9V0W1X",
"status": "pending",
"acai_debited": 23
}

Webhook resultado — bhawk.evaluation.completed

Sección titulada «Webhook resultado — bhawk.evaluation.completed»
{
"event_id": "5f8d1c3e-4c01-4d6e-8a9d-5e8c8b5f5678",
"tenant_id": "8a7b6c5d-1234-5678-9abc-def012345678",
"module": "bhawk",
"event_type": "bhawk.evaluation.completed",
"occurred_at":"2026-05-25T14:00:03Z",
"payload": {
"evaluation_id": "01J8G02H3M4P5Q6R7S8T9V0W1X",
"subject_ref": "0c4b5b32-3a89-4a45-9c2c-1a8c47e91234",
"score": 42.5,
"decision": "review",
"findings": [
{
"rule_code": "monto-vs-ingreso",
"severity": "medium",
"detail": "Monto solicitado supera 3x ingresos declarados",
"score_delta": 25
},
{
"rule_code": "list-match",
"severity": "low",
"list": "pep_colombia",
"detail": "Match parcial (apellido + ciudad)",
"score_delta": 17.5
}
]
}
}
Ventana de terminal
curl -X POST https://api.digital-jungle.bjungle.com/v1/evaluations \
-H "X-API-Key: $BHAWK_KEY" \
-H "Content-Type: application/json" \
-d @evaluation.json
POST /v1/lists/ofac/sync HTTP/1.1
Authorization: Bearer <admin_token>
{ "force": false }

Devuelve 202 y emite bhawk.list.synced cuando termina. Por defecto, las listas oficiales se sincronizan automáticamente con el cron declarado en el Control Plane.

EventoCuándo
bhawk.evaluation.completedLa evaluación terminó (cualquiera sea la decisión)
bhawk.alert.raisedUn finding con severity=critical requiere atención inmediata
bhawk.list.syncedUna lista restrictiva fue actualizada
StatusCaso
400Payload inválido o rules_set desconocido
404subject_ref no existe en Bmonkey (cuando se valida cross-app)
402Sin Açaí disponibles para la operación
409Evaluación pendiente para el mismo subject_ref con Idempotency-Key repetida
422Una lista referenciada no está activa