Guías por flujo
Eventos y detección
Consultar eventos, pedir el footprint de daño, leer la severidad.
Fuente del diagrama (mermaid)
sequenceDiagram
participant C as Cliente
participant S as SBOX
C->>S: GET /v1/events?peril=hail
S-->>C: 200 · eventos que tocaron la cartera
C->>S: POST /v1/jobs (geo.damage_footprint)
S-->>C: 202 · job encolado, Location: /v1/jobs/{id}
C->>S: GET /v1/jobs/{id}
S-->>C: 200 · succeeded, resultUrl
C->>S: GET /v1/jobs/{id}/result
S-->>C: 200 · geometría, ha dañadas, celdas por severidad
Por qué el footprint es asíncrono
Una consulta raster sobre un lote tarda de segundos a minutos. Dentro del request, el handler se cae por timeout, el cliente reintenta, y cada reintento vuelve a gastar — en Earth Engine eso son EECU facturables. Por eso el request encola y el worker tiene su propio presupuesto de tiempo.
La idempotencia se decide antes de tocar al proveedor. Un doble click cuesta una vez.
curl -sS "$SBOX/v1/detections" -H "authorization: Bearer $TOKEN"
curl -sS "$SBOX/v1/events?severity=high" -H "authorization: Bearer $TOKEN"Lo que se rompe
402concost_cap_exceeded: el cálculo estimado supera el presupuesto de la organización. Se frena antes de ejecutar, porque frenar después de gastar no es frenar.422 peril_not_supported: ese peligro no tiene método de detección todavía.- Un job en estado terminal no se reescribe. Recalcular es un job nuevo: el resultado de un job es evidencia, y la evidencia no se reescribe.