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 कुञ्जी सिर्जना गर्नुहोस्

तपाईंले के पाउनुहुन्छ

सम्पूर्ण सार्वजनिक 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 सन्दर्भमा व्याख्या गरिएको छ।

एपीआई सन्दर्भ