تخطَّ إلى المحتوى الرئيسي

Prodantix

لمحة سريعة

الفئة
منصة للمطوّرين
الموقع
prodantix.com
لوحة التحكم
app.prodantix.com
التوثيق
prodantix.com/en/docs/overview
واجهة GraphQL
api.prodantix.com/graphql
استقبال الأحداث
eu.api.prodantix.com/v1/events
البث الفوري
eu.ws.prodantix.com
واجهة MCP
eu.mcp.prodantix.com/mcp
إعادة تشغيل الجلسات
eu.replay.prodantix.com

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

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

كيف بُني المحرّك

يتكوّن المحرّك من أربع لبنات أساسية، وكل ما عداها مبني فوقها. ومن المفيد فهمها بالترتيب، لأن كلًّا منها تغذّي التي تليها. ويغطيها مرجع المفاهيم بالكامل.

الحدث

شيء واحد فعله المستخدم، يُلتقط لحظة حدوثه: تسجيل اكتمل، صفحة فُتحت، نموذج تُرك في منتصفه. الأحداث هي الإشارة الخام، وهي الشيء الوحيد الذي يدخل النظام من الخارج. أما كل ما عداها فمشتقّ منها.

حالة المستخدم

إسقاط حيّ وقابل للاستعلام لكل ما يُعرف عن المستخدم، مشتقّ من أحداثه ويُحدَّث لحظة وصول حدث جديد. هذا هو مصدر الحقيقة الذي تقرأ منه التحليلات وأعلام الميزات والرسائل جميعًا. ليس تجميعة ليلية ولا نسخة تُبقيها مهمّة ما متوافقة؛ إنه واحد لا غير.

القرار

قاعدة تُقيَّم على حالة المستخدم: من ينتمي إلى شريحة، ومن يحصل على ميزة، ومن يستحق رسالة. ولأن القرار يقرأ الحالة الحية في اللحظة التي يُسأل فيها، لا يمكن أن يجيب انطلاقًا من صورة قديمة.

الإجراء

ما يفعله المحرّك حين ينطلق قرار: كشف ميزة، إرسال رسالة، بدء سير عمل. والإجراء نفسه يُسجَّل كحدث، وهذا ما يُغلق الحلقة: ما فعله المحرّك يصير جزءًا مما يعرفه.

التحليلات هي قراءة الحالة

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

عرض أشياء مختلفة لأشخاص مختلفين

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

رسائل تصل في اللحظة التي تنفع فيها

الرسالة لا تنفع إلا ما دامت تساعد. يستطيع برودانتيكس إرسالها في اللحظة التي يفعل فيها الشخص شيئًا، أو يخفق في فعله. فإذا بلغ عميل حدّ خطته، يعرف ذلك في حينه، لا في صباح اليوم التالي بعد أن يكون قد يئس وذهب إلى مكان آخر.

تنسيق الذكاء الاصطناعي، وكيف تُغلق الحلقة

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

إدخال الأحداث

كل شيء يبدأ بحدث يُرسَل إلى نقطة الاستقبال، فيطويه المحرّك في حالة المستخدم فورًا. وتغطي حِزم التطوير الويب والهواتف والخوادم. وReact هو الاستثناء الوحيد: دورة حياته تحتاج محوّلًا مخصّصًا يثبّت العميل مرة واحدة ويتوافق مع StrictMode. ودليل البدء السريع يربطه في بضعة أسطر.

المفاتيح والبيئات

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

أربع طرق للتحدّث إليه

يمتد REST على ثلاثة مضيفات: واحد لأعلام الميزات والرسائل، وواحد لاستقبال الأحداث، وواحد لإعادة تشغيل الجلسات، ويقدّم كل منها وثيقة OpenAPI خاصة به على /openapi.json. ويردّ الاستقبال بـ 202، ما يعني أن الحدث قُبل للمعالجة لا أنه خُزّن: فقد يُسقَط حدث مشوّه لاحقًا في المسار. ويغطي GraphQL نموذج التطبيق كاملًا، بما فيه المشاريع والأعلام وسير العمل والتحليلات والرسائل والشرائح والفوترة. أما واجهة البث الفوري فتبثّ تغييرات الأعلام والرسائل ودورات سير العمل، وتقطع أي اتصال غير موثّق فورًا. وتتيح واجهة MCP للوكلاء القراءة والكتابة عبر استدعاءات أدوات، وهي من آلة إلى آلة وترفض طلبات المتصفح.

البيانات تبقى بياناتك

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

لمن هذا المنتج

يناسب برودانتيكس الفرق التي تشغّل أداتين أو ثلاثًا منفصلة لهذا الغرض وسئمت من تناقضها. وهو أنفع ما يكون حين يصبح لديك من العملاء ما يكفي لئلا تعود قادرًا على تتبّع ما يفعلونه بمجرد السؤال هنا وهناك.

زيارة Prodantix: prodantix.com