TypeScript SDK
Хостингіңізді TypeScript арқылы басқарыңыз
@zinn-digital/sdk — Zinn Digital® API үшін толық типтелген клиент. Әрбір жол, параметр және жауап API құрылған OpenAPI сипаттамасынан жасалады, сондықтан сіздің редакторыңыз бүкіл API-ді біледі және қате басу компиляция қатесі болып табылады.
Орнату
Пакет @zinn-digital ауқымында npm ішінде қолжетімді. Ол fetch бар кез келген JavaScript орындалу ортасында жұмыс істейді.
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 кілтін пайдаланады. Кілт тек оны жасаған кезде берілген рұқсаттарға ғана ие болады және оны кез келген уақытта қайтарып ала аласыз. Оны бастапқы кодта емес, орта айнымалысында немесе құпия деректер қоймасында сақтаңыз.
Сіз алатын мүмкіндіктер
Барлық жалпыға қолжетімді 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 тақырыптамасында bearer токені ретінде жіберіңіз. Жалпыға қолжетімді каталог соңғы нүктелеріне кілт қажет емес.
SDK қалай үнемі жаңартылып отырады?
Ол API құрылған сол OpenAPI сипаттамасынан жасалады және сол сипаттама өзгерген сайын жаңа нұсқа автоматты түрде жарияланады.
Әрбір соңғы нүктені зерттеу
SDK шақыра алатын әрбір операция параметрлерімен, жауаптарымен және рұқсаттарымен бірге API анықтамалығында сипатталған.