Page DeltasPage Deltas

مرجع API

واجهة برمجة تطبيقات (REST API) صغيرة ومستقرة لإدارة المراقبين والقنوات وجلب التغييرات. نفس المساحة السطحية للوحة التحكم.

الرابط الأساسي (Base URL)

الإنتاج: https://api.pagedeltas.com. جميع نقاط النهاية (Endpoints) تبدأ بـ /api. الاستجابات الناجحة تكون بتنسيق JSON.

المصادقة

قم بإنشاء مفتاح من الإعدادات ← مفاتيح API (يتطلب دور محرر أو مسؤول). يُعرض المفتاح مرة واحدة عند إنشائه — انسخه على الفور. لإبطال مفتاح، احذفه من نفس الصفحة.

Authorization: Bearer pdt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

تقتصر المفاتيح على المؤسسة التي أنشأتها وتعمل بصلاحيات مستوى المسؤول داخل تلك المؤسسة، بشكل مستقل عن أي مستخدم. لا ترتبط بعضو، لذلك إزالة زميل فريق لا تبطل مفاتيح المؤسسة — احذف المفتاح نفسه لقطع الوصول.

الأخطاء

ترجع الأخطاء حالة غير 2xx. تعود أخطاء المصادقة والصلاحيات كرسالة نصية عادية قصيرة (مثل unauthorized، forbidden)؛ بينما ترجع أخطاء الحصة وحد المعدل جسم JSON صغيراً مع رسالة والأرقام ذات الصلة. لا تحلل حزمة خطأ ثابتة — تفرع بناءً على رمز حالة HTTP:

  • 400 — طلب غير صالح (JSON سيء، رابط غير صالح، حقل مفقود).
  • 401 — بيانات اعتماد مفقودة أو غير صالحة.
  • 403 — مصادق عليه ولكن دورك يفتقر إلى صلاحية هذا الإجراء.
  • 404 — المورد مفقود أو ليس في مؤسستك.
  • 409 — تعارض (مثل إيقاف المراقب مؤقتاً بسبب الكتل المتكررة).
  • 422 — سيتم تجاوز الحصة (مثل حد المراقبين في خطتك). يتضمن جسم JSON current و limit.
  • 429 — تجاوز حد المعدل (للفحوصات اليدوية). تراجع وأعد المحاولة بعد التأخير في Retry-After.

مثال على خطأ الحصة (422):

{
  "error": "plan_url_limit exceeded",
  "current": 100,
  "limit": 100,
  "message": "Creating this monitor would exceed your plan's monitor limit (100)."
}

مرجع نقاط النهاية

الطريقة والمسارالوصف
GET /api/monitorsسرد المراقبين في مؤسستك.
POST /api/monitorsإنشاء مراقب واحد.
GET /api/monitors/{id}الحصول على مراقب واحد.
PATCH /api/monitors/{id}تحديث url، nl_description، filter_prompt، css_selector، xpath_selector، status.
DELETE /api/monitors/{id}حذف مراقب وتاريخه.
POST /api/monitors/{id}/check-nowإدراج فحص فوري في قائمة الانتظار، متجاوزاً الجدول الزمني (مقيد بالمعدل، انظر أدناه).
GET /api/monitors/{id}/changesسرد التغييرات المكتشفة لمراقب (يدعم ?limit=، بحد أقصى 100).
POST /api/monitors/importالاستيراد الجماعي عبر رفع CSV متعدد الأجزاء (حقل file).
POST /api/monitors/bulk-pause, bulk-resume, bulk-deleteتطبيق إجراء على قائمة معرفات المراقبين.
GET|PUT /api/monitors/{id}/alert-channelsقراءة أو استبدال تجاوزات قناة المراقب.
GET /api/alert-channelsسرد قنوات الإشعارات.
POST /api/alert-channelsإنشاء قناة.
PATCH|DELETE /api/alert-channels/{id}تحديث أو حذف قناة.
POST /api/alert-channels/{id}/testإرسال حمولة اختبار للتحقق من التسليم.
GET|POST /api/sitemap-monitorsسرد أو إنشاء مراقبي خريطة الموقع.
POST /api/sitemap-monitors/importإنشاء مراقبي خريطة الموقع جماعياً عبر رفع CSV متعدد الأجزاء (حقل file).
GET|POST|DELETE /api/tokensسرد وإنشاء وحذف مفاتيح API.
GET /api/billing/planالخطة والحدود الحالية لمؤسستك.
GET /api/plansعام — سرد الخطط المتاحة (لا يتطلب مصادقة).

مثال — إنشاء مراقب

curl -X POST https://api.pagedeltas.com/api/monitors \
  -H "Authorization: Bearer $PAGEDELTAS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/pricing",
    "nl_description": "Competitor pricing; alert on plan or price changes",
    "filter_prompt": "Alert on plan or price changes; ignore copy tweaks",
    "channel_ids": []
  }'

الحقول الاختيارية: filter_prompt، css_selector، xpath_selector، is_pdf، و channel_ids (تجاوزات القناة لكل مراقب؛ تجاوز لاستخدام الإعدادات الافتراضية للمؤسسة). لا يوجد frequency — الجدولة تكيفية.

مثال — جلب التغييرات

GET /api/monitors/01HW2X.../changes?limit=50
Authorization: Bearer $PAGEDELTAS_TOKEN

يرجع التغييرات الأحدث أولاً (الافتراضي 50، بحد أقصى 100). لا يوجد مؤشر (cursor) — قم بترحيل الصفحات عن طريق ضبط limit وتتبع أحدث detected_at رأيته بالفعل.

{
  "changes": [
    {
      "id": "01HW3...",
      "detected_at": "2026-06-01T08:42:00Z",
      "summary": "Pro plan increased from $29 to $39/month."
    }
  ]
}

حدود المعدل

لا توجد حالياً حدود معدل لكل مفتاح على نقاط نهاية القراءة والكتابة. الاستثناء الوحيد هو الفحوصات اليدوية:

  • تحقق الآن: طلب 1 / دقيقة / مراقب.

عندما تصل إلى هذا الحد، تكون الاستجابة 429 مع رأس Retry-After بالثواني. يرجى الاستمرار في تقييم نفسك بحكمة على نقاط النهاية الأخرى.

إصدارات API

نهدف إلى إبقاء هذه المساحة السطحية مستقرة. قد يتم إضافة حقول ونقاط نهاية جديدة دون إشعار، لذا اكتب عملاء يتجاهلون حقول JSON غير المعروفة.

مرجع API · الوثائق · Page Deltas