يصادق Salesforce عمليات التكامل بين الخوادم عبر JWT موقَّع، لا عبر كلمة مرور — ويدعم مصدر بيانات API في MailInApp هذا التدفق أصليًا. اربط مرة واحدة، ويمكن لعنصر بطاقة مؤشرات الأداء أو مخطط الارتباط مباشرة بصفوف Opportunity أو Account أو Contact الحيّة، دون رمز تحديث تحتاج إلى مراقبته ودون ملف CSV تعيد تصديره قبل كل إرسال.
معظم رسائل «مسار المبيعات الأسبوعي» لقطة شاشة لتقرير، تتقادم لحظة لصقها. ربط عنصر مخطط مباشرة بمصدر بيانات مدعوم من Salesforce يعني أن رقم العنصر نفسه يأتي من استعلام SOQL حقيقي — ويعيد الإرسال المتكرر تشغيل ذلك الاستعلام من جديد في كل إرسال، فيعكس ملخّص يوم الاثنين فعلًا مسار مبيعات يوم الاثنين.
كيف يعمل الاتصال
MailInApp
يوقّع JWT بالمفتاح الخاص لـ Connected App لديك
نقطة نهاية الرموز في Salesforce
تتحقق من التوقيع، وتعيد رمز وصول
Salesforce REST API
تنفّذ استعلام SOQL الخاص بك، بمصادقة رمز Bearer
بريدك
عناصر بطاقة مؤشرات الأداء والمخططات مربوطة مباشرة بالصفوف
تحدث كل خطوة من جهة الخادم في كل إرسال. لا تُرسَل أي كلمة مرور أبدًا، ولا يوجد رمز تحديث — فالرمز القديم يُستبدل بتوقيع تأكيد جديد.
هذا هو تدفق JWT Bearer نفسه الذي يوثّقه Salesforce لعمليات التكامل بين الخوادم الخاصة به، موصولًا بأوضاع مصادقة OAuth2 الحالية في MailInApp لمصادر بيانات API، بدلًا من تكامل مخصّص لـ Salesforce وحده.
أعدّ Connected App مرة واحدة
في Salesforce Setup، أنشئ Connected App، وفعّل إعدادات OAuth، وارفع شهادة موقَّعة ذاتيًا ضمن Use digital signatures — تذهب الشهادة إلى Salesforce، ويذهب المفتاح الخاص RSA المقترن بها إلى MailInApp. اضبط Permitted Users على Admin approved users are pre-authorized، وهذا ما يجعل التبادل غير تفاعلي: لا توجد شاشة موافقة يضطر نصٌّ برمجي إلى النقر عبرها. دوّن Consumer Key الخاص بـ Connected App وعنوان My Domain لمؤسستك — فكلاهما يدخل في إعداد الاتصال في MailInApp.
وجّهه إلى استعلام SOQL
نقطة النهاية في مصدر البيانات هي عنوان URL لاستعلام REST، وسلسلة الاستعلام هي البيانات الفعلية التي تعود إليك:
SELECT Name, Amount, StageName, CloseDate FROM Opportunity WHERE IsClosed = false
اضبط مسار البيانات على records — إذ يغلّف Salesforce نتائج استعلامه في مصفوفة records. تعود حقول العلاقات مثل Owner.Email متداخلة فيُسقطها محلّل الصفوف في MailInApp، لذا أبقِ الاستعلام مسطّحًا؛ واختر OwnerId بدلًا منها إن احتجت إلى معرّف للمالك للتصفية أو الدمج عليه لاحقًا.
اربط العناصر به مباشرة، لا بوسوم الدمج
أضِف الاتصال إلى مشروع من لوحة البيانات في الاستوديو بدور مجموعة (collection) — الربط نفسه الذي يستخدمه عنصر التكرار. ومن هناك، يمكن لـ عناصر بطاقة مؤشرات الأداء والمخطط الشريطي والخطي والدائري الارتباط به مباشرة من لوحة الخصائص الخاصة بكلٍّ منها:
- تصبح بطاقة مؤشرات الأداء المضبوطة على
Amountمع تجميع Sum رقمًا حيًّا لـ «إجمالي مسار المبيعات المفتوح». - يصبح المخطط الشريطي المجمّع حسب
StageName، معAmountكسلسلة له (بتجميع Sum مجددًا)، تفصيلًا لمسار المبيعات حسب المرحلة.
لا يحتاج أيٌّ من العنصرين إلى كتابة وسم دمج واحد يدويًا — فالربط يؤدي العمل، ويبقى العنصران صحيحين مع انتقال الصفقات بين المراحل أو إغلاقها.
أرسله وفق جدول
يعيد إرسال متكرر أسبوعي تشغيل استعلام SOQL ويعيد عرض العنصرين مقابل صفوف Salesforce الحالية في كل مرة ينطلق فيها — بنية الملخّص نفسها، بأرقام جديدة كل يوم اثنين، دون أن يعيد أحد بناءه يدويًا. ويمنح عنصر زر يشير إلى عنوان URL لكل Opportunity في Salesforce كل قارئ للملخّص طريقة بنقرة واحدة لفتح السجل الكامن وراء رقم يلفت انتباهه.
البدء
أنشئ Connected App في Salesforce بشهادة لتدفق JWT Bearer، واربطه في تبويب مصادر البيانات في MailInApp باستخدام Consumer Key واسم مستخدم التكامل والمفتاح الخاص، ووجّه نقطة النهاية إلى استعلام SOQL مع records كمسار للبيانات، ثم اربط بطاقة مؤشرات أداء ومخططًا شريطيًا به من لوحة البيانات في الاستوديو. راجع دليل تكامل Salesforce للإعداد الكامل حقلًا بحقل.