ATP - دانلود سند مبدأ (GET /api/v1/invention-cases/{invention_case_id}/source-documents/{source_document_id}/download/)
Endpoint
GET /api/v1/invention-cases/{invention_case_id}/source-documents/{source_document_id}/download/
هدف آزمون
دانلود یا پیشنمایش فایل خام source document ذخیرهشده در S3.
شرایط آزمون
- سرویس core-api در حال اجرا باشد
- هدر Authorization با access token معتبر
فرآیند آزمون
- آپلود source document و انتظار upload_status=stored
- GET download با access token
- بررسی Content-Type و بدنه فایل
- برای PDF/image: inline preview؛ سایر انواع: attachment
معرفی ویژگی
این endpoint عملیات «دانلود سند مبدأ» را در API Patent Genie انجام میدهد.
- upload_status: باید stored باشد
- preview: content-typeهای قابل پیشنمایش بدون Content-Disposition attachment
- filename: از original_filename
سناریوی آزمون
سناریو 1: مسیر موفق
- ارسال
GET /api/v1/invention-cases/{invention_case_id}/source-documents/{source_document_id}/download/ - دریافت پاسخ موفق
- بررسی ساختار پاسخ
سناریو 2: خطا - درخواست نامعتبر
- ارسال درخواست با داده یا شناسه نامعتبر
- دریافت کد خطای 4xx
- بررسی پیام خطای استاندارد API
سناریو 3: خطا — بدون احراز هویت
- ارسال درخواست بدون هدر Authorization
- دریافت کد 401
- بررسی عدم برگرداندن داده محافظتشده
سناریو 4: خطا — منبع یافت نشد
- استفاده از UUID نامعتبر یا متعلق به کاربر دیگر
- دریافت کد 404
- بررسی پیام خطای استاندارد API
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| invention_case_id | Path | uuid | بله | شناسه پرونده اختراع |
| source_document_id | Path | uuid | بله | شناسه سند مبدأ |
Swagger
get:
summary: دانلود سند مبدأ
responses:
200:
description: عملیات موفق
401:
description: احراز هویت نامعتبر یا ناقص
نمونه ورودی
curl -X GET "http://localhost:8000/api/v1/invention-cases/{invention_case_id}/source-documents/{source_document_id}/download/" \
-H "Authorization: Bearer <access>" \
-H "Content-Type: application/json"
نمونه خروجی
{
"success": true,
"data": {}
}
Status Codes
- 200: فایل برگردانده شد
- 401: احراز هویت نامعتبر
- 404: سند یافت نشد یا فایل در دسترس نیست
نتیجه مورد انتظار
در صورت موفقیت، پاسخ JSON استاندارد با کد وضعیت مناسب برای GET برگردانده میشود.
روال صحتسنجی
- بررسی کد وضعیت HTTP
- بررسی فیلد success در بدنه
- بررسی عدم افشای داده حساس
توضیحات
- فقط فایل خام آپلودشده؛ متن استخراجشده endpoint جدا دارد
- اگر فایل در storage موجود نباشد 404