إكمال رفع مجزّأ
إكمال رفع مجزّأ
/v1/videos/{id}/upload/completeتدعم هذه العملية مصادقة ملف ارتباط جلسة لوحة التحكم. استدعها من شيفرة خادم موثوقة فقط، ولا تنشئ المتصفحات ملف الجلسة أو تكشفه.
الخطوة الثالثة: يقرأ الخادم سجل الأجزاء الذي كتبته نقطة الرفع ويرفض مصفوفة parts من العميل، ثم يكمل الرفع ويتحقق من الكائن والحجم والتجزئة وينقل الفيديو إلى uploaded ويضع الترميز في قائمة الانتظار. وإذا اختلفت قيمة checksumSha256 في الإكمال عن تجزئة أُعلنت مسبقًا لهذا الرفع تُرفض بالرمز 409 checksum_conflict قبل تنفيذ إكمال الرفع المجزّأ فلا يُنهى الكائن بتجزئة متعارضة، وتُقبل القيمة المطابقة. يحتاج المفتاح إلى write.
حد المعدّل: 60 طلبًا لكل 60 ثانية لكل مستدعٍ.
رموز الخطأ: unauthorized (401), insufficient_scope (403),
account_not_approved (403), invalid_project_id (400),
not_found (404), video_not_found (404), invalid_body (400),
invalid_checksum_sha256 (400), parts_missing (409),
checksum_mismatch (400), checksum_conflict (409),
upload_already_completed (409),
upload_completion_in_progress (409).
المصادقة
- apiKey — مفتاح المشروع في ترويسة
Authorization: Bearerبصيغةvh_live_...للوضع الفعلي أوvh_test_...للوضع التجريبي، ويحمل صلاحيةreadو/أوwrite. - sessionCookie — ملف ارتباط جلسة لوحة التحكم الذي يضبطه
POST /v1/auth/login. تتطلب مسارات الفيديو والتشغيل أيضًا معاملprojectIdعند استخدام الجلسة.
المعاملات
| الاسم | الموضع | النوع | إلزامي | الوصف |
|---|---|---|---|---|
id | path | string (Ulid) | نعم | — |
جسم الطلب
اختياري
نوع المحتوى: application/json
المخطّط: UploadCompleteRequest
{
"checksumSha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
}الاستجابات
| الرمز | المعنى |
|---|---|
200 | اكتمل الرفع؛ أصبح الفيديو uploaded ووُضع للترميز. |
400 | فشل التحقق من جسم الطلب أو معاملاته. يذكر وصف العملية قيم error.code الدقيقة. |
401 | لم تُقدَّم بيانات اعتماد صالحة. |
403 | بيانات الاعتماد صالحة لكنها لا تسمح بهذا الإجراء. يذكر وصف العملية قيم error.code الدقيقة. |
404 | المورد غير موجود أو غير مرئي لهذا المستدعي. |
409 | يتعارض الطلب مع الحالة الحالية للمورد. يذكر وصف العملية قيم error.code الدقيقة. |
429 | تم تجاوز حد المعدّل. |
مثال على الطلب
{
"checksumSha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
}جرّبها
/v1/videos/{id}/upload/completeمنصة API التفاعلية
أرسل طلبًا حيًا إلى api.videohati.com بمفتاح وضع الاختبار.
يُحفظ المفتاح في متصفحك على docs.videohati.com فقط.
https://api.staging.videohati.com/v1/videos/{id}/upload/complete