---
sidebar:
  order: 2
title: SDK pentru TypeScript
description: >-
  Folosește SDK-ul din depozit pentru citiri tipizate, modificări confirmate și încărcări de fișiere media locale.
---

`@influence/sdk` este în prezent un pachet dintr-un depozit privat, fără o versiune publicată pentru instalare prin npm. Exemplele se aplică proiectelor care au acces la acest pachet de spațiu de lucru. Pentru un client independent, folosește [HTTP API](/ro/developers/http-api).

Specifică explicit originea de încredere și încarcă cheia din mediul securizat pentru secrete al procesului:

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

Folosește `listTools()` pentru descoperire și `callTool(name, input)` pentru instrumentele al căror catalog indică faptul că nu este necesară confirmarea, inclusiv continuările autorizate ale încărcărilor. Acțiunile care necesită confirmare folosesc `prepareTool(name, input)`, apoi `confirmTool(name, input, confirmationCapability, { idempotencyKey })`. După un răspuns incert, păstrează aceleași date de intrare, același permis de confirmare și aceeași cheie. SDK-ul validează cererile și răspunsurile și aruncă `InfluenceSdkError` pentru erori HTTP și erori ale instrumentelor.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })` acceptă un `Blob` și gestionează transferul multipart cu confirmare. Reîncearcă folosind același fișier și aceeași valoare `clientKey`. Citește `mediaUploadGet` până când fișierul final este pregătit; o încărcare în curs de procesare nu este gata de publicare. Respectă [regulile separate pentru verificarea publicării și reîncercare](/ro/developers/http-api).
