Перейти к содержимому
Influence
Esc
↑↓навигация↵открыть⌘Jпредпросмотр
На этой странице

TypeScript SDK

Используйте SDK из репозитория для типизированного чтения, подтверждённых изменений и загрузки локальных медиа.

@influence/sdk пока является закрытым пакетом в репозитории и не опубликован в npm. Эти примеры предназначены для проектов, которым доступен этот пакет из репозитория. Для независимого клиента используйте HTTP API.

Явно укажите доверенный адрес и загрузите ключ из защищённых переменных окружения процесса:

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 проверяет запросы и ответы и выбрасывает InfluenceSdkError при ошибках HTTP и инструментов.

uploadMedia(file, { clientKey, name, contentType, sizeBytes }) принимает Blob и выполняет подтверждённую multipart-передачу. Повторяйте попытку с тем же файлом и clientKey. Читайте mediaUploadGet, пока итоговый медиафайл не будет готов; обрабатываемая загрузка ещё не готова к публикации. Соблюдайте отдельные правила проверки перед публикацией и повторных попыток.