Onboarding
Del token a la primera llamada, en tres minutos.
Los tokens
El sandbox publica tres credenciales. No son secretos: son placeholders en un entorno fixture-only sin datos reales, y ninguno se carga de Secrets Manager.
| Token | Para qué |
|---|---|
ucotron_fixture_token_non_secret | Acceso completo, reset incluido |
ucotron_fixture_token_readonly | Sólo lectura — ejercita los 403 |
ucotron_fixture_token_other_tenant | Otra organización — ejercita el 404 cross-tenant |
Hay tres y no uno a propósito. Si sólo pudieras ejercitar el camino feliz, escribirías el manejo de errores mirando esta página, y te enterarías de que estaba mal el día que un cliente real pierde un permiso.
Fuente del diagrama (mermaid)
sequenceDiagram
participant I as Integrador
participant S as sbox.ucotron.com
I->>S: GET /v1/sbox/fixtures (Bearer token)
S-->>I: 200 · dataset sembrado completo
I->>S: GET /v1/portfolios?limit=1
S-->>I: 200 · { data, page }
I->>S: GET /v1/portfolios (sin Authorization)
S-->>I: 401 · missing_bearer_credential
Primera llamada
export SBOX=https://sbox.ucotron.com
export TOKEN=ucotron_fixture_token_non_secret
curl -sS "$SBOX/v1/sbox/fixtures" -H "authorization: Bearer $TOKEN"Devuelve el dataset entero: carteras, lotes, clientes, pólizas, eventos, detecciones, siniestros, peritajes, reportes, alertas y webhooks. Es el mapa de todo lo que podés ejercitar.
Tenancy
El header x-ucotron-tenant-id es opcional. Si viene, tiene que coincidir con
la organización de la credencial: un header que la sobreescribiera sería el
propio bypass.
Lo que se rompe
# Otra organización: 404, NUNCA 403.
curl -sS "$SBOX/v1/portfolios" -H "authorization: Bearer ucotron_fixture_token_other_tenant"Un 403 confirmaría que el recurso existe en algún lado, y esa confirmación alcanza para enumerar carteras ajenas sin leer un byte de ellas. Si tu cliente trata 404 y 403 distinto, tratá el 404 cross-tenant como "no existe".
Reset
curl -sS "$SBOX/v1/sbox/reset" -X POST \
-H "authorization: Bearer $TOKEN" \
-H "idempotency-key: reset-$(date +%s)" \
-H "content-type: application/json" \
-d '{"reason":"volver el sandbox al estado sembrado"}'reason pide 12 caracteres mínimo: el reset queda en la auditoría y un motivo
vacío no explica nada seis meses después.