TypeScript SDK

Upravljajte svojim hostingom iz TypeScripta

@zinn-digital/sdk potpuno je tipiziran klijent za Zinn Digital® API. Svaka staza, parametar i odgovor generirani su iz iste OpenAPI specifikacije prema kojoj je izgrađen i sam API, tako da vaš uređivač poznaje cijeli API, a tipfelerska pogreška predstavlja pogrešku pri prevođenju (compile error).

Sva dokumentacija za razvojne programere →

Instaliraj

Paket je dostupan na npm-u pod opsegom @zinn-digital. Radi u svakom JavaScript radnom okruženju koje ima fetch.

npm install @zinn-digital/sdk

Brzi početak

Navedite javne regije hostinga bez ključa, a zatim navedite vlastite web-lokacije s ključem.

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

Autentifikacija

Javne krajnje točke kataloga, poput regija i planova, ne zahtijevaju vjerodajnice. Sve ostalo koristi API ključ po organizaciji poslan kao token nositelja. Ključ nosi samo dopuštenja koja mu dodijelite prilikom stvaranja i možete ga opozvati u bilo kojem trenutku. Čuvajte ga u varijabli okruženja ili u svojoj pohrani tajni, nikada u izvornom kodu.

Stvorite API ključ na svojoj upravljačkoj ploči

Što dobivate

Cijeli javni API, tipiziran

Web-mjesta, domene i DNS, naplata, podrška i svako drugo područje javnog API-ja. Odgovori i pogreške su tipizirani, a tipovi shema izvezeni su za vaš vlastiti kod.

Generirano, nikada ručno pisano

Klijent je openapi-fetch preko tipova generiranih iz naše OpenAPI specifikacije. Nova verzija se automatski objavljuje kad god se specifikacija promijeni, tako da nova krajnja točka stiže do SDK-a bez da itko piše omot (wrapper).

Mali i s malo zavisnosti

Jedna ovisnost o vremenu izvođenja i izvorni fetch. Radi u Node.js-u, u pregledniku i u rubnim okruženjima izvođenja te ima licencu MIT.

Upisano do kraja dolje

Pročitajte DNS zapise domene i filtrirajte ih prema vrsti zapisa koju definira specifikacija.

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

Pitanja

Imate li TypeScript ili JavaScript SDK?

Da. Instalirajte @zinn-digital/sdk s npm-a. To je potpuno tipiziran klijent generiran iz naše OpenAPI specifikacije i pokriva cijeli javni API.

Kako se autentificirati?

Stvorite API ključ na stranici API ključevi na svojoj nadzornoj ploči i pošaljite ga kao bearer token u zaglavlju Authorization. Javne krajnje točke kataloga ne trebaju ključ.

Kako se SDK održava ažurnim?

Generira se iz iste specifikacije OpenAPI iz koje je izgrađen i sam API, a nova se verzija automatski objavljuje svaki put kada se ta specifikacija promijeni.

Istražite svaku krajnju točku

Svaka operacija koju SDK može pozvati opisana je u referentnoj dokumentaciji za API, zajedno sa svojim parametrima, odgovorima i dozvolama.

API referenca