Skip to main content
El módulo network solo está disponible en aplicaciones de tipo sitio web. Restringe el tipo con app.isWebsite() primero:

Dominio personalizado

app.network.setCustomDomain(domain) define o elimina el dominio personalizado vinculado al sitio web.
Los dominios personalizados requieren un plan Senior o superior. Existe un límite diario por usuario de cuántas veces puedes cambiar un dominio personalizado.
Vincular un dominio personalizado más allá del límite de balanceador de carga de tu plan (consulta Dominios y balanceadores de carga a nivel de cuenta más abajo) falla con LOAD_BALANCER_LIMIT_REACHED (403).

Registros DNS

Después de asociar un dominio personalizado necesitas configurar el DNS en tu registrador. app.network.dns() devuelve un array de registros DNS para crear.
Cada registro es { type, name, value, status }:
  • type es "txt" o "cname". Los registros TXT cubren la propiedad del dominio y la validación SSL; el registro CNAME transporta el tráfico y siempre apunta value a cname.squareweb.app.
  • status refleja el estado de validación actual, p. ej. "pending", "pending_validation" o "active".

Analíticas

app.network.analytics({ start, end }) devuelve analíticas de edge agregadas. start y end aceptan tanto strings ISO 8601 como objetos Date. La ventana máxima de retención es de 7 días.
Para ventanas vacías (p. ej. antes de que se creara la aplicación) la API devuelve {}. Protégelo con "visits" in analytics antes de leer.

Filtros de desglose

Además de start/end, analytics() acepta filtros opcionales. Cada filtro acota todos los desgloses de la respuesta a la vez, no solo uno de ellos:

Desgloses

Además de las series temporales y los desgloses top-N existentes, la respuesta incluye cuatro desgloses calculados sobre toda la ventana (sin serie temporal): ips (las IPs originadas desde la propia red de Square Cloud se enmascaran), status_codes, bots y content_types. Cada entrada tiene la forma { type, visits, requests, bytes }.

Seguimiento de errores

app.network.errors({ start, end, include4xx? }) devuelve el desglose de errores del edge. Por defecto solo se incluyen los errores 5xx.

Logs por solicitud

app.network.logs({ start, end }) devuelve los logs de edge por solicitud.
Los logs por solicitud requieren un plan Pro o superior.

Percentiles de latencia

app.network.performance({ start, end }) devuelve las latencias p50 / p95 / p99 para las capas de edge y origen.
Las métricas de rendimiento requieren un plan Pro o superior.

Purga de la caché de edge

app.network.purgeCache() invalida toda la caché de edge para los dominios de la aplicación.

Dominios y balanceadores de carga a nivel de cuenta

domains() y loadBalancers() viven en api.applications, no en app.network — operan sobre todas las aplicaciones de la cuenta en lugar de un único sitio web.

Listar todos los dominios

api.applications.domains() devuelve todos los dominios configurados en todas las aplicaciones de la cuenta.
Los dominios personalizados se listan primero; las aplicaciones sin dominio web se omiten. Los resultados se sirven desde caché y están limitados a 20 solicitudes/60s por usuario, lo cual no cuenta para los límites de tasa de red por aplicación descritos más arriba.

Balanceadores de carga

api.applications.loadBalancers() agrupa las aplicaciones que comparten un dominio personalizado.
Un grupo con 2 o más apps es un balanceador de carga activo: el tráfico se balancea en el edge con conmutación por error automática cuando una de las apps está fuera de línea. limit es el número máximo de aplicaciones que pueden compartir un dominio en el plan de la cuenta: 2 (Standard), 5 (Pro), 10 (Enterprise). Limitado a 20 solicitudes/60s por usuario.