> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pubrio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# مثال: تتبّع إعلانات الوظائف

> شروحات كاملة لمراقبة إعلانات الوظائف باستخدام نمطي الكشف company_first وsignal_first — مع أكواد جاهزة للنسخ.

يستعرض هذا الدليل سيناريوهين من واقع الاستخدام الفعلي. كل كتلة كود جاهزة للنسخ واللصق والتشغيل — فقط استبدل `YOUR_API_KEY` بمفتاحك الفعلي.

<Tabs>
  <Tab title="الشركة أولًا: تتبّع OpenAI">
    ## السيناريو: مراقبة نشر OpenAI لوظائف جديدة

    تريد أن تعرف فورًا عندما تنشر OpenAI فرص عمل — والحصول تلقائيًا على بيانات التواصل مع قيادات الهندسة لديها.

    ### إنشاء Monitor

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://api.pubrio.com/monitors/create \
        -H "Content-Type: application/json" \
        -H "pubrio-api-key: YOUR_API_KEY" \
        -d '{
          "name": "OpenAI Job Tracker",
          "detection_mode": "company_first",
          "signal_types": ["jobs"],
          "signal_filters": [
            {
              "signal_type": "jobs",
              "filters": {
                "locations": ["US"]
              }
            }
          ],
          "companies": [
            "67c4696b-b7b0-46b5-b2af-9f434543661e"
          ],
          "is_company_enrichment": true,
          "is_people_enrichment": true,
          "people_enrichment_configs": [
            {
              "max_people_to_return": 5,
              "people_contact_types": ["email-work"],
              "filters": {
                "management_levels": ["director", "vp"],
                "departments": ["master_engineering"]
              }
            }
          ],
          "destination_type": "webhook",
          "destination_config": {
            "webhook_url": "https://usewebhook.com/YOUR_WEBHOOK_ID",
            "headers": {
              "Authorization": "Bearer your-secret-token"
            }
          },
          "max_records_per_trigger": 5,
          "profile_id": 1
        }'
      ```

      ```python Python theme={null}
      import requests

      response = requests.post(
          "https://api.pubrio.com/monitors/create",
          headers={
              "Content-Type": "application/json",
              "pubrio-api-key": "YOUR_API_KEY"
          },
          json={
              "name": "OpenAI Job Tracker",
              "detection_mode": "company_first",
              "signal_types": ["jobs"],
              "signal_filters": [
                  {
                      "signal_type": "jobs",
                      "filters": {
                          "locations": ["US"]
                      }
                  }
              ],
              "companies": [
                  "67c4696b-b7b0-46b5-b2af-9f434543661e"
              ],
              "is_company_enrichment": True,
              "is_people_enrichment": True,
              "people_enrichment_configs": [
                  {
                      "max_people_to_return": 5,
                      "people_contact_types": ["email-work"],
                      "filters": {
                          "management_levels": ["director", "vp"],
                          "departments": ["master_engineering"]
                      }
                  }
              ],
              "destination_type": "webhook",
              "destination_config": {
                  "webhook_url": "https://usewebhook.com/YOUR_WEBHOOK_ID",
                  "headers": {
                      "Authorization": "Bearer your-secret-token"
                  }
              },
              "max_records_per_trigger": 5,
              "profile_id": 1
          }
      )

      data = response.json()
      print(f"Monitor created: {data['data']['monitor_id']}")
      print(f"Signature: {data['data']['signature']}")
      ```

      ```javascript Node.js theme={null}
      const response = await fetch("https://api.pubrio.com/monitors/create", {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          "pubrio-api-key": "YOUR_API_KEY"
        },
        body: JSON.stringify({
          name: "OpenAI Job Tracker",
          detection_mode: "company_first",
          signal_types: ["jobs"],
          signal_filters: [
            {
              signal_type: "jobs",
              filters: {
                locations: ["US"]
              }
            }
          ],
          companies: [
            "67c4696b-b7b0-46b5-b2af-9f434543661e"
          ],
          is_company_enrichment: true,
          is_people_enrichment: true,
          people_enrichment_configs: [
            {
              max_people_to_return: 5,
              people_contact_types: ["email-work"],
              filters: {
                management_levels: ["director", "vp"],
                departments: ["master_engineering"]
              }
            }
          ],
          destination_type: "webhook",
          destination_config: {
            webhook_url: "https://usewebhook.com/YOUR_WEBHOOK_ID",
            headers: {
              Authorization: "Bearer your-secret-token"
            }
          },
          max_records_per_trigger: 5,
          profile_id: 1
        })
      });

      const data = await response.json();
      console.log("Monitor created:", data.data.monitor_id);
      console.log("Signature:", data.data.signature);
      ```
    </CodeGroup>

    **ما الذي يفعله هذا:**

    * يراقب OpenAI (`companies: ["67c4696b-..."]`) بحثًا عن إعلانات وظائف جديدة داخل الولايات المتحدة
    * يُثري بيانات الشركة ويعثر على ما يصل إلى 5 جهات اتصال بمستوى مدير/نائب رئيس في قسم الهندسة
    * يسلّم ما يصل إلى 5 سجلات لكل تفعيل إلى Webhook الخاص بك
    * تستخدم باقي الإعدادات القيم الافتراضية المنطقية (التكرار في الوقت الفعلي، سقف يومي قدره 500، وغير ذلك)

    <Note>
      في نمط `company_first`، عادةً ما تحتاج فقط إلى `companies` (أو `domains` / `linkedin_urls`) وفلاتر الإشارة. `company_filters` اختياري — فهو يضيف طبقة تصفية ثانية عندما تريد الجمع بين قائمة مراقبة ومعايير شركة أوسع.
    </Note>

    ### اختبره فورًا

    لا تنتظر الفحص المجدول — فعِّل تشغيلًا يدويًا للتحقق من أن كل شيء يعمل. أدرج `tried_at` بطابع زمني في الماضي لضمان توفر بيانات (فقد يؤدي استخدام الوقت الحالي إلى إرجاع 0 نتائج إذا لم تظهر إشارات جديدة بعد):

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://api.pubrio.com/monitors/process/try \
        -H "Content-Type: application/json" \
        -H "pubrio-api-key: YOUR_API_KEY" \
        -d '{
          "monitor_id": "YOUR_MONITOR_ID",
          "tried_at": "2026-01-01T00:00:00.000Z",
          "profile_id": 1
        }'
      ```
    </CodeGroup>

    <Info>
      تستهلك التفعيلات اليدوية رصيدًا تمامًا مثل التفعيلات المجدولة. استخدم `tried_at` مع تاريخ ماضٍ قريب للحصول على عيّنة تمثيلية من النتائج لأغراض الاختبار.
    </Info>

    ### تحقّق من النتائج

    بعد بضع ثوانٍ، تحقق من رابط Webhook الخاص بك على [usewebhook.com](https://usewebhook.com) لرؤية الحمولة. يمكنك أيضًا التحقق عبر السجلات:

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://api.pubrio.com/monitors/statistics/logs \
        -H "Content-Type: application/json" \
        -H "pubrio-api-key: YOUR_API_KEY" \
        -d '{
          "profile_id": 1,
          "monitor_id": "YOUR_MONITOR_ID",
          "page": 1,
          "per_page": 5
        }'
      ```
    </CodeGroup>

    يعرض كل إدخال سجل الحالة، وعدد الإشارات/الشركات/الأشخاص، واستهلاك الرصيد، ووقت المعالجة.
  </Tab>

  <Tab title="الإشارة أولًا: اكتشاف التوظيف في الذكاء الاصطناعي">
    ## السيناريو: اكتشاف الشركات التي توظّف لأدوار الذكاء الاصطناعي/تعلّم الآلة

    تريد العثور على الشركات التي تبني فعليًا فرق ذكاء اصطناعي — بغض النظر عمّا إذا كنت قد تتبعتها من قبل. هذه حالة استخدام لاستكشاف العملاء المحتملين.

    ### إنشاء Monitor

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://api.pubrio.com/monitors/create \
        -H "Content-Type: application/json" \
        -H "pubrio-api-key: YOUR_API_KEY" \
        -d '{
          "name": "AI Hiring Discovery",
          "detection_mode": "signal_first",
          "signal_types": ["jobs"],
          "signal_filters": [
            {
              "signal_type": "jobs",
              "filters": {
                "titles": ["Machine Learning", "AI Engineer", "Data Scientist"],
                "locations": ["US"]
              }
            }
          ],
          "company_filters": {
            "employees": [[201, 500], [501, 1000], [1001, 5000]]
          },
          "is_company_enrichment": true,
          "is_people_enrichment": true,
          "people_enrichment_configs": [
            {
              "max_people_to_return": 3,
              "people_contact_types": ["email-work"],
              "filters": {
                "management_levels": ["founder", "c_suite", "vp"]
              }
            }
          ],
          "destination_type": "webhook",
          "destination_config": {
            "webhook_url": "https://usewebhook.com/YOUR_WEBHOOK_ID",
            "body": {
              "pipeline": "ai-prospecting"
            }
          },
          "max_records_per_trigger": 10,
          "profile_id": 1
        }'
      ```

      ```python Python theme={null}
      import requests

      response = requests.post(
          "https://api.pubrio.com/monitors/create",
          headers={
              "Content-Type": "application/json",
              "pubrio-api-key": "YOUR_API_KEY"
          },
          json={
              "name": "AI Hiring Discovery",
              "detection_mode": "signal_first",
              "signal_types": ["jobs"],
              "signal_filters": [
                  {
                      "signal_type": "jobs",
                      "filters": {
                          "titles": ["Machine Learning", "AI Engineer", "Data Scientist"],
                          "locations": ["US"]
                      }
                  }
              ],
              "company_filters": {
                  "employees": [[201, 500], [501, 1000], [1001, 5000]]
              },
              "is_company_enrichment": True,
              "is_people_enrichment": True,
              "people_enrichment_configs": [
                  {
                      "max_people_to_return": 3,
                      "people_contact_types": ["email-work"],
                      "filters": {
                          "management_levels": ["founder", "c_suite", "vp"]
                      }
                  }
              ],
              "destination_type": "webhook",
              "destination_config": {
                  "webhook_url": "https://usewebhook.com/YOUR_WEBHOOK_ID",
                  "body": {
                      "pipeline": "ai-prospecting"
                  }
              },
              "max_records_per_trigger": 10,
              "profile_id": 1
          }
      )

      data = response.json()
      print(f"Monitor created: {data['data']['monitor_id']}")
      ```
    </CodeGroup>

    **ما الذي يفعله هذا:**

    * يفحص إعلانات وظائف الذكاء الاصطناعي/تعلّم الآلة عبر الولايات المتحدة
    * **فلاتر الشركة العامة** تضيّق النتائج إلى الشركات متوسطة الحجم (من 201 إلى 5000 موظف) — هذه هي قوة الجمع بين الإشارات ومعايير الشركة
    * يُثري بيانات الشركات ويعثر على ما يصل إلى 3 جهات اتصال من مؤسسين/إدارة عليا/نواب رئيس
    * يضيف حقل `pipeline` مخصصًا إلى الحمولات لتوجيهها داخل معالج Webhook الخاص بك
    * تكرار في الوقت الفعلي افتراضيًا

    ### اختبره فورًا

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://api.pubrio.com/monitors/process/try \
        -H "Content-Type: application/json" \
        -H "pubrio-api-key: YOUR_API_KEY" \
        -d '{
          "monitor_id": "YOUR_MONITOR_ID",
          "tried_at": "2026-01-01T00:00:00.000Z",
          "profile_id": 1
        }'
      ```
    </CodeGroup>

    <Info>
      تستهلك التفعيلات اليدوية رصيدًا. استخدم `tried_at` مع تاريخ ماضٍ قريب للحصول على بيانات تمثيلية لأغراض الاختبار — فقد يؤدي استخدام الوقت الحالي إلى إرجاع 0 نتائج إذا لم تظهر إشارات جديدة في تلك اللحظة.
    </Info>

    ### ما الذي تستلمه

    تحقق من [usewebhook.com](https://usewebhook.com) — سترى حمولة `signal_first` بحيث تكون الإشارات هي البنية الأساسية. لاحظ حقل `pipeline` المخصص في الجذر القادم من `destination_config.body`:

    ```json theme={null}
    {
      "monitor": { ... },
      "metadata": {
        "total_signals": 5,
        "total_companies": 4,
        "total_people": 10
      },
      "triggered_at": "2026-04-06T14:30:00.000Z",
      "signals": [
        {
          "signal_type": "jobs",
          "signal": { ... },
          "companies": [
            {
              "company_name": "...",
              "domain": "...",
              "company_size": 800,
              "people": [...],
              ...
            }
          ]
        },
        ...
      ],
      "pipeline": "ai-prospecting"
    }
    ```
  </Tab>
</Tabs>

***

## إعادة محاولة تسليم فاشل

إذا فشل تفعيل معيّن (مثلًا، كان Webhook الخاص بك متوقفًا مؤقتًا)، أعد محاولته دون إعادة تشغيل الفحص بأكمله:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.pubrio.com/monitors/process/retry \
    -H "Content-Type: application/json" \
    -H "pubrio-api-key: YOUR_API_KEY" \
    -d '{
      "monitor_id": "YOUR_MONITOR_ID",
      "monitor_log_id": "THE_FAILED_LOG_ID",
      "profile_id": 1
    }'
  ```
</CodeGroup>

اعثر على `monitor_log_id` عبر الاستعلام عن [سجلات الإحصاءات](/ar/api-reference/endpoint/monitors/statistics_logs) وتصفية الإدخالات التي تحمل `"status": "failed"`.

***

## الخطوات التالية

<CardGroup cols={2}>
  <Card title="أفضل الممارسات" icon="star" href="/ar/developer-guides/best-practices">
    التكرار، والرصيد، وإعادة المحاولة، والتوسّع.
  </Card>

  <Card title="إعداد Webhooks" icon="plug" href="/ar/developer-guides/setting-up-webhooks">
    تفاصيل إعداد Webhook والتحقق من التوقيع.
  </Card>
</CardGroup>
