Inicio rápido

1. Consigue tus llaves

Al activar tu cuenta recibes una llave secreta de prueba (sk_test_…) y la URL base de la API. La llave se muestra una sola vez: guárdala en tu gestor de secretos, nunca en el código ni en el navegador.

export SAFEGATE_URL="https://…"        # la URL base que te dimos
export SAFEGATE_KEY="sk_test_…"        # tu llave secreta de prueba

2. Evalúa un evento

curl -s "$SAFEGATE_URL/v1/score" \
  -H "Authorization: Bearer $SAFEGATE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type": "signup",
    "user_id": "jugador_123",
    "email": "ana@ejemplo.com.mx",
    "phone": "+52 81 1234 5678",
    "ip": "189.203.10.20"
  }'

La respuesta (resumida):

{
  "id": "evt_…",
  "score": 0,
  "decision": "approve",
  "reasons": [],
  "signals": {
    "email": {"status": "ok", "facts": {"syntax_valid": true, "disposable": false}},
    "phone": {"status": "ok", "facts": {"valid": true, "country": "MX", "type": "mobile"}}
  },
  "screening": {"status": "not_requested", "hits": []},
  "latency_ms": 38
}

Guarda el id (evt_…): lo necesitas para enviar etiquetas y para cruzar los webhooks con tus registros.

3. Prueba cada resultado

Con una llave de prueba puedes forzar cada decisión sin usar datos reales:

curl -s "$SAFEGATE_URL/v1/score" \
  -H "Authorization: Bearer $SAFEGATE_KEY" -H "Content-Type: application/json" \
  -d '{"event_type": "withdrawal", "user_id": "sandbox_decline_1"}'

Ese evento regresa "decision": "decline" con la razón SANDBOX_DECLINE. Todos los valores mágicos están en Sandbox y modo sombra.

4. Actúa sobre la decisión

decision Qué hacer
approve Continúa el flujo normal.
review Deja el evento en espera; aparece en la cola de casos del panel para que un analista decida.
decline Bloquea la acción y muestra un mensaje genérico al jugador; no le reveles las razones.

Durante un piloto puedes evaluar sin actuar todavía (modo sombra).

Siguientes pasos