TypeScript SDK
TypeScript నుండి మీ హోస్టింగ్ను నిర్వహించండి
@zinn-digital/sdk అనేది Zinn Digital® API కోసం పూర్తిగా టైప్ చేయబడిన క్లయింట్. API నిర్మించబడిన అదే OpenAPI వివరణ నుండి ప్రతి పాత్, పరామితి మరియు ప్రతిస్పందన రూపొందించబడ్డాయి, కాబట్టి మీ ఎడిటర్కు మొత్తం 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 ఎలా తాజాగా ఉంచబడుతుంది?
ఇది API నిర్మించబడిన అదే OpenAPI నిర్దిష్టత నుండి రూపొందించబడింది మరియు ఆ నిర్దిష్టత మారినప్పుడల్లా స్వయంచాలకంగా కొత్త సంస్కరణ ప్రచురించబడుతుంది.
ప్రతి ఎండ్పాయింట్ను అన్వేషించండి
SDK కాల్ చేయగల ప్రతి ఆపరేషన్ దాని పారామితులు, ప్రతిస్పందనలు మరియు అనుమతులతో సహా API రిఫరెన్స్లో వివరించబడింది.