يُحمّل البحث عند استخدامه فقط. تصفّح جميع الفئات أدناه.

العمليات الخلفية

عرض المهام

عرض المهام الخلفية الحديثة للمستخدم المسجّل مع الحالة والتقدم.

POST /jobs-api/list

مراجعة العقد: · sha256:563d2d581da0ad29

نظرة عامة

عرض المهام الخلفية الحديثة للمستخدم المسجّل مع الحالة والتقدم.

قد يعني نجاح HTTP قبول الطلب لا اكتماله. للعمل الخلفي، احفظ المعرّف المُعاد وتابع العملية نفسها حتى تنتهي. لا يُعدّ المنشور المجدول أوالمقبول منشوراً حتى تأكيد المنصة؛ انتهاء مهلة العميل لا يثبت النتيجة.

المصادقة والأذونات

فئات بيانات الاعتماد المقبولة
user_session, delegated_oauth, personal_access_token
إمكانية مفوّضة
agent:operate
الحد الأدنى لدور مساحة العمل
لا حد أدنى لدور مساحة العمل في هذا العقد؛ تظل فحوص الملكية والتفويض سارية.
نطاق الوصول
الموارد التي يحق لهذا المستخدم الوصول إليها
تلزم موافقة تشمل جميع مساحات العمل
لا
يغيّر الحالة
لا
متى تُعدّ العملية مكتملة
synchronous_http_response

لا يستخدم الرمز إلا حقوق مالكه. يفحص كل طلب عضوية مساحة العمل وملكية المورد والمساحات المحددة والإمكانات الممنوحة. يغيّر core و full الأدوات المعروضة؛ ولا يمنحان وصولاً.

حقول الطلب

تعني «مطلوب» داخل الكائن الأب والفرع المختار. الحقل الابن المطلوب لا يجعل الأب الاختياري مطلوباً. نُسخت القواعد وأسماء الحقول أدناه من العقد.

حقول الطلب
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب
  • additionalProperties: false
limitintegerاختياري / عنصر

حجم الصفحة، من 1 إلى 100. إرسال limit أو cursor يحوّل المسار إلى تصفّح cursor ويضيف next_cursor إلى الإجابة.

  • minimum: 1
  • maximum: 100
cursorstringاختياري / عنصر

مؤشر cursor معتم: قيمة next_cursor من الصفحة السابقة دون تغيير. احذفه للصفحة الأولى. أرسل المرشحات نفسها مع كل صفحة.

  • minLength: 1
  • maxLength: 512
مخطط JSON Schema الكامل
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Page size, 1 to 100. Sending limit or cursor switches this route to cursor paging and adds next_cursor to the answer."
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "description": "Opaque cursor: the next_cursor of the previous page, unchanged. Omit it for the first page. The same filters must be sent with every page."
    }
  },
  "additionalProperties": false
}

الاستجابة والاكتمال

رموز نجاح HTTP: 200. عندما تكتمل العملية: synchronous_http_response.

قد يعني نجاح HTTP قبول الطلب لا اكتماله. للعمل الخلفي، احفظ المعرّف المُعاد وتابع العملية نفسها حتى تنتهي. لا يُعدّ المنشور المجدول أوالمقبول منشوراً حتى تأكيد المنصة؛ انتهاء مهلة العميل لا يثبت النتيجة.

تعني «مطلوب» داخل الكائن الأب والفرع المختار. الحقل الابن المطلوب لا يجعل الأب الاختياري مطلوباً. نُسخت القواعد وأسماء الحقول أدناه من العقد.

الاستجابة والاكتمال
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب—
jobsarrayمطلوب في العنصر الأب—
jobs[]objectاختياري / عنصر—
jobs[].idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
jobs[].user_idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
jobs[].kindstringمطلوب في العنصر الأب—
jobs[].statusstringمطلوب في العنصر الأب—
jobs[].payloadstring | number | boolean | null | array | objectمطلوب في العنصر الأب—
jobs[].payloadanyOf 1stringمطلوب في العنصر الأب—
jobs[].payloadanyOf 2numberمطلوب في العنصر الأب—
jobs[].payloadanyOf 3booleanمطلوب في العنصر الأب—
jobs[].payloadanyOf 4nullمطلوب في العنصر الأب—
jobs[].payloadanyOf 5arrayمطلوب في العنصر الأب—
jobs[].payload[]anyOf 5referenceاختياري / عنصر
  • #/$defs/__schema0
jobs[].payloadanyOf 6objectمطلوب في العنصر الأب
  • additionalProperties: {"$ref":"#/$defs/__schema0"}
jobs[].payload.*anyOf 6referenceاختياري / عنصر
  • #/$defs/__schema0
jobs[].scheduled_forstring | nullمطلوب في العنصر الأب—
jobs[].scheduled_foranyOf 1stringمطلوب في العنصر الأب—
jobs[].scheduled_foranyOf 2nullمطلوب في العنصر الأب—
jobs[].schedule_timezonestring | nullمطلوب في العنصر الأب—
jobs[].schedule_timezoneanyOf 1stringمطلوب في العنصر الأب—
jobs[].schedule_timezoneanyOf 2nullمطلوب في العنصر الأب—
jobs[].progressinteger | nullمطلوب في العنصر الأب—
jobs[].progressanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 100
jobs[].progressanyOf 2nullمطلوب في العنصر الأب—
jobs[].progress_messagestring | nullمطلوب في العنصر الأب—
jobs[].progress_messageanyOf 1stringمطلوب في العنصر الأب—
jobs[].progress_messageanyOf 2nullمطلوب في العنصر الأب—
jobs[].created_atstringمطلوب في العنصر الأب—
jobs[].updated_atstringمطلوب في العنصر الأب—
next_cursorstring | nullاختياري / عنصر

يظهر فقط إذا أرسل الطلب limit أو cursor. ويكون null في الصفحة الأخيرة.

—
next_cursoranyOf 1stringاختياري / عنصر—
next_cursoranyOf 2nullاختياري / عنصر—
مخطط JSON Schema الكامل
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "jobs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "kind": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "payload": {
            "$ref": "#/$defs/__schema0"
          },
          "scheduled_for": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "schedule_timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "progress": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 100
              },
              {
                "type": "null"
              }
            ]
          },
          "progress_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "kind",
          "status",
          "payload",
          "scheduled_for",
          "schedule_timezone",
          "progress",
          "progress_message",
          "created_at",
          "updated_at"
        ]
      }
    },
    "next_cursor": {
      "description": "Present only when the request sent limit or cursor. Null on the last page.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "jobs"
  ],
  "$defs": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/__schema0"
          }
        }
      ]
    }
  }
}

الأخطاء وإعادة المحاولة بأمان

افحص حالة HTTP والجسم. قد يحوي خطأ التحقق 400 ‏ZodError؛ تستخدم أخطاء المعالج error و message و code. احتفظ بـ request_id أو x-request-id للتشخيص دون اعتماد. أصلح أخطاء وصول 401/403 قبل المحاولة واتّبع Retry-After لـ 429. لكتابة غير مؤكدة أو 5xx، اقرأ الموجود أولاً. أعِد مفتاح منع التكرار حيث يُدعم فقط؛ تختلف المحاولة حسب العملية ولا تضمن التسليم مرة واحدة بالضبط.

دليل استكشاف الأخطاء وإصلاحها

أمثلة

تستخدم الأمثلة قيماً خيالية مفحوصة بالمخططات. استبدل المعرّفات بالمفوّض لك، والوسائط بأصول جاهزة، والتواريخ بوقت نشر مؤكد. افحص أهلية الحساب قبل الكتابة. لا تُرسل الصفحة طلبات API.

اضبط SOSOAPI_ACCESS_TOKEN على خادمك ببيانات اعتماد تقبلها العملية، وأبقِه خارج شيفرة المتصفح. للوكيل، استخدم sosoapi auth login للدخول بالمتصفح ودع CLI يحدّث بيانات اعتماده.

request.json

{}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/jobs-api/list" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

JavaScript

// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/jobs-api/list", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /jobs-api/list < request.json

مثال استجابة اصطناعية

{
  "jobs": []
}

MCP: sosoapi_list_jobs