Scalar Sandbox Developer Portal¶
Fecha: 2026-06-03
Objetivo¶
Publicar un portal Scalar en
https://developers.alpuntodeventa.com.ar para documentar las APIs sandbox de
forma profesional, navegable y segura, sin exponer PostgREST publicamente,
sin publicar datos reales y sin convertir todavia la capa en una API
productiva.
Estado al 2026-06-03:
- portal publicado y validado por
HTTPS HTTPredirige aHTTPSScalarcarga correctamenteOpenAPIpublico sigue sanitizadoPostgRESTcontinua interno- probe publico agregado a observabilidad
- stash remoto
pre-scalar-sandbox-2026-06-02revisado y preservado
Diagnostico previo¶
Safe point inicial¶
git status -sb->## main...origin/maingit rev-parse HEAD->58c5557cd2ae4a39bf4eaff0981319879d97152f
Hallazgos reales del 2026-06-02¶
developers.alpuntodeventa.com.arresuelve a46.202.151.32openclaw-postgrest-sandboxsigueUpopenclaw-postgres-sandboxsigueUp (healthy)proxy-networkexiste en el VPSpg-sandbox-internalexiste en el VPSopenclaw-postgrest-sandboxmantienePortBindings {}openclaw-postgrest-sandboxsigue solo enpg-sandbox-internalhttp://developers.alpuntodeventa.com.arrespondia el fallback HTTP deNPMhttps://developers.alpuntodeventa.com.artodavia no tenia publicacion valida- el contrato runtime de
PostgRESTsigue siendoswagger: "2.0" - el contrato runtime seguia declarando
host: openclaw-postgrest-sandbox:3000
Revalidacion operativa del 2026-06-03¶
http://developers.alpuntodeventa.com.ar/->301ahttps://developers.alpuntodeventa.com.ar/https://developers.alpuntodeventa.com.ar/->200https://developers.alpuntodeventa.com.ar/clientes->404Scalarsigue cargando conhideTestRequestButton: true- el certificado HTTPS sigue valido y responde sin warning de cliente
openclaw-postgrest-sandboxmantienePortBindings {}openclaw-postgrest-sandboxsigue solo enpg-sandbox-internal- el probe publico de
developers.alpuntodeventa.com.arqueda agregado ablackbox-http
Revision del stash remoto¶
Comandos ejecutados en /opt/openclawai:
git stash listgit stash show --stat stash@{0}git diff --stat HEAD stash@{0}
Resultado:
stash@{0}sigue siendopre-scalar-sandbox-2026-06-02- el stash contiene cambios previos sobre
postgrest-sandboxy su documentacion - no representa un pendiente simple del portal actual
- comparado contra
HEAD, aplicarlo hoy removeria artefactos ya publicados de15.5/15.6y mezclaria regresiones documentales y runtime
Decision:
- conservar el stash
- no aplicarlo
- no eliminarlo
Motivo:
- sirve como resguardo previo a
Scalar - no hay evidencia suficiente para considerarlo descartable
- eliminarlo agregaria riesgo operativo innecesario
Compatibilidad Scalar¶
La documentacion oficial de Scalar valida dos puntos utiles para esta etapa:
- la imagen
scalarapi/api-referencepermite montar documentos en/docs Scalarrenderiza documentosOpenAPI/Swagger, por lo queSwagger 2.0sigue siendo aceptable para este sandbox
Decision:
- mantener
Swagger 2.0en15.6 - no convertir a
OpenAPI 3solo por estetica - sanitizar
host,schemesy mensaje de uso en los JSON exportados
Que muestra el portal¶
- tres contratos sanitizados:
Sandbox GlobalSandbox Al Punto de VentaSandbox La Directa- recursos visibles:
clientesproductosventastenants- metadata humana agregada en
15.5 - respuestas esperadas y modelos del sandbox
Que NO permite todavia¶
- no ejecuta requests reales contra
PostgREST - no publica tokens
- no publica secretos
- no conecta datos reales
- no expone
PostgRESTfuera depg-sandbox-internal - no reemplaza la futura API productiva
Acceso y uso en lenguaje simple¶
Que es:
- un portal publico de documentacion del sandbox
- una forma segura de mostrar contratos y recursos sin abrir el backend real
Que se puede ver:
- endpoints sandbox
- parametros
- respuestas
- esquemas
- diferencias por perfil de contrato
Que no se puede hacer todavia:
- llamar la API real
- pedir tokens desde la UI
- escribir datos
- acceder a datos productivos
Por que las requests reales no estan habilitadas:
- porque
PostgRESTvive solo en red privada Docker - porque el objetivo de esta etapa es documentar sin exponer backend
- porque todavia no existe una capa aprobada de auth, rate limiting y auditoria para uso publico controlado
Que falta para pasar de sandbox documental a APIs controladas:
- politica formal de pruebas interactivas
- auth publica controlada
- auditoria de requests
- decision de mocks o proxy seguro
- gobierno de versionado entre
sandboxyproductivo
Por que no conecta directo al runtime interno¶
PostgREST sandbox hoy exige JWT, vive solo en red privada Docker y declara
un host interno. Exponerlo publicamente para que Scalar haga requests
reales rompería tres reglas del proyecto:
- mantencion de
PostgRESTcomo servicio interno - no publicacion de datos reales ni caminos productivos
- separacion estricta entre documentacion sandbox y runtime real
Por eso Scalar consume solo artefactos sanitizados versionados en Git.
Contratos OpenAPI usados¶
Ubicacion versionada:
infra/data-foundation/postgrest-sandbox/openapi/openapi-sandbox-global.jsoninfra/data-foundation/postgrest-sandbox/openapi/openapi-sandbox-alpuntodeventa.jsoninfra/data-foundation/postgrest-sandbox/openapi/openapi-sandbox-ladirecta.json
Origen:
- runtime interno
http://openclaw-postgrest-sandbox:3000/ - tokens generados en memoria sobre el VPS
- sanitizacion inmediata antes de persistir en Git
Como se sanitizan¶
Script oficial:
infra/data-foundation/postgrest-sandbox/tools/export-sanitized-openapi.sh
Reglas aplicadas:
- reemplazar
hostpordevelopers.alpuntodeventa.com.ar - reemplazar
schemesporhttps - fijar
basePathen/mock - remover
securityDefinitionsnulas - mantener descripciones humanas del sandbox
- agregar disclaimer explicito de no-productivo
- no guardar tokens ni secretos en ningun archivo
Regeneracion segura paso a paso¶
- Entrar al directorio del sandbox:
bash
cd /opt/openclawai/infra/data-foundation/postgrest-sandbox
- Ejecutar la regeneracion oficial:
bash
bash tools/export-sanitized-openapi.sh
-
Confirmar que el script cierre en:
OpenAPI sanitizado exportado y validado -
Revalidar manualmente:
bash
grep -R -n -E "openclaw-postgrest-sandbox|pg-sandbox-internal|rpc/|Authorization|Bearer |token|secret" openapi
Resultado esperado:
-
sin coincidencias
-
Revalidar el host y la base publica:
bash
grep -R -n -E "\"host\": \"developers.alpuntodeventa.com.ar\"|\"basePath\": \"/mock\"" openapi
- Reaplicar el contenedor
Scalar:
bash
cd /opt/openclawai
docker compose -f infra/api-docs/scalar-sandbox/docker-compose.yml up -d
- Verificar el portal publicado:
bash
curl -I http://developers.alpuntodeventa.com.ar/
curl -I https://developers.alpuntodeventa.com.ar/
curl -I https://developers.alpuntodeventa.com.ar/clientes
Datos que muestra¶
- nombres de recursos y columnas del sandbox
- ejemplos y esquemas derivados del runtime real
- metadata humana agregada con
COMMENT ON - solo datos ficticios del sandbox multi-tenant
Implementacion elegida¶
Stack repo:
infra/api-docs/scalar-sandbox/docker-compose.ymlinfra/api-docs/scalar-sandbox/scalar.config.jsoninfra/api-docs/scalar-sandbox/README.md
Decisiones:
- usar la imagen oficial
scalarapi/api-reference - montar contratos sanitizados en
/docs - unir el contenedor a
proxy-network - no publicar puertos al host
- ocultar el boton de prueba real para impedir requests contra backend real
Publicacion por NPM¶
Publicacion aprobada:
- dominio:
developers.alpuntodeventa.com.ar - upstream:
scalar-sandbox:8080 - SSL:
Let's Encrypt Force SSL: activoHTTP/2: activo
Observabilidad¶
Estado aplicado al 2026-06-03:
developers.alpuntodeventa.com.aragregado ainfra/observability/prometheus/targets/blackbox-http-targets.jsonExecutive Infrastructure Boardactualizado para mostrarDeveloper Portal- la alerta generica
BlackboxProbeFailedcubre este probe sin exponer servicios internos
Validacion esperada en VPS:
- target
https://developers.alpuntodeventa.com.ar/enPrometheus->up - panel
Developer Portalen Grafana ->UP
Relacion con API Documentation Platform¶
Esta etapa ejecuta por primera vez la arquitectura definida en
docs/architecture/API-DOCUMENTATION-PLATFORM.md:
OpenAPI sanitizado -> Scalar -> Developer Portal sandbox
No reemplaza la etapa productiva futura. Solo cierra la capa documental sandbox sobre contratos seguros.
Que queda para produccion futura¶
- tokens sandbox controlados desde la UI si se aprueban
- proxies de prueba o mocks dedicados
- versionado formal de APIs
- politica de auditoria de pruebas interactivas
- separacion
sandboxvsproductivopor tenant - publicacion futura de APIs reales con auth y rate limiting
Experiencia de uso¶
Como entrar¶
- abrir
https://developers.alpuntodeventa.com.ar
Que se ve¶
- selector de tres contratos sandbox
- recursos
clientes,productos,ventas,tenants - esquemas, parametros, ejemplos y respuestas
Que se puede probar¶
- navegacion de endpoints
- lectura del contrato
- inspeccion de modelos y respuestas
Que todavia no se puede probar¶
- ejecucion real de requests contra
PostgREST - autenticacion real con tokens desde la UI
- acceso a datos productivos o privados
Checklist de cierre¶
SAFE POINTinicial registrado- diagnostico real documentado
- documento
SCALAR-SANDBOX-DEVELOPER-PORTAL.mdcreado - contratos sanitizados generados
- sin
hostinterno Docker en JSON versionados - sin secretos ni tokens persistidos
- stack
Scalar sandboxpreparado - publicacion por
NPMprevista sobredevelopers.alpuntodeventa.com.ar PostgRESTpreservado como interno- stash remoto revisado y conservado por seguridad
- probe publico agregado sin exponer servicios internos