---
sidebar:
  order: 2
title: "SDK TypeScript"
description: "Utilisez le SDK du dépôt pour les lectures typées, les modifications confirmées et les envois locaux."
---

`@influence/app-sdk` est actuellement un paquet privé du dépôt, sans distribution publique sur npm. Ces exemples nécessitent ce paquet dans votre espace de développement. Pour un client indépendant, utilisez l’[API HTTP](/fr/developers/http-api).

Précisez l’origine de confiance et chargez la clé depuis l’environnement secret du processus :

```ts
import { InfluenceClient } from "@influence/app-sdk/client";

const accessToken = process.env.PUBLISH_API_TOKEN;
if (!accessToken) throw new Error("PUBLISH_API_TOKEN");

const client = new InfluenceClient({
  baseUrl: "https://influence.so",
  accessToken,
});

const catalog = await client.listTools();
const accounts = await client.callTool("accountList", {});
console.log(catalog.tools, accounts.output);
```

Utilisez `listTools()` pour la découverte et `callTool(name, input)` pour les lectures. Pour modifier des données, appelez `prepareTool(name, input)`, puis `confirmTool(name, input, confirmationCapability, { idempotencyKey })`. Conservez les mêmes valeurs après un résultat incertain. Le SDK valide les requêtes et réponses et lève `InfluenceSdkError` lors d’un échec HTTP ou d’outil.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })` accepte un `Blob` et gère l’envoi confirmé en plusieurs parties. Réessayez avec le même fichier et le même `clientKey`. Consultez `mediaUploadGet` jusqu’à ce que le média soit prêt ; un envoi en traitement n’est pas prêt à publier. Respectez les [règles de validation et de reprise](/fr/developers/http-api).
