TypeScript SDK
TypeScript ನಿಂದ ನಿಮ್ಮ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ
@zinn-digital/sdk ಯು Zinn Digital® API ಗಾಗಿ ಸಂಪೂರ್ಣವಾಗಿ ಟೈಪ್ ಮಾಡಲಾದ ಕ್ಲೈಂಟ್ ಆಗಿದೆ. ಪ್ರತಿಯೊಂದು ಮಾರ್ಗ, ನಿಯತಾಂಕ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು API ಅನ್ನು ನಿರ್ಮಿಸಲಾದ ಅದೇ OpenAPI ನಿರ್ದಿಷ್ಟತೆಯಿಂದ ರಚಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಸಂಪಾದಕರಿಗೆ ಸಂಪೂರ್ಣ API ತಿಳಿದಿರುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ಮುದ್ರಣದೋಷವು ಕಂಪೈಲ್ ದೋಷವಾಗುತ್ತದೆ.
ಸ್ಥಾಪಿಸಿ
ಪ್ಯಾಕೇಜ್ @zinn-digital ವ್ಯಾಪ್ತಿಯ ಅಡಿಯಲ್ಲಿ npm ನಲ್ಲಿದೆ. ಇದು fetch ಹೊಂದಿರುವ ಯಾವುದೇ JavaScript ರನ್ಟೈಮ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
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);ದೃಢೀಕರಣ
ಪ್ರದೇಶಗಳು ಮತ್ತು ಯೋಜನೆಗಳಂತಹ ಸಾರ್ವಜನಿಕ ಕ್ಯಾಟಲಾಗ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಿಗೆ ಯಾವುದೇ ರುಜುವಾತುಗಳ ಅಗತ್ಯವಿಲ್ಲ. ಉಳಿದೆಲ್ಲವೂ bearer token ಆಗಿ ಕಳುಹಿಸಲಾದ ಪ್ರತಿ-ಸಂಸ್ಥೆಯ API ಕೀಲಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಕೀಲಿಯನ್ನು ರಚಿಸುವಾಗ ನೀವು ನೀಡುವ ಅನುಮತಿಗಳನ್ನು ಮಾತ್ರ ಅದು ಹೊಂದಿರುತ್ತದೆ, ಮತ್ತು ನೀವು ಅದನ್ನು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಹಿಂಪಡೆಯಬಹುದು. ಅದನ್ನು ಪರಿಸರ ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಅಥವಾ ನಿಮ್ಮ ರಹಸ್ಯ ಸಂಗ್ರಹದಲ್ಲಿ ಇರಿಸಿ, ಮೂಲ ಕೋಡ್ನಲ್ಲಿ ಎಂದಿಗೂ ಇಡಬೇಡಿ.
ನಿಮಗೆ ಏನು ಸಿಗುತ್ತದೆ
ಸಂಪೂರ್ಣ ಸಾರ್ವಜನಿಕ API, ಟೈಪ್ ಮಾಡಲಾದ
ಸೈಟ್ಗಳು, ಡೊಮೇನ್ಗಳು ಮತ್ತು DNS, ಬಿಲ್ಲಿಂಗ್, ಬೆಂಬಲ ಮತ್ತು ಸಾರ್ವಜನಿಕ API ಯ ಪ್ರತಿಯೊಂದು ಇತರ ಕ್ಷೇತ್ರ. ಪ್ರತಿಕ್ರಿಯೆಗಳು ಮತ್ತು ದೋಷಗಳನ್ನು ಟೈಪ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ ಸ್ವಂತ ಕೋಡ್ಗಾಗಿ ಸ್ಕೀಮಾ ಪ್ರಕಾರಗಳನ್ನು ರಫ್ತು ಮಾಡಲಾಗುತ್ತದೆ.
ರಚಿಸಲಾಗಿದೆ, ಎಂದಿಗೂ ಕೈಯಿಂದ ಬರೆದಿಲ್ಲ
ಕ್ಲೈಂಟ್ ನಮ್ಮ OpenAPI ನಿರ್ದಿಷ್ಟತೆಯಿಂದ ರಚಿಸಲಾದ ಪ್ರಕಾರಗಳ ಮೇಲೆ openapi-fetch ಆಗಿದೆ. ನಿರ್ದಿಷ್ಟತೆಯು ಬದಲಾದಾಗಲೆಲ್ಲಾ ಹೊಸ ಆವೃತ್ತಿಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಕಟಗೊಳ್ಳುತ್ತದೆ, ಆದ್ದರಿಂದ ಯಾರೂ ಹೊದಿಕೆಯನ್ನು ಬರೆಯದೆಯೇ ಹೊಸ ಅಂತಿಮ ಬಿಂದುವು SDK ಅನ್ನು ತಲುಪುತ್ತದೆ.
ಸಣ್ಣ ಮತ್ತು ಕಡಿಮೆ ಅವಲಂಬನೆಗಳನ್ನು ಹೊಂದಿರುವ
ಒಂದೇ ಒಂದು ರನ್ಟೈಮ್ ಅವಲಂಬನೆ ಮತ್ತು ಸ್ಥಳೀಯ fetch. ಇದು Node.js ನಲ್ಲಿ, ಬ್ರೌಸರ್ನಲ್ಲಿ ಮತ್ತು ಎಡ್ಜ್ ರನ್ಟೈಮ್ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಇದು 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 ಇದೆಯೇ?
ಹೌದು. npm ನಿಂದ @zinn-digital/sdk ಅನ್ನು ಸ್ಥಾಪಿಸಿ. ಇದು ನಮ್ಮ OpenAPI ವಿವರಣೆಯಿಂದ ರಚಿಸಲಾದ ಸಂಪೂರ್ಣ ಟೈಪ್ ಮಾಡಲಾದ ಕ್ಲೈಂಟ್ ಆಗಿದೆ, ಮತ್ತು ಇದು ಸಂಪೂರ್ಣ ಸಾರ್ವಜನಿಕ API ಅನ್ನು ಒಳಗೊಂಡಿದೆ.
ನಾನು ಹೇಗೆ ದೃಢೀಕರಿಸುವುದು?
ನಿಮ್ಮ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನ API ಕೀಗಳ ಪುಟದಲ್ಲಿ API ಕೀಲಿಯನ್ನು ರಚಿಸಿ ಮತ್ತು ಅದನ್ನು Authorization ಹೆಡರ್ನಲ್ಲಿ ಬೇರರ್ ಟೋಕನ್ ಆಗಿ ಕಳುಹಿಸಿ. ಸಾರ್ವಜನಿಕ ಕ್ಯಾಟಲಾಗ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಿಗೆ ಯಾವುದೇ ಕೀ ಅಗತ್ಯವಿಲ್ಲ.
SDK ಅನ್ನು ಹೇಗೆ ನವೀಕೃತವಾಗಿರಿಸಲಾಗುತ್ತದೆ?
API ಅನ್ನು ನಿರ್ಮಿಸಲಾದ ಅದೇ OpenAPI ನಿರ್ದಿಷ್ಟತೆಯಿಂದ ಇದನ್ನು ರಚಿಸಲಾಗಿದೆ ಮತ್ತು ಆ ನಿರ್ದಿಷ್ಟತೆಯು ಬದಲಾದಾಗಲೆಲ್ಲಾ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಕಟಿಸಲಾಗುತ್ತದೆ.
ಪ್ರತಿಯೊಂದು ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ವೇಷಿಸಿ
SDK ಕರೆಯಬಹುದಾದ ಪ್ರತಿಯೊಂದು ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಅದರ ನಿಯತಾಂಕಗಳು, ಪ್ರತಿಕ್ರಿಯೆಗಳು ಮತ್ತು ಅನುಮತಿಗಳೊಂದಿಗೆ API ಉಲ್ಲೇಖದಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ.