@zinn-digital/sdk waa macmiilkeenna rasmiga ah ee TypeScript ee loogu talagalay Zinn Digital® API, kaas oo lagu daabacay npm. Waddo kasta, halbeeg kasta iyo jawaab kasta oo ku dhex jirta waxa laga soo saaray isla qeexitaanka OpenAPI ee API-ga laga dhisay, waxaana si toos ah loo daabacaa nooc cusub mar kasta oo qeexitaankaasi isbeddelo. Tilmaamahani waxa uu rakibayaa, xaqiijinayaa aqoonsigiisa, waxaanu samaynayaa wicitaannadaada ugu horreeya.
Rakib
npm install @zinn-digital/sdk
Waxay ku shaqaysaa jawi kasta oo JavaScript ah oo leh fetch: Node.js, biraawsarka iyo jawiyada edge. Waxay leedahay hal ku-tiirsanaanta shaqada, openapi-fetch, waxaana shati u ah MIT.
Samee furaha API
Fur bogga Furayaasha API ee khaanaddaada shaqada (app.zinndigital.com/api-keys) oo taabo Samee fure. Sii furaha magac iyo kaliya oggolaanshaha uu koodhkaagu u baahan yahay — tusaale ahaan sites.view si aad u taxdo boggaga. Furaha waxaa la muujiyaa hal mar oo kaliya; ku kaydi doorsoomaha deegaanka ama kaydkaaga sirta ah, waligaa ha ku kaydin koodhka asalka ah. Waxaad fure ka noqon kartaa wakhti kasta boggan dhexdiisa.
Barta dhammaadka buug-yaraha guud, sida gobollada martigelinta iyo qorshayaasha, uma baahna wax fure ah gabi ahaanba.
Wicitaannadaada ugu horreeya
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);
Ku socodsii ZINN_API_KEY=zdk_live_… npx tsx first-calls.ts. Khadka ugu horreeya wuxuu daabacayaa gobollada martigelinta, kaddibna hal khad goob kasta.
Noocyada koodhkaaga gaarka ah
Noocyada nidaamka (schema) waa la dhoofiyay, markaa shaqooyinkaaga gaarka ah waxay isticmaali karaan qaababka API-ga:
import type { components } from "@zinn-digital/sdk";
type Site = components["schemas"]["Site"];
type DnsRecord = components["schemas"]["DnsRecord"];
Waddo, halbeeg ama goob si qaldan loo higaadiyay waa khalad ururin halkii ay ka ahaan lahayd codsi si aamusan wax qaldan u sameeya.
Khaladaadka
Wicitaan kastaa wuxuu soo celiyaa { data, error, response }. Jawaabta aan ahayn 2xx data lama qeexin error-na waa baqshadda khaladka ee API-ga: error.error.code, qoraalka uu qofku akhrin karo ee error.error.message iyo, cilladaha xaqiijinta, error.error.details oo magacaabaya goob kasta. 403 macnaheedu waxa weeye furuhu ma sito fasaxa uu barta dhammaadku u baahan yahay — samee fure leh fasaxaas halkii aad dib u isticmaali lahayd mid leh wax ka badan.
Halkee xiga oo la aadaa
- Hagaha ku yaal degelkayaga: zinndigital.com/developers/sdk-typescript
- Barta dhammaadka kasta, halbeegyadeeda iyo fasaxeeda: zinndigital.com/developers/api
- Xirmada ku jirta npm: npmjs.com/package/@zinn-digital/sdk