بازگشت به فهرست ATP →
گفتگوها

ایجاد گفتگو

POST /api/v1/conversations/ مشاهده در Swagger

ATP - ایجاد گفتگو (POST /api/v1/conversations/)

Endpoint

POST /api/v1/conversations/

هدف آزمون

ایجاد conversation، turn اول کاربر و شروع پاسخ assistant.

شرایط آزمون

  • سرویس core-api در حال اجرا باشد
  • هدر Authorization با access token معتبر

فرآیند آزمون

  1. ارسال query در discover flow
  2. دریافت 201 با conversation_id و turn_id
  3. اتصال SSE به stream_url
  4. دریافت tokens و recommendations

معرفی ویژگی

این endpoint عملیات «ایجاد گفتگو» را در API Patent Genie انجام می‌دهد.

  • throttle: 60/min per user
  • stream_url: مسیر نسبی برای SSE
  • recommendations: محصولات گردش‌کار در turn assistant

سناریوی آزمون

سناریو 1: مسیر موفق

  1. ارسال POST /api/v1/conversations/
  2. دریافت پاسخ موفق
  3. بررسی ساختار پاسخ

سناریو 2: خطا - درخواست نامعتبر

  1. ارسال درخواست با داده یا شناسه نامعتبر
  2. دریافت کد خطای 4xx
  3. بررسی پیام خطای استاندارد API

سناریو 3: گفتگو با invention_case

  1. ارسال invention_case_id همراه query
  2. بررسی لینک conversation به case
  3. بررسی recommendations متناسب با progress case

سناریو 4: rate limit

  1. ارسال >۶۰ request در ۱ دقیقه
  2. دریافت 429
  3. بررسی Retry-After

قالب API

مولفه نوع نوع داده اجباری توضیحات
query Body string بله متن اولیه کاربر (حداکثر ۸۰۰۰)
workspace_id Body uuid خیر فضای کاری مرتبط
invention_case_id Body uuid خیر پرونده مرتبط
file_ids Body uuid[] خیر اسناد پیوست
product_keys Body string[] خیر محصولات پیشنهادی
source Body string خیر discover

Swagger

post:
  summary: ایجاد گفتگو
  responses:
    201:
      description: منبع ایجاد شد
    400:
      description: داده ورودی نامعتبر
    401:
      description: احراز هویت نامعتبر

نمونه ورودی

curl -X POST "http://localhost:8000/api/v1/conversations/" \
  -H "Authorization: Bearer <access>" \
  -H "Content-Type: application/json" \
  -d '{"query":"I have an idea for a smart valve in EV cooling","source":"discover"}'

نمونه خروجی

{
  "success": true,
  "data": {
    "conversation_id": "...",
    "turn_id": 1,
    "stream_url": "/api/v1/conversations/.../stream/?turn_id=1",
    "conversation": { "title": "...", "status": "active", "turns": [] }
  }
}

Status Codes

  • 201: گفتگو ایجاد شد
  • 400: validation
  • 429: rate limit

نتیجه مورد انتظار

در صورت موفقیت، پاسخ JSON استاندارد با کد وضعیت مناسب برای POST برگردانده می‌شود.

روال صحت‌سنجی

  1. بررسی کد وضعیت HTTP
  2. بررسی فیلد success در بدنه
  3. بررسی عدم افشای داده حساس

توضیحات

  • مسیر باید با پیاده‌سازی فعلی urls.py هم‌خوان باشد