지식 베이스

TypeScript SDK(@zinn-digital/sdk) 사용하기

npm에서 @zinn-digital/sdk를 설치하고, API 키를 생성한 후 TypeScript에서 Zinn Digital® API로 첫 형식 지정 호출을 수행하세요. 키가 필요 없는 공용 리전부터 시작하여 고유한 사이트로 이어지며, 내보낸 스키마 유형 및 오류 반환 방식도 포함됩니다.

@zinn-digital/sdk는 npm에 게시된 Zinn Digital® API용 공식 TypeScript 클라이언트입니다. 내부의 모든 경로, 매개변수 및 응답은 해당 API가 빌드된 동일한 OpenAPI 사양에서 생성되며, 해당 사양이 변경될 때마다 새 버전이 자동으로 게시됩니다. 이 가이드에서는 설치, 인증 및 첫 번째 호출 수행 과정을 안내합니다.

설치

npm install @zinn-digital/sdk

fetch를 지원하는 모든 JavaScript 런타임에서 작동합니다: Node.js, 브라우저 및 엣지 런타임. 런타임 종속성은 openapi-fetch 하나뿐이며, MIT 라이선스가 적용됩니다.

API 키 생성

대시보드의 API 키 페이지(app.zinndigital.com/api-keys)를 열고 키 생성을 누르십시오. 키 이름을 지정하고 사이트 목록을 조회하기 위한 sites.view와 같이 코드에 필요한 권한만 부여하십시오. 키는 한 번만 표시되므로 환경 변수나 비밀 저장소에 보관하고 소스 코드에는 절대 저장하지 마십시오. 동일한 페이지에서 언제든지 키를 취소할 수 있습니다.

호스팅 리전 및 요금제와 같은 공개 카탈로그 엔드포인트에는 키가 전혀 필요하지 않습니다.

첫 번째 호출

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

ZINN_API_KEY=zdk_live_… npx tsx first-calls.ts 명령어로 실행하십시오. 첫 번째 줄에는 호스팅 리전이 출력되고, 그 다음에는 사이트당 한 줄씩 출력됩니다.

자체 코드를 위한 유형

스키마 유형이 내보내지므로 자체 함수에서 API의 형식을 사용할 수 있습니다:

import type { components } from "@zinn-digital/sdk";

type Site = components["schemas"]["Site"];
type DnsRecord = components["schemas"]["DnsRecord"];

경로, 매개변수 또는 필드의 오타는 잘못된 작업을 묵묵히 수행하는 요청이 아니라 컴파일 오류로 처리됩니다.

오류

모든 호출은 { data, error, response }를 반환합니다. 2xx가 아닌 응답의 경우 data는 undefined이며 error는 API의 오류 엔벨로프입니다. 여기에는 error.error.code, 사람이 읽을 수 있는 error.error.message, 유효성 검사 실패 시 각 필드를 명시하는 error.error.details가 포함됩니다. 403은 키에 엔드포인트가 필요로 하는 권한이 없음을 의미합니다. 더 많은 권한을 가진 키를 재사용하기보다는 해당 권한을 가진 키를 새로 만드십시오.

다음 단계

  • 당사 웹사이트의 가이드: zinndigital.com/developers/sdk-typescript
  • 모든 엔드포인트, 해당 매개변수 및 권한: zinndigital.com/developers/api
  • npm 패키지: npmjs.com/package/@zinn-digital/sdk

모든 개발자 문서 →

블로그 최신 글

호스팅, SEO 및 대규모 사이트 운영에 대해 작성한 글입니다.

호스팅 계층에서의 SEO 및 링크 빌딩: 2026년 운영자의 관점

2026년 호스팅이 색인 생성과 링크 자산에 미치는 영향: 페이지의 색인 상태 유지, 구축 전 기존 도메인 검증, 검색 엔진 흔적 없는 링크 빌딩, 그리고 인프라가 SEO를 위해 할 수 있는 것과 할 수 없는 것에 대한 솔직한 분석.

게시물 읽기 →

WordPress를 빠르고 안전하게 만들기: 성능 및 플러그인 체크리스트

빠르고 안전한 WordPress를 위한 실용적인 체크리스트: 서버 수준 캐싱, 사이트별 객체 캐시, 사용할 가치가 있는 소수의 플러그인, 최신 스택 유지, 그리고 절대 캐시해서는 안 되는 WooCommerce 페이지.

게시물 읽기 →

2026년 관리형 웹 호스팅을 선택하는 방법: 구매자 가이드

제어판이 있는 저렴한 서버와 우수한 매니지드 호스팅을 실제로 구분 짓는 요소(마이그레이션, 백업, 격리, 진정한 캐싱 및 정직한 확장성), 그리고 계약하기 전에 이를 평가하는 방법.

게시물 읽기 →

블로그 읽기 →

아직 해결되지 않았나요?

모든 요금제에 지원 서비스가 포함되어 있으며, 고객센터는 하루 24시간 열려 있습니다. 또한 58개의 지원 언어 중 편하신 언어로 문의해 주시면 고객님의 언어로 답변해 드립니다.

지원팀에 문의 → 모든 글 →