واجهة برمجة الفرق
إدارة الفرق والأعضاء والأدوار والدعوات لبناء النماذج التعاوني.
تتيح لك واجهة برمجة الفرق إنشاء وإدارة الفرق لبناء النماذج التعاوني. تسمح الفرق لعدة مستخدمين بمشاركة النماذج، مع التحكم في الوصول القائم على الأدوار الذي يحدد من يمكنه عرض النماذج والاستجابات وتعديلها وحذفها.
تستخدم جميع هياكل الطلبات والاستجابات أسماء حقول بتنسيق snake_case.
أدوار الفريق
ownerroleوصول كامل. يمكنه إدارة الأعضاء والفوترة وحذف الفريق.
adminroleيمكنه إنشاء النماذج وتعديلها وحذفها، وإدارة الأعضاء، وعرض الاستجابات.
editorroleيمكنه إنشاء النماذج وتعديلها وعرض الاستجابات. لا يمكنه إدارة الأعضاء.
viewerroleيمكنه عرض النماذج والاستجابات. لا يمكنه الإنشاء أو التعديل.
/api/v1/teamsPOST/api/v1/teamsGET/api/v1/teams/:teamIdPUT/api/v1/teams/:teamIdDELETE/api/v1/teams/:teamIdGET/api/v1/teams/:teamId/membersPOST/api/v1/teams/:teamId/membersPUT/api/v1/teams/:teamId/members/:memberIdDELETE/api/v1/teams/:teamId/members/:memberIdGET/api/v1/teams/:teamId/invitationsPOST/api/v1/teams/:teamId/invitationsDELETE/api/v1/teams/:teamId/invitations/:invIdالاستجابة
{
"teams": [
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-01-10T09:00:00.000Z",
"updated_at": "2026-02-15T11:30:00.000Z",
"member_count": 5,
"your_role": "admin"
},
{
"id": "665c3d4e5f6a7b8c9d0e1f20",
"name": "Product",
"slug": "product",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-02-01T14:00:00.000Z",
"updated_at": "2026-02-20T16:45:00.000Z",
"member_count": 3,
"your_role": "owner"
}
]
}
أمثلة الشيفرة البرمجية
curl -X GET "https://api.nueform.io/api/v1/teams" \
-H "Authorization: Bearer YOUR_API_KEY"
إنشاء فريق
/api/v1/teamsيُنشئ فريقاً جديداً. يصبح المستخدم المُصادَق عليه مالك الفريق.
جسم الطلب
namestringاسم الفريق
مثال الطلب
{
"name": "Marketing"
}
الاستجابة
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-02-28T12:00:00.000Z",
"updated_at": "2026-02-28T12:00:00.000Z"
}
أمثلة الشيفرة البرمجية
curl -X POST "https://api.nueform.io/api/v1/teams" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Marketing" }'
الحصول على فريق
/api/v1/teams/:teamIdيسترجع فريقاً واحداً بواسطة المعرّف.
معاملات المسار
teamIdstringمعرّف الفريق
الاستجابة
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-01-10T09:00:00.000Z",
"updated_at": "2026-02-15T11:30:00.000Z",
"member_count": 5
}
أمثلة الشيفرة البرمجية
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY"
تحديث فريق
/api/v1/teams/:teamIdيُحدّث خصائص الفريق. يتطلب دور owner أو admin.
معاملات المسار
teamIdstringمعرّف الفريق
جسم الطلب
namestringاسم الفريق الجديد
مثال الطلب
{
"name": "Marketing & Growth"
}
الاستجابة
يُرجع كائن الفريق المُحدَّث.
أمثلة الشيفرة البرمجية
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Marketing & Growth" }'
حذف فريق
/api/v1/teams/:teamIdيحذف فريقاً بشكل نهائي. يمكن لمالك الفريق فقط حذف الفريق.
يؤدي حذف الفريق إلى إزالة جميع عضويات الفريق والدعوات. لا يتم حذف النماذج التابعة للفريق تلقائياً ولكنها ستصبح غير قابلة للوصول لأعضاء الفريق السابقين.
معاملات المسار
teamIdstringمعرّف الفريق
الاستجابة
{
"success": true
}
أمثلة الشيفرة البرمجية
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY"
عرض الأعضاء
/api/v1/teams/:teamId/membersيُرجع جميع أعضاء الفريق.
معاملات المسار
teamIdstringمعرّف الفريق
الاستجابة
{
"members": [
{
"id": "66d1e2f3a4b5c6d7e8f9a0b1",
"user_id": "665a0a1b2c3d4e5f6a7b8c9d",
"email": "alice@example.com",
"first_name": "Alice",
"last_name": "Johnson",
"role": "owner",
"joined_at": "2026-01-10T09:00:00.000Z"
},
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"email": "bob@example.com",
"first_name": "Bob",
"last_name": "Smith",
"role": "editor",
"joined_at": "2026-01-15T14:30:00.000Z"
}
]
}
أمثلة الشيفرة البرمجية
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
-H "Authorization: Bearer YOUR_API_KEY"
إضافة عضو
/api/v1/teams/:teamId/membersيُضيف مستخدماً مباشرة إلى فريق بواسطة معرّف المستخدم. يتطلب دور owner أو admin. لدعوة مستخدم عبر البريد الإلكتروني، استخدم إنشاء دعوة بدلاً من ذلك.
معاملات المسار
teamIdstringمعرّف الفريق
جسم الطلب
user_idstringمعرّف المستخدم المراد إضافته
rolestringالدور المراد تعيينه: "admin"، "editor"، "viewer" (الافتراضي: "viewer")
مثال الطلب
{
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"role": "editor"
}
الاستجابة
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"team_id": "665b2c3d4e5f6a7b8c9d0e1f",
"role": "editor",
"joined_at": "2026-02-28T12:00:00.000Z"
}
أمثلة الشيفرة البرمجية
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"role": "editor"
}'
تحديث دور العضو
/api/v1/teams/:teamId/members/:memberIdيُحدّث دور عضو في الفريق. يتطلب دور owner أو admin. لا يمكنك تغيير دور المالك.
معاملات المسار
teamIdstringمعرّف الفريق
memberIdstringمعرّف عضو الفريق
جسم الطلب
rolestringالدور الجديد: "admin"، "editor"، "viewer"
مثال الطلب
{
"role": "admin"
}
الاستجابة
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"team_id": "665b2c3d4e5f6a7b8c9d0e1f",
"role": "admin",
"joined_at": "2026-01-15T14:30:00.000Z"
}
أمثلة الشيفرة البرمجية
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "role": "admin" }'
إزالة عضو
/api/v1/teams/:teamId/members/:memberIdيُزيل عضواً من الفريق. يتطلب دور owner أو admin. لا يمكن إزالة مالك الفريق.
معاملات المسار
teamIdstringمعرّف الفريق
memberIdstringمعرّف عضو الفريق
الاستجابة
{
"success": true
}
أمثلة الشيفرة البرمجية
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
-H "Authorization: Bearer YOUR_API_KEY"
عرض الدعوات
/api/v1/teams/:teamId/invitationsيُرجع جميع الدعوات المعلقة لفريق. يتطلب دور owner أو admin.
معاملات المسار
teamIdstringمعرّف الفريق
الاستجابة
{
"invitations": [
{
"id": "66e1f2a3b4c5d6e7f8a9b0c1",
"email": "carol@example.com",
"role": "editor",
"invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
"status": "pending",
"expires_at": "2026-03-07T12:00:00.000Z",
"created_at": "2026-02-28T12:00:00.000Z"
}
]
}
أمثلة الشيفرة البرمجية
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
-H "Authorization: Bearer YOUR_API_KEY"
إنشاء دعوة
/api/v1/teams/:teamId/invitationsيُرسل دعوة عبر البريد الإلكتروني للانضمام إلى فريق. تتضمن الدعوة رمزاً فريداً وتنتهي صلاحيتها بعد 7 أيام. يتطلب دور owner أو admin.
معاملات المسار
teamIdstringمعرّف الفريق
جسم الطلب
emailstringعنوان البريد الإلكتروني للدعوة
rolestringالدور المراد تعيينه عند القبول: "admin"، "editor"، "viewer" (الافتراضي: "editor")
مثال الطلب
{
"email": "carol@example.com",
"role": "editor"
}
الاستجابة
{
"id": "66e1f2a3b4c5d6e7f8a9b0c1",
"email": "carol@example.com",
"role": "editor",
"invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
"status": "pending",
"expires_at": "2026-03-07T12:00:00.000Z",
"created_at": "2026-02-28T12:00:00.000Z"
}
أمثلة الشيفرة البرمجية
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "carol@example.com",
"role": "editor"
}'
إلغاء دعوة
/api/v1/teams/:teamId/invitations/:invIdيُلغي دعوة معلقة. يتطلب دور owner أو admin. لن يكون رمز الدعوة صالحاً بعد الإلغاء.
معاملات المسار
teamIdstringمعرّف الفريق
invIdstringمعرّف الدعوة
الاستجابة
{
"success": true
}
أمثلة الشيفرة البرمجية
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations/66e1f2a3b4c5d6e7f8a9b0c1" \
-H "Authorization: Bearer YOUR_API_KEY"
استجابات الأخطاء
استجابات الأخطاء القياسية التي تُرجعها نقاط نهاية واجهة برمجة الفرق.
رموز الأخطاء
400Bad Requestحقول مطلوبة مفقودة، دور غير صالح
401Unauthorizedمفتاح API مفقود أو غير صالح
403Forbiddenدور غير كافٍ للإجراء المطلوب
404Not Foundالفريق أو العضو أو الدعوة غير موجود
409Conflictالمستخدم عضو بالفعل، دعوة مكررة
500Server Errorخطأ داخلي في الخادم
مثال خطأ
{
"error": "Not authorized to manage team members"
}