TypeScript SDK
TypeScript에서 호스팅을 제어하세요
@zinn-digital/sdk는 Zinn Digital® API를 위한 완전한 타입이 지정된 클라이언트입니다. 모든 경로, 매개변수 및 응답은 API가 구축된 것과 동일한 OpenAPI 사양에서 생성되므로, 편집기가 전체 API를 인식하며 오타는 컴파일 오류로 처리됩니다.
설치
패키지는 @zinn-digital 범위의 npm에 있습니다. fetch가 지원되는 모든 JavaScript 런타임에서 작동합니다.
npm install @zinn-digital/sdk빠른 시작
키 없이 공개 호스팅 리전을 나열한 다음, 키를 사용하여 자체 사이트를 나열하십시오.
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);인증
지역 및 요금제와 같은 공개 카탈로그 엔드포인트에는 인증 정보가 필요하지 않습니다. 그 외의 모든 항목은 bearer token으로 전송되는 조직별 API 키를 사용합니다. 키에는 생성 시 부여한 권한만 포함되며, 언제든지 해지할 수 있습니다. 소스 코드가 아닌 환경 변수 또는 보안 저장소에 보관하십시오.
포함 내역
전체 퍼블릭 API, 타입 지원
사이트, 도메인 및 DNS, 결제, 지원 및 공개 API의 기타 모든 영역. 응답과 오류는 타입이 지정되어 있으며, 자체 코드를 위해 스키마 타입이 내보내집니다.
자동 생성됨, 직접 작성되지 않음
클라이언트는 당사의 OpenAPI 사양에서 생성된 유형 기반의 openapi-fetch입니다. 사양이 변경될 때마다 새 버전이 자동으로 게시되므로, 누구도 래퍼를 작성하지 않고도 새 엔드포인트가 SDK에 도달합니다.
작고 종속성이 적음
단 하나의 런타임 종속성과 기본 fetch. Node.js, 브라우저 및 엣지 런타임에서 실행되며 MIT 라이선스가 적용됩니다.
끝까지 입력됨
도메인의 DNS 레코드를 읽고 사양에 정의된 레코드 유형으로 필터링합니다.
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);질문
TypeScript 또는 JavaScript SDK가 있습니까?
예. npm에서 @zinn-digital/sdk를 설치하십시오. 당사의 OpenAPI 사양에서 생성된 완전히 타입이 지정된 클라이언트이며 전체 퍼블릭 API를 다룹니다.
어떻게 인증하나요?
대시보드의 API 키 페이지에서 API 키를 생성하고 Authorization 헤더에 베어러 토큰으로 전송하십시오. 공개 카탈로그 엔드포인트에는 키가 필요하지 않습니다.
SDK는 어떻게 최신 상태로 유지되나요?
이는 API가 구축된 것과 동일한 OpenAPI 사양에서 생성되며, 해당 사양이 변경될 때마다 새 버전이 자동으로 게시됩니다.