TypeScript SDK
Διαχειριστείτε τη φιλοξενία σας από το TypeScript
Το @zinn-digital/sdk είναι ένας πλήρως πληκτρολογημένος (fully typed) πελάτης για το 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);Έλεγχος ταυτότητας
Τα δημόσια τελικά σημεία καταλόγου, όπως οι περιοχές και τα προγράμματα, δεν απαιτούν διαπιστευτήρια. Όλα τα υπόλοιπα χρησιμοποιούν ένα κλειδί 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);Ερωτήσεις
Διαθέτετε SDK για TypeScript ή JavaScript;
Ναι. Εγκαταστήστε το @zinn-digital/sdk από το npm. Πρόκειται για έναν πλήρως πληκτρολογημένο πελάτη που δημιουργήθηκε από τις προδιαγραφές OpenAPI μας και καλύπτει ολόκληρο το δημόσιο API.
Πώς μπορώ να πραγματοποιήσω έλεγχο ταυτότητας;
Δημιουργήστε ένα κλειδί API στη σελίδα Κλειδιά API του πίνακα ελέγχου σας και στείλτε το ως διακριτικό φορέα (bearer token) στην κεφαλίδα Authorization. Τα δημόσια τελικά σημεία καταλόγου δεν χρειάζονται κλειδί.
Πώς διατηρείται το SDK ενημερωμένο;
Δημιουργείται από την ίδια προδιαγραφή OpenAPI από την οποία έχει κατασκευαστεί το API, και μια νέα έκδοση δημοσιεύεται αυτόματα κάθε φορά που αλλάζει αυτή η προδιαγραφή.
Εξερευνήστε κάθε τελικό σημείο
Κάθε λειτουργία που μπορεί να καλέσει το SDK περιγράφεται στην αναφορά του API, με τις παραμέτρους, τις αποκρίσεις και τα δικαιώματά της.