SDK JavaScript / TypeScript
SDK JavaScript / TypeScript
@webgune/sdk es el cliente oficial para controlar tu cuenta webgune desde código. Es una alternativa tipada a las llamadas fetch directas sobre la API REST.
Instalación
npm install @webgune/sdk
Uso
import { createClient } from "@webgune/sdk";
const webgune = createClient({ apiKey: process.env.WEBGUNE_API_KEY! });
const projects = await webgune.projects.list();
await webgune.services.redeploy("svc_123");
La clave de API se crea desde Dashboard → Desarrolladores → Claves de API (ver Claves de API). Asigna a la clave un scope por recurso usado (projects, services, domains, billing, dashboard, apikeys, reseller), en formato recurso:read o recurso:write.
Recursos cubiertos
webgune.projects list · get · create · update · remove
webgune.services listByProject · get · create · remove · redeploy
logs · metrics · getEnv · setEnv · scale
deployments · rollback
webgune.domains check · list · register · get · remove
listDns · addDns · removeDns
webgune.billing plans · subscription · invoices
webgune.dashboard stats · deploymentHistory
webgune.apiKeys list · create · revoke · auditLog
webgune.reseller organization · subClients · overview
Un endpoint aún no cubierto por un wrapper sigue siendo accesible mediante webgune.raw, el cliente openapi-fetch (nueva ventana) totalmente tipado subyacente:
const { data } = await webgune.raw.GET("/services/{id}/k8s-status", {
params: { path: { id: "svc_123" } },
});
Gestión de errores
Toda respuesta que no sea 2xx lanza un WebguneApiError (status, code, message) en lugar de devolver silenciosamente un valor incorrecto:
import { WebguneApiError } from "@webgune/sdk";
try {
await webgune.services.redeploy("id-inexistente");
} catch (err) {
if (err instanceof WebguneApiError && err.status === 404) {
console.error("Servicio no encontrado");
}
}
Tipos generados
Los tipos de TypeScript se generan automáticamente desde el spec OpenAPI de la API. Siempre reflejan lo que la API acepta y devuelve, sin mantenimiento manual. Sin paquete instalado, la referencia interactiva muestra los mismos esquemas directamente en el navegador.