@zinn-digital/sdk-ն մեր պաշտոնական TypeScript հաճախորդն է Zinn Digital® API-ի համար, որը հրապարակված է npm-ում: Դրանում եղած յուրաքանչյուր ուղի, պարամետր և պատասխան ստեղծվում է OpenAPI-ի նույն բնութագրից, որից կառուցված է API-ը, և նոր տարբերակն ավտոմատ կերպով հրապարակվում է ամեն անգամ, երբ այդ բնութագիրը փոխվում է: Այս ուղեցույցը տեղադրում է այն, նույնականացնում այն և կատարում Ձեր առաջին հարցումները:
Տեղադրել
npm install @zinn-digital/sdk
Այն աշխատում է ցանկացած JavaScript գործարկման միջավայրում, որն ունի fetch՝ Node.js, բրաուզեր և edge գործարկման միջավայրեր: Այն ունի գործարկման ժամանակի մեկ կախվածություն՝ 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-ն սահմանված չէ, իսկ 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