@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 අර්ථ දක්වා නැති (undefined) අතර 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