មូលដ្ឋាន​ចំណេះដឹង

ការប្រើប្រាស់ TypeScript SDK (@zinn-digital/sdk)

ដំឡើង @zinn-digital/sdk ពី npm បង្កើតសោ API និងធ្វើការហៅដែលមានប្រភេទដំបូងរបស់អ្នកទៅកាន់ Zinn Digital® API ពី TypeScript — តំបន់សាធារណៈដោយគ្មានសោ បន្ទាប់មកគេហទំព័រផ្ទាល់ខ្លួនរបស់អ្នក — បូករួមទាំងប្រភេទគ្រោងការណ៍ដែលបាននាំចេញ និងរបៀបដែលកំហុសត្រឡប់មកវិញ។

@zinn-digital/sdk គឺជា TypeScript client ផ្លូវការរបស់យើងសម្រាប់ Zinn Digital® API ដែលត្រូវបានបោះពុម្ពផ្សាយនៅលើ npm។ គ្រប់ path, parameter និង response នៅក្នុងនោះ ត្រូវបានបង្កើតចេញពី OpenAPI specification ដូចគ្នាដែល API ត្រូវបានបង្កើតឡើង ហើយកំណែថ្មីមួយនឹងត្រូវបានបោះពុម្ពផ្សាយដោយស្វ័យប្រវត្តិនៅពេលណាដែល specification នោះមានការផ្លាស់ប្តូរ។ ការណែនាំនេះដំឡើងវា ផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវវា និងធ្វើការហៅលើកដំបូងរបស់អ្នក។

ដំឡើង

npm install @zinn-digital/sdk

វាដំណើរការក្នុងគ្រប់ runtime របស់ JavaScript ទាំងអស់ដែលមាន fetch៖ Node.js កម្មវិធីរុករក និង edge runtimes។ វាមាន runtime dependency តែមួយគត់គឺ openapi-fetch ហើយវាត្រូវបានផ្តល់អាជ្ញាបណ្ណ MIT។

បង្កើតសោ API

បើកទំព័រ សោ API នៃផ្ទាំងគ្រប់គ្រងរបស់អ្នក (app.zinndigital.com/api-keys) ហើយចុច បង្កើតសោ។ ដាក់ឈ្មោះឱ្យសោ ហើយផ្តល់ត្រឹមតែការអនុញ្ញាតដែលកូដរបស់អ្នកត្រូវការប៉ុណ្ណោះ — ឧទាហរណ៍ sites.view ដើម្បីរាយបញ្ជីគេហទំព័រ។ សោនេះត្រូវបានបង្ហាញតែម្តងគត់ សូមរក្សាទុកវាក្នុង environment variable ឬកន្លែងផ្ទុកការសម្ងាត់របស់អ្នក កុំទុកក្នុង source code ឱ្យសោះ។ អ្នកអាចដកហូតសោនេះនៅពេលណាក៏បាននៅលើទំព័រដដែល។

Endpoints កាតាឡុកសាធារណៈ ដូចជាតំបន់បង្ហោះ និងគម្រោងនានា មិនត្រូវការសោទាល់តែសោះ។

ការហៅលើកដំបូងរបស់អ្នក

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 គឺ undefined ហើយ 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

ឯកសារអ្នកអភិវឌ្ឍន៍ទាំងអស់ →

ថ្មីៗពីប្លុក

អ្វីដែលយើងបានសរសេរអំពីការបង្ហោះគេហទំព័រ SEO និងការដំណើរការគេហទំព័រក្នុងកម្រិតទ្រង់ទ្រាយធំ។

SEO និងការបង្កើតតំណភ្ជាប់ពីស្រទាប់បង្ហោះ៖ ទស្សនវិស័យរបស់ប្រតិបត្តិករឆ្នាំ 2026

របៀបដែលសេវាបង្ហោះគេហទំព័រជះឥទ្ធិពលលើការធ្វើលិបិក្រម និងតម្លៃតំណភ្ជាប់ក្នុងឆ្នាំ ២០២៦៖ ការរក្សាទំព័រឱ្យស្ថិតក្នុងការធ្វើលិបិក្រម ការត្រួតពិនិត្យដូមេនចាស់ៗមុនពេលបង្កើតគេហទំព័រលើពួកវា ការកសាងតំណភ្ជាប់ដោយគ្មានបន្សល់ស្លាកស្នាមស្វែងរក និងទស្សនៈត្រង់ទៅត្រង់មកអំពីអ្វីដែលហេដ្ឋារចនាសម្ព័ន្ធអាចធ្វើបាន និងមិនអាចធ្វើបានសម្រាប់ SEO។

អានការបង្ហោះ →

ធ្វើឱ្យ WordPress មានល្បឿនលឿន និងមានសុវត្ថិភាព៖ បញ្ជីត្រួតពិនិត្យដំណើរការការងារ និងកម្មវិធីជំនួយ

បញ្ជីត្រួតពិនិត្យជាក់ស្តែងសម្រាប់ WordPress ដែលមានល្បឿនលឿន និងសុវត្ថិភាព៖ ការផ្ទុកទិន្នន័យបណ្តោះអាសន្ននៅកម្រិតម៉ាស៊ីនបម្រើ (server-level caching) ឃ្លាំងផ្ទុកវត្ថុបណ្តោះអាសន្នតាមគេហទំព័រ (object cache) កម្មវិធីជំនួយ (plugins) មួយចំនួនតូចដែលគួរប្រើ ការរក្សាប្រព័ន្ធបច្ចេកវិទ្យាឱ្យទាន់សម័យ និងទំព័រ WooCommerce ដែលអ្នកមិនត្រូវផ្ទុកទិន្នន័យបណ្តោះអាសន្នជាដាច់ខាត។

អានការបង្ហោះ →

របៀបជ្រើសរើសសេវាបង្ហោះគេហទំព័រដែលមានការគ្រប់គ្រងនៅឆ្នាំ 2026៖ ការណែនាំសម្រាប់អ្នកទិញ

អ្វីដែលបែងចែកយ៉ាងពិតប្រាកដរវាងការគ្រប់គ្រងបង្ហោះគេហទំព័រដ៏ល្អ និងប្រអប់ថោកដែលមានផ្ទាំងបញ្ជា — ការផ្ទេរទិន្នន័យ ការបម្រុងទុក ការផ្តាច់ចេញ ការផ្ទុកឃ្លាំងសម្ងាត់ពិតប្រាកដ និងការពង្រីកទំហំដោយស្មោះត្រង់ — និងរបៀបវាយតម្លៃវា មុនពេលអ្នកធ្វើការប្តេជ្ញាចិត្ត។

អានការបង្ហោះ →

អានប្លក់ →

នៅតែជាប់គាំងមែនទេ?

ការគាំទ្រត្រូវបានរួមបញ្ចូលក្នុងរាល់គម្រោងទាំងអស់ ដេប៉ាតឺម៉ង់បម្រើអតិថិជនបើកដំណើរការ 24 ម៉ោងក្នុងមួយថ្ងៃ ហើយអ្នកអាចសរសេរមកកាន់ពួកយើងជាភាសាណាមួយក្នុងចំណោមភាសា 58 របស់យើង — យើងនឹងឆ្លើយតបអ្នកវិញជាភាសារបស់អ្នក។

ទាក់ទងផ្នែកគាំទ្រ → អត្ថបទទាំងអស់ →