TypeScript SDK
Gudanar da shirin bakuncin ku daga TypeScript
@zinn-digital/sdk abokin ciniki ne mai cikakken rubutu don Zinn Digital® API. Kowane tafarki, ma'auni da amsa ana samar da su daga ƙayyadaddun OpenAPI ɗaya wanda aka gina API ɗin daga ciki, don haka editan ku ya san duka API ɗin kuma kuskuren rubutu kuskuren haɗawa (compile error) ne.
Sanya
Kunshin yana kan npm a karkashin ikon @zinn-digital. Yana aiki a cikin kowane yanayin aiki na JavaScript wanda ke da fetch.
npm install @zinn-digital/sdkFara cikin sauri
Jera yankunan karɓar baƙuncin yanar gizo na jama'a ba tare da mabuɗi ba, sannan ka jera shafukanka tare da guda ɗaya.
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);Tabbatarwa
Teburan kundayen adireshi na jama'a, kamar yankuna da tsare-tsare, ba sa buƙatar kowane shaidar shiga. Duk wani abu daban yana amfani da maɓallin API na kowace ƙungiya wanda aka aika a matsayin bearer token. Maɓalli yana ɗaukar izinin da ka ba shi kawai lokacin da ka ƙirƙire shi, kuma za ka iya soke shi a kowane lokaci. Ajiye shi a cikin environment variable ko ma'ajiyar sirrinka, kada ka taɓa sanya shi a cikin lambar asali (source code).
Abin da za ku samu
Duk API na jama'a, wanda aka rarraba
Shafuka, yankuna da DNS, biyan kudi, tallafi da kowane yanki na API na jama'a. Amsoshi da kurakurai an rarraba nau'ikansu, kuma ana fitar da nau'ikan tsarin don lambar ku.
Wanda aka samar ta atomatik, ba a taba rubuta da hannu ba
Abokin ciniki shine openapi-fetch akan nau'ikan da aka samar daga ƙayyadaddun OpenAPI ɗinmu. Ana buga sabon salo ta atomatik a duk lokacin da ƙayyadaddun suka canza, don haka sabon madogara (endpoint) yana isa ga SDK ba tare da kowa ya rubuta mayafi (wrapper) ba.
Ƙarami mai ƙarancin dogaro
Dogaro guda ɗaya na lokacin aiki da asalin fetch. Yana aiki a cikin Node.js, a cikin burauza da a cikin yanayin aiki na edge, kuma yana da lasisin MIT.
An rubuta har zuwa ƙasa
Karanta bayanan DNS na wani yanki kuma tace su ta amfani da nau'in bayanan da ƙayyadaddun bayanai suka bayyana.
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);Tambayoyi
Kuna da SDK na TypeScript ko JavaScript?
Ee. Shigar da @zinn-digital/sdk daga npm. Abokin ciniki ne da aka rubuta cikakke wanda aka kirkira daga takamaiman bayanin OpenAPI namu, kuma yana rufe dukkan API na jama'a.
Ta yaya zan tabbatar da kaina?
Ƙirƙiri maɓallin API a shafin Maɓallan API na allon sarrafawarku kuma aika shi a matsayin bearer token a cikin kanun Authorization. Ƙarshen kundayen adireshi na jama'a ba sa buƙatar kowane maɓalli.
Ta yaya ake sabunta SDK a kai a kai?
Ana samar da shi ne daga ƙayyadaddun OpenAPI ɗaya da aka gina API ɗin daga gare ta, kuma ana buga sabon babi kai tsaye duk lokacin da aka canza wannan ƙa'idar.
Bincika kowace madogara
Kowace aiki da SDK za ta iya kira an bayyana ta a cikin bayanan API, tare da ma'aunan ta, martanoni da izini.