TypeScript SDK

TypeScript سے اپنی ہوسٹنگ کا نظم کریں

@zinn-digital/⁦sdk Zinn Digital® API⁩ کے لیے ایک مکمل طور پر ٹائپ شدہ کلائنٹ ہے۔ ہر راستہ، پیرامیٹر اور جواب اسی OpenAPI تصریح سے تیار کیا جاتا ہے جس سے API بنایا گیا ہے، لہذا آپ کا ایڈیٹر پورے API کو جانتا ہے اور ٹائپنگ کی غلطی ایک کمپائل کی خرابی بن جاتی ہے۔

تمام ڈویلپر دستاویزات →

انسٹال کریں

یہ پیکیج @zinn-digital اسکوپ کے تحت npm پر دستیاب ہے۔ یہ کسی بھی ایسے JavaScript رن ٹائم میں کام کرتا ہے جس میں fetch ہو۔

npm install @zinn-digital/sdk

فوری آغاز

بغیر کسی کلید کے عوامی ہوسٹنگ کے خطوں کی فہرست بنائیں، پھر ایک کلید کے ساتھ اپنی سائٹس کی فہرست بنائیں۔

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

تصدیق

عوامی کیٹلاگ اینڈ پوائنٹس، جیسے کہ خطے اور منصوبے، کو کسی اسناد کی ضرورت نہیں ہوتی۔ باقی ہر چیز کے لیے فی تنظیم API کلید استعمال ہوتی ہے جسے بطور bearer token بھیجا جاتا ہے۔ ایک کلید میں صرف وہی اجازتیں شامل ہوتی ہیں جو آپ اسے تخلیق کرتے وقت دیتے ہیں، اور آپ اسے کسی بھی وقت منسوخ کر سکتے ہیں۔ اسے کسی ماحولیاتی متغیر یا اپنے خفیہ اسٹور میں رکھیں، کبھی بھی سورس کوڈ میں نہیں۔

اپنے ڈیش بورڈ میں ایک API کلید بنائیں

آپ کو کیا ملتا ہے

مکمل عوامی API، ٹائپ شدہ

سائٹس، ڈومینز اور DNS، بلنگ، سپورٹ اور پبلک API کا ہر دوسرا شعبہ۔ جوابات اور نقائص ٹائپ شدہ ہیں، اور آپ کے اپنے کوڈ کے لیے سکیما کی اقسام برآمد کی جاتی ہیں۔

خودکار تیار کردہ، کبھی ہاتھ سے نہیں لکھا گیا

کلائنٹ ہماری OpenAPI تفصیلات سے تیار کردہ اقسام پر openapi-fetch ہے۔ جب بھی تفصیلات میں تبدیلی ہوتی ہے تو نیا ورژن خود بخود شائع ہو جاتا ہے، اس طرح کوئی ریپر لکھے بغیر نیا اینڈ پوائنٹ SDK تک پہنچ جاتا ہے۔

چھوٹا اور کم انحصار والا

رن ٹائم کا صرف ایک انحصار اور مقامی fetch۔ یہ Node.js میں، براؤزر میں اور ایج رن ٹائمز میں چلتا ہے، اور یہ MIT کے تحت لائسنس یافتہ ہے۔

بالکل نیچے تک ٹائپ کیا گیا

کسی ڈومین کے DNS ریکارڈز پڑھیں اور انہیں وضاحت کے ذریعے طے شدہ ریکارڈ کی قسم کے مطابق فلٹر کریں۔

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

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

// Paths, parameters and responses are all typed from the OpenAPI spec:
// a misspelt query parameter is a compile error, not a silent no-op.
const { data: records } = await api.GET("/v1/domains/{domainId}/dns/records", {
  params: { path: { domainId: "YOUR_DOMAIN_ID" } },
});
const txt: DnsRecord[] = (records?.data ?? []).filter((r) => r.type === "TXT");
for (const record of txt) console.log(record.name, record.value);

سوالات

کیا آپ کے پاس TypeScript یا JavaScript SDK دستیاب ہے؟

جی ہاں۔ npm سے @zinn-digital/sdk انسٹال کریں۔ یہ ہماری OpenAPI کی تفصیلات سے تیار کردہ ایک مکمل ٹائپ شدہ کلائنٹ ہے، اور یہ تمام عوامی API کا احاطہ کرتا ہے۔

میں کس طرح تصدیق کروں؟

اپنے ڈیش بورڈ کے API کیز کے صفحے پر ایک API کی بنائیں اور اسے Authorization ہیڈر میں بیئرر ٹوکن کے طور پر بھیجیں۔ پبلک کیٹلاگ اینڈ پوائنٹس کے لیے کسی کی کی ضرورت نہیں ہے۔

SDK کو کیسے اپ ٹو ڈیٹ رکھا جاتا ہے؟

یہ اسی OpenAPI تصریح سے تیار کیا جاتا ہے جس سے API بنایا گیا ہے، اور جب بھی اس تصریح میں کوئی تبدیلی آتی ہے تو خودکار طور پر ایک نیا ورژن شائع ہو جاتا ہے۔

ہر اختتامی نقطہ دریافت کریں

ہر آپریشن جسے SDK کال کر سکتا ہے، اس کے پیرامیٹرز، جوابات اور اجازتوں کے ساتھ API حوالہ میں بیان کیا گیا ہے۔

API حوالہ