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

الوسائط والأصول

جلب حالة استيراد الأصول

قراءة استيراد حسب import_id. للنشر مرّر include_asset=true: تشمل ready معرّف الأصل المسجّل ونوعه و asset_url الثابت دون get_asset مستقل. لا تُجدول الأصول المعلّقة أوالمفقودة. لا تستخدم المصدر أوالمعاينة هوية وسائط. عند التعثر، اقرأ sosoapi_job_status بـ job_id؛ لا تُكرر الاستيراد.

POST /assets-api/imports/status

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

نظرة عامة

قراءة استيراد حسب import_id. للنشر مرّر include_asset=true: تشمل ready معرّف الأصل المسجّل ونوعه و asset_url الثابت دون get_asset مستقل. لا تُجدول الأصول المعلّقة أوالمفقودة. لا تستخدم المصدر أوالمعاينة هوية وسائط. عند التعثر، اقرأ sosoapi_job_status بـ job_id؛ لا تُكرر الاستيراد.

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

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

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

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

حقول الطلب

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

حقول الطلب
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب
  • additionalProperties: false
workspace_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)$"
import_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)$"
include_assetbooleanاختياري / عنصر—
مخطط JSON Schema الكامل
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "workspace_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)$"
    },
    "import_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)$"
    },
    "include_asset": {
      "type": "boolean"
    }
  },
  "required": [
    "workspace_id",
    "import_id"
  ],
  "additionalProperties": false
}

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

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

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

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

الاستجابة والاكتمال
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب—
importobjectمطلوب في العنصر الأب—
import.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)$"
import.statusstringمطلوب في العنصر الأب
  • enum: ["queued","importing","needs_repair","ready","asset_purged","failed"]
import.job_idstring | nullمطلوب في العنصر الأب—
import.job_idanyOf 1stringمطلوب في العنصر الأب
  • 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)$"
import.job_idanyOf 2nullمطلوب في العنصر الأب—
import.asset_idinteger | nullمطلوب في العنصر الأب—
import.asset_idanyOf 1integerمطلوب في العنصر الأب
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
import.asset_idanyOf 2nullمطلوب في العنصر الأب—
import.completed_asset_idinteger | nullمطلوب في العنصر الأب—
import.completed_asset_idanyOf 1integerمطلوب في العنصر الأب
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
import.completed_asset_idanyOf 2nullمطلوب في العنصر الأب—
import.asset_purged_atstring | nullمطلوب في العنصر الأب—
import.asset_purged_atanyOf 1stringمطلوب في العنصر الأب—
import.asset_purged_atanyOf 2nullمطلوب في العنصر الأب—
import.source_urlstringمطلوب في العنصر الأب
  • format: "uri"
import.final_urlstring | nullمطلوب في العنصر الأب—
import.final_urlanyOf 1stringمطلوب في العنصر الأب
  • format: "uri"
import.final_urlanyOf 2nullمطلوب في العنصر الأب—
import.object_keystring | nullمطلوب في العنصر الأب—
import.object_keyanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
import.object_keyanyOf 2nullمطلوب في العنصر الأب—
import.content_typestring | nullمطلوب في العنصر الأب—
import.content_typeanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
import.content_typeanyOf 2nullمطلوب في العنصر الأب—
import.byte_sizeinteger | nullمطلوب في العنصر الأب—
import.byte_sizeanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
import.byte_sizeanyOf 2nullمطلوب في العنصر الأب—
import.content_sha256string | nullمطلوب في العنصر الأب—
import.content_sha256anyOf 1stringمطلوب في العنصر الأب
  • pattern: "^[0-9a-f]{64}$"
import.content_sha256anyOf 2nullمطلوب في العنصر الأب—
import.media_probereference | nullمطلوب في العنصر الأب—
import.media_probeanyOf 1string | number | boolean | null | array | objectمطلوب في العنصر الأب—
import.media_probeanyOf 1 / anyOf 1stringمطلوب في العنصر الأب—
import.media_probeanyOf 1 / anyOf 2numberمطلوب في العنصر الأب—
import.media_probeanyOf 1 / anyOf 3booleanمطلوب في العنصر الأب—
import.media_probeanyOf 1 / anyOf 4nullمطلوب في العنصر الأب—
import.media_probeanyOf 1 / anyOf 5arrayمطلوب في العنصر الأب—
import.media_probe[]anyOf 1 / anyOf 5referenceاختياري / عنصر
  • #/$defs/__schema0
import.media_probeanyOf 1 / anyOf 6objectمطلوب في العنصر الأب
  • additionalProperties: {"$ref":"#/$defs/__schema0"}
import.media_probe.*anyOf 1 / anyOf 6referenceاختياري / عنصر
  • #/$defs/__schema0
import.media_probeanyOf 2nullمطلوب في العنصر الأب—
import.error_messagestring | nullمطلوب في العنصر الأب—
import.error_messageanyOf 1stringمطلوب في العنصر الأب—
import.error_messageanyOf 2nullمطلوب في العنصر الأب—
import.created_atstringمطلوب في العنصر الأب—
import.completed_atstring | nullمطلوب في العنصر الأب—
import.completed_atanyOf 1stringمطلوب في العنصر الأب—
import.completed_atanyOf 2nullمطلوب في العنصر الأب—
assetobject | nullاختياري / عنصر—
assetanyOf 1objectاختياري / عنصر—
asset.idanyOf 1integer | stringمطلوب في العنصر الأب—
asset.idanyOf 1 / anyOf 1integerمطلوب في العنصر الأب
  • minimum: -9007199254740991
  • maximum: 9007199254740991
asset.idanyOf 1 / anyOf 2stringمطلوب في العنصر الأب—
asset.asset_typeanyOf 1stringمطلوب في العنصر الأب
  • enum: ["text","image","video","audio"]
asset.asset_urlanyOf 1string | nullمطلوب في العنصر الأب—
asset.asset_urlanyOf 1 / anyOf 1stringمطلوب في العنصر الأب—
asset.asset_urlanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
assetanyOf 2nullاختياري / عنصر—
مخطط JSON Schema الكامل
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "import": {
      "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)$"
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "importing",
            "needs_repair",
            "ready",
            "asset_purged",
            "failed"
          ]
        },
        "job_id": {
          "anyOf": [
            {
              "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)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "asset_id": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        },
        "completed_asset_id": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        },
        "asset_purged_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "source_url": {
          "type": "string",
          "format": "uri"
        },
        "final_url": {
          "anyOf": [
            {
              "type": "string",
              "format": "uri"
            },
            {
              "type": "null"
            }
          ]
        },
        "object_key": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1
            },
            {
              "type": "null"
            }
          ]
        },
        "content_type": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1
            },
            {
              "type": "null"
            }
          ]
        },
        "byte_size": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        },
        "content_sha256": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "media_probe": {
          "anyOf": [
            {
              "$ref": "#/$defs/__schema0"
            },
            {
              "type": "null"
            }
          ]
        },
        "error_message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string"
        },
        "completed_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "status",
        "job_id",
        "asset_id",
        "completed_asset_id",
        "asset_purged_at",
        "source_url",
        "final_url",
        "object_key",
        "content_type",
        "byte_size",
        "content_sha256",
        "media_probe",
        "error_message",
        "created_at",
        "completed_at"
      ]
    },
    "asset": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string"
                }
              ]
            },
            "asset_type": {
              "type": "string",
              "enum": [
                "text",
                "image",
                "video",
                "audio"
              ]
            },
            "asset_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "id",
            "asset_type",
            "asset_url"
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "import"
  ],
  "$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

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "import_id": "11111111-1111-4111-8111-111111111111"
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/assets-api/imports/status" \
  -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/assets-api/imports/status", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "import_id": "11111111-1111-4111-8111-111111111111"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /assets-api/imports/status < request.json

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

{
  "import": {
    "id": "11111111-1111-4111-8111-111111111111",
    "status": "queued",
    "job_id": null,
    "asset_id": null,
    "completed_asset_id": null,
    "asset_purged_at": null,
    "source_url": "https://example.com/media.png",
    "final_url": null,
    "object_key": null,
    "content_type": null,
    "byte_size": null,
    "content_sha256": null,
    "media_probe": null,
    "error_message": null,
    "created_at": "example",
    "completed_at": null
  }
}

MCP: sosoapi_get_asset_import_status