Prodantix
এক নজরে
- বিভাগ
- ডেভেলপার প্ল্যাটফর্ম
- ওয়েবসাইট
- prodantix.com
- কনসোল
- app.prodantix.com
- ডকুমেন্টেশন
- prodantix.com/en/docs/overview
- GraphQL API
- api.prodantix.com/graphql
- ইভেন্ট ইনজেশন
- eu.api.prodantix.com/v1/events
- রিয়েল-টাইম
- eu.ws.prodantix.com
- MCP সারফেস
- eu.mcp.prodantix.com/mcp
- সেশন রিপ্লে
- eu.replay.prodantix.com
Prodantix তৈরি হয়েছে তাঁদের জন্য যাঁরা সফটওয়্যার বানান। প্রতিটি প্রোডাক্ট টিম একই তিনটি প্রশ্ন করে: মানুষ আমাদের অ্যাপে আসলে কী করছে, কোন অংশ কার দেখা উচিত, আর কিছু বলার সঠিক সময়টা কখন।
বেশির ভাগ কোম্পানি এই তিন কাজের জন্য আলাদা আলাদা টুল কেনে। সমস্যার শুরু ঠিক এখানেই। প্রতিটি টুল আপনার ব্যবহারকারীদের নিয়ে নিজের আলাদা রেকর্ড রাখে, আর সেই রেকর্ডগুলো ধীরে ধীরে একে অন্যের থেকে সরে যায়। একটি টুল ভাবে গ্রাহক তাঁর অ্যাকাউন্ট গোছানো শেষ করেছেন; আরেকটি তখনও পিছিয়ে, তাই গত সপ্তাহে শেষ করা ধাপের নির্দেশনা তাঁকে পাঠিয়ে দেয়। তিনি অভিযোগ না করা পর্যন্ত, কিংবা দুটি ড্যাশবোর্ড আলাদা সংখ্যা না দেখানো পর্যন্ত কেউ টেরই পায় না।
ইঞ্জিনটি কীভাবে গড়া
ইঞ্জিনটি গড়ে উঠেছে চারটি মৌলিক উপাদানে, বাকি সবই সেগুলোর উপরে দাঁড়ানো। ক্রম অনুযায়ী বোঝাই ভালো, কারণ প্রতিটি পরেরটিকে খাওয়ায়। কনসেপ্ট রেফারেন্সে এগুলো পুরোপুরি ব্যাখ্যা করা আছে।
ইভেন্ট
ব্যবহারকারীর করা একটি কাজ, যা ঘটার মুহূর্তেই ধরা পড়ে: সাইন-আপ শেষ হওয়া, কোনো পাতা খোলা, ফর্ম অর্ধেকে ছেড়ে দেওয়া। ইভেন্টই কাঁচা সংকেত, এবং বাইরে থেকে সিস্টেমে ঢোকা একমাত্র জিনিস। বাকি সবই এগুলো থেকে উদ্ভূত।
ইউজার স্টেট
একজন ব্যবহারকারী সম্পর্কে জানা সবকিছুর একটি জীবন্ত, কোয়েরিযোগ্য প্রক্ষেপণ, যা তাঁর ইভেন্ট থেকে তৈরি এবং নতুন ইভেন্ট আসামাত্র হালনাগাদ হয়। অ্যানালিটিক্স, ফিচার ফ্ল্যাগ ও মেসেজিং সবাই এই একই সত্যের উৎস থেকে পড়ে। এটি রাতের রোলআপ নয়, কোনো জব দিয়ে মিলিয়ে রাখা কপিও নয়; এটি একটিই।
সিদ্ধান্ত
ইউজার স্টেটের বিপরীতে যাচাই হওয়া একটি নিয়ম: কে কোন কোহর্টে পড়ে, কে কোন ফ্ল্যাগ পায়, কে কোন বার্তার যোগ্য। সিদ্ধান্তটি যে মুহূর্তে জিজ্ঞাসিত হয় সেই মুহূর্তের জীবন্ত অবস্থা পড়ে বলে, এটি পুরনো ছবি থেকে উত্তর দিতে পারে না।
অ্যাকশন
সিদ্ধান্ত কার্যকর হলে ইঞ্জিন যা করে: কোনো ফিচার খুলে দেওয়া, বার্তা পাঠানো, ওয়ার্কফ্লো চালু করা। অ্যাকশনটিও একটি ইভেন্ট হিসেবেই লিপিবদ্ধ হয়, আর সেটিই চক্রটি সম্পূর্ণ করে: ইঞ্জিন যা করল তা তার জানারই অংশ হয়ে যায়।
অ্যানালিটিক্স মানে স্টেট পড়া
Prodantix-এ অ্যানালিটিক্স আলাদা কোনো ভাণ্ডার নয় যেখানে আপনার ব্যবহারকারীদের নিজস্ব কপি থাকে। এটি সরাসরি ইউজার স্টেট পড়া। ফানেল, রিটেনশন ও কোহর্ট সবই সেই একই জীবন্ত প্রক্ষেপণের উপর কোয়েরি, যার উপর ইঞ্জিনের বাকি অংশ কাজ করে। ফলে ওয়্যারহাউসে SQL যাত্রা নেই, রাতের রোলআপের অপেক্ষাও নেই: প্রশ্নের জন্য স্টেট আগে থেকেই গড়া। কোহর্ট এখানে প্রথম শ্রেণির বস্তু: নামযুক্ত, ধারা দিয়ে সংজ্ঞায়িত, আর মানুষ যোগ্য হলে বা যোগ্যতা হারালে সদস্যপদ হালনাগাদ থাকে।
যে প্রশ্ন আবার করবেন, তা জমিয়ে রাখা
একটি ড্যাশবোর্ড হলো নাম দেওয়া কিছু টাইলের সমষ্টি, আর একটি টাইল হলো আপনি আগে চালানো একটি প্রশ্ন এবং সেটি কীভাবে আঁকা হবে তার নির্দেশ। প্রশ্নটি এক্সপ্লোরার যেভাবে পাঠিয়েছিল ঠিক সেভাবেই জমা থাকে, তাই টাইল উত্তরের ছবি নয়, প্রশ্নটাই ধরে রাখে: একটি খুললে প্রশ্নটি আবার চলে এবং আপনি সেই একই প্রশ্ন নিয়ে এক্সপ্লোরারে ফিরে যান, সময়ের সীমা বদলাতে বা ভাগাভাগি পাল্টাতে স্বাধীন। তাই ড্যাশবোর্ড কখনো বাসি রপ্তানি নয়। এটি এমন কিছু প্রশ্নের সমষ্টি যার উত্তর ইঞ্জিন প্রতিবার সরাসরি অবস্থা থেকে দেয়।
যখন কোনো সংখ্যা নিজে থেকেই নড়ে
কেউই প্রতিটি চার্টে চোখ রাখে না। নজর রাখার কাজটি Prodantix করে: এটি একটি সিরিজকে ধাপে ধাপে পড়ে, সেই সিরিজের ভিত্তিরেখা আর ছড়ানো হিসাব করে, তারপর যেসব ধাপ তার থেকে অনেক দূরে বসে আছে সেগুলো দুই দিকেই চিহ্নিত করে। পতন আর লাফ দুটোই জানানো হয়, প্রতিটির সঙ্গে কোন ভিত্তিরেখা থেকে সরে গেছে আর কতটা দূরে ছিল তা সহ, ফলে সত্যিকারের ভাঙন আর সাধারণ ওঠানামা আলাদা করা যায়। সংবেদনশীলতা কোনো স্থির নিয়ম নয়, একটি সেটিং, আর শনাক্তকারী অনুমান করতে রাজি নয়: প্রায় সমতল একটি সিরিজ, কিংবা এখনো আকার পাওয়ার মতো যথেষ্ট দীর্ঘ নয় এমন সিরিজ, মিথ্যা সতর্কতার বদলে কিছুই দেয় না।
অবস্থা যাঁদের নিয়ে
ইউজার স্টেট একটি প্রক্ষেপণ, আর পিপল ডিরেক্টরি হলো সেটি একজন একজন করে পড়ার জায়গা। কনসোল প্রজেক্ট যাদের দেখেছে তাদের সবাইকে দেখায়, সবচেয়ে সম্প্রতি সক্রিয় ব্যক্তিরা আগে, সঙ্গে একটি সার্চ বক্স আর এমন একটি তালিকা যা এগোনোর সঙ্গে সঙ্গে লোড হতে থাকে। প্রতিটি সারি ওই ব্যক্তির সম্পর্কে ইঞ্জিনের জমানো তথ্য বহন করে: কতগুলো ইভেন্ট, কতগুলো আলাদা সেশন, প্রথম ও শেষ কবে দেখা গেছে, শেষ কী করেছেন, কোন কোন গ্রুপে আছেন, আর সংরক্ষিত বৈশিষ্ট্যগুলো (নাম, ইমেল, ফোন, অবতার) নিজস্ব কলামে তুলে আনা। সারি খুললে পুরো প্রপার্টি টেবিল দেখা যায়, যেখানে নির্দিষ্ট কোনো ফিল্ডের তালিকা নয়, আপনার ইভেন্টগুলো যা রেখেছে তা-ই থাকে। গ্রুপের নিজস্ব ট্যাব ও নিজস্ব প্রপার্টি আছে, কারণ একটি কোম্পানি বা ওয়ার্কস্পেস নিজেই একটি সত্তা এবং তার তথ্য প্রতিটি সদস্যের নয়, তার নিজেরই।
একজন মানুষ, একাধিক আইডি
একজন ভিজিটর আসেন আপনি জানার আগেই যে তিনি কে। SDK তাঁকে একটি আইডি দেয়, তিনি তিনটি পাতা পড়েন, আর তারপরই কেবল সাইন আপ করেন। কেউ ইঞ্জিনকে না বলা পর্যন্ত প্রোফাইলে কোনো নাম থাকে না, আর ডিরেক্টরি অনুমান না করে সেটাই জানায়। সাইন আপ হলে আইডিগুলো একটি শৃঙ্খলে বাঁধা পড়ে যা একটিই মূল পরিচয়ে গিয়ে ঠেকে, ফলে নামহীন পথচলাটি দ্বিতীয় প্রোফাইল না খুলে নামওয়ালা অ্যাকাউন্টের ভেতরেই মিশে যায়। প্রতিটি সারি দেখায় কতগুলো আইডি তার দিকে যায়, আর প্রোফাইল সেগুলো তালিকাভুক্ত করে। যেখানে ইঞ্জিন নিজে বুঝতে পারে না, সেখানে আপনি দুটি প্রোফাইল হাতে জোড়া দিতে পারেন: কোন পরিচয়টি টিকে থাকবে তা আপনি বেছে নেন, সংঘর্ষে তার প্রপার্টিই জেতে, আর সংখ্যাগুলো যোগ হয়ে যায়। সেটি আর খুলে যায় না। জোড়া লাগার আগে প্রোফাইলটি যেমন ছিল তা অডিট ট্রেইলে থেকে যায়, তাই সে কী বলত তা ফিরে পাওয়া যায়, কিন্তু একবার জোড়া লাগলে দুজনকে আর আলাদা করা যায় না।
একটি সেশন ফিরে দেখা
অ্যানালিটিক্স বলে দেয় যে গতকাল এগারো জন একই ফর্ম অসম্পূর্ণ রেখে চলে গেছেন। কেন, তা বলতে পারে না। সেশন রিপ্লে পৃষ্ঠাটিকেই রেকর্ড করে: ব্রাউজার SDK ডকুমেন্ট এবং ব্যবহারকারী কাজ করার সময় তাতে ঘটা প্রতিটি পরিবর্তন ধরে রাখে, সেগুলোকে ক্রমানুসারে খণ্ডে সাজিয়ে রেকর্ডারে পাঠায়, আর কনসোল সেশনটি যেমন ঘটেছিল ঠিক তেমনই চালিয়ে দেখায়। প্রতিটি রেকর্ডিং ইঞ্জিনের বাকি অংশ যে আইডি ব্যবহার করে সেই একই আইডির নিচেই থাকে, তাই সেশনটি এমন একজন মানুষের যাঁকে আপনি আগে থেকেই খুঁজে বের করতে পারেন, আলাদা কোনো টুলের ভেতরেই কেবল থাকা ভিজিটর আইডির নয়।
রেকর্ডিং কী রাখতে পারে
আপনি কিছু কনফিগার করার আগেই মাস্কিং চালু থাকে। কোনো ফিল্ডে লেখা প্রতিটি অক্ষর চাঙ্ক আপলোড হওয়ার আগেই ব্রাউজারের ভেতরে একটি তারকাচিহ্ন দিয়ে বদলে যায়, তাই রেকর্ডারে যা পৌঁছায় তাতে কখনোই বিষয়বস্তু ছিল না: দৈর্ঘ্য আর শব্দের সীমা থেকে যায়, যাতে রিপ্লে দেখতে পৃষ্ঠার মতোই লাগে, আর শব্দগুলো নিজেরা থাকে না। পাসওয়ার্ড, ইমেল ও ফোন ফিল্ড মাস্কিং চালু থাকুক বা না থাকুক, সব সময়ই ঢাকা পড়ে, তাই মাস্কিং বন্ধ করলেও কোনো ক্রেডেনশিয়াল ফিল্ড উন্মুক্ত হতে পারে না। পৃষ্ঠার দৃশ্যমান লেখা থেকে যায়, যদি না আপনি সেটিও মাস্ক করতে বলেন। প্রতিটি চাঙ্ক মাস্ক করা হয়েছিল কি না তা লিখে রাখে এবং কনসোল সেশনটিকে সেভাবেই চিহ্নিত করে, তাই আপনি সব সময় জানেন দুটির কোনটি দেখছেন। রেকর্ডিংগুলো থাকে ব্যক্তিগত স্টোরেজে: কনসোল একবারে একটি চাঙ্কের জন্য স্বল্পস্থায়ী স্বাক্ষরিত লিঙ্ক চায়, আর সেটি ছাড়া কিছুই নাগালে আসে না। এরপর একটি সেশন কত দিন পাওয়া যাবে তা ঠিক করে আপনার প্ল্যান।
ভিন্ন মানুষকে ভিন্ন জিনিস দেখানো
দলগুলো প্রায়ই চায় নতুন কিছু আগে মুষ্টিমেয় ব্যবহারকারীর কাছে ছাড়তে, সবার কাছে যাওয়ার আগে দেখে নিতে কেমন চলে। Prodantix ঠিক করে কে কী দেখবে, ইউজার স্টেটের বিপরীতে শর্ত যাচাই করে: একটি অ্যাট্রিবিউট, একটি অপারেটর ও একটি মান, যা ফ্ল্যাগ জিজ্ঞাসিত হওয়ার মুহূর্তেই পরীক্ষা হয়, কোনো সঞ্চিত তালিকা থেকে নয়। নতুন সুবিধাটি দুই শতাংশ গ্রাহককে দিয়ে দেখতে পারেন তাঁরা কীভাবে ব্যবহার করছেন, তারপর আরেকটি রিলিজের অপেক্ষা না করেই তা ছড়িয়ে দিতে বা ফিরিয়ে নিতে পারেন।
যে মুহূর্তে কাজে লাগে, সেই মুহূর্তে পৌঁছানো বার্তা
একটি বার্তার দাম তখনই, যতক্ষণ তা কাজে লাগে। কেউ কিছু করার, কিংবা করতে না পারার, ঠিক সেই মুহূর্তে Prodantix বার্তা পাঠাতে পারে। কোনো গ্রাহক তাঁর প্ল্যানের সীমায় পৌঁছালে তিনি তখনই জানতে পারেন, হাল ছেড়ে অন্য কোথাও চলে যাওয়ার পরের দিন সকালে নয়।
যখন তাঁরা উত্তর লেখেন
বার্তা একমুখী থাকে যতক্ষণ না কেউ উত্তর দেয়, তারপর সেটি হয়ে ওঠে একটি সাপোর্ট থ্রেড। Prodantix সেগুলোও বহন করে, আর সেখানকার এআই পাঠায় না, খসড়া করে। মডেলকে দেওয়া হয় কেবল সেই থ্রেড আর ওই ব্যক্তির নিজের অবস্থা, আর কিছু নয়: অন্য কোনো গ্রাহকের কথোপকথন নয়, আপনার প্রজেক্টের বাকি অংশও নয়। এটি একটি প্রস্তাবিত উত্তর লেখে, আর সেই উত্তর থ্রেডে যুক্ত হয় কেবল তখনই যখন আপনার এজেন্ট পাঠান বোতাম চাপেন, তাই “প্রস্তাব করো, পাঠিয়ো না” কারও মনে রাখার নিয়ম নয়, কোডটাই এভাবে গড়া। থ্রেডের নিজস্ব পরিচয়পত্রও আছে। প্রজেক্ট কি একটি প্রজেক্টকে শনাক্ত করে এবং SDK বসানো প্রতিটি পাতায় চলে যায়, তাই সেটি কোনো ব্যক্তির হয়ে দাঁড়াতে পারে না; প্রতিটি কথোপকথন পায় নিজের টোকেন, যা কেবল ওই একটি থ্রেডেই সীমাবদ্ধ, আর অনুরোধের ভেতরে থাকা আইডি কখনোই ঠিক করে না আপনি কার সঙ্গে কথা বলছেন। কথোপকথন শুরু করাই একমাত্র পথ যেখানে পাবলিক কি ছাড়া আর কিছু লাগে না, তাই সেখানে প্রজেক্ট ও কলার অনুযায়ী হার সীমিত করা হয়।
ধাপগুলো নিজেই সাজানো
কিছু প্রতিক্রিয়া এক ধাপের বেশি, আর আপনি সেগুলো নিজেই সাজাতে চান। একটি ওয়ার্কফ্লো ছোট একটি গ্রাফ: এটি হাতে শুরু হয়, কিংবা কেউ কোনো কোহর্টে ঢুকলে বা বেরোলে, এবং সেখান থেকে নোড ধরে ধরে এগোয়। অ্যাকশন নোড কিছু একটা করে (একটি লগ লাইন লেখে, আপনার ওয়েবহুক ডাকে)। ডিলে নোড অপেক্ষা করে, তিরিশ দিন পর্যন্ত। ওয়েট নোড নির্দিষ্ট নামের সংকেত না আসা পর্যন্ত ধরে রাখে, আর সংকেত না এলে তার নিজের বেরোনোর পথও থাকে। ব্রাঞ্চ নোড ইউজার স্টেটের বিপরীতে শর্ত যাচাই করে এবং মিলে যাওয়া পথ, নয়তো বিকল্প পথ নেয়। রান এগোয় একবারে একটি নোড, আর পরেরটি নেওয়ার আগেই প্রতিটি ধাপ লিখে রাখা হয়, তাই পুনরায় চালু হলে শুরু থেকে না চালিয়ে রান আসলে যেখানে পৌঁছেছিল সেখান থেকেই চলে। ওয়েবহুক ডাকার আগে পরীক্ষা করা হয়: লক্ষ্যকে একটি পাবলিক https ঠিকানা হতে হয়, পরীক্ষায় অনুমোদিত ঠিকানাগুলোতেই অনুরোধ যায়, রিডাইরেক্ট অনুসরণ করা হয় না, আর ঝুলে থাকা কল কেটে দেওয়া হয়।
AI অর্কেস্ট্রেশন এবং চক্রটি যেভাবে সম্পূর্ণ হয়
উপরের সারফেসগুলো এখনও ধাপ জোড়ার কাজ আপনার হাতেই ছাড়ে: কিছু একটা লক্ষ করা, সেটি কাদের ক্ষেত্রে খাটে তা বার করা, কী করবেন তা ঠিক করা। Prodantix সেই চক্রটি নিজেই চালাতে পারে। ইঞ্জিন জীবন্ত অবস্থার মধ্যে গুরুত্বপূর্ণ মুহূর্তটি শনাক্ত করে, প্রযোজ্য কোহর্ট বেছে নেয় এবং পদক্ষেপ ঠিক করে। একে নিছক অটোমেশনের চেয়ে বেশি করে তোলে শেষ অংশটি: পদক্ষেপটিও ইভেন্ট হিসেবে লিপিবদ্ধ হয়, ফলে পরের সিদ্ধান্ত যে ইউজার স্টেট পড়বে সেখানেই তা ফিরে মেশে। সিস্টেমের নিজের আচরণ সেই মানুষটি সম্পর্কে তার জানার অংশ হয়ে ওঠে, পাশে ঘটে যাওয়া আলাদা কিছু নয়।
প্রস্তাব মানুষের অপেক্ষায় থাকে
ইঞ্জিন নিজের সিদ্ধান্তের ওপর নিজে থেকে কাজ করে না। সে যা তৈরি করে তা একটি প্রস্তাব, আর প্রস্তাব মানে লিখিত একটি পরিকল্পনা: এই ফ্ল্যাগগুলো, এই কোহর্টগুলো, এই বার্তা। অনুমোদনের আগে সেটি যত ফ্ল্যাগ, কোহর্ট ও কথোপকথনের নাম নেয়, প্রতিটি আপনার নিজের টেন্যান্টের বিপরীতে মিলিয়ে দেখা হয়, আর যে রেফারেন্স মেলে না তা চুপচাপ বাদ না পড়ে গোটা প্রস্তাবটিকেই ব্যর্থ করে দেয়, আর এটিই কোনো ক্ষতিকর কিছু পড়ে ফেলা মডেলকে আপনার প্রজেক্টের বাইরে হাত বাড়াতে দেয় না। অনুমোদন একটি মানবিক কাজ, আর সেটিই সেই বিন্দু যেখানে কিছু ঘটে: বাস্তবায়ন সেই একই ফ্ল্যাগ ও মেসেজিং পথ ধরেই চলে যেগুলো আপনি হাতে ব্যবহার করেন, তাই অনুমতি, অডিট ট্রেইল আর আপনার প্ল্যানের সীমা সবই বহাল থাকে। দুবার অনুমোদন করলে দ্বিতীয়বারে কিছুই হয় না।
ইভেন্ট ভিতরে আনা
সবকিছু শুরু হয় ইনজেস্ট এন্ডপয়েন্টে পাঠানো একটি ইভেন্ট দিয়ে, যা ইঞ্জিন সঙ্গে সঙ্গে ইউজার স্টেটে মিশিয়ে নেয়। SDK আছে ওয়েব, মোবাইল ও সার্ভারের জন্য। React একমাত্র ব্যতিক্রম: এর লাইফসাইকেলের জন্য আলাদা অ্যাডাপ্টার লাগে, যা ক্লায়েন্টকে একবারই বসায় এবং StrictMode-নিরাপদ। কুইকস্টার্ট কয়েক লাইনেই তা জুড়ে দেয়।
কী ও এনভায়রনমেন্ট
প্রতিটি SDK কল একটি প্রোজেক্ট কী বহন করে, যা আসে কনসোল থেকে। প্রোজেক্ট তৈরি করলেই দুটি এনভায়রনমেন্ট হয়, লাইভ ও টেস্ট, প্রত্যেকের নিজস্ব কী: টেস্ট কী দিয়ে বানান, লাইভ কী দিয়ে ছাড়ুন। দুটি কী-ই তৈরির পরে ঠিক একবারই দেখানো হয়, কারণ সার্ভার কেবল হ্যাশ রাখে, তাই কোনো স্ক্রিন সেগুলো আর দেখাতে পারে না। রোটেশন আপনার বেছে নেওয়া এনভায়রনমেন্টের জন্য নতুন কী বানায়, আর পুরনোটি সঙ্গে সঙ্গে বন্ধ হবে না কি ছাড়ের সময় পরে, তা আপনি ঠিক করেন।
এর সঙ্গে কথা বলার চারটি উপায়
REST ছড়িয়ে আছে তিনটি হোস্টে: একটি ফ্ল্যাগ ও মেসেজিংয়ের, একটি ইভেন্ট ইনজেশনের, একটি সেশন রিপ্লের, আর প্রত্যেকটি /openapi.json-এ নিজস্ব OpenAPI নথি দেয়। ইনজেশন উত্তর দেয় 202, যার মানে ইভেন্টটি প্রক্রিয়ার জন্য গৃহীত, সংরক্ষিত নয়: ত্রুটিপূর্ণ ইভেন্ট পরে পাইপলাইনেই বাদ পড়তে পারে। GraphQL পুরো অ্যাপ্লিকেশন মডেল ঢাকে, প্রকল্প, ফ্ল্যাগ, ওয়ার্কফ্লো, অ্যানালিটিক্স, মেসেজিং, কোহর্ট ও বিলিং সহ। রিয়েল-টাইম সারফেস ফ্ল্যাগ পরিবর্তন, বার্তা ও ওয়ার্কফ্লো রান সম্প্রচার করে এবং অননুমোদিত সংযোগ সঙ্গে সঙ্গে কেটে দেয়। MCP সারফেস এজেন্টদের টুল কলের মাধ্যমে পড়তে ও লিখতে দেয়; এটি মেশিন-টু-মেশিন এবং ব্রাউজার অনুরোধ প্রত্যাখ্যান করে।
ডেটা আপনারই থাকে
Prodantix আপনি আমাদের সার্ভারে চালাতে পারেন, নিজের সার্ভারেও পারেন; দুই ক্ষেত্রেই কাজ একই রকম। যা কিছু আপনি এতে রাখেন, যেকোনো সময় পুরোটাই আবার বের করে নিতে পারেন। আমরা আপনার ডেটা বিক্রি করি না, AI মডেল প্রশিক্ষণেও ব্যবহার করি না। গড়নের কারণেই Prodantix আপনার গ্রাহকদের সবচেয়ে পূর্ণ রেকর্ডটি ধরে রাখে, তাই এই প্রতিশ্রুতির ওজন এখানে অন্য যেকোনো জায়গার চেয়ে বেশি।
কাদের জন্য
Prodantix সেসব দলের জন্য উপযুক্ত যাঁরা এই কাজে দুই-তিনটি আলাদা টুল চালাচ্ছেন এবং সেগুলোর পরস্পরবিরোধিতায় ক্লান্ত। সবচেয়ে বেশি কাজে লাগে তখন, যখন গ্রাহকসংখ্যা এতটাই বেড়ে যায় যে জিজ্ঞেস করে করে আর খোঁজ রাখা যায় না।
ভিজিট করুন Prodantix: prodantix.com