@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