TypeScript SDK
TypeScript-ээс өөрийн хостингийг удирдаарай
@zinn-digital/sdk нь Zinn Digital® API-д зориулсан бүрэн төрөлжүүлсэн клиент юм. Зам, параметр болон хариу үйлдэл бүрийг API-г бүтээсэн OpenAPI техникийн тодорхойлолтоос үүсгэдэг тул таны засварлагч бүхэл бүтэн API-г таних бөгөөд үсгийн алдаа нь хөрвүүлэлтийн алдаа болно.
Суулгах
Энэхүү багц нь 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);Баталгаажуулалт
Бүс нутаг болон төлөвлөгөө зэрэг нийтийн каталогийн төгсгөлийн цэгүүдэд ямар ч итгэмжлэл шаардлагагүй. Бусад бүх зүйл bearer token хэлбэрээр илгээгддэг байгууллага бүрийн API түлхүүрийг ашигладаг. Түлхүүр нь зөвхөн үүсгэх үед таны олгосон зөвшөөрлийг агуулдаг бөгөөд та үүнийг хүссэн үедээ хүчингүй болгох боломжтой. Үүнийг эх кодонд хэзээ ч бүү хадгал, орчны хувьсагч эсвэл нууц мэдээллийн сандаа хадгална уу.
Таны авах зүйлс
Бүх нийтийн API бүрэн эхээрээ, төрөлжсөн
Сайтууд, домэйнууд ба DNS, төлбөр тооцоо, дэмжлэг болон нийтийн API-н бусад бүх хэсэг. Хариултууд болон алдаанууд нь төрөлтэй бөгөөд схемийн төрлүүдийг таны өөрийн кодонд зориулан экспортлосон болно.
Үүсгэсэн, гараар хэзээ ч бичээгүй
Клиент нь манай OpenAPI тодорхойлолтоос үүсгэгдсэн төрлүүд дээрх openapi-fetch юм. Тодорхойлолт өөрчлөгдөх бүрд шинэ хувилбар автоматаар нийтлэгддэг тул хэн ч wrapper бичих шаардлагагүйгээр шинэ төгсгөлийн цэг 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-ийн лавлахад тайлбарласан болно.