کانالها
API گفتگو
کلید API موچت را ایجاد کنید و از سرور خود پیام بفرستید؛ پاسخ، شناسهٔ گفتگو، ادامهٔ مکالمه و وضعیت ارجاع را مدیریت کنید.
مرور کلی
API گفتگو برای افزودن موچت به برنامه یا سرویس خودتان است. کانال API در داشبورد، کلید مخصوص همان موچت را میسازد؛ برنامهٔ شما با این کلید پیام میفرستد و پاسخ را دریافت میکند. درخواستها را از سرور خود بفرستید تا کلید در کد عمومی مرورگر قرار نگیرد.
چه کارهایی میتوانید انجام دهید؟
پیام بفرستید، گفتگو را با شناسهٔ برگشتی ادامه دهید و وضعیت پاسخگویی خودکار یا ارجاع به پشتیبان را در برنامهٔ خود نمایش دهید.
ایجاد کلید API
کانال API را باز کنید
موچت موردنظر را در داشبورد انتخاب کنید. در انتشار موچت، کارت API را باز کنید و راه اندازی را بزنید.
کلید را ایجاد کنید
ایجاد کلید API را بزنید. کلید در بخش مدیریت کلیدها نمایش داده میشود؛ با انتخاب آن، مقدار را کپی کنید.
کلید را در سرور تنظیم کنید
مقدار را در متغیر محیطی MUCHAT_API_KEY سرور خود قرار دهید. این کلید با شناسهٔ موچت یا websiteToken ویجت متفاوت است.

ارسال پیام
درخواست POST /v2/chat را با هدر Authorization: Bearer بفرستید. این نمونه منتظر پاسخ نهایی JSON میماند:
curl --request POST 'https://api.mu.chat/v2/chat' \
--header "Authorization: Bearer $MUCHAT_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"query":"سلام","stream":false}'متن پاسخ در data.message.parts قرار دارد. هر بخش متنی، type برابر text دارد و متن آن در text است. اطلاعات مکالمه و نتیجهٔ پاسخگویی را در data.metadata بخوانید:
| فیلد | کاربرد |
|---|---|
conversation_id | شناسهٔ گفتگو برای ارسال پیام بعدی در همان مکالمه |
external_message_id | شناسهٔ پیام ورودی برای پیگیری یا تلاش مجدد |
finish_reason | نتیجهٔ پاسخگویی؛ برای نمونه completed یا suppressed |
bot_active | وضعیت فعالبودن هوش مصنوعی در گفتگو |
handoff_status | وضعیت واگذاری گفتگو به پشتیبان |
ادامهٔ گفتگو و تلاش مجدد
برای پیام بعدی، conversation_id پاسخ قبلی را همراه query تازه در بدنه بفرستید. پیش از ارسال پیام بعدی، منتظر پایان درخواست قبلی بمانید؛ گفتگو با پاسخ در حال تولید، پیام همزمان دیگری نمیپذیرد.
- برای هر پیام منطقی میتوانید یک
external_message_idیکتا تعیین کنید. اگر همان درخواست را دوباره میفرستید، همان شناسه و بدنه را نگه دارید تا پیام تکراری ساخته نشود. - استفاده از همان شناسه با متن یا بدنهٔ متفاوت، خطای تعارض میدهد. برای پیام تازه، شناسهٔ تازه بسازید.
- بدون
conversation_id، پیام را بهعنوان شروع گفتگو در نظر بگیرید. برای ادامهٔ مکالمه، شناسهٔ برگشتی را ذخیره کنید. - اگر
messageخالی است یا نتیجهsuppressedاست، متن ساختگی به کاربر نشان ندهید؛ وضعیت توقف هوش مصنوعی و ارجاع را بررسی کنید.
رفع مشکل
| وضعیت | بررسی |
|---|---|
401 | کلید و قالب هدر Bearer را بررسی کنید. |
403 | فعالبودن کانال و دسترسی پلن به API را بررسی کنید. |
409 | شناسهٔ پیام تکراری با بدنهٔ متفاوت، درخواست همزمان یا بستهبودن گفتگو را بررسی کنید. |
422 | بدنه باید JSON معتبر باشد و پیام متنی خالی نفرستید. |
برای آزمون، ابتدا یک پیام بفرستید، سپس با شناسهٔ برگشتی پیام دوم را ادامه دهید و ثبت همان گفتگو را در اینباکس بررسی کنید. حذف اتصال API، کلید آن را از دسترس درخواستهای بعدی خارج میکند.