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).
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/sdkBrzi 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.
Š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.