ابدأ بشكل البيانات وليس بعقدة PDF. أنشئ عنصر اختبار واحد يحتوي على حقول الفواتير الدقيقة التي تحتاجها: customer_name، customer_email، service، quantity، unit_price، total، و quote_number.
عندما يكون هذا العنصر موجوداً، لن تضطر العقدة التالية سوى إلى تعيين أسماء هذه الحقول إلى خطوة PDF/البريد الإلكتروني. من أين ستدخل تفاصيل العميل الأول إلى n8n: نموذج، أو webhook، أو جدول بيانات، أم عنصر اختبار يدوي؟
أهلاً وسهلاً @Sifrabasayar_12! لإضافة ما قاله @oimrqs_ops - بخصوص خطوة PDF تحديداً، أسهل طريقة في n8n هي استخدام عقدة HTML Template لبناء تخطيط الفاتورة مع الحقول المعينة لديك، ثم توجيه HTML تلك إلى عقدة HTTP Request تستدعي API تحويل PDF مجاني مثل html2pdf.it أو نسخة موزعة ذاتياً من Gotenberg. يمنحك نهج قالب HTML التحكم الكامل على تصميم الفاتورة بدون أي تكلفة ترخيص إضافية. بخصوص رقم الفاتورة، قم بإنشاؤه في عقدة Code باستخدام شيء مثل 'Q-' + Date.now() أو عداد متسلسل مخزن في متغير سير عمل ثابت. بمجرد أن تحصل على PDF كبيانات ثنائية، أرفقه مباشرة في حقل المرفقات في عقدة Gmail باستخدام {{ $binary.data }}.
آي @Sifrabasayar_12، لربط كل شيء معاً بهيكل واضح:
المحفز → Form Trigger أو Webhook (يلتقط اسم العميل والبريد الإلكتروني والخدمة والكمية والسعر)
حساب الإجماليات → عقدة Set: أضف حقل total = {{ $json.quantity * $json.unit_price }}
إنشاء رقم العرض → عقدة Code: return [{ json: { …$input.first().json, quote_number: ‘Q-’ + Date.now() } }]
إنشاء ملف PDF → عقدة HTML لتصميم تخطيط العرض باستخدام {{ $json.customer_name }} وما إلى ذلك، ثم عقدة HTTP Request → html2pdf.it (مجاني، بدون اشتراك) لتحويله إلى ملف PDF ثنائي
إرسال البريد الإلكتروني → عقدة Gmail مع To: {{ $json.customer_email }}، وأرفق الملف الثنائي PDF من العقدة السابقة
الشيء الأساسي لنقل البيانات بين العقد: كل عقدة تستقبل $json من العقدة السابقة لها. استخدم عقدة Set لإضافة أو إعادة تسمية الحقول، وستكون متاحة في كل عقدة لاحقة. بمجرد أن يكون لديك عنصر الاختبار بجميع الحقول المعينة بشكل صحيح في الخطوة 1، يقوم الباقي فقط بتعيين تلك أسماء الحقول نفسها عبر الحقول.
مشغل نموذج n8n لجمع اسم العميل والبريد الإلكتروني والخدمة والكمية والسعر
عقدة رمز لحساب الإجماليات وإنشاء رقم عرض أسعار: "Q-" + Date.now()
بالنسبة لملف PDF - الطريق الأسهل والأكثر ودية للمبتدئين هي Google Docs: أنشئ مستند نموذجي يحتوي على عناصر نائبة مثل {{customer_name}} و {{total}}، واستخدم عقدة Google Docs (عملية استبدال النص) لملؤها، ثم قم بالتصدير إلى PDF عبر عقدة Google Drive (عملية التنزيل، اضبط صيغة الإخراج على PDF)
عقدة Gmail لإرسال البريد الإلكتروني مع ملف PDF المُصدَّر كمرفق
ابدأ باختبار الخطوات 1 و 2 فقط أولاً للتأكد من أن حقولك مشكلة بشكل صحيح قبل إضافة خطوة PDF.