تسليم العملاء المحتملين
هذه الصفحة للمسؤول، ولمن يكتب النظام الذي يستقبل العملاء المحتملين. وهي عن صفحة Lead delivery (تسليم العملاء المحتملين) في صفحة الإدارة.
حين يكون تسليم العملاء المحتملين مفتوحًا، يستطيع الشخص أن يضيف تغذية عملاء محتملين لصفحة Facebook أو حساب Google Ads أو حساب إعلاني على LinkedIn. فيبحث الخادم كل بضع دقائق عن العملاء المحتملين الجدد ويرسلهم إلى عنوان واحد تضبطه أنت: نظام إدارة العملاء (CRM) لمؤسستك أو أداة أتمتة. والخادم هو الذي يسأل المنصات، فيعمل هذا في تثبيت ليس له عنوان عام. ولجانب المسوّق، انظر العملاء المحتملون.
بيانات الاتصال تغادر الخادم من تلقاء نفسها
العميل المحتمل اسم شخص وبيانات اتصاله. وتغذية العملاء المحتملين ترسلها دون أن يطلب أحد لحظتها. فلا تفتح هذا إلا لعنوان تشغّله مؤسستك، وتأكد أولًا أن سياسة الخصوصية الخاصة بك تقول ذلك. انظر سياسة الخصوصية و بيانات الاتصال.
فتحه
كل ما هنا مغلق أو فارغ في التثبيت الجديد.
- افتح Lead delivery.
- تحت Lead webhook، اكتب العنوان في Webhook URL، مثل
https://crm.example.com/hooks/leads. - اكتب في Signing secret (سرّ التوقيع) سرًّا من 16 حرفًا على الأقل. وأعطِ السرّ نفسه لمن يشغّل المستقبِل.
- علّم Allow a private address (السماح بعنوان خاص) فقط إن كان المستقبِل على جهاز الخادم نفسه أو شبكته. انظر عنوان Webhook للعملاء المحتملين.
- تحت Pushing leads (إرسال العملاء المحتملين)، علّم Let lead feeds push leads to the webhook below (دع التغذيات ترسل العملاء المحتملين إلى العنوان أدناه).
- اضغط Save lead delivery (حفظ تسليم العملاء المحتملين).
- اضغط Send a test lead (أرسل عميلًا محتملًا تجريبيًا) واقرأ الجواب. انظر إرسال عميل محتمل تجريبي.
يسري فورًا. ولا يُحفظ المفتاح مفتوحًا دون عنوان وسرّ.
ولا بد من أمرين آخرين قبل أن يستطيع شخص إضافة تغذية:
- أن يكون مفتاح المنصة لقراءة العملاء المحتملين مفتوحًا. وهو في Meta app أو LinkedIn app أو Safety limits (حدود الأمان): انظر العملاء المحتملون.
- أن تكون للشخص صلاحية التعديل، وأن يحمل ربطه إذن المنصة.
وكل ذلك يُفحص من جديد كلما نظرت تغذية.
| الإعداد | يبدأ بـ | ما يفعله |
|---|---|---|
| Let lead feeds push leads to the webhook below | مغلق | ما دام مغلقًا، لا تُضاف تغذية ولا تُقرأ واحدة. والتغذيات المضافة من قبل تنتظر، وتعود بالعملاء المحتملين الذين وصلوا في الأثناء متى فُتح من جديد. |
| A feed looks every (minutes) (تنظر التغذية كل كذا دقيقة) | 5 | كم مرة تسأل كل تغذية المنصة عن الجديد. وأقله 2. |
| Feeds one person may have (التغذيات التي تجوز لشخص واحد) | 10 | الحقل الفارغ معناه بلا حد. |
| Webhook URL | فارغ | العنوان الواحد الذي يُرسل إليه العملاء المحتملون. |
| Signing secret | فارغ | يوقّع كل جسم طلب. مطلوب. |
| Allow a private address | مغلق | يسمح بأن يكون العنوان على شبكة الخادم نفسه. |
كل نظرة تكلّف طلبات على ربط صاحب التغذية نفسه: سرد النماذج، وطلب لكل نموذج فيه عملاء محتملون. ولـ Google استعلام واحد للحساب. فتذكّر ذلك قبل أن تقلّل الدقائق أو تزيد عدد التغذيات.
ويمكن إعطاء الإعدادات نفسها بمتغيرات البيئة: انظر الإعدادات.
عنوان Webhook للعملاء المحتملين
للتثبيت كله عنوان واحد، ولا يضبطه إلا هذه الصفحة (أو متغيرات البيئة). لا يستطيع مساعد ذكي ولا أداة ولا تغذية أن يسمّي غيره. التغذية تقول أيّ العملاء المحتملين؛ ولا تقول أبدًا إلى أين.
قواعد العنوان:
- يجب أن يبدأ بـ
https://. ولا يُقبلhttp://غير المشفَّر إلا لجهاز الخادم نفسه (localhost). - يجب أن يكون عنوانًا عامًا، ما لم يُعلَّم Allow a private address. وقبل إرسال أي شيء يبحث الخادم عن الاسم، ويتحقق من أن كل عنوان يؤدي إليه عام، ثم يتصل بالعنوان الذي فحصه بعينه.
- حين يكون Allow a private address معلَّمًا، لا يُحكم على العنوان. استخدمه لنظام إدارة العملاء (CRM) أو أداة أتمتة على الجهاز نفسه أو الشبكة نفسها. ويظل HTTPS مطلوبًا ما لم يكن الجهاز نفسه.
- لا تُتبع إعادة التوجيه أبدًا. احفظ العنوان الذي يقيم فيه المستقبِل فعلًا.
- لا تُستخدم لهذا الاتصال إعدادات الوكيل (proxy) من بيئة الخادم.
يُعرض السرّ وأنت تكتبه فقط. وبعدها تقول الصفحة فقط إن سرًّا مضبوط. اترك الحقل فارغًا لتبقيه؛ واكتب جديدًا لتستبدله. و Remove the signing secret (إزالة سرّ التوقيع) يوقف كل تغذية، لأنه لا يُرسل شيء أبدًا بلا توقيع.
ما يصل إلى المستقبِل
طلب POST فيه Content-Type: application/json، وفي الجسم الواحد 100 عميل محتمل على الأكثر:
{
"kind": "leads",
"delivery_id": "0f6c1a...",
"sent_at": "2026-10-08T09:15:00+00:00",
"test": false,
"feed": {"id": 3, "platform": "meta", "source_id": "100000000000000"},
"count": 1,
"leads": [{
"key": "meta:1234567890123456",
"platform": "meta",
"lead_id": "1234567890123456",
"created_at": "2026-10-08T09:12:41+00:00",
"form_id": "5551",
"form_name": "Acme demo",
"campaign_id": "501",
"campaign_name": "Leads KW",
"ad_id": "9001",
"ad_name": "Demo ad",
"fields": {"full_name": "...", "phone": "...", "email": "..."},
"custom": [{"question": "...", "answer": "..."}],
"click_id": null,
"test": false
}]
}| الجزء | ما هو |
|---|---|
delivery_id | جديد لكل طلب، وكذلك حين يُرسل العملاء المحتملون أنفسهم مرة أخرى. |
feed | التغذية التي أرسلته: رقمها، والمنصة، ومعرّف الصفحة أو الحساب. |
key | platform:lead_id. هو نفسه في كل إرسال لذلك العميل المحتمل. |
fields | الإجابات المعتادة باسم واحد على كل المنصات: email و work_email و phone و full_name و first_name و last_name و company و job_title و city و state و country و zip وبضعة غيرها. |
custom | أي سؤال آخر سأله النموذج، مع سؤاله. |
click_id | معرّف النقرة لدى Google، لعميل Google المحتمل. |
test | صحيح على الجسم عند Send a test lead. وصحيح على العميل المحتمل للتجريبي، ولعميل LinkedIn المحتمل التجريبي في تسليم حقيقي. |
للعميل المحتمل الشكل نفسه الذي يعطيه التصدير: انظر العملاء المحتملون.
التحقق من التوقيع
كل جسم موقَّع. الترويسة X-Nama-Signature تحمل sha256= يتبعها HMAC-SHA256 للجسم بسرّ التوقيع، بالنظام الست عشري.
على المستقبِل أن:
- يأخذ الجسم بالبايتات الخام كما وصلت، قبل تحليل JSON.
- يحسب HMAC-SHA256 لتلك البايتات بالسرّ.
- يقارنه بالترويسة، ويُسقط الجسم إن اختلفا.
بلغة Python مثلًا:
import hashlib
import hmac
def came_from_marketing_mcp(secret: str, raw_body: bytes, header: str) -> bool:
expected = "sha256=" + hmac.new(secret.encode("utf-8"), raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, header)ملاحظة
احسب التوقيع على البايتات كما وصلت بالضبط. الجسم الذي حُلِّل ثم كُتب من جديد لن يطابق.
على المستقبِل أن يقبل العميل المحتمل مرتين
التسليم مرة واحدة على الأقل. قد يصل العميل المحتمل أكثر من مرة؛ ولا يُترك عميل محتمل ما دامت المنصة تحتفظ به.
- لا يُعدّ مأخوذًا إلا الجواب في المئتين (2xx). الخطأ وانتهاء المهلة وإعادة التوجيه كلها تُعدّ غير مأخوذة.
- لا يُحفظ على الخادم شيء ليُعاد إرساله. بعد الفشل، يُقرأ العملاء المحتملون أنفسهم من المنصة في نظرة لاحقة ويُرسلون من جديد، بـ
delivery_idجديد. - خزِّن بالحقل
key. هو نفسه في كل إرسال، فلا يغيّر التكرار عندئذ شيئًا. - أجب خلال 10 ثوانٍ. وأجرِ العمل البطيء بعد الجواب.
- النموذج الذي فيه عملاء محتملون جدد كثيرون يصل على عدة طلبات. وعلى Meta يأتي الأحدث أولًا.
إرسال عميل محتمل تجريبي
Send a test lead يرسل عميلًا محتملًا واحدًا زائفًا بوضوح إلى العنوان المحفوظ، لا إلى المكتوب في الحقول، فاحفظ أولًا. ويمرّ بالفحوص نفسها ويحمل التوقيع نفسه كالتسليم الحقيقي. ولا يقرأ أي منصة.
في العميل المحتمل التجريبي test صحيح على الجسم وعلى العميل المحتمل، و platform هو test. وعلى المستقبِل أن يُسقطه.
ثم تعرض الصفحة واحدًا من:
- Taken (أُخذ)، مع الحالة التي أجاب بها المستقبِل.
- Failed (فشل)، مع السبب: تعذّر الوصول إلى العنوان، أو أجاب بإعادة توجيه، أو أجاب بخطأ.
- Not set up (غير مضبوط)، حين لا عنوان محفوظ.
حين يتعطل المستقبِل
- لا يُعلَّم شيء مرسَلًا. والخادم لا يحتفظ بنسخة من العملاء المحتملين.
- تواصل التغذية المحاولة، بتباعد أكبر ما دامت تفشل: يتضاعف الانتظار، حتى ساعة بين المحاولتين.
- يصل صاحبَ التغذية إشعار واحد عن الانقطاع، لا إشعار لكل محاولة. ويأتي فورًا حين لا يجوز للخادم بعدُ أن يقرأ العملاء المحتملين (عُطِّل صاحبها، أو فقد صلاحية التعديل أو الربط، أو أُغلق مفتاح)، وعند الفشل الثاني على التوالي حين لا يجيب المستقبِل أو المنصة.
- Lead feeds في صفحة History (السجل التاريخي) لصاحبها تعلّم التغذية Failing (متعثّرة)، مع السبب.
- ومتى عادت تعمل، أُرسل كل ما تزال المنصة تحتفظ به. Meta و LinkedIn تحتفظان بالعملاء المحتملين؛ و Google تحتفظ بهم 60 يومًا.
ما يُخزَّن وما يُسجَّل
- لا يُخزَّن شيء من عميل محتمل. لكل تغذية ونموذج يحفظ الخادم وقتًا ومعرّفات العملاء المحتملين في تلك اللحظة، ليعرف من أين يكمل. ولا يحرّك تلك العلامة إلا بعد أن يجيب المستقبِل في المئتين.
- سجل النشاط يحفظ صفًّا لكل تسليم: التغذية، والنماذج، وعدد العملاء المحتملين، والحالة. ويحفظ أيضًا صفّ المنصة المعتاد لقراءة جاءت بعميل محتمل جديد. والنظرة التي لا تجد جديدًا لا تكتب شيئًا. انظر سجل النشاط.
- عنوان Webhook والسرّ ليسا في أي صف من سجل النشاط ولا في أي جواب لمساعد ذكي.
- التغذية، وإلى أين وصل إرسالها، تُحذف حين يقطع صاحبها ربط تلك المنصة أو يُحذف مستخدمه.