عرض مستلمي بث
كل من ذهب إليه البث، صف لكل نسخة، مرتبًا حسب العنوان: معرّف النسخة وحالتها، ومتى أُرسلت وسُلّمت، وهل ارتدّت أو أُبلغ عنها كرسالة مزعجة، وكم مرة فُتحت ونُقر عليها، وهل ألغى الشخص اشتراكه بعد خروجها.
ينفّذ الاستدعاء الحقيقي على مساحة عملك، بمفتاحك أنت.
GET /broadcasts/{id}/recipients
كل من ذهب إليه البث، صف لكل نسخة، مرتبًا حسب العنوان: معرّف النسخة وحالتها، ومتى أُرسلت وسُلّمت، وهل ارتدّت أو أُبلغ عنها كرسالة مزعجة، وكم مرة فُتحت ونُقر عليها، وهل ألغى الشخص اشتراكه بعد خروجها.
المعاملات
idstringمطلوب- في المسار. معرّف `brd_` من `POST /broadcasts` أو `GET /broadcasts`.
filterstring- يحتفظ بمجموعة واحدة: `pending` (ما زالت في الطابور أو قيد الإرسال)، أو `sent`، أو `delivered`، أو `opened`، أو `not_opened` (أُرسلت ولم تُفتح قط)، أو `clicked`، أو `bounced`، أو `complained`، أو `failed` (فشلت أو أُلغيت)، أو `unsubscribed`.
qstring- يبحث في العنوان والاسم دون تمييز لحالة الأحرف. حتى 200 حرف.
limitinteger- عدد الصفوف في كل صفحة، من 1 إلى 200. القيمة الافتراضية 50.
cursorstring- قيمة `nextCursor` من الصفحة السابقة، تُعاد كما وصلت، مع `filter` و`q` نفسيهما. وهي تحفظ موضع آخر صف، فالصف الذي يتغير بين الصفحات لا يقطع التصفح أبدًا.
مثال
يحتاج إلى emails:read. والرد صفحة من صفوف broadcast_recipient.
curl "$OE/broadcasts/brd_5a8c1e3f7b2d94a06c8e1f3b/recipients?filter=opened&limit=50" -H "$AUTH"{ "object": "list", "data": [ { "object": "broadcast_recipient", "emailId": "msg_01dad25067bc4dac966d515d", "contactId": "6f1c2a8e-3b4d-4e9f-a1c7-2d5e8b0f9a34", "email": "[email protected]", "name": "Ada Lovelace", "status": "sent", "sentAt": "2026-09-23T12:00:09.000Z", "deliveredAt": "2026-09-23T12:00:11.000Z", "bouncedAt": null, "complainedAt": null, "failure": null, "opens": 3, "firstOpenAt": "2026-09-23T12:14:30.000Z", "clicks": 1, "firstClickAt": "2026-09-23T12:15:02.000Z", "unsubscribedAt": null } ], "hasMore": true, "nextCursor": "WyJhZGFAZXhhbXBsZS5jb20iLCJtc2dfMDFkYWQyNTA2N2JjNGRhYzk2NmQ1MTVkIl0"}تستبعد الفتحات والنقرات وكلاء الصور وماسحات الروابط، وتبقى 0 حين يُرسل البث والتتبع معطّل.
status هي حالة النسخة في سجل الإرسال: queued أو scheduled أو sending أو sent أو failed أو cancelled. وdeliveredAt وbouncedAt وcomplainedAt هي أول email.delivered وemail.bounced وemail.complained لها، وتوضح failure سبب فشل النسخة.
unsubscribedAt هو وقت إلغاء الشخص اشتراكه من أحد جماهير البث بعد خروجه، عبر رابطه أو بطريقة أخرى. وتكون contactId قيمتها null حين تكون جهة الاتصال قد حُذفت منذ ذلك الحين.
emailId هو معرّف msg_ للنسخة. يقرؤها GET /broadcasts/{id}/recipients/{emailId} مع محتواها، ويقرؤها GET /emails/{id} كرسالة مرسلة.
حالات الرفض
| الحالة | الرمز | متى |
|---|---|---|
| 400 | invalid_cursor | في قائمة المستلمين، cursor لم تصدره تلك القائمة. |
| 403 | insufficient_scope | المفتاح لا يملك emails:read. |
| 404 | broadcast_not_found | المعرّف لا يسمّي أي بث في مساحة العمل هذه، أو أن المفتاح مقصور على عناوين أو نطاقات بعينها والبث أُرسل من واحد لا يملكه. |
| 404 | recipient_not_found | في GET /broadcasts/{id}/recipients/{emailId}، قيمة emailId ليست نسخة من هذا البث. |