Skip to main content

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

Das Modul liefert zwei Pakete:

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:
Um den vollständigen Datensatz einer einzelnen Ressource abzurufen, verwende 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:
Siehe Snapshots für Details zu Snapshot-Payloads.

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:
Zwei Helfer vereinfachen häufige Prüfungen:
  • rest.ErrorCode(err) string — gibt den API-Fehlercode zurück (oder "", wenn der Fehler kein *rest.APIError ist)
  • rest.IsRateLimit(err) bool — meldet, ob der Fehler einer der Rate-Limit-Codes ist (KEEP_CALM, RATE_LIMIT, RATE_LIMIT_EXCEEDED, RATELIMIT, DELAY_NOW)
Die Fehlercodes sind dieselben, die @squarecloud/api-types verwendet — siehe die vollständige Code-Tabelle in der JS-SDK-Referenz.