TypeScript SDK

მართეთ თქვენი ჰოსტინგი TypeScript-იდან

@zinn-digital/sdk არის სრულად ტიპიზებული კლიენტი Zinn Digital® API-სთვის. თითოეული გზა, პარამეტრი და პასუხი გენერირდება იმავე OpenAPI სპეციფიკაციიდან, რომლიდანაც აგებულია API, ასე რომ თქვენმა რედაქტორმა იცის მთელი API და ბეჭდური შეცდომა წარმოადგენს კომპილაციის შეცდომას.

დეველოპერის ყველა დოკუმენტაცია →

ინსტალაცია

პაკეტი ხელმისაწვდომია npm-ზე @zinn-digital სფეროს ქვეშ. ის მუშაობს ნებისმიერ JavaScript გარემოში, რომელსაც აქვს fetch.

npm install @zinn-digital/sdk

სწრაფი დაწყება

ჩამოთვალეთ ჰოსტინგის საჯარო რეგიონები გასაღების გარეშე, შემდეგ კი ჩამოთვალეთ თქვენი საკუთარი საიტები გასაღებით.

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

ავთენტიფიკაცია

საჯარო კატალოგის საბოლოო წერტილები (endpoints), როგორიცაა რეგიონები და გეგმები, არ საჭიროებს ავტორიზაციის მონაცემებს. ყველაფერი დანარჩენი იყენებს ორგანიზაციის API გასაღებს, რომელიც იგზავნება მატარებლის ტოკენის (bearer token) სახით. გასაღები შეიცავს მხოლოდ იმ ნებართვებს, რომლებსაც თქვენ ანიჭებთ მისი შექმნისას და შეგიძლიათ გააუქმოთ იგი ნებისმიერ დროს. შეინახეთ იგი გარემოს ცვლადში ან თქვენს საიდუმლო საცავში, არასდროს საწყის კოდში.

შექმენით API გასაღები თქვენს სამართავ პანელში

რას იღებთ

მთელი საჯარო API, ტიპიზებული

საიტები, დომენები და DNS, ანგარიშსწორება, მხარდაჭერა და საჯარო API-ის ნებისმიერი სხვა სფერო. პასუხები და შეცდომები ტიპიზებულია, ხოლო სქემის ტიპები ექსპორტირებულია თქვენი საკუთარი კოდისთვის.

გენერირებული, არასდროს ხელით დაწერილი

კლიენტი არის openapi-fetch ჩვენი OpenAPI სპეციფიკაციიდან გენერირებულ ტიპებზე. ახალი ვერსია ავტომატურად ქვეყნდება სპეციფიკაციის შეცვლისთანავე, ასე რომ, ახალი ბოლო წერტილი აღწევს SDK-მდე ისე, რომ არავის უწევს შეფუთვის (wrapper) დაწერა.

პატარა და მცირე დამოკიდებულებებით

ერთი შესრულების დროის დამოკიდებულება და ჩაშენებული fetch. მუშაობს Node.js-ში, ბრაუზერში და edge გარემოებში, და გააჩნია MIT ლიცენზია.

ბოლომდე აკრეფილი

წაიკითხეთ დომენის DNS ჩანაწერები და გაფილტრეთ ისინი სპეციფიკაციით განსაზღვრული ჩანაწერის ტიპის მიხედვით.

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

კითხვები

გაქვთ TypeScript ან JavaScript SDK?

დიახ. დააინსტალირეთ @zinn-digital/sdk npm-დან. ეს არის სრულად ტიპიზებული კლიენტი, რომელიც გენერირებულია ჩვენი OpenAPI სპეციფიკაციიდან და ის ფარავს მთელ საჯარო API-ს.

როგორ გავიარო ავთენტიფიკაცია?

შექმენით API გასაღები თქვენი მართვის პანელის გვერდზე „API გასაღებები“ და გაგზავნეთ იგი როგორც მატარებელი ტოკენი Authorization თავსართში. საჯარო კატალოგის ბოლო წერტილებს გასაღები არ სჭირდება.

როგორ ინარჩუნებს SDK აქტუალურობას?

იგი გენერირდება იმავე OpenAPI სპეციფიკაციიდან, რომლითაც აგებულია API, და ყოველ ჯერზე, როდესაც ეს სპეციფიკაცია იცვლება, ახალი ვერსია ავტომატურად ქვეყნდება.

შეისწავლეთ თითოეული ბოლო წერტილი

ყოველი ოპერაცია, რომლის გამოძახებაც SDK-ს შეუძლია, აღწერილია API-ის ცნობარში თავისი პარამეტრებით, პასუხებითა და ნებართვებით.

API ცნობარი