---
sidebar:
  order: 2
title: TypeScript SDK
description: >-
  Tür bilgisiyle denetlenen okuma, onaylı yazma ve yerel medya yükleme işlemleri için depodaki SDK paketini kullanın.
---

`@influence/sdk` şu anda özel depodaki bir pakettir; npm üzerinde yayımlanmış bir kurulum paketi değildir. Bu örnekler, ilgili çalışma alanı paketinin kullanılabildiği projeler içindir. Bağımsız bir istemci için [HTTP API](/tr/developers/http-api) kullanın.

Güvenilir sunucu adresini açıkça belirtin ve anahtarı işleminizin gizli ortam değişkenlerinden yükleyin:

```ts
import { InfluenceClient } from "@influence/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);
```

Araçları keşfetmek için `listTools()`, katalogda onay gerektirmediği belirtilen araçlar için `callTool(name, input)` kullanın. Yetkilendirilmiş yüklemelerin devam adımları da buna dahildir. Onay gerektiren işlemlerde `prepareTool(name, input)` çağrısını `confirmTool(name, input, confirmationCapability, { idempotencyKey })` izler. Yanıtın sonucu belirsizse aynı girdiyi, onay yetkisini ve anahtarı koruyun. SDK istekleri ve yanıtları doğrular; HTTP hatalarında ve araç hatalarında `InfluenceSdkError` hatası verir.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })`, bir `Blob` kabul eder ve onaylı çok parçalı aktarımı yönetir. Aynı dosyayı aynı `clientKey` ile yeniden deneyin. Son varlık hazır olana kadar `mediaUploadGet` sonucunu okuyun. İşlenmekte olan bir yükleme yayımlanmaya hazır değildir. Ayrı [yayın incelemesi ve yeniden deneme kurallarına](/tr/developers/http-api) uyun.
