Skip to main content

Prérequis

  • Go 1.24 ou une version plus récente
  • Zéro dépendance externe — le SDK repose uniquement sur la bibliothèque standard de Go
  • Une clé d’API valide — demandez-en une sur le tableau de bord Square Cloud sous My Account → Regenerate API/CLI KEY

Installation

Le module fournit deux packages :

Instanciation du client

rest.NewClient(token, opts...) construit le client HTTP sous-jacent ; rest.New(client) l’enveloppe dans rest.Rest, l’interface qui expose chaque ressource. Faites toujours defer client.Close() pour libérer les connexions inactives.

Configuration du client (ConfigOpt)

rest.NewClient accepte des ConfigOpts optionnels après le token :

Modules

rest.Rest embarque une interface par domaine de ressource, plus les méthodes utilisateur et service documentées sur cette page :

Récupérer l’utilisateur authentifié

api.SelfUser() renvoie un squarecloud.User contenant les détails du compte et le plan actuel.

Lister vos applications et bases de données

api.GetApplications() et api.GetDatabases() listent tout ce que vous possédez via l’endpoint /users/me, en renvoyant des descripteurs compacts squarecloud.UserApplication / squarecloud.UserDatabase :
Pour récupérer l’enregistrement complet d’une seule ressource, utilisez GetApplication / GetDatabase — consultez Gestion des applications et Bases de données.

Lister l’historique des snapshots (à l’échelle du compte)

api.UserSnapshots(scope) renvoie tous les snapshots que vous possédez pour un domaine donné :
Consultez Snapshots pour plus de détails sur les charges utiles des snapshots.

État de la plateforme

api.ServiceStatus() expose l’état de santé agrégé de la plateforme (les mêmes données affichées sur la page de statut publique).
Contrairement à la plupart des endpoints v2, cette route n’enveloppe pas sa charge utile dans l’enveloppe standard { status, code, response } — elle répond directement avec { status, message }.

Options de requête

Chaque méthode accepte des ...rest.RequestOpts en fin d’appel pour personnaliser la requête individuelle :

Gestion des erreurs

Toute réponse non-2xx est renvoyée sous forme de *rest.APIError exposant StatusCode, Code et Message. Dépliez-la avec l’idiomatique errors.As :
Deux helpers simplifient les vérifications courantes :
  • rest.ErrorCode(err) string — renvoie le code d’erreur de l’API (ou "" lorsque l’erreur n’est pas une *rest.APIError)
  • rest.IsRateLimit(err) bool — indique si l’erreur correspond à l’un des codes de limitation de débit (KEEP_CALM, RATE_LIMIT, RATE_LIMIT_EXCEEDED, RATELIMIT, DELAY_NOW)
Les codes d’erreur sont les mêmes que ceux utilisés par @squarecloud/api-types — consultez la table complète des codes dans la référence du SDK JS.