فیدگاه
مرجع وب سرویس

دیدگاه‌ها (Comments)

دیدگاه‌ها (Comments) امکان تعامل کاربران با پست‌ها را فراهم می‌کنند. هر دیدگاه می‌تواند شامل پاسخ‌های تودرتو باشد و توسط ادمین فضای کاری پین یا اسپم شود.

نوع‌های مشترک (Common Types)

نامتوضیح
Commentشیء اصلی دیدگاه

فیلدهای Comment:

فیلدنوعتوضیح
idstringشناسه یکتای دیدگاه (UUID)
createdAtstringتاریخ و زمان ایجاد (فرمت ISO 8601)
updatedAtstringتاریخ و زمان آخرین ویرایش
postIdstringشناسه پست مربوطه (UUID)
workspaceIdstringشناسه فضای کاری مربوطه (UUID)
parentIdstring | nullشناسه دیدگاه والد (برای پاسخ‌ها)
userIdstringشناسه کاربر ایجادکننده (UUID)
contentstringمتن دیدگاه
isSpambooleanوضعیت اسپم بودن دیدگاه
isPinnedbooleanوضعیت پین بودن دیدگاه
likesCountnumberتعداد لایک‌ها
repliesCountnumberتعداد پاسخ‌ها
isLikedbooleanآیا کاربر جاری لایک کرده است؟
creatorCreator | nullاطلاعات کاربر ایجادکننده

فیلدهای Creator:

فیلدنوعتوضیح
idstringشناسه یکتای کاربر (UUID)
fullNamestringنام کامل
avatarUrlstring | 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):

پارامترنوعتوضیح
postIdstringشناسه پست مورد نظر (UUID)

فقط دیدگاه‌های سطح اول (بدون پاسخ‌ها) برگردانده می‌شوند و بر اساس پین‌شده بودن و سپس قدیمی‌ترین تاریخ ایجاد مرتب هستند. صفحه‌بندی نتایج طبق ساختار عمومی صفحه‌بندی API پشتیبانی می‌شود (مشاهده جزئیات).

خروجی درخواست:

فیلدنوعتوضیح
data[]Commentآرایه شامل لیست دیدگاه‌های سطح اول
paginationPaginationاطلاعات صفحه‌بندی

دریافت پاسخ‌های یک دیدگاه

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):

پارامترنوعتوضیح
postIdstringشناسه پست مربوطه (UUID)
idstringشناسه دیدگاه والد (UUID)

صفحه‌بندی نتایج طبق ساختار عمومی صفحه‌بندی API پشتیبانی می‌شود.

خروجی درخواست:

فیلدنوعتوضیح
data[]Commentآرایه شامل پاسخ‌های دیدگاه
paginationPaginationاطلاعات صفحه‌بندی

ایجاد دیدگاه جدید

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):

پارامترنوعتوضیح
postIdstringشناسه پست مورد نظر (UUID)

بدنه درخواست (Request Body):

پارامترنوعضرورتتوضیح
contentstringالزامیمتن دیدگاه (حداکثر ۲۰۰۰ کاراکتر)
parentIdstringاختیاریشناسه دیدگاه والد (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):

پارامترنوعتوضیح
postIdstringشناسه پست مربوطه (UUID)
idstringشناسه دیدگاه مورد نظر (UUID)

بدنه درخواست (Request Body):

پارامترنوعضرورتتوضیح
contentstringالزامیمتن جدید دیدگاه (حداکثر ۲۰۰۰ کاراکتر)

فقط کاربری که دیدگاه را ایجاد کرده می‌تواند آن را ویرایش کند؛ در غیر این صورت خطای عدم دسترسی برگردانده می‌شود. پین یا اسپم کردن دیدگاه از این مسیر قابل انجام نیست.

خروجی درخواست: شیء 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):

پارامترنوعتوضیح
postIdstringشناسه پست مربوطه (UUID)
idstringشناسه دیدگاه مورد نظر (UUID)

خروجی درخواست:

فیلدنوعتوضیح
messagestringپیام نتیجه حذف

لایک / برداشتن لایک از دیدگاه

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):

پارامترنوعتوضیح
postIdstringشناسه پست مربوطه (UUID)
idstringشناسه دیدگاه مورد نظر (UUID)

این endpoint وضعیت لایک کاربر متصل به API Key روی دیدگاه را toggle می‌کند: اگر قبلاً لایک نکرده، لایک ثبت می‌شود و اگر قبلاً لایک کرده، لایک برداشته می‌شود.

خروجی درخواست: وضعیت جدید لایک روی دیدگاه.


On this page