Skip to main content

Requisiti

  • Go 1.24 o più recente
  • Zero dipendenze esterne — l’SDK è costruito esclusivamente sulla libreria standard di Go
  • Una chiave API valida — richiedine una nella Dashboard di Square Cloud in My Account → Regenerate API/CLI KEY

Installazione

Il modulo fornisce due pacchetti:

Istanziare il client

rest.NewClient(token, opts...) costruisce il client HTTP sottostante; rest.New(client) lo avvolge in rest.Rest, l’interfaccia che espone ogni risorsa. Usa sempre defer client.Close() per rilasciare le connessioni inattive.

Configurazione del client (ConfigOpt)

rest.NewClient accetta ConfigOpt opzionali dopo il token:

Moduli

rest.Rest incorpora un’interfaccia per ogni dominio di risorse, oltre ai metodi utente e di servizio documentati in questa pagina:

Ottenere l’utente autenticato

api.SelfUser() restituisce un squarecloud.User con i dettagli dell’account e il piano attuale.

Elencare le tue applicazioni e i tuoi database

api.GetApplications() e api.GetDatabases() elencano tutto ciò che possiedi tramite l’endpoint /users/me, restituendo descrittori compatti squarecloud.UserApplication / squarecloud.UserDatabase:
Per recuperare il record completo di una singola risorsa, usa GetApplication / GetDatabase — consulta Gestire le applicazioni e Database.

Elencare la cronologia degli snapshot (a livello di account)

api.UserSnapshots(scope) restituisce ogni snapshot che possiedi per un determinato dominio:
Consulta Snapshot per i dettagli sui payload degli snapshot.

Stato della piattaforma

api.ServiceStatus() espone lo stato di salute aggregato della piattaforma (gli stessi dati mostrati nella pagina di stato pubblica).
A differenza della maggior parte degli endpoint v2, questa route non avvolge il suo payload nella busta standard { status, code, response } — risponde direttamente con { status, message }.

Opzioni di richiesta

Ogni metodo accetta ...rest.RequestOpt finali per personalizzare la singola richiesta:

Gestione degli errori

Qualsiasi risposta non-2xx viene restituita come *rest.APIError, che espone StatusCode, Code e Message. Estrailo con l’idiomatico errors.As:
Due helper semplificano i controlli più comuni:
  • rest.ErrorCode(err) string — restituisce il codice di errore dell’API (oppure "" quando l’errore non è un *rest.APIError)
  • rest.IsRateLimit(err) bool — indica se l’errore corrisponde a uno dei codici di rate limit (KEEP_CALM, RATE_LIMIT, RATE_LIMIT_EXCEEDED, RATELIMIT, DELAY_NOW)
I codici di errore sono gli stessi usati da @squarecloud/api-types — consulta la tabella completa dei codici nel riferimento dell’SDK JS.