TypeScript SDK

Spravujte svůj hosting přímo z TypeScriptu

@zinn-digital/sdk je plně typovaný klient pro rozhraní Zinn Digital® API. Každá cesta, parametr i odpověď jsou generovány ze stejné specifikace OpenAPI, ze které je vytvořeno samotné API, takže váš editor zná celé API a překlep je chybou při kompilaci.

Veškerá dokumentace pro vývojáře →

Instalovat

Balíček je k dispozici na npm v rámci oboru @zinn-digital. Funguje v jakémkoli běhovém prostředí JavaScript, které podporuje fetch.

npm install @zinn-digital/sdk

Rychlý start

Vypište veřejné hostingové regiony bez klíče a poté pomocí klíče vypište své vlastní weby.

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

Ověření

Veřejné koncové body katalogu, jako jsou regiony a plány, nevyžadují žádné přihlašovací údaje. Vše ostatní používá klíč API pro konkrétní organizaci odesílaný jako nosný token. Klíč nese pouze oprávnění, která mu udělíte při jeho vytvoření, a můžete jej kdykoli zneplatnit. Uchovávejte jej v proměnné prostředí nebo v úložišti tajných klíčů, nikdy ve zdrojovém kódu.

Vytvořte si na řídicím panelu klíč API

Co získáte

Celé veřejné API, typované

Weby, domény a DNS, fakturace, podpora a každá další oblast veřejného rozhraní API. Odpovědi a chyby jsou typované a typy schémat jsou exportovány pro váš vlastní kód.

Vygenerováno, nikdy ručně psané

Klient je openapi-fetch nad typy generovanými z naší specifikace OpenAPI. Nová verze je publikována automaticky při každé změně specifikace, takže se nový koncový bod dostane do SDK, aniž by kdokoli musel psát obálku.

Malý a s minimem závislostí

Jedna závislost za běhu a nativní fetch. Běží v Node.js, v prohlížeči i v běhových prostředích edge a je pod licencí MIT.

Napsáno až dolů

Přečtěte si záznamy DNS domény a vyfiltrujte je podle typu záznamu, který definuje specifikace.

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

Otázky

Máte SDK pro TypeScript nebo JavaScript?

Ano. Nainstalujte si @zinn-digital/sdk z npm. Jedná se o plně typovaného klienta vygenerovaného z naší specifikace OpenAPI a pokrývá celé veřejné API.

Jak se mohu ověřit?

Na stránce Klíče API na svém ovládacím panelu vytvořte klíč API a odešlete jej jako bearer token v hlavičce Authorization. Veřejné koncové body katalogu žádný klíč nevyžadují.

Jak je SDK udržována v aktuálním stavu?

Generuje se ze stejné specifikace OpenAPI, ze které je vytvořeno samotné rozhraní API, a nová verze se automaticky publikuje vždy, když se tato specifikace změní.

Prozkoumat každý koncový bod

Každá operace, kterou může SDK volat, je popsána v referenční příručce API, včetně jejích parametrů, odpovědí a oprávnění.

Reference k rozhraní API