TypeScript SDK

ຈັດການໂຮສຕິ້ງຂອງທ່ານຈາກ TypeScript

@zinn-digital/sdk ແມ່ນໄຄລເອັນທີ່ມີການກຳນົດປະເພດຂໍ້ມູນຢ່າງຄົບຖ້ວນສຳລັບ Zinn Digital® API. ທຸກໆເສັ້ນທາງ, ພາລາມິເຕີ ແລະ ການຕອບກັບແມ່ນຖືກສ້າງຂຶ້ນມາຈາກຂໍ້ກຳນົດສະເພາະ OpenAPI ດຽວກັນກັບທີ່ API ຖືກສ້າງຂຶ້ນ, ດັ່ງນັ້ນຕົວແກ້ໄຂຂອງທ່ານຈຶ່ງຮູ້ຈັກ API ທັງໝົດ ແລະ ຂໍ້ຜິດພາດໃນການພິມຈະກາຍເປັນຂໍ້ຜິດພາດໃນການຄອມໄພລ໌.

ເອກະສານນັກພັດທະນາທັງໝົດ →

ຕິດຕັ້ງ

ແພັກເກດມີຢູ່ໃນ npm ພາຍໃຕ້ຂອບເຂດ @zinn-digital. ມັນເຮັດວຽກຢູ່ໃນທຸກສະພາບແວດລ້ອມການເຮັດວຽກຂອງ 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);

ການຢືນຢັນຕົວຕົນ

ຈຸດປາຍແຄັດຕາລັອກສາທາລະນະ ເຊັ່ນ ພາກພື້ນ ແລະ ແຜນການ ບໍ່ຈໍາເປັນຕ້ອງມີຂໍ້ມູນປະຈໍາຕົວ. ສ່ວນອື່ນໆທັງໝົດແມ່ນໃຊ້ລະຫັດ API ຕໍ່ອົງກອນທີ່ສົ່ງເປັນ bearer token. ລະຫັດຈະມີພຽງແຕ່ການອະນຸຍາດທີ່ທ່ານໃຫ້ໄວ້ໃນເວລາທີ່ທ່ານສ້າງມັນເທົ່ານັ້ນ, ແລະ ທ່ານສາມາດຖອນຄືນໄດ້ທຸກເວລາ. ກະລຸນາເກັບຮັກສາມັນໄວ້ໃນຕົວປ່ຽນສະພາບແວດລ້ອມ ຫຼື ບ່ອນເກັບຂໍ້ມູນລັບຂອງທ່ານ, ຢ່າເກັບໄວ້ໃນຊອດໂຄ້ດຢ່າງເດັດຂາດ.

ສ້າງຄີ API ໃນແຜງໜ້າປັດຂອງທ່ານ

ສິ່ງທີ່ທ່ານຈະໄດ້ຮັບ

API ສາທາລະນະທັງໝົດ, ລະບຸປະເພດແລ້ວ

ເວັບໄຊ, ໂດເມນ ແລະ DNS, ການຮຽກເກັບເງິນ, ການຊ່ວຍເຫຼືອ ແລະ ທຸກໆພາກສ່ວນອື່ນຂອງ API ສາທາລະນະ. ການຕອບກັບ ແລະ ຂໍ້ຜິດພາດແມ່ນມີການກຳນົດປະເພດໄວ້, ແລະ ປະເພດໂຄງຮ່າງແມ່ນຖືກສົ່ງອອກສຳລັບໂຄ້ດຂອງທ່ານເອງ.

ສ້າງຂຶ້ນໂດຍອັດຕະໂນມັດ, ບໍ່ເຄີຍຂຽນດ້ວຍມື

ຄລາຍແອນແມ່ນ openapi-fetch ເໜືອປະເພດທີ່ສ້າງຂຶ້ນຈາກຂໍ້ກຳນົດສະເພາະ OpenAPI ຂອງພວກເຮົາ. ເວີຊັນໃໝ່ຈະຖືກເຜີຍແຜ່ໂດຍອັດຕະໂນມັດທຸກຄັ້ງທີ່ຂໍ້ກຳນົດສະເພາະປ່ຽນແປງ, ດັ່ງນັ້ນຈຸດສິ້ນສຸດໃໝ່ຈຶ່ງເຂົ້າເຖິງ SDK ໄດ້ໂດຍບໍ່ມີໃຜຕ້ອງຂຽນ wrapper.

ຂະໜາດນ້ອຍ ແລະ ມີການເພິ່ງພາໜ້ອຍ

ການເພິ່ງພາເວລາເຮັດວຽກອັນດຽວ ແລະ 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 ບໍ່?

ແມ່ນແລ້ວ. ຕິດຕັ້ງ @zinn-digital/sdk ຈາກ npm. ມັນເປັນ client ທີ່ຖືກກຳນົດປະເພດຢ່າງສົມບູນເຊິ່ງສ້າງຂຶ້ນຈາກຂໍ້ກຳນົດ OpenAPI ຂອງພວກເຮົາ, ແລະ ມັນກວມເອົາ API ສາທາລະນະທັງໝົດ.

ຂ້ອຍຈະຢືນຢັນຕົວຕົນແນວໃດ?

ສ້າງຄີ API ໃນໜ້າ ຄີ API ຂອງແຜງໜ້າປັດຂອງທ່ານ ແລະ ສົ່ງມັນເປັນ bearer token ໃນສ່ວນຫົວ Authorization. ຈຸດສິ້ນສຸດລາຍການສາທາລະນະບໍ່ຈຳເປັນຕ້ອງມີຄີ.

SDK ໄດ້ຮັບການອັບເດດໃຫ້ທັນສະໄໝຢູ່ສະເໝີແນວໃດ?

ມັນຖືກສ້າງຂຶ້ນຈາກຂໍ້ກຳນົດ OpenAPI ດຽວກັນກັບທີ່ API ຖືກສ້າງຂຶ້ນ, ແລະ ເວີຊັນໃໝ່ຈະຖືກເຜີຍແຜ່ໂດຍອັດຕະໂນມັດທຸກຄັ້ງທີ່ຂໍ້ກຳນົດນັ້ນມີການປ່ຽນແປງ.

ສຳຫຼວດທຸກຈຸດເຊື່ອມຕໍ່

ທຸກໆການດຳເນີນງານທີ່ SDK ສາມາດຮຽກໃຊ້ໄດ້ແມ່ນໄດ້ຖືກອະທິບາຍໄວ້ໃນເອກະສານອ້າງອີງ API, ພ້ອມກັບພາລາມິເຕີ, ການຕອບກັບ ແລະ ການອະນຸຍາດຂອງມັນ.

ເອກະສານອ້າງອີງ API