A Square Cloud no seu código, em JavaScript, Python e Go
Os SDKs oficiais da API da Square Cloud. Faça deploy, reinicie, leia logs, edite arquivos, crie snapshots e configure domínios pelos seus próprios scripts, sem nenhuma dependência em tempo de execução.
Escolha a linguagem e instale
Quatro pacotes oficiais: três para a API da Square Cloud e um para o Blob Storage. Cada um precisa só do runtime da sua linguagem.
JavaScript e TypeScript
@squarecloud/api
Node.js 22+, Deno, Bun e runtimes de edge
npm install @squarecloud/apiPython
squarecloud-api
Python 3.11+, com clientes síncrono e assíncrono
pip install squarecloud-apiGo
github.com/squarecloudofc/sdk-api-go/v3
Go 1.22+, com context em toda chamada
go get github.com/squarecloudofc/sdk-api-go/v3Blob Storage
@squarecloud/blob
Node.js 20+ e o navegador
npm install @squarecloud/blob
Sua primeira chamada
Crie uma chave de API, defina-a na variável de ambiente SQUARECLOUD_API_KEY e rode um destes programas. Cada um mostra o seu nome e quantas aplicações a chave enxerga.
import { SquareCloudAPI } from "@squarecloud/api";const api = new SquareCloudAPI(process.env.SQUARECLOUD_API_KEY);const { user, applications } = await api.account.me();console.log(`Hi ${user.name}, you have ${applications.length} apps`);import osfrom squarecloud import SquareCloudwith SquareCloud(os.environ["SQUARECLOUD_API_KEY"]) as client: me = client.account.me() print(f"Hi {me['user']['name']}, you have {len(me['applications'])} apps")package mainimport ( "context" "fmt" "log" "os" "github.com/squarecloudofc/sdk-api-go/v3")func main() { c := squarecloud.New(os.Getenv("SQUARECLOUD_API_KEY")) me, err := c.Account.Me(context.Background()) if err != nil { log.Fatal(err) } fmt.Printf("Hi %s, you have %d apps\n", me.User.Name, len(me.Applications))}Tudo o que a API faz, pelo seu código
Os SDKs de JavaScript, Python e Go cobrem todas as operações da referência da API, conferidas contra a especificação OpenAPI a cada execução do CI. Os nomes abaixo estão em JavaScript; em Python são snake_case e em Go, PascalCase.
Aplicações
Consulte o status de uma aplicação ou de todas, inicie, pare e reinicie, e busque logs e métricas de CPU, RAM e rede.
apps.statusAllapps.restartapps.logsapps.metricsDeploys
Crie uma aplicação a partir de um zip, envie novos arquivos para ela, vincule um repositório e branch do GitHub ou um webhook, e liste os deploys anteriores.
apps.createapps.commitdeploys.linkGithubAppArquivos e variáveis
Liste, leia, escreva, mova e apague os arquivos da aplicação, e consulte, defina ou substitua as variáveis de ambiente.
files.writefiles.readenvs.setTempo real
Acompanhe os logs e o status de uma aplicação no momento em que acontecem, como um iterador que você percorre. Se a conexão cair, ela reabre sozinha.
apps.realtimeSnapshots
Crie, liste e restaure snapshots de aplicações e bancos de dados, e baixe o arquivo de um snapshot como stream.
snapshots.createsnapshots.restoredownloadSnapshotRede
Configure um domínio personalizado, leia os registros DNS, limpe o cache e consulte analytics, erros e desempenho de um período.
network.setDomainnetwork.purgeCachenetwork.analyticsBancos de dados
Crie bancos MongoDB, PostgreSQL, MySQL e Redis, altere a RAM, consulte o status e redefina a senha ou o certificado.
databases.createdatabases.resetCredentialsWorkspaces
Crie workspaces, adicione membros com um código de convite, altere o grupo deles e compartilhe aplicações com a equipe.
workspaces.members.addworkspaces.apps.addIA
Envie uma requisição de chat compatível com a OpenAI ao AI Gateway da Square Cloud, com o mesmo cliente e a mesma chave.
ai.chat
Blob Storage pelo JavaScript
@squarecloud/blob é o SDK do Blob Storage: uploads, arquivos privados, links de compartilhamento, regras de pasta e o gateway compatível com S3, no Node.js e no navegador. Conhecer o Blob Storage
Uploads grandes
Passe um caminho, um Blob ou bytes. Arquivos grandes sobem em partes paralelas, até 10 GiB, lidos direto do disco.
putlistArquivos privados
Um arquivo privado não tem URL pública. Crie um link de download que expira, ou um link de compartilhamento que você revoga quando quiser.
downloadUrlshares.createshares.revokeUploads pelo navegador
Seu servidor cria um token de upload de curta duração e o navegador envia com ele, então a chave de API nunca sai do servidor.
uploadTokens.create
Feitos do mesmo jeito em todas as linguagens
Zero dependências
Cada SDK usa só a biblioteca padrão da linguagem ou o fetch da plataforma, então não acrescenta mais nada ao seu lockfile.
Um tipo de erro
Toda falha da API, de rede ou local lança a mesma classe de erro, com o status HTTP e o código de erro da API.
Retentativas seguras
Timeout de 30 segundos por tentativa, e retentativa só nas falhas que podem ser repetidas com segurança, nunca num 429.
Chaves com escopo
Uma chave pode ser limitada a algumas permissões e a aplicações ou bancos específicos. As listas trazem só o que ela enxerga.
O resto das ferramentas
A mesma chave de API e a mesma variável SQUARECLOUD_API_KEY funcionam no terminal, no CI, no editor e no seu código.
Um plano para cada fase do seu projeto
Comece pequeno e escale quando precisar, sem contratos de fidelidade.
Hobby
Para validar ideias, bots e projetos pessoais
A partir de R$ 12,49/mês
- 1 GB de RAM
- 1 vCPU
- Até 4 projetos
- Escala até 2 GB no mesmo plano
Standard
RecomendadoPara produção, com bancos de dados e domínio próprio
A partir de R$ 44,99/mês
- 4 GB de RAM
- 4 vCPU
- Até 16 projetos
- Escala até 8 GB no mesmo plano
Pro
Para alta escala, com snapshots diários das aplicações e analytics avançado
A partir de R$ 124,99/mês
- 12 GB de RAM
- 6 vCPU
- Até 48 projetos
- Escala até 24 GB no mesmo plano
4,9 de 5 · 402 avaliações no Google + TrustpilotTrustpilot
Perguntas sobre os SDKs
Quais linguagens têm um SDK oficial da Square Cloud?
JavaScript e TypeScript (@squarecloud/api), Python (squarecloud-api) e Go (github.com/squarecloudofc/sdk-api-go). O Blob Storage tem o próprio SDK de JavaScript, @squarecloud/blob. Os quatro são open source no GitHub.
Os SDKs cobrem a API inteira?
Sim. Os SDKs de JavaScript, Python e Go cobrem todas as operações da referência da API da Square Cloud, além do download de snapshots, e são conferidos contra a especificação OpenAPI a cada execução do CI. O Blob Storage e o gateway compatível com S3 ficam com o @squarecloud/blob.
Qual plano eu preciso para usar os SDKs?
Os SDKs são pacotes open source. A API que eles chamam está incluída em todos os planos da Square Cloud, a partir do Hobby, e o número de requisições por minuto depende do plano.
Onde devo guardar a minha chave de API?
Na variável de ambiente SQUARECLOUD_API_KEY, nunca no código-fonte. Dê a cada chave só as permissões e os recursos de que ela precisa, e revogue-a nas configurações de segurança da conta se ela vazar.
Posso usar os SDKs no navegador?
Os SDKs da API são feitos para servidores: Node.js, Deno, Bun, runtimes de edge, Python e Go. No navegador a chave de API ficaria exposta. Para uploads pelo navegador, o @squarecloud/blob usa um token de upload de curta duração criado pelo seu servidor.
Uso uma versão antiga. O que mudou?
As versões atuais foram reescritas: os métodos ficam no cliente, as respostas são dados simples com os nomes de campo da própria API, e toda falha tem um único tipo de erro. A documentação de cada SDK tem um guia de migração da versão major anterior.
SDK, CLI ou GitHub Action: qual devo usar?
Use um SDK quando a chamada mora no seu código, como um comando de bot que reinicia uma aplicação ou um script que cria um snapshot. Use a CLI no terminal, e a GitHub Action para fazer deploy a cada push.