কনটেন্টে যান

টেকনিক্যাল ডকুমেন্টেশন

Threada কীভাবে কাজ করে, কী দরকার, এবং কীভাবে ইন্টিগ্রেট করবেন।

আর্কিটেকচার ওভারভিউ

  • ক্রল — sitemap ও ইন্টারনাল লিংক অনুসরণ করে ডোমেইনের পেজ আনে
  • রেন্ডার — JavaScript‑heavy পেজ এক্সট্রাকশনের আগে রেন্ডার করে
  • এক্সট্র্যাক্ট — স্ট্রাকচার্ড ডাটা সহ কনটেন্ট এক্সট্র্যাক্ট করে
  • চাঙ্ক — কনটেন্টকে অর্থভিত্তিক চাঙ্কে ভাগ করে
  • এম্বেড — চাঙ্ককে ভেক্টর এম্বেডিং‑এ রূপান্তর করে
  • ইনডেক্স — রিট্রিভালের জন্য এম্বেডিং সংরক্ষণ করে
  • রিট্রিভ — সেমান্টিক মিল থেকে প্রাসঙ্গিক চাঙ্ক ফেরত আনে
  • জেনারেট — রিট্রিভড কনটেন্ট থেকে উত্তর তৈরি করে
  • সাইট — প্রাসঙ্গিক কনটেন্ট মিললে উৎস পেজ লিংক করে

ক্রলিং

আমরা কী ক্রল করি

  • sitemap বা ইন্টারনাল লিংক থেকে HTML পেজ
  • স্ট্রাকচার্ড ডাটা (JSON‑LD, schema.org)
  • ম্যানুয়ালি আপলোড করা ডকুমেন্ট (PDF, HTML, DOCX)

ক্রলিং আচরণ

  • robots.txt মানে
  • User‑Agent চিহ্নিত
  • সার্ভার লোড এড়াতে রেট‑লিমিট
  • 429 বা 5xx হলে ব্যাক‑অফ

JavaScript রেন্ডারিং — SPA ও ডাইনামিক কনটেন্টের জন্য এক্সট্রাকশনের আগে হেডলেস ব্রাউজার ব্যবহার করে রেন্ডার করা হয়।

রি‑ইনডেক্সিং

  • sitemap মনিটরিং অটো রি‑ইনডেক্সিং ট্রিগার করে
  • ম্যানুয়াল রি‑ইনডেক্সিং যেকোনো সময় সম্ভব
  • প্ল্যান অনুযায়ী শিডিউলড রি‑ইনডেক্সিং

রিট্রিভাল

সেমান্টিক সার্চ কুয়েরি এম্বেডিংয়ে রূপান্তরিত হয় এবং কীওয়ার্ড নয়, অর্থগত মিল দিয়ে ম্যাচ করে।

রিলেভেন্স থ্রেশহোল্ড কনফিগার করা যায়। উচ্চ থ্রেশহোল্ড = কম কিন্তু বেশি আত্মবিশ্বাসী উত্তর। কম থ্রেশহোল্ড = বেশি কভারেজ ও বেশি স্পষ্টতা প্রশ্ন।

উত্তর তৈরি

রিট্রিভড কনটেন্ট মডেলে কনটেক্সট হিসেবে যায়। উত্তর শুধুই সেই কনটেক্সট থেকে তৈরি হয়।

সোর্স উদ্ধৃতি — প্রাসঙ্গিক কনটেন্ট মিললে উত্তর সোর্স পেজে লিংক দেয়। অনিশ্চয়তা স্বীকার করলে উৎস না থাকায় উদ্ধৃতি নাও থাকতে পারে।

সীমা আচরণ

  • যা জানে না তা স্বীকার করে
  • স্পষ্টতার জন্য প্রশ্ন করে
  • সম্পর্কিত বিষয় প্রস্তাব করে

এম্বেড ইন্টিগ্রেশন

ইনস্টলেশন একটি স্ক্রিপ্ট স্নিপেট। অ্যাসিঙ্ক্রোনাসলি লোড হয়।

সামঞ্জস্যতা

  • WordPress
  • Webflow
  • Shopify
  • Squarespace
  • কাস্টম বিল্ড
  • SPA (React, Vue, Angular)

ড্যাশবোর্ডে কনফিগারেশন

  • রং, লোগো, প্লেসমেন্ট
  • ওয়েলকাম মেসেজ, টোন
  • ভাষা সেটিংস
  • রিলেভেন্স থ্রেশহোল্ড

পাবলিক API

টিকিট ও অ্যাকশনের জন্য সুরক্ষিত, টেন্যান্ট‑স্কোপড API অ্যাক্সেস।

অথেন্টিকেশন ও অ্যাক্সেস

  • `X-Api-Key` হেডারে API key পাঠান।
  • Admin → API keys থেকে key তৈরি/বাতিল করুন; প্রতি ইন্টিগ্রেশনে একটি key ব্যবহার করুন।
  • Keys টেন্যান্ট‑স্কোপড এবং scopes দিয়ে least‑privilege প্রয়োগ করা হয়।

Scopes

  • `support.read` — টিকিট, মেসেজ ও অ্যাকশন তালিকা/আনুন।
  • `support.write` — টিকিট তৈরি/আপডেট ও মেসেজ যোগ করুন।
  • `support.actions` — অ্যাকশন চালান এবং স্ট্যাটাস দেখুন।

মূল endpoints

  • `/api/v1/public/tickets` — টিকিট তালিকা/তৈরি।
  • `/api/v1/public/tickets/{ticket_id}` — টিকিট বিস্তারিত আনা/আপডেট।
  • `/api/v1/public/tickets/{ticket_id}/messages` — মেসেজ তালিকা/যোগ।
  • `/api/v1/public/tickets/{ticket_id}/actions` — টিকিটের জন্য অ্যাকশন চালান।
  • `/api/v1/public/actions` — অ্যাকশন তালিকা বা স্ট্যাটাস দেখুন।

Response ফরম্যাট

  • JSON responses; timestamps RFC 3339।
  • Errors `{ error: { type, message, code } }` ফেরত দেয়।
  • List endpoints `limit` এবং `page_token` গ্রহণ করে।

Channel values

  • `web`, `email`, `sms`, `whatsapp`, `social`, `voice`, `custom`.
  • বাহ্যিক কথোপকথন ম্যাপ করতে `channel_id` এবং `channel_thread_id` ব্যবহার করুন।
  • মেসেজ লেখা ডিডুপ্লিকেট করতে `external_message_id` ব্যবহার করুন।

Zapier সেটআপ

কন্ট্রোলড সারফেসসহ Zapier দিয়ে no-code automation যুক্ত করুন।

Outbound automation (Threada → Zapier)

  • Webhooks by Zapier-এর “Catch Hook” ট্রিগার দিয়ে একটি Zap তৈরি করুন এবং hook URL কপি করুন।
  • Admin → Support → Integrations-এ Zapier integration যোগ করুন, webhook URL এবং optional secret header দিন।
  • Payload পাঠাতে Custom HTTP action ব্যবহার করুন; Custom HTTP integration সিলেক্ট না হলে ডিফল্টভাবে Zapier ব্যবহৃত হবে।

Inbound automation (Zapier → Threada)

  • Zapier-এর জন্য scoped API key তৈরি করুন (least privilege)।
  • Tickets ও actions-এর Public API endpoints কল করতে Webhooks by Zapier ব্যবহার করুন।
  • Key-টি Zapier-এ নিরাপদে সংরক্ষণ করুন এবং নিয়মিত rotate করুন।

Enterprise hygiene

  • Environment অনুযায়ী keys আলাদা রাখুন (production বনাম sandbox)।
  • Zap নিষ্ক্রিয় হলে বা ownership বদলালে keys revoke করুন।
  • Automation-এর লেখার প্রয়োজন না থাকলে read-only scopes প্রাধান্য দিন।

সিকিউরিটি

হোস্টিং: GCP, ডিফল্ট US‑Central1। এনক্রিপশন: ট্রানজিটে TLS 1.2+, রেস্টে AES‑256। অথেনটিকেশন: Enterprise‑এ OIDC/SAML SSO। কমপ্লায়েন্স: GDPR‑aligned, কনফিগারেবল রিটেনশন, অডিট লগ। থ্রেট মডেল prompt injection, XSS, SSRF এবং ডেটা এক্সফিলট্রেশন কভার করে।

ডেটা হ্যান্ডলিং

স্টোর করা হয়

  • ইনডেক্সড কনটেন্ট
  • এম্বেডিংস
  • চ্যাট লগ
  • অ্যানালিটিকস
  • কনফিগারেশন

স্টোর হয় না

  • পেমেন্ট তথ্য (প্রসেসর দ্বারা হ্যান্ডেল করা হয়)
  • প্লেইন‑টেক্সট ক্রেডেনশিয়াল

রিটেনশন টেন্যান্ট অনুযায়ী কনফিগারেবল। অনুরোধে ডিলিট করা যায়।

ট্রেনিং আপনার কনটেন্ট AI মডেল ট্রেনিংয়ে ব্যবহার করা হয় না।

FAQ

পাসওয়ার্ড‑প্রোটেক্টেড পেজ?
এখন নয়। প্রাইভেট কনটেন্টের জন্য ডকুমেন্ট আপলোড করুন।
পেজ বাদ দেওয়া যায়?
হ্যাঁ। robots.txt বা ড্যাশবোর্ড কনফিগারেশন দিয়ে।
আপডেট কত দ্রুত আসে?
অটো রি‑ইনডেক্সিং সাধারণত 24 ঘণ্টার মধ্যে। ম্যানুয়াল রি‑ইনডেক্সিং তাৎক্ষণিক।
ক্রলের সময় সাইট ডাউন হলে?
ক্রলার ব্যাক‑অফ করে আবার চেষ্টা করে। আগের কনটেন্ট উপলব্ধ থাকে।
ইনডেক্সড কনটেন্ট দেখা যাবে?
হ্যাঁ। ড্যাশবোর্ডে ইনডেক্সড পেজ ও স্ট্যাটাস দেখা যায়।
একাধিক ভাষা?
হ্যাঁ। অটো‑ডিটেক্ট বা প্রতি এম্বেড ডিফল্ট সেট করা যায়।
কখনও উদ্ধৃতি থাকে না কেন?
উদ্ধৃতি উৎসের লিংক। অনিশ্চয়তা স্বীকার করলে উৎস না থাকায় উদ্ধৃতি দেখানো হয় না।