TypeScript SDK

TypeScript ਤੋਂ ਆਪਣੀ ਹੋਸਟਿੰਗ ਪ੍ਰਬੰਧਿਤ ਕਰੋ

@zinn-digital/sdk Zinn Digital® API ਲਈ ਇੱਕ ਪੂਰੀ ਤਰ੍ਹਾਂ ਟਾਈਪ ਕੀਤਾ ਕਲਾਇੰਟ ਹੈ। ਹਰੇਕ ਮਾਰਗ, ਪੈਰਾਮੀਟਰ ਅਤੇ ਜਵਾਬ ਉਸੇ OpenAPI ਵਿਸ਼ੇਸ਼ਤਾ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਸ ਤੋਂ API ਬਣਾਇਆ ਗਿਆ ਹੈ, ਇਸ ਲਈ ਤੁਹਾਡਾ ਸੰਪਾਦਕ ਪੂਰੇ API ਨੂੰ ਜਾਣਦਾ ਹੈ ਅਤੇ ਟਾਈਪੋ ਇੱਕ ਕੰਪਾਈਲ ਗਲਤੀ ਬਣ ਜਾਂਦਾ ਹੈ।

ਸਾਰੇ ਡਿਵੈਲਪਰ ਦਸਤਾਵੇਜ਼ →

ਇੰਸਟਾਲ ਕਰੋ

ਪੈਕੇਜ @zinn-digital ਸਕੋਪ ਅਧੀਨ npm 'ਤੇ ਉਪਲਬਧ ਹੈ। ਇਹ ਕਿਸੇ ਵੀ 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);

ਪ੍ਰਮਾਣੀਕਰਨ

ਜਨਤਕ ਕੈਟਾਲਾਗ ਐਂਡਪੁਆਇੰਟਾਂ, ਜਿਵੇਂ ਕਿ ਖੇਤਰਾਂ ਅਤੇ ਯੋਜਨਾਵਾਂ, ਨੂੰ ਕਿਸੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਬਾਕੀ ਸਭ ਕੁਝ ਇੱਕ bearer token ਵਜੋਂ ਭੇਜੀ ਗਈ ਪ੍ਰਤੀ-ਸੰਸਥਾ API ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇੱਕ ਕੁੰਜੀ ਸਿਰਫ਼ ਉਹੀ ਇਜਾਜ਼ਤਾਂ ਰੱਖਦੀ ਹੈ ਜੋ ਤੁਸੀਂ ਇਸਨੂੰ ਬਣਾਉਣ ਸਮੇਂ ਦਿੰਦੇ ਹੋ, ਅਤੇ ਤੁਸੀਂ ਇਸਨੂੰ ਕਿਸੇ ਵੀ ਸਮੇਂ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ। ਇਸਨੂੰ ਇੱਕ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਜਾਂ ਆਪਣੇ ਗੁਪਤ ਸਟੋਰ ਵਿੱਚ ਰੱਖੋ, ਕਦੇ ਵੀ ਸਰੋਤ ਕੋਡ ਵਿੱਚ ਨਹੀਂ।

ਆਪਣੇ ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ ਇੱਕ 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 ਨੂੰ ਅੱਪ-ਟੂ-ਡੇਟ ਕਿਵੇਂ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ?

ਇਹ ਉਸੇ OpenAPI ਨਿਰਧਾਰਨ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਸ ਤੋਂ API ਬਣਾਇਆ ਗਿਆ ਹੈ, ਅਤੇ ਜਦੋਂ ਵੀ ਉਹ ਨਿਰਧਾਰਨ ਬਦਲਦਾ ਹੈ ਤਾਂ ਇੱਕ ਨਵਾਂ ਸੰਸਕਰਣ ਆਪਣੇ ਆਪ ਪ੍ਰਕਾਸ਼ਿਤ ਹੁੰਦਾ ਹੈ।

ਹਰੇਕ ਅੰਤਮ ਬਿੰਦੂ ਦੀ ਪੜਚੋਲ ਕਰੋ

SDK ਵੱਲੋਂ ਕਾਲ ਕੀਤੇ ਜਾ ਸਕਣ ਵਾਲੇ ਹਰੇਕ ਓਪਰੇਸ਼ਨ ਦਾ ਵੇਰਵਾ ਇਸਦੇ ਪੈਰਾਮੀਟਰਾਂ, ਜਵਾਬਾਂ ਅਤੇ ਅਨੁਮਤੀਆਂ ਸਮੇਤ API ਹਵਾਲੇ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ।

API ਹਵਾਲਾ