پاد اسپیس – آپلود و دانلود
خدمتدهنده
بازارچه پادیوم
مقدمه
سرویس اسپیس ، امکان استفاده از بستر ابری پلتفرم پاد را برای مشتریان مهیا میسازد. این سرویس به صورت REST پیاده سازی شدهاست.
اسپیس یک مکان ذخیرهسازی برای فایلهای موردنیاز کسبوکار است و در اینبستر امکان آپلود، دانلود و مدیریت فایلهای شخصی وجود دارد.
با استفاده از درخواستهای HTTP میتوان برروی منابع کنش انجامداد.
پیش از شروع
- URL فراخوانی سرویسها:
Production Server: https://api.pod.ir/srv/sc/nzh/doServiceCall
Sandbox Server:https://sandbox.pod.ir/srv/sc/nzh/doServiceCall
- تمامی درخواستها با متد POST ارسال میشوند.
- فیلدهای زیر درHeader تمامی درخواستها ثابت است:
پارامتر | توضیحات |
_token_ | توکن کسبوکاری دریافتی از پنل |
_token_issuer_ | مقدار ثابت "1" |
- فیلدهای زیر در بدنهی تمامی درخواستها ثابت است (با فرمت x-www-form-urlencoded):
پارامتر | توضیحات |
scProductId | شناسهی سرویس مدنظر |
scApiKey | راهنمای دریافت این پارامتر در این لینک موجود است. |
- علاوه بر موارد بالا که ثابت هستند، اگر سرویس نیاز به پارامتر دیگری داشته باشد در داکیومنت مربوطه ذکر شده است.
- خروجی: ساختار کلی پاسخ دریافتی در این لینک به تفصیل شرح داده شده است.
نکته:پس از درخواست سرویس به پادیوم، همکاران ما درخواستهای ارسالی را بررسی میکنند. در صورت عدم دریافت تایید کرد بر روی درخواست ارسالی ظرف یک روز کاری،به همکاران ما از طریق شماره تلفن (021-89518989) و یا در گروه واتساپ اطلاع دهید تا دسترسی به سرویس موردنظر برای شما فعال شود.
آپلود و دانلود
سرویس آپلود فایل
آدرس فراخوانی این سرویس به صورت زیر می باشد
http://podSpace.sakku-khatam.ir/Upload
از این متد برای آپلود فایل استفاده میشود.
پارامترهای ورودی
نام پارامتر | نوع پارامتر | اجباری | توضیحات |
file | File | * | فایل مورد نظر جهت آپلود در این بخش مشخص می شود |
folderHash | String |
| کد Hash فولدری که فایل می خواهد درونش آپلود شود. به صورت پیش فرض در root آپلود می شود |
path | String |
| مسیر آپلود فایل |
userMetadata | Json |
| اطلاعات همراه فایل به صورت json |
description | String |
| توضیحات فایل |
tags | String[] |
| آرایه ای از تگهای فایل |
isPublic | Boolean |
| اشتراک گذاری فایل بصورت عمومی.به صورت پیش فرض false در نظر گرفته می شود |
postProcess | Boolean |
| انجام فرآیندهای بعد از آپلود. به صورت پیش فرض true در نظر گرفته می شود |
token | String | * | توکن دریافتی جهت دسترسی به فضای پاد اسپیس . این توکن همان توکن کسب و کار می باشد |
خروجی این سرویس به صورت Json بوده و دارای پارامترهای زیر می باشد
پارامترهای خروجی سرویس که مهم می باشد در بخش result به شرح زیر می باشد
Hash: برای دریافت و یا دانلود فایل از این hash استفاده می کنیم
Name: نام فایل آپلود شده را نشان می دهد
Type: فرمت فایل آپلود شده را مشخص می سازد
parentHash: نشان دهنده hash فولدری است که فایل در آن آپلود شده است
دانلود فایل
سرویس دانلود فایل
http://podSpace.sakku-khatam.ir/Download
از این متد برای دانلود فایل استفاده میشود.
پارامترهای ورودی
نام پارامتر | نوع پارامتر | اجباری | توضیحات |
hash | String | * | کد Hash فایلی که می خواهد دانلود شود را وارد می نمایید |
token | String | * | توکن دریافتی جهت دسترسی به فضای پاد اسپیس . این توکن همان توکن کسب و کار می باشد |
خروجی این سرویس به application/octet-stream می باشد
آپلود تصویر
از این متد برای آپلود تصویر استفاده میشود.
http://podSpace.sakku-khatam.ir/Upload
پارامترهای ورودی
پارامتر | فایل تصویر برای آپلود (الزامی) |
Path String | مسیر آپلود فایل |
folderHash | کد هش فولدری که فایل می خواهد درونش آپلود شود.به صورت پیش فرض در root آپلود می شود. |
X | شروع عرض برش |
Y | شروع ارتفاع برش |
Width | مقدار عرض برش |
height | مقدار ارتفاع برش |
userMetadata | اطلاعات همراه فایل |
Description | توضیحات فایل |
tags String | آرایه تگهای فایل |
isPublic | اشتراک گذاری فایل بصورت عمومی.به صورت پیش فرض false در نظر گرفته می شود. |
postProcess | انجام فرآیندهای بعد از آپلود |
uploadKey | کلید بارگذاری |
پاسخ نمونه درصورت موفقیتآمیز بودن:
آپلود تصویر بر اساس Base64
شماره سرویس : 2364934
پارامترهای ورودی
نام پارامتر | نوع | اجباری | توضیحات |
scProductId | String | * | شماره سرویس |
file | String | * | تصویر به صورت Base64 |
folderHash | String | * | Hash مسیر را مشخص می سازد. در صورتی که ارسال نشود مقدار پیش فرض ROOT تنظیم می شود |
filename | String | * | نام فایل جهت ذخیره را مشخص می سازد. در صورتی که نام تکراری باشد با صورت Rename شده ذخیره می شود. این مقدار در برگشت مشخص می شود |
نمونه خروجی
دانلود تصویر
از این متد برای دانلود تصویر استفاده میشود.
http://podSpace.sakku-khatam.ir/Download
پارامترهای ورودی
نام پارامتر | توضیحات |
hash | هش تصویر مورد نظر |
size | اندازه تصویرSMALL, MEDIUM, LARG, ACTUAL |
quality | نسبت کیفیت (بین 0.0 تا 1.0) |
crop | برش با ابعاد ثبت شده در زمان آپلود |
password | کلمه عبور فایل |
دانلود تصویر شاخص (Thumbnail) فایل
از این متد برای دانلود تصویرشاخصِ یک فایل استفاده میشود.
http://podSpace.sakku-khatam.ir/Download
پارامترهای ورودی:
hash* | کد هش فایل (الزامی) |
password | کلمه عبور فایل |
جایگزینی فایل
از این متد برای آپلود و جایگزین کردن فایل با یک فایل موجود استفاده میشود.
نکته: هنگام جایگزین کردن فایل، اسم فایل جایگزین شده تغییر نمیکند و فقط محتویات تغییر میکند.
http://podSpace.sakku-khatam.ir/Upload
پارامترهای ورودی:
hash* | هش فایل موجود |
file* MultipartFile | فایل جهت آپلود |
uploadKey | کلید بارگذاری |
پاسخ نمونه درصورت موفقیتآمیز بودن:
دریافت کلید آپلود
از این متد برای دریافت کلید آپلود استفاده میشود.
-
شماره سرویس : 47567
پاسخ نمونه درصورت موفقیتآمیز بودن:
ابطال کلید آپلود
از این متد برای باطل کردن کلید آپلود استفاده میشود.
-
شماره سرویس : 2955380
پارامتر ورودی:
key | کلید آپلود |
پاسخ نمونه درصورت موفقیتآمیز بودن:
کسب و کار
درخواست اعطای مجوز آپلود در حساب کاربران توسط کسب و کار
-
شماره سرویس : 2955407
از این متد برای درخواست مجوز آپلود فایل توسط کسب و کار در حساب کاربران استفاده میشود. (این درخواست از طرف کسب وکار فراخوانی میشود.) هر کسب و کار تازه یک بار باید این مجوز را برای داشتن این قابلیت گرفته باشد.
پاسخ نمونه در صورت موفقیتآمیز بودن:
درخواست ایجاد کلید بارگذاری فایل
شماره سرویس : 2955547
از این متد برای ایجاد کلید بارگزاری فایل در حساب کاربر استفاده میشود. (این درخواست از طرف کاربر فراخوانی میشود.) در صورت محدود بودن کلید بارگزاری باید سه پارامتر دیگر وارد شود. برای به اشتراک گذاشتن کلید بارگزاری کسب و کار با یوز دیگر باید حتما کلید بارگزاری از نوع محدود باشد.
پارامترهای ورودی:
businessHash | توکن کسب و کار (که قبلا در هنگام درخواستِ دسترسی به کسب و کار داده شده است |
type | نوع کلید بارگزاری(محدود، غیر محدود) |
count | محدویدت تعداد بار آپلود |
expiration | محدودیت مدت زمان معتبر بودن کلید آپلود(epoch) |
size | محدودیت سایز آپلود برای هر فایل(بایت) |
پاسخ نمونه در صورت موفقیتآمیز بودن:
دریافت کلیدهای بارگذاری فعال
شماره سرویس : 2955572
از این متد برای دریافت کلید های بارگذاری فعال استفاده میشود.(این درخواست از طرف کسب و کار فراخوانی میشود.) با دادن شناسه کاربری فقط کلید های بارگزاری برای آن کاربر نمایش داده میشود. در صورتی که کلید بارگزاری پیدا نشد، لیست خالی بر میگرداند.
businessHash | توکن کسب و کار (که قبلا در هنگام درخواستِ دسترسی به کسب و کار داده شده است) |
userIdentity | شناسه کاربر |
پاسخ نمونه در صورت موفقیتآمیز بودن:
ابطال کردن کلید بارگذاری
-
شماره سرویس : 2955588
از این متد برای ابطال کلید بارگزاری فعال استفاده میشود. (این درخواست از طرف کسب و کار فراخوانی میشود.)
پارامترهای ورودی:
businessHash | توکن کسب و کار (که قبلا در هنگام درخواستِ دسترسی به کسب و کار داده شده است) |
businessUploadKey | کلید بارگزاری فعال |
پاسخ نمونه در صورت موفقیتآمیز بودن:
بررسی وجود فضای خالی برای بارگذاری
شماره سرویس : 2955609
از این متد برای بررسی وجود فضای کافی در حساب کاربر برای آپلود فایل استفاده میشود. (این درخواست از طرف کسب و کار فراخوانی میشود.)
پارامترهای ورودی:
uploadKey | کلید آپلود فایل توسط کسب و کار |
size | حجم مورد بررسی (بایت) |
پاسخ نمونه در صورت موفقیتآمیز بودن:
کدهای خطای سرویس
400 | INVALID_REQUEST | درخواست نامعتبر |
400 | INVALID_HASH_TYPE | هش نادرست |
400 | INVALID_DATA | داده ورودی نامعتبر |
400 | CANNOT_BOOKMARK_DELETED_ENTITY | نشان گذاری فایل حذف شده |
400 | INVALID_SSO_TYPE | مرکز sso نامعتبر |
400 | INVALID_REDIRECT_URI | آدرس بازگشت نامعتبر |
400 | INVALID_HASH | هش نامعتبر |
400 | INVALID_NAME | نام نامعتبر |
400 | INVALID_AUTHENTICATION_INFORMATION | اطلاعات کاربری نامعتبر |
400 | INVALID_SORT_PROPERTY | پارامتر مرتب سازی نامعتبر |
400 | LAST_FILE_VERSION | عدم امکان بازگشت به نسخه آخر |
400 | INVALID_EXPIRATION_DATE | تاریخ انقضای اشتباه |
400 | INVALID_DATE | تاریخ نامعتبر |
400 | INVALID_DATE_FORMAT | فرمت نامعتبر تاریخ |
400 | INVALID_DATE_FORMAT_YYMMDD | فرمت نامعتبر تاریخ |
400 | INVALID_DATE_INTERVAL | بازه تاریخی اشتباه |
400 | INVALID_PHONE_NUMBER | شماره موبایل اشتباه |
400 | INVALID_NATIONAL_CODE | فرمت اشتباه کد ملی |
400 | INVALID_PAGINATION_PARAM | پارامتر های صفحه بندی نامعتبر |
400 | INVALID_PAGINATION_SIZE | پارامتر size غیرمجاز |
400 | INVALID_FOLDER_DEPTH | عمق پوشه غیر مجاز |
400 | INVALID_FILTER_PARAMETER | پارامتر فیلتر نامعتبر |
400 | INVALID_FILE_SIZE | تعداد فایلهای بیش از حد مجاز |
400 | INVALID_FOLDERTREE_SIZE | اندازه بیش از حد درخت پوشه |
400 | INVALID_FOLDER_FORMAT | فرمت مسیر (directory) نادرست |
کپی یا انتقال غیرمجاز
400 | MOVE_INSIDE_ITS_OWN | انتقال پوشه داخل خودش |
400 | MOVE_INSIDE_ITS_SUBFOLDER | انتقال پوشه داخل پوشه های فرزند خودش |
400 | COPY_INSIDE_ITS_OWN | کپی پوشه درون خودش |
400 | COPY_INSIDE_ITS_SUBFOLDER | کپی پوشه داخل پوشه های فرزند خودش |
درخواست های نامعتبر
400 | DUPLICATE_NAME | نام تکراری در پوشه |
400 | ONLY_TRASHED_ENTITIES_CAN_BE_WIPED | عدم امکان حذف دائمی فایل های trash نشده |
400 | FILE_NOT_SENT | فایل ارسال نشده |
400 | ENTITY_BEEN_SHARED | اشتراک گذلری تکراری |
400 | INVALID_PLAN_ID | شناسه طرح نادرست |
400 | INVALID_PLAN_DATE | خرید طرح با زمان کمتر از طرح فعلی |
400 | INVALID_BILL_NUMBER | فاکتور کنسل شده |
400 | SSO_INVALID_REQUEST | کد تایید نامعتبر |
مربوط به فضای ذخیره سازی
402 | INSUFFICIENT_SPACE | عدم وجود فضای کافی |
402 | PAYMENT_REQUIRED | نیاز به خرید طرح |
دسترسی های غیرمجاز
403 | WRONG_PASSWORD | رمز نادرست |
403 | FORBIDDEN | دسترسی غیرمجاز |
403 | SHARE_FORBIDDEN | عدم دسترسی برای اشتراک گذلری |
پیدا نشدن منابع
404 | NOT_FOUND | عدم وجود درخواست |
404 | ENTITY_NOT_FOUND | عدم وجود فایل یا پوشه |
404 | FILE_NOT_FOUND | عدم وجود فایل |
404 | FOLDER_NOT_FOUND | عدم وجود پوشه |
404 | SHARE_NOT_FOUND | عدم وجود اشتراک گذاری |
404 | USERGROUP_NOT_FOUND | عدم وجود گروه کاربری |
404 | USER_NOT_FOUND | عدم وجود کاربر |
404 | DESTINATION_FOLDER_NOT_FOUND | عدم وجود پوشه مقصد |
404 | THUMBNAIL_NOT_FOUND | عدم وجود تصویر شاخص |
404 | PLAN_NOT_FOUND | عدم وجود طرح |
404 | BILL_NUMBER_NOT_FOUND | عدم وجود شناسه کسب و کاری فاکتور |
404 | AVATAR_NOT_FOUND | عدم وجود آواتار |
404 | METADATA_KEY_NOT_FOUND | عدم وجود کلید داده شده |
404 | METADATA_KEYS_NOT_FOUND | عدم وجود کلیدهای داده شده |
404 | NOT_FOUND_PLATFORM | عدم وجود پلتفرم |
404 | STREAMER_NOT_FOUND | عدم وجود استریمر فعال |
404 | BUSINESS_NOT_FOUND | عدم وجود کسب و کار |
404 | UPLOAD_KEY_NOT_FOUND | عدم وجود کلید آپلود |
404 | ENTITY_IS_REMOVED | فایل یا پوشه حذف شده |
غیرقابل پذیرش
406 | NAME_NOT_CHANGED | عدم تغیرنام |
406 | NOT_ACCEPTABLE | عدم قبول محتوای ارسالی |
406 | NOT_STREAMABLE | عدم امکانم استریم کردن فایل |
خطاهای دیگر
401 | UNAUTHORIZED | عدم دسترسی |
401 | INVALID_AUTHORIZATION_TYPE | نوع احراز هویت نامعتبر |
401 | USER_GROUP_OWNER_UNAUTHORIZED | عدم دسترسی به گروه کاربری |
401 | FILE_OWNER_UNAUTHORIZED | عدم دسترسی به فایل |
401 | UPLOAD_KEY_HAS_BEEN_DELETED | کلید حذف شده |
401 | UPLOAD_KEY_DOES_NOT_EXIST | عدم وجود کلید |
401 | UPLOAD_KEY_IS_NOT_VALID | کلید نامعتبر |
403 | BUSINESS_IS_NOT_CONFIRMED | کسب و کار تایید نشده |
403 | NON_BUSINESSES_CANT_REQUEST_ACCESS | عدم امکان درخواست برای کاربران غیرکسبو کار |
403 | Bulk_API_INVALID_BATCH_API | عدم پشتیبانی url از حالت batch |
413 | Bulk_API_PAYLOAD_TOO_LARGE | تعداد عملیات بیش از سقف مجاز |
409 | FILE_ALREADY_EXISTS | فایل قبلا ارسال شده |
409 | TEAM_ALREADY_EXIST | تیم قبلا ایجاد شده |
409 | BUSINESS_ACCESS_ALREADY_REQUESTED | درخواست دسترسی قبلا ارسال شده |
خطاهای داخلی
500 | UNKNOWN_ERROR | خطای ناشناخته |
501 | MUST_IMPLEMENT | پیاده سازی نشده |
502 | BAD_GATEWAY | عدم توانایی برقراری ارتباط |