@zinn-digital/sdk అనేది npmలో ప్రచురించబడిన Zinn Digital® API కొరకు మా అధికారిక TypeScript క్లయింట్. దీనిలోని ప్రతి పాత్, పారామీటర్ మరియు ప్రతిస్పందన API నిర్మించబడిన అదే OpenAPI వివరణ నుండి రూపొందించబడతాయి మరియు ఆ వివరణ మారినప్పుడల్లా స్వయంచాలకంగా కొత్త వెర్షన్ ప్రచురించబడుతుంది. ఈ గైడ్ దీనిని ఇన్స్టాల్ చేస్తుంది, ప్రమాణీకరిస్తుంది మరియు మీ మొదటి కాల్లను చేస్తుంది.
ఇన్స్టాల్ చేయండి
npm install @zinn-digital/sdk
ఇది fetch ఉన్న ఏ JavaScript రన్టైమ్లోనైనా పనిచేస్తుంది: Node.js, బ్రౌజర్ మరియు edge రన్టైమ్లు. ఇది openapi-fetch అనే ఒక రన్టైమ్ డిపెండెన్సీని కలిగి ఉంది, మరియు ఇది MIT-లైసెన్స్ పొందింది.
API కీని సృష్టించండి
మీ డ్యాష్బోర్డ్లోని API కీలు పేజీని తెరిచి (app.zinndigital.com/api-keys), కీని సృష్టించండిని నొక్కండి. కీకి ఒక పేరును మరియు మీ కోడ్కు అవసరమైన అనుమతులను మాత్రమే ఇవ్వండి — ఉదాహరణకు సైట్లను జాబితా చేయడానికి sites.view. కీ ఒకసారి మాత్రమే చూపబడుతుంది; దానిని ఎన్విరాన్మెంట్ వేరియబుల్లో లేదా మీ రహస్య స్టోర్లో భద్రపరచండి, సోర్స్ కోడ్లో ఎప్పుడూ ఉంచవద్దు. మీరు ఇదే పేజీలో ఎప్పుడైనా కీని రద్దు చేయవచ్చు.
హోస్టింగ్ ప్రాంతాలు మరియు ప్లాన్ల వంటి పబ్లిక్ కాటలాగ్ ఎండ్పాయింట్లకు ఎటువంటి కీ అవసరం లేదు.
మీ మొదటి కాల్స్
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);
ZINN_API_KEY=zdk_live_… npx tsx first-calls.tsతో దీన్ని అమలు చేయండి. మొదటి లైన్ హోస్టింగ్ ప్రాంతాలను ముద్రిస్తుంది, ఆపై సైట్కు ఒక లైన్ చొప్పున ముద్రిస్తుంది.
మీ స్వంత కోడ్ కోసం రకాలు
స్కీమా రకాలు ఎగుమతి చేయబడతాయి, కాబట్టి మీ స్వంత ఫంక్షన్లు API ఆకారాలను ఉపయోగించవచ్చు:
import type { components } from "@zinn-digital/sdk";
type Site = components["schemas"]["Site"];
type DnsRecord = components["schemas"]["DnsRecord"];
తప్పుగా వ్రాయబడిన పాత్, పారామీటర్ లేదా ఫీల్డ్ అనేది నిశ్శబ్దంగా తప్పుడు పనిని చేసే అభ్యర్థన కాకుండా కంపైల్ లోపం అవుతుంది.
లోపాలు
ప్రతి కాల్ { data, error, response }ను అందిస్తుంది. 2xx కాని ప్రతిస్పందనపై data నిర్వచించబడదు మరియు error అనేది API యొక్క లోపం ఎన్వలప్: error.error.code, మానవులు చదవగలిగే error.error.message మరియు ధ్రువీకరణ వైఫల్యాల కోసం ప్రతి ఫీల్డ్ను పేర్కొనే error.error.details. 403 అంటే ఎండ్పాయింట్కు అవసరమైన అనుమతిని కీ కలిగి లేదని అర్థం — అంతకంటే ఎక్కువ అనుమతులు ఉన్నదాన్ని తిరిగి ఉపయోగించకుండా ఆ అనుమతితో ఒక కీని సృష్టించండి.
తర్వాత ఎక్కడికి వెళ్లాలి
- మా వెబ్సైట్లోని మార్గదర్శి: zinndigital.com/developers/sdk-typescript
- ప్రతి ఎండ్పాయింట్, దాని పారామీటర్లు మరియు దాని అనుమతి: zinndigital.com/developers/api
- npm లోని ప్యాకేజీ: npmjs.com/package/@zinn-digital/sdk