واجهات API للتسجيل وgrids
نظرة عامة
تتطلب Breakroom APIs منح وصول محدد لحسابك. إذا كنت World Owner، فيجب أن يكون هذا الوصول مفعّلًا تلقائيًا في حساب المستخدم الخاص بك.
في هذا القسم من الوثائق، سترى الإشارة إلى عوالم Breakroom باسم grids. ونظرًا إلى أن Breakroom مبني على منصة العالم الافتراضي Sinespace، قد ترى أيضًا اسم Sinespace مستخدمًا بدلًا من Breakroom.
يمكنك إرسال المعلمات إما كـ POST form_data، أو كمعلمات Query في عنوان URL.
تتطلب كل APIs إرسال ثلاث معلمات POST إضافية:adminname, adminpwd,و gridid.يجب أن تكون هذه اسم المستخدم وكلمة المرور لحساب على الـ grid لديه صلاحيات مسؤول، إلى جانب الـ grid التي تنوي التفاعل معها. نوصي بإنشاء مستخدم جديد خصيصًا لهذا الدور.
واجهات API لإدارة المستخدمين
تسجيل مستخدم
POST https://sine.space/worldapi/externalapi/add_user
تتيح لك نقطة النهاية هذه تسجيل مستخدمين جدد تلقائيًا.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| gridid | integer | معرّف grid الفريد حيث سيتم تسجيل المستخدم. |
| password | string | كلمة المرور الأولية للمستخدم. |
| string | عنوان البريد الإلكتروني للمستخدم. لن نرسل أي رسائل إلى هذا العنوان إلا إذا طلب المستخدم ذلك (مثل إعادة تعيين كلمة المرور). | |
| username | string | اسم المستخدم المطلوب. إذا كان اسم مستخدم معين مستخدمًا بالفعل، فسيتم تعيين صيغة متكررة من الاسم المقدم للحساب (مثل "User Name01"). |
| playeroutfitid | integer | "Outfit ID" الذي يجب أن يرتديه المستخدم عند تسجيل الدخول لأول مرة. وبما أن هذا ينشئ نسخًا "مجانية" من عناصر قد تكون مدرجة كعناصر مدفوعة في Sine Wave Shop، يجب أن يكون منشئ العناصر Administrator في الـ grid المعنية. |
- 200 تم إنشاء حساب المستخدم.
- 400 إدخال سيئ أو غير صالح، أو ما شابه.
<?xml version="1.0" encoding="utf-8"?>
<AddUserResponse><UserID>2099396</UserID></AddUserResponse>
<?xml version="1.0" encoding="utf-8"?>
<Response><code>0</code><message>A user account with that name already exists.</message></Response>
حذف مستخدم
POST https://sine.space/worldapi/externalapi/delete_user
يحذف حساب مستخدم أو يعطله.
معلمات Path
| الاسم | النوع | الوصف |
|---|---|---|
| userid | integer | معرّف المستخدم المرتبط بحساب المستخدم. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>
تحديث مستخدم
POST https://sine.space/worldapi/externalapi/update_user
يغير معلومات حول حساب مستخدم.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| userid | integer | معرّف المستخدم المرتبط بحساب المستخدم. |
| string | يحدّث عنوان البريد الإلكتروني للمستخدم. | |
| password | string | يحدّث كلمة مرور المستخدم. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>
الحصول على مستخدم
POST https://sine.space/worldapi/externalapi/get_users
يعيد قائمة مجمعة بالمستخدمين المرتبطين بالـ grid.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| userids | string | قائمة مفصولة بفواصل من معرّفات المستخدمين الذين ترغب في إرجاع معلومات عنهم. |
| offset | integer | سيعيد الاستعلام حدًا أقصى قدره 100 سجل. إذا توفر المزيد، فاستخدم "offset" للإرجاع بعد هذه النقطة. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<GetUsersResponse><Users><UserID>2099560</UserID><UserName>username</UserName><Email>username@test1.com</Email><Gender>M</Gender></Users><Users><UserID>2099559</UserID><UserName>username2</UserName><Email>username2@test1.com</Email><Gender>F</Gender></Users></GetUsersResponse>
الحصول على مستخدم حسب البريد الإلكتروني
POST https://sine.space/worldapi/externalapi/get_user_by_email
يسترجع معلومات عن مستخدم فردي عبر عنوان بريده الإلكتروني.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| string | عنوان البريد الإلكتروني المرتبط بالحساب. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<GetUserResponse><UserID>2099560</UserID><UserName>username</UserName><Email>username@test1.com</Email><Gender>M</Gender></GetUserResponse>
تحديث Region تسجيل الدخول
POST https://sine.space/worldapi/externalapi/update_login_region
يحدّث المستخدم ويضبط مشهد تسجيل الدخول الخاص به على الـ ID المحدد.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| userid | integer | المستخدم المحدد الذي تريد تحديث مشهد تسجيل الدخول الخاص به. |
| regionid | integer | المشهد الذي تريد تعيينه كمشهد تسجيل دخول المستخدم. اضبطه على صفر للعودة إلى الإعداد الافتراضي للـ grid. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>
واجهات API لـ Region
إنشاء Region
POST https://sine.space/worldapi/externalapi/create_region
ينشئ Region جديدة على الـ grid.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| owner | integer | معرّف المستخدم الذي سيُعيَّن مالكًا للـ Region. |
| templateid | integer | معرّف item لقالب Region المطلوب استخدامه. |
| accesslevel | integer | إما "0" لعدم وجود وصول، أو "1" للوصول المفتوح للجميع، أو "2" للوصول للأصدقاء فقط، أو "3" للوصول المعتمد فقط. |
| regionname | string | اسم الـ Region التي ترغب في إنشائها. |
- 200 تم إنشاء Region بنجاح.
- 400 عُثر على خطأ في المدخلات.
<?xml version="1.0" encoding="utf-8"?>
<CreateRegionResponse><RegionID>152860</RegionID></CreateRegionResponse>
<?xml version="1.0" encoding="utf-8"?>
<Response><code>0</code><message>Room template not available, please try another.</message></Response>
تعيين دور Region
POST https://sine.space/worldapi/externalapi/set_region_role
يعيّن دور مستخدم أو يغيره داخل Region محددة.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| regionid | integer | ID الخاص بالـ Region. |
| userid | integer | ID الخاص بالمستخدم المعني. |
| role | string | إما "Normal" أو "Admin" أو "Blocked". |
- 200
- 400
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>
<?xml version="1.0" encoding="utf-8"?>
<Response><code>0</code><message>The data provided is incorrect: role = abc</message></Response>
الحصول على Regions
POST https://sine.space/worldapi/externalapi/get_regions
يطلب قائمة Regions على الـ grid.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| offset | integer | يزحزح النتائج إذا كان عددها أكبر من أن يعود في استعلام واحد. |
| owner | integer | إرجاع Regions المملوكة لحساب مالك محدد. |
| regionids | string | قائمة CSV من Region IDs لإرجاع معلومات عنها. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<GetRegionsResponse><Regions><RegionID>50000040</RegionID><RegionName>regionname</RegionName><Owner>2099564</Owner><TemplateID>11</TemplateID><AccessLevel>3</AccessLevel></Regions><Regions><RegionID>50000039</RegionID><RegionName>regionname2</RegionName><Owner>2099563</Owner><TemplateID>11</TemplateID><AccessLevel>1</AccessLevel></Regions><GetRegionsResponse>
تحديث Region
POST https://sine.space/worldapi/externalapi/update_region
يحدّث معلومات حول Region محددة.
معلمات Query
| الاسم | النوع | الوصف |
|---|---|---|
| regionid | integer | Region ID المطلوب تحديث معلوماتها. |
| regionname | string | إذا كان موجودًا، يغير اسم الـ Region. |
| templateid | integer | إذا كان موجودًا، يغير قالب الـ Region إلى template ID المحدد. |
| accesslevel | integer | إما "0" - لا وصول، أو "1" - وصول مجاني، أو "2" - وصول للأصدقاء فقط، أو "3" - وصول معتمد فقط. |
- 200
<?xml version="1.0" encoding="utf-8"?>
<Response><code>1</code><message></message></Response>