API و توسعهدهندگان
ویرایش اطلاعات سرور
با کلید سرور و دسترسی profile:write میتوانید فیلدهای متنی صفحه سرور را از سیستم خودتان بهروز کنید؛ مثلاً توضیح کوتاه را با رویداد هفته عوض کنید.
متن
PATCH /servers/{server}/profileپیشنیازها#
- کلید باید برای همین سرور ساخته شده باشد (کلید حساب خطای
KEY_NOT_SERVER_BOUNDمیگیرد). - سازنده کلید باید در تیم مجوز «ویرایش اطلاعات سرور» (
EDIT_PROFILE) داشته باشد. - درخواست از مرورگر پذیرفته نمیشود؛ از سرور خودتان بفرستید.
فیلدهای قابل ویرایش#
همه فیلدها اختیاریاند و فقط فیلدهای فرستادهشده تغییر میکنند. برای فیلدهای nullable، مقدار null آن را پاک میکند.
| فیلد | قواعد |
|---|---|
name | ۲ تا ۶۰ کاراکتر |
shortDescription | تا ۱۶۰ کاراکتر یا null |
description | توضیحات کامل به Markdown، تا ۲۰۰۰۰ کاراکتر یا null؛ HTML حذف میشود |
displayAddress | آدرس نمایشی به جای host:port، تا ۱۲۰ کاراکتر یا null |
color | رنگ اصلی به شکل #RRGGBB یا null |
socials | شیء با کلیدهای website، discord، telegram، instagram، youtube، aparat، rubika (هرکدام تا ۲۰۰ کاراکتر)؛ کل شیء جایگزین میشود و کلیدهای خالی حذف میشوند |
tags | حداکثر ۸ برچسب، هرکدام تا ۲۴ کاراکتر؛ کل فهرست جایگزین میشود و تکراریها یکی میشوند |
seoTitle | تا ۷۰ کاراکتر یا null |
seoDescription | تا ۱۷۰ کاراکتر یا null |
این موارد فقط از پنل تغییر میکنند: لوگو، بنر و پسزمینه (نیاز به بارگذاری فایل دارند)، گالری و ویدیوها، نحوه بررسی نظرات، آدرس و پورت اتصال، تیم و نقشها، و تنظیمات مالکیت.
نمونه#
Shell
curl -X PATCH "https://gameroute.ir/api/v1/servers/iran-craft/profile" \
-H "Authorization: Bearer $GAMEROUTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"shortDescription":"سروایول، اسکایبلاک و رویداد هفتگی","tags":["survival","skyblock","event"]}'JSON
{ "changed": ["shortDescription", "tags"] }changed فهرست فیلدهایی است که مقدارشان واقعاً عوض شد. اگر همان مقدار قبلی را بفرستید، فهرست خالی برمیگردد و چیزی ثبت نمیشود.
Python
import os
import requests
res = requests.patch(
"https://gameroute.ir/api/v1/servers/iran-craft/profile",
headers={"Authorization": f"Bearer {os.environ['GAMEROUTE_API_KEY']}"},
json={"socials": {"discord": "https://discord.gg/irancraft", "telegram": "https://t.me/irancraft"}},
timeout=10,
)
res.raise_for_status()
print(res.json()["changed"])همه تغییرها با مقدار قبلی و جدید در گزارش فعالیت سرور، به نام سازنده کلید ثبت میشوند. اطلاعات سرور باید طبق قوانین درست و غیرگمراهکننده باشد.