پایگاه دانش

استفاده از TypeScript SDK (@zinn-digital/sdk)

بسته @zinn-digital/sdk را از npm نصب کنید، یک کلید API ایجاد نمایید و نخستین فراخوانی‌های دارای نوع خود را از TypeScript به Zinn Digital® API انجام دهید — مناطق عمومی بدون کلید، سپس سایت‌های خودتان — به‌علاوه انواع اسکیمای صادرشده و نحوه بازگردانده شدن خطاها.

@zinn-digital/sdk کلاینت رسمی TypeScript ما برای Zinn Digital® API است که در npm منتشر شده است. هر مسیر، پارامتر و پاسخ در آن از همان مشخصات OpenAPI تولید می‌شود که API از آن ساخته شده است، و هر بار که این مشخصات تغییر کند، نسخه جدیدی به‌طور خودکار منتشر می‌شود. این راهنما آن را نصب می‌کند، احراز هویت می‌کند و اولین فراخوانی‌های شما را انجام می‌دهد.

نصب

npm install @zinn-digital/sdk

در هر محیط زمان اجرای JavaScript که دارای fetch باشد کار می‌کند: Node.js، مرورگر و محیط‌های زمان اجرای edge. این ابزار دارای یک وابستگی زمان اجرا به نام openapi-fetch است و تحت مجوز MIT قرار دارد.

ایجاد یک کلید API

صفحه کلیدهای API داشبورد خود را باز کنید (app.zinndigital.com/api-keys) و ایجاد یک کلید را فشار دهید. یک نام به کلید بدهید و فقط مجوزهایی را تعیین کنید که کد شما به آنها نیاز دارد — برای مثال sites.view جهت فهرست کردن سایت‌ها. کلید فقط یک بار نشان داده می‌شود؛ آن را در یک متغیر محیطی یا مخزن اسرار خود ذخیره کنید، هرگز در کد منبع قرار ندهید. شما می‌توانید در هر زمان یک کلید را در همان صفحه لغو کنید.

نقاط پایانی کاتالوگ عمومی، مانند مناطق میزبانی و طرح‌ها، اصلاً به هیچ کلیدی نیاز ندارند.

نخستین فراخوانی‌های شما

import { createApiClient } from "@zinn-digital/sdk";

const api = createApiClient({ baseUrl: "https://api.zinndigital.com" });

// Public catalogue endpoints need no key.
const { data: regions } = await api.GET("/v1/catalog/regions");
console.log(regions?.data.map((r) => r.slug));

// Everything else uses a per-organisation API key.
api.use({
  onRequest({ request }) {
    request.headers.set("Authorization", `Bearer ${process.env.ZINN_API_KEY}`);
  },
});

const { data, error } = await api.GET("/v1/sites", { params: { query: { limit: 5 } } });
if (error) throw new Error(error.error.message);
for (const site of data.data) console.log(site.name, site.status);

آن را با ZINN_API_KEY=zdk_live_… npx tsx first-calls.ts اجرا کنید. خط اول مناطق میزبانی را چاپ می‌کند، سپس یک خط برای هر سایت.

انواع داده برای کد خودتان

انواع شِما صادر می‌شوند، بنابراین توابع خودتان می‌توانند از ساختارهای API استفاده کنند:

import type { components } from "@zinn-digital/sdk";

type Site = components["schemas"]["Site"];
type DnsRecord = components["schemas"]["DnsRecord"];

یک مسیر، پارامتر یا فیلد که اشتباه تایپ شده باشد، به‌جای درخواستی که در سکوت کار اشتباهی را انجام دهد، یک خطای کامپایل است.

خطاها

هر فراخوانی { data, error, response } را برمی‌گرداند. در یک پاسخ غیر از 2xx مقدار data تعریف‌نشده (undefined) است و error همان پوشش خطای API است: error.error.code، یک error.error.message خوانا برای انسان، و برای موارد عدم موفقیت در اعتبارسنجی، error.error.details که نام هر فیلد را مشخص می‌کند. کد 403 بدان معناست که کلید فاقد مجوزی است که نقطه پایانی نیاز دارد — به‌جای استفاده مجدد از کلیدی با مجوزهای بیشتر، کلیدی با همان مجوز ایجاد کنید.

مراحل بعدی

  • راهنمای موجود در وب‌سایت ما: zinndigital.com/developers/sdk-typescript
  • تمام نقاط پایانی، پارامترهای آن‌ها و مجوز مربوطه: zinndigital.com/developers/api
  • بسته در npm: npmjs.com/package/@zinn-digital/sdk

تمام اسناد توسعه‌دهنده →

جدیدترین‌های وبلاگ

آنچه درباره میزبانی وب، سئو و مدیریت سایت‌ها در مقیاس بزرگ نوشته‌ایم.

سئو و لینک‌سازی از لایه میزبانی: دیدگاه یک اپراتور در سال ۲۰۲۶

چگونه هاستینگ در سال ۲۰۲۶ بر ایندکس شدن و انتقال اعتبار لینک تأثیر می‌گذارد: حفظ صفحات در ایندکس، ارزیابی دامنه‌های قدیمی قبل از راه‌اندازی سایت روی آن‌ها، لینک‌سازی بدون ردپای سئو، و رویکردی واقع‌بینانه درباره اینکه زیرساخت چه کارهایی را می‌تواند و چه کارهایی را نمی‌تواند برای سئو انجام دهد.

خواندن مطلب ←

سریع و امن کردن WordPress: چک‌لیست عملکرد و افزونه‌ها

یک چک‌لیست کاربردی برای WordPress سریع و ایمن: کش کردن در سطح سرور، کش اشیاء به ازای هر سایت، تعداد اندک افزونه‌هایی که ارزش استفاده دارند، به‌روز نگه داشتن بسته نرم‌افزاری، و برگه های WooCommerce که هرگز نباید آن‌ها را کش کنید.

خواندن مطلب ←

نحوه انتخاب هاست مدیریت‌شده وب در سال ۲۰۲۶: راهنمای خریدار

چه چیزی واقعاً یک میزبانی مدیریت‌شده خوب را از یک جعبه ارزان‌قیمت دارای کنترل‌پنل متمایز می‌کند — مهاجرت‌ها، نسخه‌های پشتیبان، جداسازی، حافظه پنهان واقعی و مقیاس‌پذیری صادقانه — و چگونه پیش از تعهد، آن را ارزیابی کنید.

خواندن مطلب ←

وبلاگ را بخوانید ←

هنوز به مشکل برخورده‌اید؟

پشتیبانی در تمامی پلن‌ها گنجانده شده است، میز خدمت 24 ساعت در روز باز است و می‌توانید به هر یک از زبان‌های 58 ما برای ما بنویسید؛ ما به زبان شما پاسخ می‌دهیم.

تماس با پشتیبانی → همه مقاله‌ها →