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

ایجاد پرونده اختراع

POST /api/v1/invention-cases/ مشاهده در Swagger

ATP - ایجاد پرونده اختراع (POST /api/v1/invention-cases/)

Endpoint

POST /api/v1/invention-cases/

هدف آزمون

ایجاد invention case جدید در workspace مشخص.

شرایط آزمون

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

فرآیند آزمون

  1. ورود و دریافت access token
  2. ارسال POST با workspace_id و title
  3. دریافت 201 و شناسه پرونده
  4. بررسی current_stage اولیه برابر information_collection
  5. ذخیره invention_case_id برای مراحل بعد

معرفی ویژگی

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

  • ورودی معتبر: اعتبارسنجی در مرز API
  • پاسخ استاندارد: قالب JSON یکسان با سایر endpointها
  • کنترل دسترسی: مطابق policy ماژول مربوطه

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

سناریو 1: ایجاد پرونده در workspace فعال

  1. ایجاد workspace یا انتخاب workspace موجود
  2. ارسال POST با title="Battery thermal management"
  3. دریافت 201
  4. بررسی case_code یکتا و current_stage=information_collection

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

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

سناریو 3: خطا — بدون احراز هویت

  1. ارسال درخواست بدون هدر Authorization
  2. دریافت کد 401
  3. بررسی عدم برگرداندن داده محافظت‌شده

سناریو 4: خطا — توکن منقضی

  1. استفاده از access token منقضی‌شده
  2. دریافت کد 401
  3. تازه‌سازی توکن با endpoint refresh

قالب API

مولفه نوع نوع داده اجباری توضیحات
workspace_id Body uuid بله فضای کاری مالک پرونده
title Body string بله عنوان پرونده (حداکثر ۲۵۵ کاراکتر)
owner_id Body uuid خیر مالک؛ پیش‌فرض کاربر جاری
status Body string خیر active
next_action Body string خیر اقدام پیشنهادی UI
main_blocker Body string خیر مانع اصلی فعلی

Swagger

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

نمونه ورودی

curl -X POST "http://localhost:8000/api/v1/invention-cases/" \
  -H "Authorization: Bearer <access>" \
  -H "Content-Type: application/json" \
  -d '{"workspace_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","title":"Battery thermal management"}'

نمونه خروجی

{
  "success": true,
  "data": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "case_code": "IC-2026-042",
    "title": "Battery thermal management",
    "workspace_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "current_stage": "information_collection",
    "status": "active"
  }
}

Status Codes

  • 201: منبع ایجاد شد
  • 400: داده ورودی نامعتبر
  • 401: احراز هویت نامعتبر

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

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

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

  1. بررسی 201
  2. بررسی case_code و id در پاسخ
  3. بررسی current_stage=information_collection
  4. بررسی عضویت کاربر در workspace_id

توضیحات

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