---
sidebar:
  order: 2
title: SDK TypeScript
description: >-
  Używaj SDK z repozytorium do odczytów z kontrolą typów, potwierdzanych operacji zapisu i przesyłania lokalnych multimediów.
---

`@influence/sdk` jest obecnie prywatnym pakietem w repozytorium i nie jest opublikowany do instalacji przez npm. Te przykłady dotyczą projektów, w których ten pakiet obszaru roboczego jest dostępny. Dla niezależnego klienta użyj [API HTTP](/pl/developers/http-api).

Podaj jawnie zaufany adres bazowy i wczytaj klucz ze środowiska procesu przechowującego sekrety:

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

Używaj `listTools()` do wykrywania narzędzi, a `callTool(name, input)` do wywoływania tych, które według katalogu nie wymagają potwierdzenia, w tym do kontynuowania autoryzowanego przesyłania. Działania wymagające potwierdzenia korzystają z `prepareTool(name, input)`, a następnie `confirmTool(name, input, confirmationCapability, { idempotencyKey })`. Po niepewnej odpowiedzi zachowaj te same dane wejściowe, wartość confirmationCapability i klucz. SDK sprawdza poprawność żądań i odpowiedzi oraz zgłasza `InfluenceSdkError` przy błędach HTTP i błędach narzędzi.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })` przyjmuje `Blob` i obsługuje potwierdzany transfer wieloczęściowy. Ponów próbę z tym samym plikiem i tym samym `clientKey`. Odczytuj `mediaUploadGet`, aż końcowy zasób będzie gotowy; przesyłany plik, który jest przetwarzany, nie jest gotowy do publikacji. Przestrzegaj odrębnych [zasad weryfikacji przed publikacją i ponawiania prób](/pl/developers/http-api).
