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

اشتراكات التقويم

تقويمات أخرى تشترك فيها عبر رابط، وتظهر أحداثها في تقويمك للقراءة فقط.

POST/calendar/subscriptions

ينفّذ أيًّا من الاستدعاءات الـ5 على مساحة عملك.

POST /calendar/subscriptions

تقويمات أخرى تشترك فيها عبر رابط، وتظهر أحداثها في تقويمك للقراءة فقط.

الاشتراك

يتطلب calendar:write. وurl رابط https أو http أو webcal إلى ملف iCalendar، وتكون قيمة name افتراضيًا الاسمَ الذي يطلقه التقويم على نفسه.

curl
curl -X POST "$OE/calendar/subscriptions" -H "$AUTH" -H 'content-type: application/json' -d '{ "url": "webcal://example.com/holidays.ics", "color": "green" }'
الاستجابة
{  "object": "calendar_subscription",  "id": "csb_8d3f0a2b9c4e41f7a6b5c2d1",  "name": "Public holidays",  "url": "https://example.com/holidays.ics",  "color": "green",  "status": "active",  "lastError": null,  "eventCount": 24,  "lastSyncedAt": "2026-10-10T12:00:03.000Z",  "lastFetchedAt": "2026-10-10T12:00:03.000Z",  "createdAt": "2026-10-10T12:00:01.000Z"}

يُقرأ التقويم فورًا ثم كل 30 دقيقة تقريبًا. ويسرد GET /calendar/subscriptions الاشتراكات، ويعيد PATCH /calendar/subscriptions/{id} تسمية أحدها أو يغيّر قيمة color الخاصة به، ويعيد POST /calendar/subscriptions/{id}/refresh قراءة أحدها الآن، ويزيل DELETE /calendar/subscriptions/{id} الاشتراك مع أحداثه.

الرابط الذي لا يُجيب بتقويم يعطي 422 calendar_subscription_unreadable، والرابط الذي تشترك فيه بالفعل يعطي 409 calendar_subscription_exists، والتحديث خلال دقيقة من آخر قراءة يعطي 429 calendar_subscription_refresh_too_soon. وتصير قيمة status هي failing ما دامت القراءات تفشل، وstopped بعد عشرة إخفاقات متتالية، مع ذكر السبب في lastError.

تحمل الأحداث الآتية من اشتراك قيمة subscriptionId الخاصة به، ولا يمكن تغييرها، وهو ما يعطي 403 event_read_only. والمفتاح المقيّد ببعض العناوين أو النطاقات يعطي 422 capability_unsupported.

المرجع