TypeScript SDK

Barındırma hizmetinizi TypeScript üzerinden yönetin

@zinn-digital/sdk, Zinn Digital® API için tamamen tiplenmiş bir istemcidir. Her yol, parametre ve yanıt, API'nin oluşturulduğu aynı OpenAPI spesifikasyonundan üretilir; böylece düzenleyiciniz tüm API'yi tanır ve bir yazım hatası derleme hatasına dönüşür.

Tüm geliştirici belgeleri →

Yükle

Paket, @zinn-digital kapsamı altında npm üzerinde mevcuttur. fetch desteğine sahip herhangi bir JavaScript çalışma zamanı ortamında çalışır.

npm install @zinn-digital/sdk

Hızlı başlangıç

Genel barındırma bölgelerini anahtar olmadan listeleyin, ardından kendi sitelerinizi bir anahtarla listeleyin.

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

Kimlik Doğrulama

Bölgeler ve planlar gibi genel katalog uç noktaları herhangi bir kimlik bilgisi gerektirmez. Diğer her şey, bir bearer token olarak gönderilen kuruluş bazlı bir API anahtarı kullanır. Bir anahtar yalnızca oluştururken verdiğiniz izinleri taşır ve istediğiniz zaman iptal edebilirsiniz. Anahtarı bir ortam değişkeninde veya gizli anahtar deposunda saklayın, asla kaynak kodunda tutmayın.

Kontrol panelinizde bir API anahtarı oluşturun

Neler dahil

Tüm genel API, türlendirilmiş

Siteler, alan adları ve DNS, faturalandırma, destek ve herkese açık API'nin diğer her alanı. Yanıtlar ve hatalar tiplendirilmiştir ve şema tipleri kendi kodunuz için dışa aktarılır.

Oluşturuldu, hiçbir zaman elle yazılmadı

İstemci, OpenAPI belirtimimizden oluşturulan türler üzerindeki openapi-fetch aracıdır. Belirtim her değiştiğinde yeni bir sürüm otomatik olarak yayınlanır, böylece yeni bir uç nokta kimsenin bir sarmalayıcı yazmasına gerek kalmadan SDK'ya ulaşır.

Küçük ve az bağımlılıklı

Tek bir çalışma zamanı bağımlılığı ve yerel fetch. Node.js'de, tarayıcıda ve uç çalışma zamanlarında çalışır ve MIT lisanslıdır.

Tamamen aşağıya kadar yazıldı

Bir alan adının DNS kayıtlarını okuyun ve bunları belirtimin tanımladığı kayıt türüne göre filtreleyin.

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

Sorular

TypeScript veya JavaScript SDK'nız var mı?

Evet. @zinn-digital/sdk paketini npm üzerinden yükleyin. OpenAPI belirtimimizden oluşturulmuş tam olarak türlendirilmiş bir istemcidir ve tüm genel API'yi kapsar.

Nasıl kimlik doğrulaması yapabilirim?

Kontrol panelinizin API anahtarları sayfasında bir API anahtarı oluşturun ve bunu Authorization başlığında bir taşıyıcı belirteç (bearer token) olarak gönderin. Herkese açık katalog uç noktaları için anahtar gerekmez.

SDK nasıl güncel tutulur?

API'nin oluşturulduğu OpenAPI belirtiminin aynısından üretilir ve bu belirtim her değiştiğinde otomatik olarak yeni bir sürüm yayımlanır.

Her uç noktayı keşfedin

SDK'nın çağırabileceği her işlem, parametreleri, yanıtları ve izinleriyle birlikte API referansında açıklanmıştır.

API referansı