Skip to main content

Requisitos

  • Go 1.24 o más reciente
  • Cero dependencias externas — el SDK está construido únicamente sobre la biblioteca estándar de Go
  • Una clave de API válida — solicita una en el Panel de Square Cloud en My Account → Regenerate API/CLI KEY

Instalación

El módulo incluye dos paquetes:

Instanciar el cliente

rest.NewClient(token, opts...) construye el cliente HTTP subyacente; rest.New(client) lo envuelve en rest.Rest, la interfaz que expone cada recurso. Usa siempre defer client.Close() para liberar las conexiones inactivas.

Configuración del cliente (ConfigOpt)

rest.NewClient acepta ConfigOpts opcionales después del token:

Módulos

rest.Rest embebe una interfaz por dominio de recursos, además de los métodos de usuario y servicio documentados en esta página:

Obtener el usuario autenticado

api.SelfUser() devuelve un squarecloud.User con los detalles de la cuenta y el plan actual.

Listado de tus aplicaciones y bases de datos

api.GetApplications() y api.GetDatabases() listan todo lo que posees a través del endpoint /users/me, devolviendo descriptores compactos squarecloud.UserApplication / squarecloud.UserDatabase:
Para obtener el registro completo de un único recurso, usa GetApplication / GetDatabase — consulta Gestionar aplicaciones y Bases de datos.

Listado del historial de snapshots (a nivel de cuenta)

api.UserSnapshots(scope) devuelve todos los snapshots que posees para un dominio dado:
Consulta Snapshots para más detalles sobre los payloads de snapshots.

Estado de la plataforma

api.ServiceStatus() expone el estado de salud agregado de la plataforma (los mismos datos que se muestran en la página de estado pública).
A diferencia de la mayoría de los endpoints v2, esta ruta no envuelve su payload en el sobre estándar { status, code, response } — responde directamente con { status, message }.

Opciones de solicitud

Cada método acepta ...rest.RequestOpts al final para personalizar la solicitud individual:

Manejo de errores

Cualquier respuesta no-2xx se devuelve como un *rest.APIError que expone StatusCode, Code y Message. Desenvuélvelo con el idiomático errors.As:
Dos helpers simplifican las comprobaciones comunes:
  • rest.ErrorCode(err) string — devuelve el código de error de la API (o "" cuando el error no es un *rest.APIError)
  • rest.IsRateLimit(err) bool — indica si el error es alguno de los códigos de rate limit (KEEP_CALM, RATE_LIMIT, RATE_LIMIT_EXCEEDED, RATELIMIT, DELAY_NOW)
Los códigos de error son los mismos que usa @squarecloud/api-types — consulta la tabla completa de códigos en la referencia del SDK de JS.