TypeScript SDK

Dhibiti upangishaji wako kutoka TypeScript

@zinn-digital/sdk ni mteja aliyetaypishwa kikamilifu kwa ajili ya Zinn Digital® API. Kila njia, kigezo na jibu huzalishwa kutoka kwa ubainifu uleule wa OpenAPI ambao API hiyo imejengwa kutoka kwayo, kwa hivyo kihariri chako kinafahamu API nzima na kosa la ucharazaji linakuwa hitilafu ya uunganishaji.

Nyaraka zote za watengenezaji →

Sakinisha

Kifurushi hiki kinapatikana kwenye npm chini ya upeo wa @zinn-digital. Kinafanya kazi katika mazingira yoyote ya uendeshaji ya JavaScript yaliyo na fetch.

npm install @zinn-digital/sdk

Kuanza haraka

Orodhesha maeneo ya umma ya upangishaji bila ufunguo, kisha orodhesha tovuti zako mwenyewe ukitumia mmoja.

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);

Uthibitishaji

Vituo vya mwisho vya katalogi ya umma, kama vile maeneo na mipango, havihitaji kitambulisho. Kila kitu kingine hutumia ufunguo wa API wa kila shirika unaotumwa kama bearer token. Ufunguo hubeba tu ruhusa unazoupa unapoitengeneza, na unaweza kuufuta wakati wowote. Uweke katika kibadala cha mazingira au hifadhi yako ya siri, kamwe usiweke kwenye msimbo wa chanzo.

Unda ufunguo wa API kwenye dashibodi yako

Unachopata

API yote ya umma, ikiwa na aina

Tovuti, vikoa na DNS, bili, usaidizi na kila eneo lingine la API ya umma. Majibu na makosa yamewekwa aina, na aina za mpangilio zinasafirishwa kwa ajili ya msimbo wako mwenyewe.

Iliyozalishwa, haijawahi kuandikwa kwa mkono

Mteja ni openapi-fetch inayotumia aina zilizozalishwa kutoka kwa ubainifu wetu wa OpenAPI. Toleo jipya huchapishwa kiotomatiki wakati wowote ubainifu unapobadilika, kwa hivyo kifikio kipya hufikia SDK bila mtu yeyote kuandika kanga.

Ndogo na yenye vitegemezi vichache

Utegemezi mmoja wa wakati wa utekelezaji na fetch asili. Hufanya kazi katika Node.js, kwenye kivinjari na katika mazingira ya uendeshaji ya edge, na ina leseni ya MIT.

Imeandikwa mpaka chini kabisa

Soma rekodi za DNS za kikoa na uzichuje kulingana na aina ya rekodi iliyobainishwa na vipimo.

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);

Maswali

Je, una SDK ya TypeScript au JavaScript?

Ndiyo. Sakinisha @zinn-digital/sdk kutoka npm. Ni mteja aliyeandikwa kikamilifu aliyezalishwa kutoka kwa vipimo vyetu vya OpenAPI, na inashughulikia API yote ya umma.

Ninawezaje kuthibitisha?

Unda ufunguo wa API kwenye ukurasa wa Vifunguo vya API wa dashibodi yako na uutume kama tokeni ya mchukuzi kwenye kichwa cha Authorization. Vituo vya mwisho vya katalogi ya umma havihitaji ufunguo wowote.

Je, SDK husasishwa vipi kila wakati?

Huzalishwa kutoka kwa maelezo yale yale ya OpenAPI ambayo API imejengwa kwayo, na toleo jipya huchapishwa kiotomatiki wakati wowote maelezo hayo yanapobadilika.

Chunguza kila kituo cha mwisho

Kila operesheni ambayo SDK inaweza kuita imeelezewa katika marejeleo ya API, ikiwa na vigezo, majibu na ruhusa zake.

Rejeleo la API