Voraussetzungen
- Go 1.24 oder neuer
- Null externe Abhängigkeiten — das SDK baut ausschließlich auf der Go-Standardbibliothek auf
- Ein gültiger API-Schlüssel — fordere einen im Square Cloud Dashboard unter My Account → Regenerate API/CLI KEY an
Installation
Instanziierung des Clients
rest.NewClient(token, opts...) baut den zugrunde liegenden HTTP-Client; rest.New(client) verpackt ihn in rest.Rest, die Schnittstelle, die jede Ressource bereitstellt. Rufe stets defer client.Close() auf, um inaktive Verbindungen freizugeben.
Client-Konfiguration (ConfigOpt)
rest.NewClient akzeptiert nach dem Token optionale ConfigOpts:
Module
rest.Rest bettet eine Schnittstelle pro Ressourcen-Domäne ein, dazu die auf dieser Seite dokumentierten Benutzer- und Service-Methoden:
Den authentifizierten Benutzer abrufen
api.SelfUser() gibt einen squarecloud.User mit den Kontodetails und dem aktuellen Plan zurück.
Deine Anwendungen und Datenbanken auflisten
api.GetApplications() und api.GetDatabases() listen über den Endpoint /users/me alles auf, was dir gehört, und geben kompakte squarecloud.UserApplication- / squarecloud.UserDatabase-Deskriptoren zurück:
GetApplication / GetDatabase — siehe Anwendungen verwalten und Datenbanken.
Snapshot-Verlauf auflisten (kontoweit)
api.UserSnapshots(scope) gibt jeden Snapshot zurück, den du in einer gegebenen Domäne besitzt:
Plattformstatus
api.ServiceStatus() stellt den aggregierten Plattformzustand bereit (dieselben Daten, die auf der öffentlichen Statusseite angezeigt werden).
Anders als die meisten v2-Endpoints kapselt diese Route ihr Payload nicht in den Standard-Envelope
{ status, code, response } — sie antwortet direkt mit { status, message }.Request-Optionen
Jede Methode akzeptiert am Ende...rest.RequestOpts, um den einzelnen Request anzupassen:
Fehlerbehandlung
Jede Nicht-2xx-Antwort wird als*rest.APIError zurückgegeben, der StatusCode, Code und Message bereitstellt. Entpacke ihn mit dem idiomatischen errors.As:
rest.ErrorCode(err) string— gibt den API-Fehlercode zurück (oder"", wenn der Fehler kein*rest.APIErrorist)rest.IsRateLimit(err) bool— meldet, ob der Fehler einer der Rate-Limit-Codes ist (KEEP_CALM,RATE_LIMIT,RATE_LIMIT_EXCEEDED,RATELIMIT,DELAY_NOW)
@squarecloud/api-types verwendet — siehe die vollständige Code-Tabelle in der JS-SDK-Referenz.
