SDK ל־TypeScript
השתמשו ב־SDK של המאגר לקריאת נתונים עם טיפוסים מוגדרים, לפעולות כתיבה מאושרות ולהעלאת מדיה מקומית.
@influence/sdk היא כיום חבילה פנימית של המאגר, שאינה מפורסמת להתקנה מ־npm. הדוגמאות האלה מיועדות לפרויקטים שחבילת סביבת העבודה הזאת זמינה בהם. ללקוח עצמאי, השתמשו בממשק API ב־HTTP.
ציינו במפורש את כתובת המקור המהימנה וטענו את המפתח ממשתנה סביבה סודי של התהליך:
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 עד שפריט המדיה הסופי יהיה מוכן; העלאה שנמצאת בעיבוד אינה מוכנה לפרסום. פעלו לפי כללי הבדיקה והניסיון החוזר הנפרדים לפרסום.