ডকুমেন্টেশন

কনটেন্ট গেট

নির্দিষ্ট কিছু বিষয় উইজেটের অজ্ঞাত (লগইন না করা) দর্শকদের কাছে সীমিত রাখুন। যাচাই করা পরিচয়সহ লগইন করা ব্যবহারকারীরা পূর্ণ উত্তর পান।

সংক্ষেপে#

কনটেন্ট গেট দিয়ে আপনি এমন বিষয় ঠিক করতে পারেন, যেগুলো কেবল লগইন করা ব্যবহারকারীদের সঙ্গেই আলোচনা করা হবে। অজ্ঞাত কোনো দর্শক এমন বিষয়ে প্রশ্ন করলে AI আসল উত্তরের বদলে আপনার লেখা একটি বার্তা দেয়।

স্পর্শকাতর তথ্য আড়াল রাখতে এটি কাজে লাগে, যেমন:

  • মূল্যের বিস্তারিত ও ছাড়ের কাঠামো
  • Enterprise ফিচার বা অভ্যন্তরীণ রোডম্যাপ
  • API ডকুমেন্টেশন বা কারিগরি বিবরণ
  • পার্টনার-নির্দিষ্ট তথ্য

সেটআপ#

বিষয়-গেটিং আপাতত এজেন্ট সেটিংস API দিয়ে কনফিগার করা হয়। তিনটি settings কী দিয়ে আপনার এজেন্ট হালনাগাদ করুন:

  • gated_enabled (boolean) — বিষয়-গেটিং চালু বা বন্ধ করে
  • gated_topics (স্ট্রিংয়ের অ্যারে) — যে বিষয়গুলো সীমিত থাকবে। নির্দিষ্ট করে লিখুন — যেমন কেবল "pricing" না লিখে "enterprise pricing tiers" লিখুন, তাতে ভুল করে বিষয় আটকে যাওয়া কমে।
  • gated_message (string) — অজ্ঞাত ব্যবহারকারীরা সীমিত বিষয়ে প্রশ্ন করলে যে বার্তাটি দেখবেন। খালি থাকলে ডিফল্ট হয়: "This information is available to registered users. Please sign in or contact us for details."
API দিয়ে কনটেন্ট গেট কনফিগার করাbash
curl -X PATCH https://api.respondo.ai/api/v1/agents/<agent-uuid> \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "gated_enabled": true,
      "gated_topics": ["enterprise pricing tiers", "internal roadmap"],
      "gated_message": "This information is available to registered users. Please sign in or contact our sales team for details."
    }
  }'

লগইন করা আর অজ্ঞাত দর্শকদের আলাদা করতে কনটেন্ট গেটের ব্যবহারকারী শনাক্তকরণও দরকার। সেটআপের নির্দেশনা ব্যবহারকারী শনাক্তকরণ ডকে দেখুন।

উইজেট চ্যানেলের Appearance ট্যাবের Content gate সুইচের সঙ্গে এটি গুলিয়ে ফেলবেন না — সেটি ভিন্ন একটি ফিচার: চ্যাট শুরুর আগে দর্শকের কাছে ইমেল চায় (লিড ক্যাপচার), কোনো বিষয় আটকায় না।

এটি কীভাবে কাজ করে#

উইজেট থেকে বার্তা এলে সিস্টেম দেখে নেয়, ব্যবহারকারীর পরিচয় যাচাই করা আছে কি না:

ব্যবহারকারীর ধরনপরিচয়ের ফিল্ডসীমিত বিষয়
যাচাই করা পরিচয়userId বা email আছে (identity_secret কনফিগার করা থাকলে HMAC-যাচাইকৃত)পূর্ণ উত্তর — কোনো বাধা নেই
অজ্ঞাতকেবল visitorId আছে, অথবা কোনো পরিচয়ই নেইসীমিত বিষয়ের বার্তাটি দেখেন
HMAC মেলেনিuserId আছে, কিন্তু userHash ভুলঅজ্ঞাত হিসেবেই গণ্য — সীমিত বিষয়ের বার্তা দেখেন
identity_secret কনফিগার করা না থাকলে identify()-এ পাঠানো যেকোনো userId/email যাচাই ছাড়াই লগইন করা হিসেবে গণ্য হয় — একজন দর্শক ব্রাউজার কনসোল থেকেই নিজেকে শনাক্ত করে সীমিত বিষয় খুলে ফেলতে পারেন। প্রমাণীকরণ যাচাইযোগ্য করতে identity_secret সেট করুন ও userHash পাঠান; দেখুন পরিচয় যাচাই (HMAC)। উপরের "HMAC মেলেনি" সারিটি কেবল identity_secret সেট থাকলেই প্রযোজ্য।
কনটেন্ট গেট কাজ করে AI-এর নির্দেশনার স্তরে। অজ্ঞাত কোনো ব্যবহারকারী সীমিত বিষয়ে প্রশ্ন করলে AI-কে আপনার লেখা বার্তাটি দিয়ে উত্তর দিতে বলা হয়। সীমিত নয় এমন বিষয়ে সবাই স্বাভাবিক উত্তরই পান।
কনটেন্ট গেট যথাসাধ্য চেষ্টা করে, এটি ক্রিপ্টোগ্রাফিক অ্যাক্সেস নিয়ন্ত্রণ নয়। ব্যতিক্রমী কিছু প্রশ্নে AI মাঝেমধ্যে আংশিক উত্তর দিয়ে ফেলতে পারে। তথ্যের কড়া সুরক্ষা দরকার হলে স্পর্শকাতর বিষয়বস্তু পুরোপুরি আলাদা একটি এজেন্টে সরিয়ে নেওয়ার কথা ভাবুন।

পরিচয়ের শর্ত#

কনটেন্ট গেট কাজ করাতে হলে উইজেট চালু করার সময় ব্যবহারকারীর পরিচয় পাঠাতে হবে। ন্যূনতম একটি উদাহরণ:

পরিচয়সহ উইজেট চালু করাhtml
<!-- লগইন করা ব্যবহারকারীদের জন্য -->
<script>
  Respondo.init({ agentId: 'YOUR_AGENT_ID' });
  Respondo.identify({
    userId: 'user-123',
    email: 'user@example.com',
    userHash: 'HMAC_SHA256_HASH'  // identity_secret সেট করা থাকলে বাধ্যতামূলক
  });
</script>

<!-- অজ্ঞাত দর্শকদের জন্য — identify ছাড়া শুধু init -->
<script>
  Respondo.init({ agentId: 'YOUR_AGENT_ID' });
  // identify() কল নেই — ব্যবহারকারী অজ্ঞাত, সীমিত বিষয়গুলো আটকে থাকবে
</script>

HMAC যাচাইয়ের সেটআপ সম্পর্কে দেখুন পরিচয় যাচাই (HMAC)।

কনটেন্ট গেট বনাম Topics to Avoid

Topics to Avoid বিষয়গুলো সব ব্যবহারকারীর জন্য আটকে দেয় — লগইন করা ও অজ্ঞাত, দুই দলের জন্যই। এজেন্টের কখনোই আলোচনা করা উচিত নয় এমন বিষয়ের জন্য এটি ব্যবহার করুন (যেমন প্রতিযোগীর সঙ্গে তুলনা, আইনি পরামর্শ)।

কনটেন্ট গেট কেবল অজ্ঞাত ব্যবহারকারীদের জন্য বিষয় আটকায়। লগইন করা ব্যবহারকারীরা পূর্ণ উত্তর পান। যে তথ্য গ্রাহকদের সঙ্গে ভাগ করতে চান কিন্তু সবার সামনে আনতে চান না (যেমন মূল্য, অভ্যন্তরীণ ফিচার), তার জন্য এটি ব্যবহার করুন।