SDK TypeScript
Gestionați-vă găzduirea din TypeScript
@zinn-digital/sdk este un client complet tipizat pentru Zinn Digital® API. Fiecare cale, parametru și răspuns este generat din aceeași specificație OpenAPI din care este construit API-ul, astfel încât editorul dumneavoastră cunoaște întregul API, iar o greșeală de redactare devine o eroare de compilare.
Instalează
Pachetul este disponibil pe npm sub domeniul @zinn-digital. Acesta funcționează în orice mediu de rulare JavaScript care dispune de fetch.
npm install @zinn-digital/sdkPornire rapidă
Afișați regiunile publice de găzduire fără o cheie, apoi afișați propriile site-uri cu o cheie.
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);Autentificare
Punctele finale publice ale catalogului, cum ar fi regiunile și planurile, nu necesită acreditări. Tot restul utilizează o cheie API per organizație trimisă ca bearer token. O cheie conține doar permisiunile pe care i le acordați la crearea acesteia și o puteți revoca în orice moment. Păstrați-o într-o variabilă de mediu sau în seiful dumneavoastră de secrete, niciodată în codul sursă.
Ce primiți
Întregul API public, tipizat
Site-uri, domenii și DNS, facturare, asistență și orice altă zonă a API-ului public. Răspunsurile și erorile sunt tipizate, iar tipurile de schemă sunt exportate pentru propriul dumneavoastră cod.
Generat, niciodată scris manual
Clientul este openapi-fetch peste tipurile generate din specificația noastră OpenAPI. O nouă versiune este publicată automat ori de câte ori specificația se modifică, astfel încât un nou endpoint ajunge în SDK fără ca cineva să scrie un wrapper.
Mic și cu puține dependențe
O singură dependență la timpul de execuție și fetch nativ. Rulează în Node.js, în browser și în medii de execuție edge și este licențiat MIT.
Tastat până jos
Citiți înregistrările DNS ale unui domeniu și filtrați-le după tipul de înregistrare definit în specificație.
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);Întrebări
Aveți un SDK pentru TypeScript sau JavaScript?
Da. Instalați @zinn-digital/sdk din npm. Este un client complet tipizat, generat din specificația noastră OpenAPI, și acoperă întregul API public.
Cum mă autentific?
Creați o cheie API pe pagina Chei API din tabloul de bord și trimiteți-o ca token purtător în antetul Authorization. Punctele finale ale catalogului public nu au nevoie de cheie.
Cum este menținut SDK-ul la zi?
Este generat din aceeași specificație OpenAPI din care este construit API-ul, iar o nouă versiune este publicată automat ori de câte ori se modifică acea specificație.
Explorați fiecare punct terminus
Fiecare operațiune pe care SDK-ul o poate apela este descrisă în documentația de referință a API-ului, împreună cu parametrii, răspunsurile și permisiunile sale.