مستندات API

این صفحه نقاط اتصال اصلی سرویس را معرفی می‌کند. استفاده از API به حساب کاربری فعال نیاز دارد.

نشانی‌های پایه

سرویسنشانی
فایلhttps://cdn.smartjump.ir/api/v1
ویدیوhttps://video.smartjump.ir/api/v1
پخش زندهhttps://stream.smartjump.ir/api/v1

همه درخواست‌ها باید از طریق HTTPS فرستاده شوند.

احراز هویت

هر درخواست باید کوکی نشست معتبر به همراه داشته باشد. درخواست بدون احراز هویت با کد 401 پاسخ داده می‌شود:

HTTP/1.1 401 Unauthorized
Content-Type: application/json

{"error":"unauthorized","message":"authentication required"}

ارسال بخش‌های فایل

هر انتقال یک شناسه یکتا دارد و بخش‌ها با شماره ترتیبی، از صفر، فرستاده می‌شوند.

POST /api/v1/objects/{bucket}/{transfer_id}/{part}

بدنه درخواست، محتوای خام همان بخش است. در صورت قطع اتصال، ارسال را از آخرین بخش تأییدشده ادامه دهید.

جریان انتقال

برای دریافت داده و وضعیت انتقال به‌صورت زنده، یک اتصال باز نگه دارید:

GET /api/v1/objects/{bucket}/{transfer_id}

پاسخ به‌صورت جریانی فرستاده می‌شود و تا پایان انتقال باز می‌ماند.

آپلود ویدیو

آپلود ویدیو همان الگوی چندبخشی را دارد و روی سرویس ویدیو انجام می‌شود:

POST /api/v1/uploads/{channel}/{upload_id}/{part}
GET  /api/v1/uploads/{channel}/{upload_id}

درخواست GET وضعیت پردازش را تا آماده شدن ویدیو به‌صورت جریانی برمی‌گرداند.

ارسال جریان زنده

رمزگذار، قطعه‌های جریان را با شماره ترتیبی به سرویس پخش زنده می‌فرستد:

POST /api/v1/ingest/{stream_key}/{session_id}/{sequence}
GET  /api/v1/ingest/{stream_key}/{session_id}

نشانی پخش هر کانال به این شکل است:

https://stream.smartjump.ir/live/{channel}/index.m3u8

کدهای پاسخ

کدمعنی
200درخواست پذیرفته شد.
400شناسه انتقال یا شماره بخش معتبر نیست.
401احراز هویت انجام نشده است.
404مسیر درخواست‌شده وجود ندارد.
413حجم بخش از حد مجاز بیشتر است.