要件
- Go 1.24 以降
- 外部依存関係ゼロ — SDK は Go の標準ライブラリのみで構築されています
- 有効な API キー — Square Cloud ダッシュボード の My Account → Regenerate API/CLI KEY でリクエストできます
インストール
クライアントの初期化
rest.NewClient(token, opts...) は基盤となる HTTP クライアントを構築し、rest.New(client) はそれをすべてのリソースを公開するインターフェースである rest.Rest にラップします。アイドル接続を解放するため、常に defer client.Close() を呼び出してください。
クライアント設定(ConfigOpt)
rest.NewClient はトークンの後にオプションの ConfigOpt を受け取ります:
モジュール
rest.Rest はリソースドメインごとに 1 つのインターフェースを埋め込んでおり、加えてこのページで解説するユーザーおよびサービスのメソッドを備えています:
認証済みユーザーの取得
api.SelfUser() は、アカウント詳細と現在のプランを含む squarecloud.User を返します。
アプリケーションとデータベースの一覧取得
api.GetApplications() と api.GetDatabases() は /users/me エンドポイントを通して所有するすべてのリソースを一覧取得し、コンパクトな squarecloud.UserApplication / squarecloud.UserDatabase ディスクリプタを返します:
GetApplication / GetDatabase を使用します — アプリケーションの管理 と Databases を参照してください。
snapshot 履歴の一覧取得(アカウント全体)
api.UserSnapshots(scope) は、指定したドメインについて所有するすべての snapshot を返します:
プラットフォームステータス
api.ServiceStatus() は、集約されたプラットフォームの健全性(公開ステータスページに表示されるものと同じデータ)を公開します。
ほとんどの v2 エンドポイントとは異なり、このルートはペイロードを標準の
{ status, code, response } エンベロープで ラップしません — { status, message } を直接返します。リクエストオプション
すべてのメソッドは、末尾に...rest.RequestOpt を受け取り、個々のリクエストをカスタマイズできます:
エラーハンドリング
2xx 以外のレスポンスはすべて、StatusCode、Code、Message を公開する *rest.APIError として返されます。慣用的な errors.As でアンラップしてください:
rest.ErrorCode(err) string— API のエラーコードを返します(エラーが*rest.APIErrorでない場合は"")rest.IsRateLimit(err) bool— エラーがレートリミット系のコード(KEEP_CALM、RATE_LIMIT、RATE_LIMIT_EXCEEDED、RATELIMIT、DELAY_NOW)のいずれかであるかを報告します
@squarecloud/api-types で使われているものと同一です — JS SDK リファレンスの完全なコード表 を参照してください。
