ATP - استریم گفتگو (GET /api/v1/conversations/{conversation_id}/stream/)
Endpoint
GET /api/v1/conversations/{conversation_id}/stream/
هدف آزمون
دریافت token-stream پاسخ assistant برای یک turn.
شرایط آزمون
- سرویس core-api در حال اجرا باشد
- هدر Authorization با access token معتبر
فرآیند آزمون
- ارسال درخواست GET به
/api/v1/conversations/{conversation_id}/stream/ - دریافت پاسخ HTTP
- بررسی کد وضعیت و بدنه JSON
معرفی ویژگی
این endpoint عملیات «استریم گفتگو» را در API Patent Genie انجام میدهد.
- ورودی معتبر: اعتبارسنجی در مرز API
- پاسخ استاندارد: قالب JSON یکسان با سایر endpointها
- کنترل دسترسی: مطابق policy ماژول مربوطه
سناریوی آزمون
سناریو 1: مسیر موفق
- ارسال
GET /api/v1/conversations/{conversation_id}/stream/ - دریافت پاسخ موفق
- بررسی ساختار پاسخ
سناریو 2: خطا - درخواست نامعتبر
- ارسال درخواست با داده یا شناسه نامعتبر
- دریافت کد خطای 4xx
- بررسی پیام خطای استاندارد API
سناریو 3: استریم کامل turn
- create conversation
- curl -N stream با turn_id
- دریافت token events
- دریافت done
سناریو 4: خطا — turn_id الزامی
- GET stream بدون turn_id
- 400
- بررسی "This query parameter is required"
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| turn_id | Query | integer | بله | شناسه turn از پاسخ create/message |
| last_event_id | Query | integer | خیر | resume استریم |
| conversation_id | Path | uuid | بله | شناسه گفتگو |
Swagger
get:
summary: استریم گفتگو
responses:
200:
description: عملیات موفق
401:
description: احراز هویت نامعتبر یا ناقص
نمونه ورودی
curl -N "http://localhost:8000/api/v1/conversations/{conversation_id}/stream/?turn_id=1" \
-H "Authorization: Bearer <access>" \
-H "Accept: text/event-stream"
نمونه خروجی
id: 1
data: {"type":"token","content":"Based"}
id: 2
data: {"type":"token","content":" on"}
id: done
data: {"type":"done","recommendations":[]}
Status Codes
- 200: عملیات موفق
- 401: احراز هویت نامعتبر یا ناقص
نتیجه مورد انتظار
در صورت موفقیت، پاسخ JSON استاندارد با کد وضعیت مناسب برای GET برگردانده میشود.
روال صحتسنجی
- بررسی کد وضعیت HTTP
- بررسی فیلد success در بدنه
- بررسی عدم افشای داده حساس
توضیحات
- Content-Type: text/event-stream
- Cache-Control: no-cache
- turn_id الزامی است