SDK per TypeScript
Gestite il vostro hosting da TypeScript
@zinn-digital/sdk è un client completamente tipizzato per l'API Zinn Digital®. Ogni percorso, parametro e risposta è generato dalla stessa specifica OpenAPI su cui è creata l'API, in modo che il vostro editor conosca l'intera API e un refuso sia un errore di compilazione.
Installa
Il pacchetto è disponibile su npm sotto l'ambito @zinn-digital. Funziona in qualsiasi ambiente di runtime JavaScript dotato di fetch.
npm install @zinn-digital/sdkAvvio rapido
Elencare le aree geografiche di hosting pubbliche senza una chiave, quindi elencare i propri siti utilizzandone una.
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);Autenticazione
Gli endpoint del catalogo pubblico, come le regioni e i piani, non richiedono credenziali. Tutto il resto utilizza una chiave API per organizzazione inviata come bearer token. Una chiave dispone solo dei permessi che le concedete al momento della creazione ed è possibile revocarla in qualsiasi momento. La conservi in una variabile di ambiente o nel Suo archivio dei segreti, mai nel codice sorgente.
Cosa include
L'intera API pubblica, tipizzata
Siti, domini e DNS, fatturazione, supporto e ogni altra area dell'API pubblica. Le risposte e gli errori sono tipizzati e i tipi di schema vengono esportati per il vostro codice.
Generato, mai scritto a mano
Il client è openapi-fetch su tipi generati dalla nostra specifica OpenAPI. Una nuova versione viene pubblicata automaticamente ogni volta che la specifica cambia, consentendo a un nuovo endpoint di raggiungere l'SDK senza che nessuno debba scrivere un wrapper.
Piccolo e con poche dipendenze
Una sola dipendenza di runtime e fetch nativo. Funziona in Node.js, nel browser e nei runtime perimetrali (edge), ed è concesso sotto licenza MIT.
Digitato fino in fondo
Leggere i record DNS di un dominio e filtrarli in base al tipo di record definito dalle specifiche.
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);Domande
Disponete di un SDK per TypeScript o JavaScript?
Sì. Installi @zinn-digital/sdk da npm. È un client completamente tipizzato generato dalla nostra specifica OpenAPI e copre l'intera API pubblica.
Come posso autenticarmi?
Crei una chiave API nella pagina delle chiavi API della Sua dashboard e la invii come token di tipo bearer nell'intestazione Authorization. Gli endpoint pubblici del catalogo non richiedono alcuna chiave.
Come viene mantenuto aggiornato l'SDK?
Viene generato a partire dalla stessa specifica OpenAPI da cui è creata l'API e una nuova versione viene pubblicata automaticamente ogni volta che tale specifica cambia.
Esplora ogni endpoint
Ogni operazione che l'SDK può richiamare è descritta nella documentazione di riferimento dell'API, con i relativi parametri, risposte e autorizzazioni.