TypeScript SDK
خپل کوربه توب له TypeScript څخه اداره کړئ
@zinn-digital/sdk د Zinn Digital® API لپاره یو بشپړ ټایپ شوی کلینټ دی. هره لار، پیرامیټر او ځواب له همغه OpenAPI مشخصاتو څخه تولید شوی چې API ترې جوړ شوی، نو ستاسو اډیټر بشپړ API پیژني او یوه املايي تېروتنه د کمپایل تېروتنه ګڼل کېږي.
نصب کول
بسته په npm کې د @zinn-digital ساحې لاندې شتون لري. دا په هر هغه 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، ډول ټاکل شوی
سایټونه، ډومینونه او 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 په لارښود کې تشریح شوي دي.