@zinn-digital/sdk shine abokin ciniki na TypeScript na hukuma don Zinn Digital® API, wanda aka buga a npm. Kowane hanya, ma'auni da amsa a cikinsa an samar da su daga ƙayyadaddun OpenAPI iri ɗaya wanda aka gina API ɗin daga ciki, kuma ana buga sabon salo ta atomatik duk lokacin da wannan ƙayyadaddun ya canza. Wannan jagorar tana girka shi, tana tantance shi kuma tana yin kiraye-kirayenku na farko.
Girka
npm install @zinn-digital/sdk
Yana aiki a cikin kowace runtime ta JavaScript da ke da fetch: Node.js, burawsa da kuma edge runtimes. Yana da runtime dependency guda ɗaya, openapi-fetch, kuma yana da lasisin MIT.
Ƙirƙiri maɓallin API
Buɗe shafin Maɓallan API na dashboard ɗinku (app.zinndigital.com/api-keys) sannan ku danna Ƙirƙiri maɓalli. Ba wa maɓallin suna da kuma izini kawai waɗanda lambar lambobinku ke buƙata — misali sites.view don jera shafuka. Ana nuna maɓallin sau ɗaya kawai; adana shi a cikin wani environment variable ko ma'ajiyar sirrinku, kada ku taɓa saka shi a cikin lambar tushe. Kuna iya soke maɓalli a kowane lokaci a shafi ɗaya.
Endpoints na catalogue na jama'a, kamar yankunan hosting da tsare-tsare, ba sa buƙatar kowane maɓalli ko kaɗan.
Kiranku na farko
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);
Kuna iya kunna shi da ZINN_API_KEY=zdk_live_… npx tsx first-calls.ts. Layi na farko yana buga yankunan karɓar baƙuncin yanar gizo, sannan layi ɗaya ga kowane shafi.
Nau'o'i don lambar ku ta kanku
Ana fitar da nau'o'in schema, domin ayyukanku na kanku su iya amfani da siffofin API:
import type { components } from "@zinn-digital/sdk";
type Site = components["schemas"]["Site"];
type DnsRecord = components["schemas"]["DnsRecord"];
Kuskuren rubutun hanya, siga ko fili yana zama kuskuren haɗawa maimakon buƙatar da ke yin abin da ba daidai ba a ɓoye.
Kurakurai
Kowace kira tana mayar da { data, error, response }. A kan amsar da ba 2xx ba data ba a ayyana shi ba kuma error ita ce ambulaf ɗin kuskuren API: error.error.code, error.error.message da ɗan adam zai iya karantawa da kuma, don gazawar tabbatarwa, error.error.details mai ambaton kowane fili. 403 yana nufin maɓallin ba ya ɗauke da izinin da matsayar ke buƙata — ƙirƙiri maɓalli mai wannan izinin maimakon sake amfani da wanda ke da ƙari.
Inda za a je na gaba
- Jagora a rukunin yanar gizonmu: zinndigital.com/developers/sdk-typescript
- Kowane matsayar ƙarshe, sigoginsa da izininsa: zinndigital.com/developers/api
- Kunshin a kan npm: npmjs.com/package/@zinn-digital/sdk