پستها (Posts)
پستها (Posts) واحد اصلی ثبت بازخورد، پیشنهاد یا گزارش باگ در هر بخش هستند. هر پست میتواند دارای دستهبندی، وضعیت و تگهای مختلف باشد.
نوعهای مشترک (Common Types)
| نام | توضیح |
|---|---|
Post | شیء اصلی پست |
فیلدهای Post:
| فیلد | نوع | توضیح |
|---|---|---|
id | number | شناسه یکتای پست |
created_at | string | تاریخ و زمان ایجاد (فرمت ISO 8601) |
updated_at | string | تاریخ و زمان آخرین ویرایش |
last_interaction_at | string | تاریخ و زمان آخرین تعامل |
workspace_id | number | شناسه فضای کاری مربوطه |
board_id | number | شناسه بخش مربوطه |
category_id | number | null | شناسه دستهبندی |
status_id | number | null | شناسه وضعیت |
title | string | عنوان پست |
description | string | null | توضیحات پست |
visibility | 'public' | 'private' | سطح دسترسی پست |
votes_count | number | تعداد رأیها |
comments_count | number | تعداد نظرات |
is_voted | boolean | آیا کاربر جاری رأی داده است؟ |
external_author | ExternalAuthor | اطلاعات نویسنده پست |
فیلدهای ExternalAuthor:
| فیلد | نوع | توضیح |
|---|---|---|
id | string | شناسه یکتای کاربر (UUID) |
created_at | string | تاریخ و زمان ایجاد (فرمت ISO 8601) |
email | string | ایمیل |
full_name | string | نام کامل |
avatar_url | string | null | آدرس آواتار |
مدیریت پستها (Posts)
دریافت لیست پستها
GET https://api.fidegah.ir/v1/posts
curl -X GET https://api.fidegah.ir/v1/posts \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"پارامترهای Query (Query Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
search | string | جستجو براساس عنوان |
boardId | string | فیلتربراساس شناسه بخش — با کاما جدا کنید |
tagId | string | فیلتربراساس شناسه تگ — با کاما جدا کنید |
statusId | string | فیلتربراساس شناسه وضعیت — با کاما جدا کنید |
status | 'old'| 'active' | فیلتربراساس وضعیت پست (قدیمی یا فعال) |
externalUserId | string | فیلتربراساس شناسه ایجادکننده — با کاما جدا کنید |
sortBy | string | فیلد مرتبسازی (پیشفرض created_at) |
sortOrder | 'asc' | 'desc' | جهت مرتبسازی (پیشفرض desc) |
خروجی درخواست:
| فیلد | نوع | توضیح |
|---|---|---|
success | boolean | وضعیت موفقیتآمیز بودن درخواست |
data | []Post | آرایه شامل لیست پستها |
pagination | Pagination | اطلاعات صفحهبندی (مشاهده جزئیات) |
دریافت پست با شناسه
GET https://api.fidegah.ir/v1/posts/:id
curl -X GET https://api.fidegah.ir/v1/posts/{id} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
id | number | شناسه پست مورد نظر |
خروجی درخواست:
| فیلد | نوع | توضیح |
|---|---|---|
success | boolean | وضعیت موفقیتآمیز بودن درخواست |
data | Post | شیء پست درخواستی |
ایجاد پست جدید
POST https://api.fidegah.ir/v1/posts
curl -X POST https://api.fidegah.ir/v1/posts \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "پیشنهاد من",
"board_id": 1,
"visibility": "public",
"user": {
"id": "uuid-here",
"email": "user@example.com",
"full_name": "نام کاربر"
}
}'بدنه درخواست (Request Body):
| پارامتر | نوع | ضرورت | توضیح |
|---|---|---|---|
title | string | الزامی | عنوان پست (حداکثر ۱۰۰ کاراکتر) |
board_id | number | الزامی | شناسه بخش مربوطه |
visibility | 'public' | 'private' | الزامی | سطح دسترسی پست (پیشفرض public) |
user | User | الزامی | اطلاعات نویسنده پست |
description | string | اختیاری | توضیحات پست (حداکثر ۱۰۰۰ کاراکتر) |
status_id | number | اختیاری | شناسه وضعیت |
category_id | number | اختیاری | شناسه دستهبندی |
فیلدهای User:
| فیلد | نوع | ضرورت | توضیح |
|---|---|---|---|
id | string | الزامی | شناسه یکتای نویسنده (UUID) |
email | string | الزامی | ایمیل نویسنده |
full_name | string | الزامی | نام کامل نویسنده |
avatar_url | string | اختیاری | آدرس آواتار نویسنده |
خروجی درخواست:
| فیلد | نوع | توضیح |
|---|---|---|
success | boolean | وضعیت موفقیتآمیز بودن درخواست |
data | Post | شیء پست ایجاد شده |
ویرایش پست
PATCH https://api.fidegah.ir/v1/posts/:id
curl -X PATCH https://api.fidegah.ir/v1/posts/{id} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "عنوان جدید"
}'پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
id | number | شناسه پست مورد نظر |
بدنه درخواست (Request Body - همگی اختیاری):
| پارامتر | نوع | توضیح |
|---|---|---|
title | string | عنوان جدید پست |
description | string | توضیحات جدید |
board_id | number | شناسه بخش جدید |
status_id | number | شناسه وضعیت جدید |
category_id | number | شناسه دستهبندی جدید |
visibility | 'public' | 'private' | سطح دسترسی جدید |
خروجی درخواست:
| فیلد | نوع | توضیح |
|---|---|---|
success | boolean | وضعیت موفقیتآمیز بودن درخواست |
data | Post | شیء پست پس از ویرایش |
حذف پست
DELETE https://api.fidegah.ir/v1/posts/:id
curl -X DELETE https://api.fidegah.ir/v1/posts/{id} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"پارامترهای مسیر (Path Parameters):
| پارامتر | نوع | توضیح |
|---|---|---|
id | number | شناسه پست مورد نظر |
خروجی درخواست:
| فیلد | نوع | توضیح |
|---|---|---|
success | boolean | وضعیت موفقیتآمیز بودن درخواست |
message | string | پیام نتیجه حذف |
تگها (Tags)
تگها (Tags) برچسبهایی برای دستهبندی دقیقتر و فیلتر کردن پستها درون هر بخش (Board) هستند. هر تگ به یک بخش خاص تعلق دارد و برخلاف دستهبندیها، هر پست میتواند چندین تگ داشته باشد.
دیدگاهها (Comments)
دیدگاهها (Comments) امکان تعامل کاربران با پستها را فراهم میکنند. هر دیدگاه میتواند شامل پاسخهای تودرتو باشد و توسط ادمین فضای کاری پین یا اسپم شود.
