@zinn-digital/sdk ಎಂಬುದು npm ನಲ್ಲಿ ಪ್ರಕಟಿಸಲಾದ Zinn Digital® API ಗಾಗಿ ನಮ್ಮ ಅಧಿಕೃತ TypeScript ಕ್ಲೈಂಟ್ ಆಗಿದೆ. ಅದರಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಪಾತ್, ಪ್ಯಾರಾಮೀಟರ್ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು API ಅನ್ನು ನಿರ್ಮಿಸಲಾದ ಅದೇ OpenAPI ನಿರ್ದಿಷ್ಟತೆಯಿಂದ ರಚಿಸಲಾಗಿದೆ, ಮತ್ತು ಆ ನಿರ್ದಿಷ್ಟತೆಯು ಬದಲಾದಾಗಲೆಲ್ಲಾ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಕಟಿಸಲಾಗುತ್ತದೆ. ಈ ಮಾರ್ಗದರ್ಶಿಯು ಅದನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ, ಅದನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಮೊದಲ ಕರೆಗಳನ್ನು ಮಾಡುತ್ತದೆ.
ಸ್ಥಾಪಿಸಿ
npm install @zinn-digital/sdk
ಇದು fetch ಹೊಂದಿರುವ ಯಾವುದೇ JavaScript ರನ್ಟೈಮ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ: Node.js, ಬ್ರೌಸರ್ ಮತ್ತು ಎಡ್ಜ್ ರನ್ಟೈಮ್ಗಳು. ಇದು ಒಂದು ರನ್ಟೈಮ್ ಅವಲಂಬನೆಯನ್ನು ಹೊಂದಿದೆ, openapi-fetch, ಮತ್ತು ಇದು MIT-ಪರವಾನಗಿ ಪಡೆದಿದೆ.
API ಕೀಲಿಯನ್ನು ರಚಿಸಿ
ನಿಮ್ಮ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನ API ಕೀಲಿಗಳು ಪುಟವನ್ನು ತೆರೆಯಿರಿ (app.zinndigital.com/api-keys) ಮತ್ತು ಕೀಲಿಯನ್ನು ರಚಿಸಿ ಅನ್ನು ಒತ್ತಿರಿ. ಕೀಲಿಗೆ ಹೆಸರನ್ನು ನೀಡಿ ಮತ್ತು ನಿಮ್ಮ ಕೋಡ್ಗೆ ಅಗತ್ಯವಿರುವ ಅನುಮತಿಗಳನ್ನು ಮಾತ್ರ ನೀಡಿ — ಉದಾಹರಣೆಗೆ ಸೈಟ್ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲು sites.view. ಕೀಲಿಯನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ತೋರಿಸಲಾಗುತ್ತದೆ; ಅದನ್ನು ಪರಿಸರ ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಅಥವಾ ನಿಮ್ಮ ರಹಸ್ಯ ಸಂಗ್ರಹದಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ, ಎಂದಿಗೂ ಮೂಲ ಕೋಡ್ನಲ್ಲಿ ಇರಿಸಬೇಡಿ. ನೀವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಅದೇ ಪುಟದಲ್ಲಿ ಕೀಲಿಯನ್ನು ಹಿಂಪಡೆಯಬಹುದು.
ಹೋಸ್ಟಿಂಗ್ ಪ್ರದೇಶಗಳು ಮತ್ತು ಯೋಜನೆಗಳಂತಹ ಸಾರ್ವಜನಿಕ ಕ್ಯಾಟಲಾಗ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಿಗೆ ಯಾವುದೇ ಕೀಲಿಯ ಅಗತ್ಯವಿಲ್ಲ.
ನಿಮ್ಮ ಮೊದಲ ಕರೆಗಳು
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);
ಇದನ್ನು ZINN_API_KEY=zdk_live_… npx tsx first-calls.ts ನೊಂದಿಗೆ ರನ್ ಮಾಡಿ. ಮೊದಲ ಸಾಲು ಹೋಸ್ಟಿಂಗ್ ಪ್ರದೇಶಗಳನ್ನು ಮುದ್ರಿಸುತ್ತದೆ, ನಂತರ ಪ್ರತಿ ಸೈಟ್ಗೆ ಒಂದು ಸಾಲನ್ನು ಮುದ್ರಿಸುತ್ತದೆ.
ನಿಮ್ಮ ಸ್ವಂತ ಕೋಡ್ಗಾಗಿ ಪ್ರಕಾರಗಳು
ಸ್ಕೀಮಾ ಪ್ರಕಾರಗಳನ್ನು ರಫ್ತು ಮಾಡಲಾಗಿದೆ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಸ್ವಂತ ಕಾರ್ಯಗಳು API ನ ಆಕಾರಗಳನ್ನು ಬಳಸಬಹುದು:
import type { components } from "@zinn-digital/sdk";
type Site = components["schemas"]["Site"];
type DnsRecord = components["schemas"]["DnsRecord"];
ತಪ್ಪಾಗಿ ನಮೂದಿಸಲಾದ ಮಾರ್ಗ, ನಿಯತಾಂಕ ಅಥವಾ ಫೀಲ್ಡ್ ಎಂಬುದು ತಪ್ಪಾದ ಕೆಲಸವನ್ನು ಸದ್ದಿಲ್ಲದೆ ಮಾಡುವ ವಿನಂತಿಯ ಬದಲಿಗೆ ಕಂಪೈಲ್ ದೋಷವಾಗಿರುತ್ತದೆ.
ದೋಷಗಳು
ಪ್ರತಿಯೊಂದು ಕರೆಯು { data, error, response } ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. 2xx ಅಲ್ಲದ ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ data ಎಂಬುದು undefined ಆಗಿರುತ್ತದೆ ಮತ್ತು error ಎಂಬುದು API ನ ದೋಷದ ಹೊದಿಕೆಯಾಗಿರುತ್ತದೆ: error.error.code, ಓದಲು ಸುಲಭವಾದ error.error.message ಮತ್ತು ದೃಢೀಕರಣದ ವೈಫಲ್ಯಗಳಿಗಾಗಿ ಪ್ರತಿಯೊಂದು ಫೀಲ್ಡ್ ಅನ್ನು ಹೆಸರಿಸುವ error.error.details. 403 ಎಂದರೆ ಕೀಲಿಯು ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಅಗತ್ಯವಿರುವ ಅನುಮತಿಯನ್ನು ಹೊಂದಿಲ್ಲ ಎಂದರ್ಥ — ಹೆಚ್ಚಿನ ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿರುವ ಕೀಲಿಯನ್ನು ಮರುಬಳಕೆ ಮಾಡುವ ಬದಲು ಆ ನಿರ್ದಿಷ್ಟ ಅನುಮತಿಯನ್ನು ಹೊಂದಿರುವ ಕೀಲಿಯನ್ನು ರಚಿಸಿ.
ಮುಂದೆ ಎಲ್ಲಿಗೆ ಹೋಗಬೇಕು
- ನಮ್ಮ ವೆಬ್ಸೈಟ್ನಲ್ಲಿರುವ ಮಾರ್ಗದರ್ಶಿ: zinndigital.com/developers/sdk-typescript
- ಪ್ರತಿಯೊಂದು ಎಂಡ್ಪಾಯಿಂಟ್, ಅದರ ನಿಯತಾಂಕಗಳು ಮತ್ತು ಅದರ ಅನುಮತಿ: zinndigital.com/developers/api
- npm ನಲ್ಲಿರುವ ಪ್ಯಾಕೇಜ್: npmjs.com/package/@zinn-digital/sdk