بدء رفع مجزّأ أو استئنافه
بدء رفع مجزّأ أو استئنافه
/v1/videos/{id}/upload/startتدعم هذه العملية مصادقة ملف ارتباط جلسة لوحة التحكم. استدعها من شيفرة خادم موثوقة فقط، ولا تنشئ المتصفحات ملف الجلسة أو تكشفه.
الخطوة الثانية: يعلن الحجم ونوع المحتوى ويعيد uploadUrlTemplate. استبدل {partNumber} برقم يبدأ من 1 وأرسل كل جزء بحجم partSize عبر PUT؛ ويجوز أن يكون الجزء الأخير أقصر. يعيد idempotencyKey نفسه الجلسة الحالية. يطبّق حدود الرصيد والتخزين ودقائق الترميز، ويحتاج المفتاح إلى write.
رموز الخطأ: unauthorized (401), insufficient_scope (403),
account_not_approved (403), invalid_project_id (400),
not_found (404), video_not_found (404), invalid_size (400),
invalid_checksum_sha256 (400), file_too_large (400),
upload_limit_exceeded (429), insufficient_balance (402 —
account effective balance under the −$2 floor; top up to continue),
storage_quota_exceeded (402 — Trial projects at/over the 25 GB
storage cap), encoding_quota_exceeded (402 — Trial projects past
the 60 bundled encoding minutes).
المصادقة
- apiKey — مفتاح المشروع في ترويسة
Authorization: Bearerبصيغةvh_live_...للوضع الفعلي أوvh_test_...للوضع التجريبي، ويحمل صلاحيةreadو/أوwrite. - sessionCookie — ملف ارتباط جلسة لوحة التحكم الذي يضبطه
POST /v1/auth/login. تتطلب مسارات الفيديو والتشغيل أيضًا معاملprojectIdعند استخدام الجلسة.
المعاملات
| الاسم | الموضع | النوع | إلزامي | الوصف |
|---|---|---|---|---|
id | path | string (Ulid) | نعم | — |
جسم الطلب
إلزامي
نوع المحتوى: application/json
المخطّط: UploadStartRequest
{
"sizeBytes": 10485760,
"contentType": "video/mp4",
"idempotencyKey": "lecture-01-v1"
}الاستجابات
| الرمز | المعنى |
|---|---|
201 | جلسة الرفع جاهزة؛ أرسل الأجزاء عبر PUT إلى uploadUrlTemplate. |
400 | فشل التحقق من جسم الطلب أو معاملاته. يذكر وصف العملية قيم error.code الدقيقة. |
401 | لم تُقدَّم بيانات اعتماد صالحة. |
403 | بيانات الاعتماد صالحة لكنها لا تسمح بهذا الإجراء. يذكر وصف العملية قيم error.code الدقيقة. |
404 | المورد غير موجود أو غير مرئي لهذا المستدعي. |
429 | تم تجاوز حد المعدّل. |
مثال على الطلب
{
"sizeBytes": 10485760,
"contentType": "video/mp4",
"idempotencyKey": "lecture-01-v1"
}جرّبها
/v1/videos/{id}/upload/startمنصة API التفاعلية
أرسل طلبًا حيًا إلى api.videohati.com بمفتاح وضع الاختبار.
يُحفظ المفتاح في متصفحك على docs.videohati.com فقط.
https://api.staging.videohati.com/v1/videos/{id}/upload/start