تخطَّ إلى المستندات
API

دعوة عضو

بالبريد الإلكتروني، مع دور، واختياريًا مع عناوين ونطاقات كاملة تصل إليهم لحظة القبول.

POSTapi.openemail.uk/members

ينفّذ الاستدعاء الحقيقي على مساحة عملك، بمفتاحك أنت.

POST /members

بالبريد الإلكتروني، مع دور، واختياريًا مع عناوين ونطاقات كاملة تصل إليهم لحظة القبول.

مثال

يتطلب members:write. يُعيد 202 مع الدعوة. لا أحد داخل مساحة العمل حتى يقبل الدعوة. تكون قيمة access الافتراضية member وتنطبق على كل معرّف في addressIds وdomainIds.

curl
curl -X POST "$OE/members" -H "$AUTH" -H "Content-Type: application/json" \  -d '{    "email": "[email protected]",    "roleId": "role_2b81de079c1f0a4b7e05d386",    "domainIds": ["93542ff8-2baa-4f2f-841d-5ceaa074ab0d"],    "access": "member"  }'
الاستجابة
{  "object": "invitation",  "id": "winv_6bb640f5b99e47deb758f1f5",  "email": "[email protected]",  "role": {    "id": "role_2b81de079c1f0a4b7e05d386",    "name": "Support",    "builtin": null  },  "addresses": [],  "domains": [    {      "domainId": "93542ff8-2baa-4f2f-841d-5ceaa074ab0d",      "domain": "acme.com",      "access": "member"    }  ],  "expiresAt": "2026-10-02T14:07:31.000Z",  "delivered": true,  "deliveryError": null,  "createdAt": "2026-09-18T14:07:31.000Z"}

الجميع يُدعَون. سواء كان للعنوان حساب OpenEmail أم لا، فالجواب دعوة و202، وليس عضوًا أبدًا. لا يُوضَع أحد في مساحة عمل دون أن يقبل، ونقطة النهاية هذه ملزَمة بالقاعدة نفسها التي يلتزم بها التطبيق. من هو داخل مساحة العمل أصلًا يُرفَض بالرمز member_is_owner، وهو 422: غيّر ما يُسمح له به عبر PATCH /members/{userId} وعبر نداءات المنح بدلًا من ذلك.

تحمل الدعوة الدور والعناوين والنطاقات الكاملة التي تسمّيها، وتمنحها بالضبط لحظة قبولها. لا شيء يُمنَح قبل ذلك. والنطاق الكامل يغطي كل عنوان عليه، بما في ذلك العناوين التي تُنشأ بعد إرسال الدعوة.

POST بدلًا من PUT على معرّف مستخدم، لأن المُنادي لا يعرف معرّف المستخدم وقد يدعو شخصًا لا حساب له بعد. ما يعرفه هو عنوان بريد إلكتروني.

الطلب مرتين خلال عشر دقائق هو invitation_too_soon، وهو 409. بعد ذلك يُحدِّث الدعوة المعلّقة الوحيدة، ويصك رابطًا جديدًا ويُحيل القديم إلى التقاعد، بدلًا من إرسال دعوة ثانية.

delivered: false تعني أن الدعوة موجودة لكن الرسالة لم تغادر خادم البريد. وdeliveryError يقول ما قاله الخادم. لم يصلهم شيء، فأعد الإرسال من التطبيق بعد انقضاء مدة التهدئة.

تُترك invitedBy فارغة (null) عن قصد بدلًا من نسبتها إلى مالك مساحة العمل. فالعمود يسجّل أي شخص وجّه الدعوة، ومفتاح API ليس شخصًا.

مالك مساحة العمل يُرفَض بالرمز member_is_owner، وهو 422. فهو ليس عضوًا ولا يمكن جعله عضوًا.