TypeScript SDK

Quản lý dịch vụ lưu trữ của bạn từ TypeScript

@zinn-digital/sdk là một client được định kiểu hoàn chỉnh dành cho Zinn Digital® API. Mọi đường dẫn, tham số và phản hồi đều được tạo từ chính đặc tả kỹ thuật OpenAPI dùng để xây dựng API, vì vậy trình soạn thảo của quý vị nắm rõ toàn bộ API và một lỗi chính tả sẽ trở thành lỗi biên dịch.

Tất cả tài liệu dành cho nhà phát triển →

Cài đặt

Gói này có trên npm thuộc phạm vi @zinn-digital. Gói hoạt động trong bất kỳ môi trường thực thi JavaScript nào có hỗ trợ fetch.

npm install @zinn-digital/sdk

Bắt đầu nhanh

Liệt kê các khu vực lưu trữ công khai mà không cần khóa, sau đó liệt kê các trang web của riêng bạn bằng một khóa.

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);

Xác thực

Các điểm cuối danh mục công khai, chẳng hạn như khu vực và gói dịch vụ, không cần thông tin xác thực. Mọi thứ khác đều sử dụng khóa API theo từng tổ chức được gửi dưới dạng bearer token. Khóa chỉ mang các quyền mà bạn cấp khi tạo và bạn có thể thu hồi bất cứ lúc nào. Hãy lưu trữ khóa trong biến môi trường hoặc kho lưu trữ bí mật của bạn, tuyệt đối không để trong mã nguồn.

Tạo khóa API trong bảng điều khiển của bạn

Những gì bạn nhận được

Toàn bộ API công khai, có định kiểu

Trang web, miền và DNS, thanh toán, hỗ trợ và mọi khu vực khác của API công khai. Các phản hồi và lỗi đều được định kiểu, đồng thời các kiểu lược đồ được xuất cho mã của riêng bạn.

Được tạo tự động, không bao giờ được viết thủ công

Máy khách là openapi-fetch dựa trên các kiểu được tạo từ đặc tả OpenAPI của chúng tôi. Phiên bản mới sẽ được tự động xuất bản bất cứ khi nào đặc tả thay đổi, nhờ đó điểm cuối mới sẽ đến được SDK mà không cần ai phải viết trình bao bọc.

Nhỏ gọn và ít phụ thuộc

Một phụ thuộc thời gian chạy duy nhất và fetch gốc. Công cụ này hoạt động trong Node.js, trong trình duyệt và trong các môi trường chạy edge, đồng thời được cấp phép MIT.

Đã nhập xuống tận cùng

Đọc các bản ghi DNS của một miền và lọc chúng theo loại bản ghi do thông số kỹ thuật xác định.

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);

Câu hỏi

Quý vị có SDK TypeScript hoặc JavaScript không?

Vâng. Hãy cài đặt @zinn-digital/sdk từ npm. Đây là một ứng dụng khách có định kiểu đầy đủ được tạo từ đặc tả OpenAPI của chúng tôi, và nó bao gồm toàn bộ API công khai.

Làm thế nào để xác thực?

Hãy tạo một khóa API trên trang Các khóa API trong bảng điều khiển của bạn và gửi khóa đó dưới dạng mã xác thực người mang (bearer token) trong tiêu đề Authorization. Các điểm cuối danh mục công khai không cần khóa.

SDK được duy trì cập nhật như thế nào?

Nội dung này được tạo từ cùng một đặc tả OpenAPI dùng để xây dựng API, và phiên bản mới sẽ được tự động xuất bản bất cứ khi nào đặc tả đó thay đổi.

Khám phá mọi điểm cuối

Mọi thao tác mà SDK có thể gọi đều được mô tả trong tài liệu tham khảo API, cùng với các tham số, phản hồi và quyền hạn của thao tác đó.

Tài liệu tham khảo API