SDK TypeScript
Kelola hosting Anda dari TypeScript
@zinn-digital/sdk adalah klien bertipe lengkap (fully typed) untuk Zinn Digital® API. Setiap jalur, parameter, dan respons dibuat dari spesifikasi OpenAPI yang sama dengan yang digunakan untuk membangun API tersebut, sehingga editor Anda mengenali seluruh API dan salah ketik merupakan kesalahan kompilasi.
Instal
Paket ini tersedia di npm di bawah cakupan @zinn-digital. Paket ini berfungsi di semua runtime JavaScript yang memiliki fetch.
npm install @zinn-digital/sdkMulai cepat
Cantumkan wilayah hosting publik tanpa kunci, lalu cantumkan situs 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);Autentikasi
Titik akhir katalog publik, seperti wilayah dan paket, tidak memerlukan kredensial. Hal lainnya menggunakan kunci API per organisasi yang dikirim sebagai token pembawa. Kunci hanya membawa izin yang Anda berikan saat membuatnya, dan Anda dapat mencabutnya kapan saja. Simpan di variabel lingkungan atau penyimpanan rahasia Anda, jangan pernah di kode sumber.
Yang Anda dapatkan
Seluruh API publik, bertipe
Situs, domain dan DNS, penagihan, dukungan, dan setiap area lain dari API publik. Respons dan kesalahan telah ditentukan tipenya, dan tipe skema diekspor untuk kode Anda sendiri.
Dibuat otomatis, tidak pernah ditulis manual
Klien ini adalah openapi-fetch di atas tipe yang dihasilkan dari spesifikasi OpenAPI kami. Versi baru diterbitkan secara otomatis setiap kali spesifikasi berubah, sehingga titik akhir baru mencapai SDK tanpa perlu ada yang menulis pembungkus.
Kecil dan minim dependensi
Satu dependensi runtime dan fetch bawaan. Berjalan di Node.js, di browser, dan di runtime edge, serta berlisensi MIT.
Diketik sampai ke bawah
Baca data DNS suatu domain dan filter berdasarkan jenis data 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);Pertanyaan
Apakah Anda memiliki SDK TypeScript atau JavaScript?
Ya. Pasang @zinn-digital/sdk dari npm. Ini adalah klien dengan pengetikan lengkap yang dibuat dari spesifikasi OpenAPI kami, dan mencakup seluruh API publik.
Bagaimana cara saya melakukan autentikasi?
Buat kunci API di halaman Kunci API pada dasbor Anda dan kirimkan sebagai bearer token di header Authorization. Titik akhir katalog publik tidak memerlukan kunci.
Bagaimana SDK diperbarui secara berkala?
Ini dibuat dari spesifikasi OpenAPI yang sama dengan yang digunakan untuk membangun API, dan versi baru diterbitkan secara otomatis setiap kali spesifikasi tersebut berubah.
Jelajahi setiap endpoint
Setiap operasi yang dapat dipanggil oleh SDK dijelaskan dalam referensi API, lengkap dengan parameter, respons, dan izinnya.