مسودة: يصف هذا التوثيق أوكتا فيديو كما ستكون عند الإطلاق، وقد لا تكون بعض الميزات متاحة بعد.
OctaVideoالتوثيق

الترقيم والحدود

كيف تُقسَّم نتائج القوائم إلى صفحات، وحدود الحجم والوقت والمعدّل في الواجهة البرمجية.

تعيد نقاط نهاية القوائم صفحة واحدة في كل مرة، ولكل طلب حدود للحجم والوقت. صمّم ربطك مع أوكتا فيديو على أساسها من البداية.

شكل الاستجابة

تضع الاستجابة الناجحة محتواها داخل data. وتضيف القوائم الحقل meta:

GET /videos?page=2&per_page=25
{
  "data": [
    { "id": "6f1c2b9e-4a7d-4f3e-9b8a-2d5c7e1f0a34", "title": "Lesson 26", "encoding_status": "ready" }
  ],
  "meta": { "page": 2, "per_page": 25, "total": 137 }
}

الترقيم

معامل الاستعلامالافتراضيالمسموح
page11 أو أكثر
per_page25من 1 إلى 100

يعدّ meta.total كل العناصر في كل الصفحات، فتكون الصفحة الأخيرة هي ceil(total / per_page). وتعيد الصفحة التي تتجاوز النهاية قائمة data فارغة.

list-all-videos.mjs
const base = 'https://api.octavideo.tech/api/v1';
const headers = { AccessKey: process.env.OCTAVIDEO_KEY };

const videos = [];
for (let page = 1; ; page++) {
  const res = await fetch(`${base}/videos?page=${page}&per_page=100`, { headers });
  if (!res.ok) throw new Error(`OctaVideo ${res.status}`);
  const { data, meta } = await res.json();
  videos.push(...data);
  if (page * meta.per_page >= meta.total) break;
}

الحدود

الحدالقيمةالخطأ عند تجاوزه
جسم طلب JSON1 MiB413 payload_too_large
ملف الرفع10 GiB413 payload_too_large
مدة الطلب30 ثانية504 Gateway Timeout (دون جسم JSON)
مدة الرفعساعتانيُغلق الاتصال
العناصر في الصفحة100400 validation_failed
الفصول في الفيديو200400 validation_failed
الفيديوهات المضافة إلى مجموعة في طلب واحد100400 validation_failed
عمر رمز OTP (ttl_seconds)من ثانية واحدة إلى 24 ساعة، و5 دقائق افتراضيًا400 validation_failed

حدود المعدّل

عندما ترسل طلبات كثيرة جدًا تجيب الواجهة بـ 429 rate_limited مع ترويسة Retry-After بعدد الثواني. انتظر هذه المدة ثم أعد المحاولة. ويُحدّ تفويض التشغيل في المشغّل لكل مكتبة ولكل عنوان IP للمشاهد، وهذا يحمي فيديوهاتك من الإساءة الآلية.

قد تتغيّر حدود المعدّل الدقيقة خلال البيتا الخاصة. اجعل عميلك يلتزم بقيمة Retry-After بدلًا من رقم ثابت.

JSON صارم

ترفض الواجهة البرمجية أجسام JSON التي تحتوي حقولًا غير معروفة أو بيانات زائدة أو أكثر من قيمة، وتعيد 400 bad_request. أرسل الحقول الموثّقة فقط، واضبط Content-Type: application/json.

في هذه الصفحة