TypeScript SDK

የእርስዎን ሆስቲንግ ከTypeScript ያስኪዱ

@zinn-digital/sdk ለ Zinn Digital® API ሙሉ በሙሉ የተተየበ ደንበኛ ነው። እያንዳንዱ ዱካ፣ መለኪያ እና ምላሽ APIው ከተገነባበት ተመሳሳይ OpenAPI ዝርዝር መግለጫ የተፈጠረ ነው፣ ስለዚህ የእርስዎ አርታዒ አጠቃላይ APIውን ያውቃል እና የፊደል ስህተት የማጠናቀር ስህተት (compile error) ይሆናል።

ሁሉም የገንቢ ሰነዶች →

ጫን

ጥቅሉ በnpm ላይ በ@zinn-digital ስፋት ስር ይገኛል። 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);

ማረጋገጫ

እንደ ክልሎች እና ዕቅዶች ያሉ ይፋዊ የካታሎግ የመጨረሻ ነጥቦች (endpoints) ምንም ምስክርነት አያስፈልጋቸውም። ሌላው ሁሉ እንደ ተሸካሚ ቶከን (bearer token) የሚላክ የድርጅት-ተኮር የኤፒአይ ቁልፍ (API key) ይጠቀማል። አንድ ቁልፍ ሲፈጥሩት የሰጡትን ፈቃድ ብቻ ይይዛል፣ እና በማንኛውም ጊዜ ሊሰርዙት ይችላሉ። በአካባቢ ተለዋዋጭ (environment variable) ወይም በሚስጥር ማከማቻዎ ውስጥ ያስቀምጡት እንጂ በፍፁም በምንጭ ኮድ ውስጥ አያስቀምጡት።

በመቆጣጠሪያ ሰሌዳዎ ውስጥ የAPI ቁልፍ ይፍጠሩ

የሚያገኙት ነገር

አጠቃላይ ይፋዊ ኤፒአይ፣ ዓይነት የተሰጠው

ድህረ ገጾች፣ ጎራዎች እና ዲኤንኤስ፣ የክፍያ አከፋፈል፣ ድጋፍ እና እያንዳንዱ ሌላ ይፋዊ ኤፒአይ አካባቢ። ምላሾች እና ስህተቶች ዓይነት ተለይቶላቸዋል፣ እንዲሁም የመርሃግብር ዓይነቶች ለእራስዎ ኮድ ተልከዋል።

የተፈጠረ፣ በጭራሽ በእጅ ያልተጻፈ

ደንበኛው በእኛ የOpenAPI ዝርዝር መግለጫ ከተፈጠሩ አይነቶች በላይ openapi-fetch ነው። ዝርዝር መግለጫው በተለወጠ ቁጥር አዲስ ስሪት በራስ-ሰር ይታተማል፣ ስለዚህ ማንም ሰው መጠቅለያ ሳይጽፍ አዲስ የመጨረሻ ነጥብ ኤስዲኬ ይደርሳል።

አነስተኛ እና ጥቂት ጥገኝነቶች ያሉት

አንድ የማስኬጃ ጥገኝነት እና ነባር fetch። በ Node.js፣ በአሳሽ እና በ edge ማስኬጃዎች ውስጥ ይሰራል፣ እንዲሁም በ MIT-ፈቃድ የተሰጠው ነው።

እስከ መጨረሻው ተተይቧል

የአንድን ጎራ የዲኤንኤስ መዝገቦች ያንብቡ እና ዝርዝር መግለጫው በሚወስነው የመዝገብ ዓይነት ያጣሯቸው።

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 አለዎት?

አዎ። @zinn-digital/sdkን ከ npm ይጫኑ። እሱ ከእኛ የ OpenAPI ዝርዝር መግለጫ የተፈጠረ ሙሉ በሙሉ የተተየበ ደንበኛ ነው፣ እና አጠቃላይ ይፋዊ ኤፒአይን (API) ይሸፍናል።

እንዴት ማረጋገጥ እችላለሁ?

በዳሽቦርድዎ የኤፒአይ ቁልፎች ገጽ ላይ የኤፒአይ ቁልፍ ይፍጠሩ እና በAuthorization ራስጌ ውስጥ እንደ ተሸካሚ ቶከን ይላኩት። የህዝብ ካታሎግ የመጨረሻ ነጥቦች ምንም ቁልፍ አያስፈልጋቸውም።

SDK እንዴት ነው ወቅታዊ ሆኖ የሚቆየው?

ኤፒአይው ከተገነባበት ከተመሳሳይ የOpenAPI ዝርዝር መግለጫ የተፈጠረ ሲሆን፣ ያ ዝርዝር መግለጫ በተለወጠ ቁጥር አዲስ እትም በራስ-ሰር ይታተማል።

እያንዳንዱን የመጨረሻ ነጥብ ያስሱ

SDK ሊጠራው የሚችለው እያንዳንዱ ክንውን ከነመለኪያው፣ ምላሾቹ እና ፈቃዶቹ ጋር በAPI ማመሳከሪያ ውስጥ ተገልጿል።

የኤፒአይ ማጣቀሻ