TypeScript SDK

TypeScript से अपनी होस्टिंग प्रबंधित करें

@zinn-digital/sdk Zinn Digital® API के लिए एक पूरी तरह से टाइप किया गया क्लाइंट है। प्रत्येक पथ, पैरामीटर और प्रतिक्रिया उसी OpenAPI विनिर्देश से उत्पन्न होती है जिससे API बनाया गया है, इसलिए आपका संपादक पूरे API को जानता है और टाइपो एक संकलन त्रुटि (compile error) है।

सभी डेवलपर दस्तावेज़ →

इंस्टॉल करें

यह पैकेज @zinn-digital स्कोप के तहत npm पर उपलब्ध है। यह ऐसे किसी भी JavaScript रनटाइम में काम करता है जिसमें fetch हो।

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 कुंजी बनाएं

आपको क्या मिलता है

संपूर्ण सार्वजनिक 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 संदर्भ में उसके पैरामीटर, प्रतिक्रियाओं और अनुमतियों के साथ दिया गया है।

एपीआई संदर्भ