TypeScript SDK

Irányítsa tárhelyét TypeScriptből

A @zinn-digital/sdk egy teljesen tipizált kliens a Zinn Digital® API-hoz. Minden útvonal, paraméter és válasz ugyanabból az OpenAPI specifikációból készül, amelyből maga az API is felépül, így az Ön szerkesztője ismeri a teljes API-t, és az elírás fordítási hibát jelent.

Minden fejlesztői dokumentáció →

Telepítés

A csomag elérhető az npm-en a @zinn-digital hatókör alatt. Bármely olyan JavaScript futtatókörnyezetben működik, amely rendelkezik fetch támogatással.

npm install @zinn-digital/sdk

Gyorsindítás

Listázza a nyilvános tárhelyrégiókat kulcs nélkül, majd listázza saját webhelyeit egy kulccsal.

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

Hitelesítés

A nyilvános katalógus-végpontokhoz, például a régiókhoz és a csomagokhoz nincs szükség hitelesítő adatokra. Minden más szervezetenkénti API-kulcsot használ, amelyet tulajdonosi jogkivonatként küldenek el. A kulcs csak azokat az engedélyeket hordozza, amelyeket a létrehozásakor megad neki, és bármikor visszavonhatja azt. Tárolja egy környezeti változóban vagy a titkos kulcstárában, soha ne a forráskódban.

Hozzon létre egy API-kulcsot a vezérlőpultján

Amit kap

A teljes nyilvános API, típusos

Webhelyek, tartományok és DNS, számlázás, támogatás és a nyilvános API minden egyéb területe. A válaszok és a hibák típusosak, a sématípusok pedig exportálva vannak az Ön saját kódjához.

Generálva, soha sem kézzel írva

A kliens az OpenAPI-specifikációnkból generált típusokra épülő openapi-fetch. A specifikáció változásakor automatikusan új verzió jelenik meg, így az új végpont anélkül éri el az SDK-t, hogy bárkinek wrappert kellene írnia.

Kisméretű és kevés függőséggel rendelkező

Egyetlen futásidejű függőség és natív fetch. Fut a Node.js-ben, a böngészőben és az edge futtatókörnyezetekben, valamint MIT-licenccel rendelkezik.

Teljesen lefelé begépelve

Olvassa be egy tartomány DNS-rekordjait, és szűrje őket a specifikáció által meghatározott rekordtípus szerint.

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

Kérdések

Rendelkezik TypeScript vagy JavaScript SDK-val?

Igen. Telepítse a @zinn-digital/sdk csomagot az npm-ről. Ez egy teljesen típusos kliens, amelyet az OpenAPI specifikációnkból hoztunk létre, és a teljes nyilvános API-t lefedi.

Hogyan hitelesíthetem magam?

Hozzon létre egy API-kulcsot a vezérlőpult API-kulcsok oldalán, és küldje el tulajdonosi tokenként az Authorization fejlécben. A nyilvános katalógus-végpontokhoz nincs szükség kulcsra.

Hogyan tartható naprakészen az SDK?

Ugyanabból az OpenAPI specifikációból jön létre, amelyből az API is felépül, és automatikusan új verzió jelenik meg, valahányszor ez a specifikáció módosul.

Minden végpont felfedezése

Minden művelet, amelyet az SDK meghívhat, részletesen szerepel az API-referenciában, a paramétereivel, válaszaival és engedélyeivel együtt.

API-dokumentáció