دیدگاهها (Comments)
دیدگاهها (Comments) امکان تعامل کاربران با پستها را فراهم میکنند. هر دیدگاه میتواند شامل پاسخهای تودرتو باشد و توسط ادمین فضای کاری پین یا اسپم شود.
نوعهای مشترک (Common Types)
| نام | توضیح |
|---|---|
Comment | شیء اصلی دیدگاه |
فیلدهای Comment:
| فیلد | نوع | توضیح |
|---|---|---|
id | string | شناسه یکتای دیدگاه (UUID) |
createdAt | string | تاریخ و زمان ایجاد (فرمت ISO 8601) |
updatedAt | string | تاریخ و زمان آخرین ویرایش |
postId | string | شناسه پست مربوطه (UUID) |
workspaceId | string | شناسه فضای کاری مربوطه (UUID) |
parentId | string | null | شناسه دیدگاه والد (برای پاسخها) |
userId | string | شناسه کاربر ایجادکننده (UUID) |
content | string | متن دیدگاه |
isSpam | boolean | وضعیت اسپم بودن دیدگاه |
isPinned | boolean | وضعیت پین بودن دیدگاه |
likesCount | number | تعداد لایکها |
repliesCount | number | تعداد پاسخها |
isLiked | boolean | آیا کاربر جاری لایک کرده است؟ |
creator | Creator | null | اطلاعات کاربر ایجادکننده |
فیلدهای Creator:
| فیلد | نوع | توضیح |
|---|---|---|
id | string | شناسه یکتای کاربر (UUID) |
fullName | string | نام کامل |
avatarUrl | string | null | آدرس آواتار |
پاسخهای یک دیدگاه دیگر داخل خودِ شیء Comment برگردانده نمیشوند و باید جداگانه از endpoint دریافت پاسخها خوانده شوند.
مدیریت دیدگاهها (Comments)
دریافت لیست دیدگاههای یک پست
GET https://api.fidegah.ir/v1/posts/:postId/comments
curl -X GET https://api.fidegah.ir/v1/posts/{postId}/comments \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
postId | string | شناسه پست مورد نظر (UUID) |
فقط دیدگاههای سطح اول (بدون پاسخها) برگردانده میشوند و بر اساس پینشده بودن و سپس قدیمیترین تاریخ ایجاد مرتب هستند. صفحهبندی نتایج طبق ساختار عمومی صفحهبندی API پشتیبانی میشود (مشاهده جزئیات).
خروجی درخواست:
| فیلد | نوع | توضیح |
|---|---|---|
data | []Comment | آرایه شامل لیست دیدگاههای سطح اول |
pagination | Pagination | اطلاعات صفحهبندی |
دریافت پاسخهای یک دیدگاه
GET https://api.fidegah.ir/v1/posts/:postId/comments/:id/replies
curl -X GET https://api.fidegah.ir/v1/posts/{postId}/comments/{id}/replies \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
postId | string | شناسه پست مربوطه (UUID) |
id | string | شناسه دیدگاه والد (UUID) |
صفحهبندی نتایج طبق ساختار عمومی صفحهبندی API پشتیبانی میشود.
خروجی درخواست:
| فیلد | نوع | توضیح |
|---|---|---|
data | []Comment | آرایه شامل پاسخهای دیدگاه |
pagination | Pagination | اطلاعات صفحهبندی |
ایجاد دیدگاه جدید
POST https://api.fidegah.ir/v1/posts/:postId/comments
curl -X POST https://api.fidegah.ir/v1/posts/{postId}/comments \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "دیدگاه من"
}'پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
postId | string | شناسه پست مورد نظر (UUID) |
بدنه درخواست (Request Body):
| پارامتر | نوع | ضرورت | توضیح |
|---|---|---|---|
content | string | الزامی | متن دیدگاه (حداکثر ۲۰۰۰ کاراکتر) |
parentId | string | اختیاری | شناسه دیدگاه والد (UUID)، در صورت پاسخ به دیدگاه دیگر |
نویسندهی دیدگاه دیگر در بدنهی درخواست ارسال نمیشود؛ دیدگاه بر اساس کاربر متصل به API Key ثبت میشود. با ثبت هر دیدگاه، تعداد نظرات پست (و در صورت پاسخ بودن، تعداد پاسخهای دیدگاه والد) بهصورت خودکار افزایش مییابد.
خروجی درخواست: شیء Comment ایجادشده.
ویرایش دیدگاه
PATCH https://api.fidegah.ir/v1/posts/:postId/comments/:id
curl -X PATCH https://api.fidegah.ir/v1/posts/{postId}/comments/{id} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "متن ویرایش شده"
}'پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
postId | string | شناسه پست مربوطه (UUID) |
id | string | شناسه دیدگاه مورد نظر (UUID) |
بدنه درخواست (Request Body):
| پارامتر | نوع | ضرورت | توضیح |
|---|---|---|---|
content | string | الزامی | متن جدید دیدگاه (حداکثر ۲۰۰۰ کاراکتر) |
فقط کاربری که دیدگاه را ایجاد کرده میتواند آن را ویرایش کند؛ در غیر این صورت خطای عدم دسترسی برگردانده میشود. پین یا اسپم کردن دیدگاه از این مسیر قابل انجام نیست.
خروجی درخواست: شیء Comment پس از ویرایش.
حذف دیدگاه
DELETE https://api.fidegah.ir/v1/posts/:postId/comments/:id
curl -X DELETE https://api.fidegah.ir/v1/posts/{postId}/comments/{id} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
postId | string | شناسه پست مربوطه (UUID) |
id | string | شناسه دیدگاه مورد نظر (UUID) |
خروجی درخواست:
| فیلد | نوع | توضیح |
|---|---|---|
message | string | پیام نتیجه حذف |
لایک / برداشتن لایک از دیدگاه
POST https://api.fidegah.ir/v1/posts/:postId/comments/:id/like
curl -X POST https://api.fidegah.ir/v1/posts/{postId}/comments/{id}/like \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
postId | string | شناسه پست مربوطه (UUID) |
id | string | شناسه دیدگاه مورد نظر (UUID) |
این endpoint وضعیت لایک کاربر متصل به API Key روی دیدگاه را toggle میکند: اگر قبلاً لایک نکرده، لایک ثبت میشود و اگر قبلاً لایک کرده، لایک برداشته میشود.
خروجی درخواست: وضعیت جدید لایک روی دیدگاه.
پستها (Posts)
پستها (Posts) واحد اصلی ثبت بازخورد، پیشنهاد یا گزارش باگ در هر بخش هستند. هر پست میتواند دارای دستهبندی، وضعیت و تگهای مختلف باشد.
گزارش تغییرات (Changelog)
گزارش تغییرات (Changelog) فضایی برای انتشار تغییرات و بهروزرسانیهای محصول است. هر آیتم میتواند شامل محتوای JSON و چندین تگ باشد.
