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 բանալի ձեր կառավարման վահանակում

Ինչ եք ստանում

Ամբողջ հանրային API-ն՝ տիպավորված

Կայքեր, դոմեյններ և DNS, վճարումներ, աջակցություն և հանրային API-ի ցանկացած այլ ոլորտ: Պատասխանները և սխալները տիպավորված են, իսկ սխեմայի տիպերը արտահանվում են ձեր սեփական կոդի համար:

Գեներացված, ոչ երբեք ձեռքով գրված

Հաճախորդը openapi-fetch-ն է մեր OpenAPI բնութագրից ստեղծված տիպերի վրա: Նոր տարբերակը հրապարակվում է ավտոմատ կերպով, երբ բնութագիրը փոխվում է, ուստի նոր վերջնակետը հասնում է SDK-ին՝ առանց որևէ մեկի կողմից փաթաթիչ գրելու:

Փոքր և քիչ կախվածություններով

Գործարկման ժամանակի մեկ կախվածություն և ներկառուցված fetch: Այն աշխատում է Node.js-ում, բրաուզերում և edge միջավայրերում, և ունի 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:

Այո: Տեղադրեք @zinn-digital/sdk-ը npm-ից: Սա մեր OpenAPI բնութագրից ստեղծված լիովին տիպավորված հաճախորդ է և ընդգրկում է ամբողջ հանրային API-ը:

Ինչպե՞ս անցնել նույնականացում:

Ստեղծեք API բանալի ձեր կառավարման վահանակի «API բանալիներ» էջում և ուղարկեք այն որպես կրող թոքեն Authorization վերնագրում: Հանրային կատալոգի վերջնակետերը բանալի չեն պահանջում:

Ինչպե՞ս է SDK-ն թարմացվում:

Այն ստեղծվում է OpenAPI-ի նույն բնութագրից, որից կառուցված է API-ը, և ամեն անգամ, երբ այդ բնութագիրը փոխվում է, նոր տարբերակն ինքնաշխատ կերպով հրապարակվում է:

Ուսումնասիրեք յուրաքանչյուր վերջնակետ

SDK-ի կողմից կանչվող յուրաքանչյուր գործողություն նկարագրված է API-ի տեղեկատուում՝ իր պարամետրերով, պատասխաններով և թույլտվություններով:

API-ի տեղեկատու