TypeScript SDK

Hostinqinizi TypeScript vasitəsilə idarə edin

@zinn-digital/sdk Zinn Digital® API üçün tam tipləşdirilmiş müştəridir. Hər bir yol, parametr və cavab API-nin qurulduğu eyni OpenAPI spesifikasiyasından yaradılır, buna görə də redaktorunuz bütün API-ni tanıyır və hər hansı hərf səhvi tərtib xətası (compile error) hesab olunur.

Bütün tərtibatçı sənədləri →

Quraşdırın

Paket @zinn-digital sahəsi altında npm-də mövcuddur. fetch dəstəkləyən istənilən JavaScript mühitində işləyir.

npm install @zinn-digital/sdk

Sürətli başlanğıc

Açar olmadan ictimai hostinq regionlarını sadalayın, sonra isə açarla öz saytlarınızı sadalayın.

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

Autentifikasiya

Regionlar və planlar kimi açıq kataloq son nöqtələri heç bir etimadnamə tələb etmir. Qalan hər şey daşıyıcı token kimi göndərilən təşkilat üzrə API açarından istifadə edir. Açar yalnız onu yaratdığınız zaman ona verdiyiniz icazələri daşıyır və siz onu istənilən vaxt ləğv edə bilərsiniz. Onu mühit dəyişənində və ya məxfi məlumat anbarınızda saxlayın, heç vaxt mənbə kodunda saxlamayın.

İdarəetmə panelinizdə API açarı yaradın

Əldə etdikləriniz

Bütün ictimai API, tipləşdirilmiş

Saytlar, domenlər və DNS, hesablaşma, dəstək və ümumi API-nin digər bütün sahələri. Cavablar və xətalar tipləşdirilmişdir və sxem tipləri şəxsi kodunuz üçün ixrac edilir.

Avtomatik yaradılıb, heç vaxt əllə yazılmayıb

Müştəri OpenAPI spesifikasiyamızdan yaradılan tiplər üzərində openapi-fetch-dir. Spesifikasiya hər dəfə dəyişdikdə yeni versiya avtomatik olaraq dərc olunur, beləliklə heç kim örtük (wrapper) yazmadan yeni son nöqtə SDK-ya çatır.

Kiçik və az asılılıqlı

Bir işləmə mühiti asılılığı və yerli fetch. Node.js-də, brauzerdə və edge mühitlərində işləyir və MIT lisenziyalıdır.

Tam axıra qədər yazılıb

Domenin DNS qeydlərini oxuyun və spesifikasiyanın müəyyən etdiyi qeyd növünə görə onları filtrləyin.

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

Suallar

Sizin TypeScript və ya JavaScript SDK-nız var?

Bəli. @zinn-digital/sdk paketini npm-dən quraşdırın. Bu, OpenAPI spesifikasiyamızdan yaradılmış tam tipləşdirilmiş müştəridir və bütün ictimai API-ni əhatə edir.

Necə autentifikasiya edim?

İdarəetmə panelinizin API açarları səhifəsində bir API açarı yaradın və onu Authorization başlığında daşıyıcı token kimi göndərin. İctimai kataloq son nöqtələri üçün açar tələb olunmur.

SDK necə aktual saxlanılır?

O, API-nin qurulduğu eyni OpenAPI spesifikasiyasından yaradılır və həmin spesifikasiya hər dəfə dəyişdikdə avtomatik olaraq yeni versiya dərc olunur.

Hər bir son nöqtəni kəşf edin

SDK-nın çağıra biləcəyi hər bir əməliyyat parametrləri, cavabları və icazələri ilə birlikdə API sorğu kitabçasında təsvir olunub.

API təlimatı