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.

Semua dokumentasi pembangun →

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/sdk

Mula 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.

Cipta kunci API dalam papan pemuka anda

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.

Rujukan API