SDK TypeScript
Urus pengehosan anda daripada TypeScript
@zinn-digital/sdk ialah klien ditaip sepenuhnya untuk Zinn Digital® API. Setiap laluan, parameter dan respons dijana daripada spesifikasi OpenAPI yang sama tempat API dibina, jadi editor anda mengetahui keseluruhan API dan kesilapan menaip ialah ralat kompilasi.
Pasang
Pakej ini berada di npm di bawah skop @zinn-digital. Ia berfungsi dalam mana-mana masa jalan JavaScript yang mempunyai fetch.
npm install @zinn-digital/sdkMula pantas
Senaraikan rantau pengehosan awam tanpa kunci, kemudian senaraikan tapak anda sendiri dengan kunci.
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);Pengesahan
Titik akhir katalog awam, seperti kawasan dan pelan, tidak memerlukan kelayakan. Perkara lain menggunakan kunci API bagi setiap organisasi yang dihantar sebagai bearer token. Sesuatu kunci hanya mengandungi kebenaran yang anda berikan semasa anda menciptanya, dan anda boleh membatalkannya pada bila-bila masa. Simpan ia dalam pemboleh ubah persekitaran atau stor rahsia anda, jangan sekali-kali dalam kod sumber.
Apa yang anda dapat
Keseluruhan API awam, ditaip
Tapak, domain dan DNS, pengebilan, sokongan dan setiap bahagian lain bagi API awam. Respons dan ralat ditaip, dan jenis skema dieksport untuk kod anda sendiri.
Dijana, tidak pernah ditulis secara manual
Klien tersebut ialah openapi-fetch ke atas jenis yang dijana daripada spesifikasi OpenAPI kami. Versi baharu diterbitkan secara automatik apabila spesifikasi berubah, jadi titik akhir baharu mencapai SDK tanpa sesiapa perlu menulis pembungkus.
Kecil dan kurang kebergantungan
Satu kebergantungan masa jalan dan fetch asli. Ia berfungsi dalam Node.js, dalam penyemak imbas dan dalam masa jalan edge, serta dilesenkan di bawah MIT.
Ditaip hingga ke bahagian bawah
Baca rekod DNS domain dan tapis rekod tersebut mengikut jenis rekod yang ditentukan oleh spesifikasi.
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);Soalan
Adakah anda mempunyai SDK TypeScript atau JavaScript?
Ya. Pasang @zinn-digital/sdk daripada npm. Ia adalah klien ditaip sepenuhnya yang dijana daripada spesifikasi OpenAPI kami, dan ia merangkumi keseluruhan API awam.
Bagaimanakah cara untuk saya mengesahkan?
Cipta kunci API pada halaman Kunci API papan pemuka anda dan hantarkannya sebagai token pembawa dalam pengepala Authorization. Titik akhir katalog awam tidak memerlukan kunci.
Bagaimanakah SDK sentiasa dikemas kini?
Ia dijana daripada spesifikasi OpenAPI yang sama dengan API dibina, dan versi baharu diterbitkan secara automatik apabila spesifikasi itu berubah.
Terokai setiap titik akhir
Setiap operasi yang boleh dipanggil oleh SDK diterangkan dalam rujukan API, bersama dengan parameter, respons dan kebenarannya.