TypeScript SDK
TypeScript မှနေ၍ သင်၏ဟိုစတင်းကို စီမံခန့်ခွဲပါ
@zinn-digital/sdk သည် Zinn Digital® API အတွက် အပြည့်အဝ အမျိုးအစားသတ်မှတ်ထားသော (fully typed) client တစ်ခုဖြစ်သည်။ လမ်းကြောင်း၊ ပါရာမီတာနှင့် တုံ့ပြန်မှုတိုင်းကို API တည်ဆောက်ထားသည့် တူညီသော OpenAPI သတ်မှတ်ချက်မှ ထုတ်ပေးထားသောကြောင့် သင်၏တည်းဖြတ်စနစ်သည် API တစ်ခုလုံးကို သိရှိပြီး စာလုံးပေါင်းအမှားတစ်ခုသည် compile error ဖြစ်စေပါသည်။
ထည့်သွင်းပါ
ပက်ကေ့ဂျ်သည် @zinn-digital နယ်ပယ်အောက်ရှိ npm ပေါ်တွင် ရှိသည်။ ၎င်းသည် fetch ပါရှိသော မည်သည့် JavaScript runtime တွင်မဆို အလုပ်လုပ်ပါသည်။
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 ဖြစ်သည်။ သတ်မှတ်ချက် ပြောင်းလဲသည့်အခါတိုင်း ဗားရှင်းအသစ်ကို အလိုအလျောက် ထုတ်ဝေပေးသောကြောင့် မည်သူမျှ wrapper ရေးစရာမလိုဘဲ endpoint အသစ်သည် SDK သို့ ရောက်ရှိသွားပါသည်။
သေးငယ်ပြီး အမှီအခိုနည်းသော
အလုပ်လုပ်ချိန် မှီခိုမှုတစ်ခုတည်းနှင့် မူရင်း 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 ရှိပါသလား။
ဟုတ်ကဲ့။ npm မှ @zinn-digital/sdk ကို ထည့်သွင်းပါ။ ၎င်းသည် ကျွန်ုပ်တို့၏ OpenAPI သတ်မှတ်ချက်မှ ထုတ်လုပ်ထားသော အပြည့်အဝ အမျိုးအစားသတ်မှတ်ထားသည့် client တစ်ခုဖြစ်ပြီး အများသုံး API တစ်ခုလုံးကို လွှမ်းခြုံထားသည်။
ကျွန်ုပ် မည်သို့ အထောက်အထားပြရမည်နည်း။
သင့်ဒက်ရှ်ဘုတ်၏ API သော့များ စာမျက်နှာတွင် API သော့တစ်ခုကို ဖန်တီးပြီး ၎င်းကို Authorization ခေါင်းစဉ်တွင် bearer token အဖြစ် ပေးပို့ပါ။ အများသုံး ကတ်တလောက် အဆုံးမှတ်များသည် သော့ မလိုအပ်ပါ။
SDK ကို မည်သို့ အမြဲနောက်ဆုံးပေါ်ဖြစ်အောင် ထိန်းသိမ်းထားပါသလဲ။
၎င်းကို API တည်ဆောက်ထားသည့် တူညီသော OpenAPI သတ်မှတ်ချက်မှ ထုတ်ပေးပြီး ထိုသတ်မှတ်ချက် ပြောင်းလဲသည့်အခါတိုင်း ဗားရှင်းအသစ်ကို အလိုအလျောက် ထုတ်ဝေပေးပါသည်။
အဆုံးမှတ်တိုင်းကို လေ့လာပါ
SDK ခေါ်ဆိုနိုင်သော လုပ်ဆောင်ချက်တိုင်းကို ၎င်း၏ ပါရာမီတာများ၊ တုံ့ပြန်ချက်များနှင့် ခွင့်ပြုချက်များနှင့်အတူ API အကိုးအကားတွင် ဖော်ပြထားပါသည်။