crisphive
الحجوزاتاستطلاع طلبات العمل الجديدة والمتغيّرة (تغذية مزامنة)

استطلاع طلبات العمل الجديدة والمتغيّرة (تغذية مزامنة)

حافظ على نسختك من الحجوزات متزامنة دون إعادة جلب كل شيء: تُرجع طلبات العمل التي تغيّرت حالتها (إنشاء، انتقال حالة، إعادة جدولة، حذف منطقي/أرشفة) عند المؤشر `since` أو بعده، مرتّبة من الأقدم تغييرًا إلى الأحدث (updated_at ASC). طريقة الاستخدام: (1) في أول استطلاع أغفل `since` — يهيّئ الخادم المؤشر عند "الآن" ولا يُرجع أي عناصر ويُرجع `next_since`. (2) خزّن `next_since` ومرّره كقيمة `since` في الاستطلاع التالي. (3) طبّق كل عنصر مُرجَع على مخزنك عبر عملية UPSERT على `id` (يعيد الخادم فحص نافذة أمان تبلغ نحو 5 ثوانٍ، لذا قد يظهر العمل نفسه مرة أخرى — لا تُلحق العناصر أبدًا دون تحقق). (4) إذا كانت has_more تساوي true فقد امتلأت الصفحة حتى `limit` وهناك تغييرات إضافية بانتظارك — استطلع مجددًا فورًا؛ وإلا فانتظر فترتك المعتادة (مثلًا 5–15 ثانية). هذه ليست تقسيمًا إلى صفحات — إنها تغذية تغييرات مفهرسة زمنيًا. استخدم GET /job-requests المقسّم إلى صفحات للتحميل الأولي الكامل، ثم استخدم هذه النقطة للبقاء متزامنًا لحظيًا. تعمل عوامل التصفية (status_keys وcustomer_id و…) على حصر التغذية في الشريحة التي تهمّك.

المعاملات

status_keysstringqueryاختياري
معرّفات حالات مفصولة بفواصل — لإظهار التغييرات على الأعمال في هذه الحالات فقط
prioritystringqueryاختياري
تصفية حسب الأولوية (normal|emergency)
customer_idstringqueryاختياري
التغييرات على أعمال هذا العميل فقط (UUID)
technician_idstringqueryاختياري
التغييرات على الأعمال المسندة إلى هذا الفنّي فقط (UUID)
scheduled_fromstringqueryاختياري
التصفية من (YYYY-MM-DD أو RFC3339)؛ النطاق هو [from, to)
scheduled_tostringqueryاختياري
التصفية إلى (YYYY-MM-DD أو RFC3339)، غير شاملة
sincestringqueryاختياري
مؤشر RFC3339 مأخوذ من next_since في الاستجابة السابقة. أغفله في أول استطلاع لتهيئة المؤشر عند وقت الخادم الحالي.
limitintegerqueryاختياري
الحد الأقصى للتغييرات في كل استطلاع (الافتراضي 15، الحد الأقصى 1000). إذا امتلأت الصفحة، تكون has_more=true.
GET/v1/job-requests/changes
curl -X GET "https://api.crisphive.com/v1/job-requests/changes" \
  -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT"

الاستجابات