قاعدة المعرفة

استخدام TypeScript SDK (@zinn-digital/sdk)

قم بتثبيت @zinn-digital/sdk من npm، وأنشئ مفتاح API، وأجرِ أولى استدعاءاتك محددة النوع لـ Zinn Digital® API من TypeScript — المناطق العامة بدون مفتاح، ثم مواقعك الخاصة — بالإضافة إلى أنواع المخططات المصدرة وكيفية إرجاع الأخطاء.

@zinn-digital/sdk هو عميل TypeScript الرسمي الخاص بنا لـ Zinn Digital® API، والمنشور على npm. يتم إنشاء كل مسار ومَعلمة واستجابة فيه من نفس مواصفات OpenAPI التي تم بناء واجهة برمجة التطبيقات منها، ويتم نشر إصدار جديد تلقائيًا كلما تغيرت تلك المواصفات. يقوم هذا الدليل بتثبيته، والمصادقة عليه، وإجراء مكالماتك الأولى.

التثبيت

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. يطبع السطر الأول مناطق الاستضافة، ثم سطرًا واحدًا لكل موقع.

أنواع لرمزك الخاص

يتم تصدير أنواع المخططات، بحيث يمكن لوظائفك الخاصة استخدام أشكال واجهة برمجة التطبيقات:

import type { components } from "@zinn-digital/sdk";

type Site = components["schemas"]["Site"];
type DnsRecord = components["schemas"]["DnsRecord"];

إن المسار أو المعلمة أو الحقل المكتوب بشكل غير صحيح يُعد خطأ في الترجمة البرمجية بدلاً من كونه طلباً يُنفذ الإجراء الخاطئ بصمت.

الأخطاء

يُرجع كل استدعاء { data, error, response }. في حالة الاستجابة غير التابعة للفئة 2xx، تكون data غير محددة ويكون error هو غلاف خطأ واجهة برمجة التطبيقات: 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)، وإدارة المواقع على نطاق واسع.

تحسين محركات البحث وبناء الروابط من طبقة الاستضافة: رؤية المشغل لعام 2026

كيف تؤثر الاستضافة على الفهرسة وقيمة الروابط في عام 2026: الحفاظ على فهرسة الصفحات، وفحص النطاقات القديمة قبل البناء عليها، وبناء الروابط دون ترك أثر لمحركات البحث، ونظرة صادقة حول ما يمكن للبنية التحتية تقديمه لتهيئة محركات البحث (SEO) وما لا يمكنها فعله.

قراءة المنشور ←

جعل WordPress سريعًا وآمنًا: قائمة تحقق للأداء والمكونات الإضافية

قائمة تحقق عملية للحصول على WordPress سريع وآمن: التخزين المؤقت على مستوى الخادم، وذاكرة تخزين مؤقت للكائنات لكل موقع، ومجموعة المكونات الإضافية القليلة التي تستحق التشغيل، والحفاظ على حداثة الحزمة البرمجية، وصفحات WooCommerce التي يجب ألا تخزنها مؤقتًا أبدًا.

قراءة المنشور ←

كيف تختار استضافة ويب مدارة في عام 2026: دليل المشتري

ما الذي يميز فعلياً الاستضافة المدارة الجيدة عن خادم رخيص مع لوحة تحكم — عمليات النقل، والنسخ الاحتياطي، والعزل، والتخزين المؤقت الحقيقي، وقابلية التوسع الصادقة — وكيفية الحكم عليها قبل الالتزام.

قراءة المنشور ←

اقرأ المدونة ←

ما زلت عالقًا؟

الدعم مشمول في كل خطة، ومكتب الدعم مفتوح 24 ساعة في اليوم، ويمكنك مراسلتنا بأي لغة من لغاتنا البالغ عددها 58 لغة — وسنرد عليك بلغتك.

الاتصال بالدعم → جميع المقالات →