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 හි, බ්රව්සරයේ සහ edge ධාවන කාලයන්හි ක්රියාත්මක වන අතර, එය 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 විමර්ශනයෙහි විස්තර කර ඇත.