إنتقل إلى المحتوى الرئيسي

سجل التغييرات

الواجهة البرمجية في مرحلة تجريبية وحصرية لخطة Enterprise: يجب أن تكون المفاتيح مُسجَّلة في البرنامج التجريبي وتابعة لمتجر ذي خطة Enterprise سارية، وإلا فكل نداء يُرجع 403، وhttps://api.dzbuild.app هو المضيف الوحيد المدعوم.

v1.4 — 2026-09-05 (تجريبي)

  • صار بالإمكان كتابة الطلبات. POST /v1/orders ينشئ طلباً، وPATCH /v1/orders/{id} ينقل حالته، وPOST /v1/orders/{id}/cancel يلغيه، وPOST /v1/orders/{id}/send-to-delivery يسلّم طرداً واحداً لشركة التوصيل الخاصة بالمتجر. النطاقان الجديدان هما orders:write وdelivery:send.
  • ⚠️ النطاقات تُجمَّد لحظة إنشاء المفتاح، فالمفتاح القائم لا يكتسب النطاقين الجديدين: أنشئ مفتاحاً جديداً أو أعد ربط الموصل لاستعمالهما.
  • ⚠️ التسليم لشركة التوصيل يحتاج دائماً تأكيداً صادراً من الخادم. النداء الأول يُرجع 409 confirmation_required مع رمز يُستعمل مرة واحدة وملخّص يذكر الزبون والهاتف والوجهة والمبلغ وشركة التوصيل؛ وهذا الرمز وحده يُرسل الطرد. القيمة confirm: true في جسم الطلب غير مقبولة في هذه النقطة من أي مستدعٍ. والطلب المُرسَل سابقاً يُرفض بـ 409 already_sent.
  • ⚠️ حساب مال الطلب صار من الخادم. قيمتا shipping_cost وpayment_fee القادمتان من المستدعي تُتجاهلان: سعر التوصيل يأتي من جدول أسعار المتجر نفسه حسب الولاية ونوع التوصيل، وdiscount مسقوف بمجموع الطلب زائد التوصيل. أسعار المنتجات كانت تعمل هكذا أصلاً.
  • GET /v1/shipping/coverage يجيب هل تخدم شركة التوصيل المرتبطة بلديةً معيّنة، وهل لها مكتب في ولاية معيّنة، مع تاريخ تحديث بيانات الشركة نفسها.
  • GET /v1/shipping/providers صار يذكر أيضاً شركة توصيل مضبوطة مباشرة على المتجر لا مضافة من قائمة المزوّدين، إضافة إلى is_send_default وeconomic_available وsynced_tier وstock_account وauto_validate وcustom_name. لا تُرجَع بيانات الاعتماد ولا العناوين أبداً.
  • GET /v1/landing-pages/{id}/check يذكر ما سيصطدم به الزبون في الصفحة: استمارة طلب بلا منتج، أو غياب استمارة الطلب، أو أكثر من واحدة، أو قسم يشير إلى منتج من متجر آخر.
  • ⚠️ نشر صفحة هبوط معطوبة مرفوض. نداء PATCH /v1/landing-pages/{id} بـ status: active يفشل بـ landing_page_has_no_product عندما تكون الصفحة ستأخذ الطلبات بصفر. وتعديل صفحة منشورة أصلاً ما زال يعمل حتى يمكن إصلاحها. وكتابة قسم يذكر product_id من متجر آخر تُرفض كخطأ تحقق.
  • ⚠️ PATCH /v1/landing-page-sections/{id} مع replace: true صار يعيد وضع الإعدادات الافتراضية لنوع القسم تحت ما ترسله، فالمفتاح المحذوف يعود إلى قيمته الافتراضية بدل أن يختفي من الصفحة.
  • GET /v1/connection يسرد المتاجر التي يغطيها ربط واحد وأيّها نشط، وPOST /v1/connection/active-store ينقل المؤشّر. المؤشّر ليس صلاحية: المتجر الذي لم يوافق عليه التاجر لا مفتاح له ولا يمكن اختياره.

v1.3 — 2026-08-13 (تجريبي)

  • إدارة ذاتية للمفاتيح — أصبح بإمكان مالكي المتاجر على خطة Enterprise إنشاء مفاتيح API وإلغاؤها من لوحة التحكم عبر الإعدادات ← واجهة API (/dashboard/api). تُعرض الأسرار مرة واحدة عند الإنشاء.
  • ⚠️ حد المعدل في الدقيقة يُطبَّق الآن لكل متجر، مشتركًا بين جميع مفاتيح المتجر (كان سابقًا لكل مفتاح). سقف Enterprise دون تغيير عند 600 طلب/دقيقة.
  • ⚠️ يمكن للمتجر الآن الاحتفاظ بـ 3 مفاتيح نشطة كحد أقصى (بدلًا من 20)، عبر جميع طرق الإنشاء — لوحة التحكم وPOST /v1/keys والمفاتيح الصادرة من الدعم. إلغاء مفتاح يحرّر مكانه.

v1.2 — 2026-08-13 (تجريبي)

  • ⚠️ صارت الواجهة البرمجية حصرية لخطة Enterprise. لا تُوثَّق المفاتيح إلا ما دام متجرها على خطة Enterprise سارية؛ وكل خطة أخرى — وكذلك اشتراك Enterprise منتهي الصلاحية — تتلقى 403 forbidden (برسالة API access requires an active Enterprise plan). ولا تُصدَر المفاتيح الجديدة إلا لمتاجر Enterprise. أما المفاتيح الموجودة لدى متاجر غير Enterprise فتتوقف عن العمل فورًا دون أن تُحذف: تعود إلى العمل لحظة انتقال المتجر إلى Enterprise (أو تجديده)، دون أي إعادة إصدار.
  • ⚠️ أُلغيت خطط حدود المعدل القديمة Free / Pro / Unlimited. ويبقى سقف Enterprise عند 600 طلب/دقيقة لكل مفتاح دون سقف شهري؛ والتجاوزات الخاصة بالمتجر من الدعم تبقى سارية.

v1.1 — 2026-08-12 (تجريبي)

  • صور المنتجات عبر الواجهة البرمجيةPOST /v1/products/{id}/images يضيف صورة من رابط https عمومي (تتكفّل DZBuild بتنزيلها وتحسينها واستضافتها)، وPATCH .../images/{image_id} يضبط النص البديل وترتيب العرض والصورة الرئيسية، وDELETE .../images/{image_id} يحذف صورة. الروابط المكرّرة لا تُضاف مرتين، وأول صورة تصبح الرئيسية تلقائيًا، والحد الأقصى 20 صورة لكل منتج.
  • PUT /v1/products/{id}/variants — إنشاء وإدارة مجموعات الأنواع وخياراتها ومخزون التركيبات في نداء واحد (استبدال كامل). أصبحت الحقول price_adjustment وstock وsku وimage_id وshow_as_card لكل خيار قابلة للكتابة، وتُضبط أعلام وضع المخزون نيابةً عنك.
  • GET /v1/products/{id} يُرجع الآن كتلة combinations إضافةً إلى حقول الخيارات الكاملة (price_adjustment، sku، show_as_card، sort_order، is_active) والنص البديل alt_text للصور.
  • ⚠️ تغيير مؤثّر: أصبح primary_image وimages[].url يُرجعان روابط CDN كاملة بدل أسماء الملفات المجرّدة. إذا كان كودك يضيف البادئة يدويًا فاحذف ذلك المنطق.

v1.0.1 — 2026-05-02 (تجريبي)

  • POST /v1/orders — إنشاء الطلبات عبر الواجهة البرمجية. مصمَّم للثيمات المخصصة والمتاجر بدون رأس وتطبيقات الجوال وأتمتة الموزّعين. تسعير سطور الطلب معتمد على الخادم؛ دعم كامل للمتغيرات؛ idempotent.
  • 📚 دليل جديد: الثيمات والواجهات المخصصة — بناء كامل من العرض إلى السلة إلى الـ checkout والـ webhooks.
  • 📚 دليل جديد: للموزّعين — إدارة متاجر متعددة للعملاء، عمليات بالجملة، علامة بيضاء، نماذج فوترة.
  • 📚 دليل جديد: إعداد البيئة و .env — تخزين آمن لبيانات الاعتماد عبر Node, Python, PHP, Go, Vercel, Cloudflare, AWS, Docker/K8s, GitHub Actions.
  • 📚 توسيع مرجع Orders — توثيق كامل للمتغيرات بما في ذلك المخزون لكل متغيّر، المخزون لكل تركيبة، المتغيرات المتدرجة، متغيرات الصورة-نص، عروض القطع المتعددة.

v1.0 — 2026-04-30 (تجريبي)

  • 🎉 إطلاق نسخة تجريبية أولى.
  • مصادقة وحد معدل وذاكرة قراءة مؤقتة، لكل مفتاح.
  • نقاط نهاية قراءة للمتجر / المنتجات / الطلبات / العملاء / صفحات الهبوط.
  • نقاط نهاية كتابة مع idempotency للمنتجات / الطلبات / صفحات الهبوط.
  • استيعاب غير متزامن لـ/v1/signups و /v1/events (202 Accepted).
  • Webhooks صادرة مع إعادة محاولة تلقائية.