Square Cloud dans votre code, en JavaScript, Python et Go

Les SDK officiels de l’API Square Cloud. Déployez, redémarrez, lisez les logs, modifiez des fichiers, créez des snapshots et configurez des domaines depuis vos propres scripts, sans aucune dépendance à l’exécution.

Open source sur GitHub, avec les mêmes méthodes et les mêmes erreurs dans chaque langage.

Choisissez un langage et installez

Quatre paquets officiels : trois pour l’API Square Cloud et un pour Blob Storage. Chacun n’a besoin que du runtime de son langage.

  • JavaScript et TypeScript

    @squarecloud/api

    Node.js 22+, Deno, Bun et runtimes edge

    npm install @squarecloud/api

    DocumentationCode source

  • Python

    squarecloud-api

    Python 3.11+, avec des clients synchrones et asynchrones

    pip install squarecloud-api

    DocumentationCode source

  • Go

    github.com/squarecloudofc/sdk-api-go/v3

    Go 1.22+, avec un context à chaque appel

    go get github.com/squarecloudofc/sdk-api-go/v3

    DocumentationCode source

  • Blob Storage

    @squarecloud/blob

    Node.js 20+ et le navigateur

    npm install @squarecloud/blob

    DocumentationCode source

Votre premier appel

Créez une clé API, définissez-la comme variable d’environnement SQUARECLOUD_API_KEY et lancez l’un de ces programmes. Chacun affiche votre nom et le nombre d’applications que la clé peut voir.

index.mjs
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`);
main.py
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")
main.go
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))}

Tout ce que fait l’API, depuis votre code

Les SDK JavaScript, Python et Go couvrent chaque opération de la référence de l’API et sont vérifiés par rapport à sa spécification OpenAPI à chaque exécution de la CI. Les noms de méthodes ci-dessous sont en JavaScript ; Python utilise le snake_case et Go le PascalCase.

  • Applications

    Lisez le statut d’une application ou de toutes, démarrez, arrêtez et redémarrez, et récupérez les logs et les métriques CPU, RAM et réseau.

    apps.statusAllapps.restartapps.logsapps.metrics

  • Déploiements

    Créez une application à partir d’un zip, commitez-y de nouveaux fichiers, liez un dépôt et une branche GitHub ou configurez un webhook, et listez les déploiements passés.

    apps.createapps.commitdeploys.linkGithubApp

  • Fichiers et variables

    Listez, lisez, écrivez, déplacez et supprimez les fichiers de votre application, et lisez, définissez ou remplacez ses variables d’environnement.

    files.writefiles.readenvs.set

  • Temps réel

    Suivez les logs et le statut d’une application en direct, sous forme d’itérateur que vous parcourez en boucle. Une connexion coupée se rouvre d’elle-même.

    apps.realtime

  • Snapshots

    Créez, listez et restaurez des snapshots d’applications et de bases de données, et téléchargez un fichier de snapshot en stream.

    snapshots.createsnapshots.restoredownloadSnapshot

  • Réseau

    Configurez un domaine personnalisé, lisez ses enregistrements DNS, videz le cache et interrogez les analytics, erreurs et performances sur une période donnée.

    network.setDomainnetwork.purgeCachenetwork.analytics

  • Bases de données

    Créez des bases de données MongoDB, PostgreSQL, MySQL et Redis, modifiez leur RAM, lisez leur statut et réinitialisez un mot de passe ou un certificat.

    databases.createdatabases.resetCredentials

  • Espaces de travail

    Créez des espaces de travail, ajoutez des membres avec un code d’invitation, changez leur groupe et partagez des applications avec votre équipe.

    workspaces.members.addworkspaces.apps.add

  • IA

    Envoyez une requête de chat compatible OpenAI à l’AI Gateway de Square Cloud avec le même client et la même clé.

    ai.chat

Blob Storage depuis JavaScript

@squarecloud/blob est le SDK de Blob Storage : téléversements, fichiers privés, liens de partage, règles par dossier et gateway compatible S3, sur Node.js et dans le navigateur. Découvrir Blob Storage

  • Gros téléversements

    Passez un chemin de fichier, un Blob ou des octets. Les gros fichiers partent en parties parallèles, jusqu’à 10 GiB, lus en stream depuis le disque.

    putlist

  • Fichiers privés

    Un fichier privé n’a pas d’URL publique. Créez un lien de téléchargement qui expire, ou un lien de partage révocable à tout moment.

    downloadUrlshares.createshares.revoke

  • Téléversements depuis le navigateur

    Votre serveur crée un token de téléversement de courte durée et le navigateur téléverse avec, si bien que la clé API ne quitte jamais votre serveur.

    uploadTokens.create

Conçus de la même façon dans chaque langage

  • Zéro dépendance

    Chaque SDK n’utilise que la bibliothèque standard de son langage ou le fetch de la plateforme : rien d’autre n’arrive dans votre lockfile.

  • Un seul type d’erreur

    Chaque échec de l’API, du réseau ou local lève la même classe d’erreur, avec le statut HTTP et le code d’erreur de l’API.

  • Nouvelles tentatives sûres

    Un timeout de 30 secondes par tentative, et de nouvelles tentatives uniquement pour les échecs qu’on peut répéter sans risque, jamais pour un 429.

  • Clés à portée limitée

    Une clé peut être limitée à certaines permissions et à des applications ou bases de données précises. Les listes ne renvoient que ce qu’elle peut voir.

Un plan pour chaque étape de votre projet

Commencez petit et évoluez quand vous en avez besoin, sans contrat d’engagement.

4,9 sur 5 · 402 avis sur Google + TrustpilotTrustpilot

Hébergé dans un datacenter partenaire disposant des certifications
Tier 3ISO 27001SOC 2 Type IIProtection DDoS permanente
Découvrez notre infrastructure

Questions sur les SDK

Quels langages disposent d’un SDK officiel Square Cloud ?

JavaScript et TypeScript (@squarecloud/api), Python (squarecloud-api) et Go (github.com/squarecloudofc/sdk-api-go). Blob Storage a son propre SDK JavaScript, @squarecloud/blob. Les quatre sont open source sur GitHub.

Les SDK couvrent-ils toute l’API ?

Oui. Les SDK JavaScript, Python et Go couvrent chaque opération de la référence de l’API Square Cloud, plus le téléchargement des snapshots, et sont vérifiés par rapport à sa spécification OpenAPI à chaque exécution de la CI. Blob Storage et son gateway compatible S3 sont couverts par @squarecloud/blob.

Quel plan faut-il pour utiliser les SDK ?

Les SDK sont des paquets open source. L’API qu’ils appellent est incluse dans tous les plans Square Cloud, à partir de Hobby, et le nombre de requêtes par minute dépend du plan.

Où conserver ma clé API ?

Dans la variable d’environnement SQUARECLOUD_API_KEY, jamais dans votre code source. Ne donnez à chaque clé que les permissions et ressources dont elle a besoin, et révoquez-la dans les paramètres de sécurité de votre compte en cas de fuite.

Puis-je utiliser les SDK dans le navigateur ?

Les SDK de l’API sont conçus pour les serveurs : Node.js, Deno, Bun, runtimes edge, Python et Go. Dans un navigateur, la clé API serait exposée. Pour les téléversements depuis un navigateur, @squarecloud/blob utilise un token de téléversement de courte durée créé par votre serveur.

J’utilise une ancienne version. Qu’est-ce qui a changé ?

Les versions actuelles sont des réécritures : les méthodes sont sur le client, les réponses sont des données simples avec les noms de champs de l’API, et chaque échec a un seul type d’erreur. La documentation de chaque SDK contient un guide de migration depuis la version majeure précédente.

SDK, CLI ou GitHub Action : lequel choisir ?

Utilisez un SDK quand l’appel se trouve dans votre code, comme une commande de bot qui redémarre une application ou un script qui crée un snapshot. Utilisez la CLI dans le terminal, et la GitHub Action pour déployer à chaque push.

Prêt à faire évoluer votre projet ?

Rejoignez les plus de 500 000 développeurs qui ont utilisé Square Cloud pour héberger leurs projets.

  • Tarifs prévisibles
  • Aucune surprise de facturation
  • Déployez en quelques secondes
  • Haute disponibilité
  • Évoluez en toute stabilité
  • Redémarrage automatique
  • SSL et sécurité inclus
  • Conteneurs isolés