---
sidebar:
  order: 2
title: TypeScript SDK
description: >-
  Používejte SDK z repozitáře pro typovaná čtení, potvrzované zápisy a nahrávání místních médií.
---

`@influence/sdk` je zatím soukromý balíček v repozitáři, nikoli balíček zveřejněný pro instalaci z npm. Tyto příklady platí pro projekty, které mají tento balíček pracovního prostoru k dispozici. Pro samostatného klienta použijte [HTTP API](/cs/developers/http-api).

Důvěryhodný origin zadejte výslovně a klíč načtěte z prostředí procesu určeného pro tajné údaje:

```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);
```

Nástroje zjišťujte pomocí `listTools()` a `callTool(name, input)` používejte pro nástroje, jejichž katalog nevyžaduje potvrzení, včetně pokračování již autorizovaného nahrávání. Akce vyžadující potvrzení používají `prepareTool(name, input)` a poté `confirmTool(name, input, confirmationCapability, { idempotencyKey })`. Po nejisté odpovědi zachovejte stejný vstup, oprávnění k potvrzení a klíč. SDK ověřuje požadavky i odpovědi a při chybách HTTP i nástrojů vyvolává `InfluenceSdkError`.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })` přijímá `Blob` a zajišťuje potvrzovaný vícedílný přenos. Přenos stejného souboru opakujte se stejným `clientKey`. Pomocí `mediaUploadGet` kontrolujte stav, dokud není výsledný soubor připravený; zpracovávané médium ještě není připravené k publikování. Dodržujte samostatná [pravidla kontroly publikování a opakování požadavků](/cs/developers/http-api).
