بازگشت به فهرست ATP →
پرونده‌های اختراع

پیشرفت پرونده

GET /api/v1/invention-cases/{invention_case_id}/progress/ مشاهده در Swagger

ATP - پیشرفت پرونده (GET /api/v1/invention-cases/{invention_case_id}/progress/)

Endpoint

GET /api/v1/invention-cases/{invention_case_id}/progress/

هدف آزمون

دریافت progress، readiness summary و recommended action.

شرایط آزمون

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

فرآیند آزمون

  1. ارسال درخواست GET به /api/v1/invention-cases/{invention_case_id}/progress/
  2. دریافت پاسخ HTTP
  3. بررسی کد وضعیت و بدنه JSON

معرفی ویژگی

نمای aggregate برای dashboard و tooling. شامل intake_readiness_summary، شمارش اسناد، وضعیت extraction و draft summary است.

  • intake_readiness_summary: preparing | ready_to_continue | extraction_failed | missing_information_required
  • extraction_summary: تعداد requestها به تفکیک status
  • recommended_next_action: راهنمای UI برای قدم بعد

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

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

  1. ارسال GET /api/v1/invention-cases/{invention_case_id}/progress/
  2. دریافت پاسخ موفق
  3. بررسی ساختار پاسخ

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

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

سناریو 3: پس از extraction_failed

  1. شبیه‌سازی failed extraction
  2. GET progress
  3. بررسی intake_readiness_summary.state="extraction_failed"
  4. بررسی warnings یا main_blocker مرتبط

سناریو 4: ready_to_continue

  1. تکمیل همه extractionها
  2. GET progress
  3. بررسی state="ready_to_continue"
  4. بررسی recommended_next_action برای شروع context

قالب API

مولفه نوع نوع داده اجباری توضیحات
invention_case_id Path uuid بله شناسه پرونده اختراع

Swagger

get:
  summary: پیشرفت پرونده
  responses:
    200:
      description: عملیات موفق
    401:
      description: احراز هویت نامعتبر یا ناقص

نمونه ورودی

curl -X GET "http://localhost:8000/api/v1/invention-cases/{invention_case_id}/progress/" \
  -H "Authorization: Bearer <access>" \
  -H "Content-Type: application/json"

نمونه خروجی

{
  "success": true,
  "data": {
    "case_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "current_stage": "information_collection",
    "intake_readiness_summary": {
      "state": "preparing",
      "message": "Preparing your next step..."
    },
    "source_document_summary": { "total_count": 1, "by_extraction_status": { "pending": 1 } },
    "recommended_next_action": "Wait for document extraction to finish."
  }
}

Status Codes

  • 200: عملیات موفق
  • 401: احراز هویت نامعتبر یا ناقص

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

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

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

  1. بررسی 200
  2. بررسی presence کلیدهای intake_readiness_summary و extraction_summary
  3. بررسی recommended_next_action غیرخالی
  4. مقایسه state با workflow-state.information_collection.intake

توضیحات

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