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-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-ի տեղեկատուում՝ իր պարամետրերով, պատասխաններով և թույլտվություններով: