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.

Tutta la documentazione per sviluppatori →

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/sdk

Avvio 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.

Crei una chiave API nella Sua dashboard

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.

Riferimento API