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

نظرة عامة

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

الميزات الرئيسية

File Upload

قم بتحميل وتسليم الملفات الرقمية (PDF، ZIP، الصور، الفيديوهات، إلخ) مباشرةً إلى عملائك.

Multiple Files

أرفق ما يصل إلى 10 ملفات لكل منتج لتيسير تسليم المنتجات الرقمية بشكل كامل.

External Links

قدّم روابط تنزيل خارجية (Dropbox، Google Drive، إلخ) كبديل لرفع الملفات.

Automatic Delivery

يتلقى العملاء تلقائيًا تعليمات التنزيل عبر البريد الإلكتروني بعد إتمام الدفع بنجاح.

عملية الإعداد

1

Navigate to Products

انتقل إلى لوحة التحكم واختر Products > Create New أو قم بتحرير منتج قائم. ثم انتقل إلى Advanced Settings → Digital Product Delivery.
2

Configure File Delivery

اختر أحد الخيارات التالية:
  • تحميل ملف(ات): أضف ما يصل إلى 10 ملفات مباشرة إلى منتجك
  • رابط تنزيل خارجي: ألصق رابطًا آمنًا مستضافًا خارجيًا (مثل Dropbox، Google Drive)
واجهة إعداد تسليم المنتج الرقمي تظهر خيارات تحميل الملفات والروابط الخارجية
3

Save Configuration

انقر على Update Product لجعل إعدادات تسليم المنتج الرقمي فعالة.
يتم تقديم الملفات المرفوعة عبر عناوين URL ثابتة — أي شخص لديه الرابط يمكنه الوصول إلى الملف. ضع في اعتبارك استخدام خدمات خارجية تتطلب التوثيق للمحتوى الحساس.

تجربة العميل

تأكيد الشراء

بعد إتمام المعاملة بنجاح، يتلقى العملاء بريدًا إلكترونيًا لتأكيد الشراء يحتوي على روابط التنزيل لمنتجاتهم الرقمية.
بريد تأكيد الشراء يظهر روابط تحميل المنتجات الرقمية

الوصول إلى بوابة العملاء

يمكن للعملاء الوصول إلى منتجاتهم الرقمية من خلال بوابة العملاء:
  • تسجيل الدخول لعرض جميع المشتريات السابقة
  • تنزيل الملفات أو الوصول إلى الروابط الخارجية لكل منتج
  • وصول دائم إلى المحتوى الرقمي المشتراة
واجهة بوابة العملاء تظهر المنتجات الرقمية المتاحة للتحميل
يمكن للعملاء تنزيل الملفات مباشرةً من رسائل التأكيد أو الوصول إليها في أي وقت من خلال بوابتهم.

اعتبارات مهمة

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

تجربة العميل

تأكيد الشراء

بعد إتمام المعاملة بنجاح، يتلقى العميل بريدًا إلكترونيًا يحتوي على روابط التنزيل وأي تعليمات قمت بتكوينها.
بريد تأكيد الشراء يظهر روابط التنزيل للمنتجات الرقمية

الوصول إلى بوابة العملاء

يمكن للعملاء إعادة الحصول على روابط التنزيل في أي وقت من بوابة العملاء. تقوم صفحة البوابة بتوليد عناوين URLs مسبقة التوقيع جديدة حسب الطلب، لذلك تستمر نفس عملية الشراء في العمل حتى بعد انتهاء صلاحية الروابط الموجودة في البريد الإلكتروني.
واجهة بوابة العملاء تظهر المنتجات الرقمية المتاحة للتنزيل
يمكن للعملاء تنزيل الملفات مباشرة من رسائل التأكيد الإلكترونية أو الوصول إليها في أي وقت من خلال بوابتهم.

إدارة الملفات برمجيًا

تحميل ملف إلى استحقاق

import DodoPayments from 'dodopayments';
import fs from 'node:fs';

const client = new DodoPayments({
  bearerToken: process.env['DODO_PAYMENTS_API_KEY'],
  environment: 'test_mode',
});

await client.entitlements.files.upload('ent_files_abc', {
  file: fs.createReadStream('./pro-bundle.zip'),
  filename: 'pro-bundle.zip',
});

قائمة الامتيازات وحل روابط التنزيل

const grants = await client.entitlements.grants.list('ent_files_abc', {
  customer_id: 'cus_abc123',
});

for (const grant of grants.items) {
  for (const file of grant.digital_product_delivery.files) {
    console.log(file.filename, file.download_url, `expires in ${file.expires_in}s`);
  }
}

إزالة ملف من استحقاق

await client.entitlements.files.delete('ent_files_abc', 'df_a4f6c1de');

اعتبارات هامة

  • تنتهي صلاحية عناوين URLs مسبقة التوقيع بسرعة. تكون روابط التنزيل المعادة في حمولات الامتياز أو أحداث webhook صالحة لمدة ~15 دقيقة. لا تقم بتخزينها؛ أعد الحصول عليها عند حاجة العميل للتنزيل مرة أخرى.
  • لا تؤثر تحديثات الملفات إلا على المشتريات المستقبلية. استبدال أو إزالة ملف لا يغير التنزيلات التي تم إصدارها بالفعل. يمكن للعملاء السابقين الاستمرار في إعادة الحصول على النسخة التي كانت حالية عندما تم إنشاء امتيازهم.
  • لا تلغي الاستردادات النسخ التي تم تنزيلها. العميل الذي قام بالفعل بتنزيل ملف يحتفظ بتلك النسخة. للمحتوى القابل للإلغاء (وسائط محددة بالرخصة، وصول محدود بالوقت)، اجمع بين الملفات الرقمية و مفاتيح الترخيص وصحح في وقت التشغيل.
  • للمحتوى الحساس، يفضل استخدام روابط خارجية بتوثيق خاص بها. روابط Dodo Payments مسبقة التوقيع قصيرة العمر ولكنها غير موثقة ضمن إطارها الزمني؛ أي شخص لديه الرابط يمكنه التنزيل في تلك النافذة. يوفر المحتوى المستضاف خارجيًا والمحمي بحساب ضمانات أقوى.

إدارة API

Create Entitlement

إنشاء استحقاق للملفات الرقمية مع رابط خارجي اختياري وتعليمات.

Upload File

تحميل ملف (حتى 100 ميجابايت) وإضافته إلى الاستحقاق.

Delete File

إزالة ملف من الاستحقاق.

List Grants

قائمة الامتيازات وقراءة روابط التنزيل المحسومة.

Update Entitlement

تحديث التعليمات أو الرابط الخارجي أو استبدال الملفات.

Revoke Grant

إلغاء الوصول إلى العميل يدويًا.

Webhooks

تشغيل تسليم الملفات الرقمية وإلغائها الأحداث الأربعة entitlement_grant.* لمناسبات ويب هوك. لحظات التخصيص الخاصة بالملفات الرقمية، تتضمن الحمولة كائن digital_product_delivery مع قائمة الملفات المحسومة (عناوين URLs مسبقة التوقيع، أسماء الملفات، الأحجام)، والاختياري instructions، والاختياري external_url.
"digital_product_delivery": {
  "files": [
    {
      "file_id": "df_a4f6c1de",
      "download_url": "https://files.dodopayments.com/.../pro-bundle.zip?Signature=...",
      "filename": "pro-bundle.zip",
      "content_type": "application/zip",
      "file_size": 18742390,
      "expires_in": 900
    }
  ],
  "instructions": "Unzip and run setup.sh from the project root.",
  "external_url": null
}

تسليم المنتجات الرقمية القديمة

تم ترحيل المنتجات المُكونة بكتلة digital_product_delivery الأقدم على المنتج نفسه تلقائيًا إلى استحقاق ملفات رقمية. تم حفظ الملفات الحالية التي تم تحميلها تحت واجهة برمجة تطبيقات الملفات الموضوعة في المنتجات القديمة؛ تظل قابلة للتنزيل وتظهر في حمولات الامتياز المميزة بـ source: "legacy". يجب إجراء التحديثات المستقبلية (إضافة ملفات، تغيير التعليمات، استبدال الرابط الخارجي) عن طريق تحرير الاستحقاق الملفات الرقمية الذي تم ترحيله تحت الاستحقاقات.تظل الحقول القديمة على مستوى المنتج (digital_product_delivery.external_url, digital_product_delivery.instructions) ممتلئة في ردود المنتج للقدرة على التوافق الخلفي، ولكن يعتبر الاستحقاق هو المصدر الأساسي للمعلومات فيما بعد.

أفضل الممارسات

  • عامل التنزيلات كما لو كانت لمرة واحدة. سيقوم العملاء بمشاركة أو فقدان الروابط، لذا قم بتصميم منتجك على أساس أن أي شيء ينزله العميل هو ملك للعميل.
  • استخدم التعليمات لضبط التوقعات. لحزم متعددة الملفات، أضف سطر instructions موضحًا ما يجب تثبيته أولاً أو كيفية دمج الملفات.
  • راقب الحد الأقصى 100 ميجابايت. يجب استضافة العناصر الكبيرة (مجموعات بيانات بمقاسات بالغيغابايت، دورات فيديو) خارجيًا وربطها عبر external_url بدلاً من تحميلها.
  • اجمع مع مفاتيح الترخيص للوصول القابل للإلغاء. إذا كنت بحاجة لإلغاء الوصول إلى الميزات داخل المنتج بعد عملية استرداد، فاجمع استحقاق الملفات الرقمية مع استحقاق مفتاح الترخيص وصحح المفتاح في وقت التشغيل.
  • اختبر عملية تحديث بوابة العملاء. تأكد من أن العميل يمكنه العودة إلى البوابة بعد أسبوع ولا يزال يحصل على رابط تنزيل يعمل. هذا هو طريق الاسترداد الأساسي عندما تنتهي صلاحية روابط البريد الإلكتروني.
Last modified on May 22, 2026