---
sidebar:
  order: 2
title: TypeScript SDK
description: >-
  टाइप की जाँच के साथ पढ़ने, पुष्टि के साथ लिखने और लोकल मीडिया अपलोड करने के लिए रिपॉज़िटरी का SDK इस्तेमाल करें.
---

`@influence/sdk` फ़िलहाल रिपॉज़िटरी का निजी पैकेज है; यह npm पर प्रकाशित इंस्टॉलेशन नहीं है. ये उदाहरण उन प्रोजेक्ट के लिए हैं जिनमें वर्कस्पेस का यह पैकेज उपलब्ध है. स्वतंत्र क्लाइंट के लिए [HTTP API](/hi/developers/http-api) इस्तेमाल करें.

भरोसेमंद ओरिजिन स्पष्ट रूप से दें और कुंजी अपने प्रोसेस के सीक्रेट एनवायरनमेंट से लोड करें:

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

टूल खोजने के लिए `listTools()` और जिन टूल के लिए कैटलॉग में पुष्टि की ज़रूरत नहीं बताई गई है, उनके लिए `callTool(name, input)` इस्तेमाल करें; इनमें पहले से अनुमति मिले अपलोड को आगे बढ़ाने वाली कार्रवाइयाँ भी शामिल हैं. पुष्टि माँगने वाली कार्रवाइयों के लिए `prepareTool(name, input)` के बाद `confirmTool(name, input, confirmationCapability, { idempotencyKey })` इस्तेमाल करें. जवाब अनिश्चित हो तो वही इनपुट, कैपेबिलिटी और कुंजी रखें. SDK अनुरोधों और जवाबों का सत्यापन करता है और HTTP विफलताओं व टूल की विफलताओं पर `InfluenceSdkError` थ्रो करता है.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })` एक `Blob` स्वीकार करता है और पुष्टि वाला मल्टीपार्ट ट्रांसफ़र सँभालता है. उसी फ़ाइल को उसी `clientKey` के साथ दोबारा भेजें. अंतिम एसेट तैयार होने तक `mediaUploadGet` पढ़ें; प्रोसेस हो रहा अपलोड पब्लिश करने के लिए तैयार नहीं है. अलग [पब्लिशिंग समीक्षा और दोबारा कोशिश के नियम](/hi/developers/http-api) अपनाएँ.
