TypeScript SDK
TypeScript बाट आफ्नो होस्टिङ व्यवस्थापन गर्नुहोस्
@zinn-digital/sdk Zinn Digital® API को लागि पूर्ण रूपमा टाइप गरिएको क्लाइन्ट हो। प्रत्येक पाथ, प्यारामिटर र प्रतिक्रिया उही OpenAPI विशिष्टीकरणबाट उत्पन्न गरिएको हो जसबाट API निर्माण गरिएको छ, त्यसैले तपाईंको सम्पादकलाई सम्पूर्ण 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);प्रमाणीकरण
क्षेत्रहरू र योजनाहरू जस्ता सार्वजनिक क्याटलग एन्डपोइन्टहरूलाई कुनै प्रमाणक आवश्यक पर्दैन। अरू सबैले bearer token को रूपमा पठाइएको प्रति-संस्था 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 हेडरमा बियरर टोकनको रूपमा पठाउनुहोस्। सार्वजनिक क्याटलग अन्त्यबिन्दुहरूलाई कुनै कुञ्जी चाहिँदैन।
SDK लाई कसरी अद्यावधिक राखिन्छ?
यो त्यही OpenAPI विनिर्देशबाट उत्पन्न हुन्छ जसबाट API बनाइएको हो, र जब त्यो विनिर्देश परिवर्तन हुन्छ, स्वचालित रूपमा नयाँ संस्करण प्रकाशित हुन्छ।
प्रत्येक अन्त्यविन्दु अन्वेषण गर्नुहोस्
SDK ले कल गर्न सक्ने प्रत्येक सञ्चालनलाई यसका प्यारामिटरहरू, प्रतिक्रियाहरू र अनुमतिहरूसहित API सन्दर्भमा व्याख्या गरिएको छ।