مستندات 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 | حجم بخش از حد مجاز بیشتر است. |