চ্যাট

মেসেজ পাঠানো

POST /chat — যে endpoint সবচেয়ে বেশি ব্যবহার করবেন।

POST https://aiagent1.skotechlabs.com/api/v1/chat

কাস্টমারের একটা মেসেজ আপনার এজেন্টের কাছে পাঠায়, আর এজেন্টের উত্তর ফেরত দেয়।

Body

Field ধরন বাধ্যতামূলক বিবরণ
message string হ্যাঁ* কাস্টমার যা লিখেছে (সর্বোচ্চ ৪,০০০ অক্ষর)। *attachments দিলে না দিলেও চলে।
attachments array না POST /uploads থেকে পাওয়া সর্বোচ্চ ৮টা attachment ID — কাস্টমারের পাঠানো ছবি বা ভয়েস নোট। দেখুন ছবি ও ভয়েস নোট।
conversation_id string না থ্রেডের জন্য আপনার ID (যেমন Messenger PSID বা আপনার চ্যাট ID)। একই ID দিলে কথোপকথন চলতে থাকে; না দিলে নতুন শুরু হয়।
agent_id integer না কোন এজেন্ট উত্তর দেবে। না দিলে default এজেন্ট।
channel string না হিসাবের জন্য লেবেল: api (default), messenger, whatsapp, app…
customer object না { "id", "name", "phone", "email" } — কনট্যাক্টে সেভ হয়।

Response

Field বিবরণ
reply কাস্টমারকে যে লেখা দেখাবেন। মানুষ দায়িত্ব নিলে null।
status answered, unanswered (তথ্যে উত্তর ছিল না), handover (মানুষ দরকার), paused (টিমের কেউ দেখছে), no_credits
needs_human কথোপকথন আপনার টিমের অপেক্ষায় থাকলে true।
intent কাস্টমার কী চেয়েছিল: pricing, order_tracking, delivery, return_refund, complaint…
sources যেসব FAQ, ডকুমেন্টের অংশ, প্রোডাক্ট আর টুল থেকে উত্তর এসেছে।
credits_used / credits_remaining এই উত্তরের খরচ আর বাকি ক্রেডিট।

Status অনুযায়ী কী করবেন

  • handover / needs_human — উত্তরটা দেখান, তারপর আপনার টিমকে জানান। একটা handover.requested webhook-ও পাবেন।
  • paused — টিমের কেউ inbox থেকে উত্তর দিয়েছে। তার মেসেজ agent.replied webhook দিয়ে আসবে; এখন কিছু দেখাবেন না।
  • no_credits — HTTP 402। উত্তরে আপনার উইজেটের offline মেসেজ থাকে। আবার চালু করতে ক্রেডিট কিনুন।

Idempotency

নেটওয়ার্ক সমস্যার পর নিরাপদে আবার চেষ্টা করতে একটা Idempotency-Key header পাঠান (যেকোনো ইউনিক লেখা) — ২৪ ঘণ্টার মধ্যে একই key পাঠালে নতুন উত্তর না বানিয়ে আগের response-টাই ফেরত আসে।