سجل التغييرات
الواجهة البرمجية في مرحلة تجريبية وحصرية لخطة 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 صادرة مع إعادة محاولة تلقائية.