مقدمه

سرویس اسپیس ، امکان استفاده‌ از بستر ابری پلتفرم پاد را برای مشتریان مهیا می‌سازد. این سرویس به صورت 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 بوده و دارای پارامترهای زیر می باشد

json

 

پارامترهای خروجی سرویس که مهم می باشد در بخش result به شرح زیر می باشد

html

 

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  

کلید بارگذاری

 

clasor

پاسخ نمونه درصورت موفقیت‌آمیز بودن:

json

 

 

آپلود تصویر بر اساس Base64

شماره سرویس : 2364934

پارامترهای ورودی

نام پارامتر

نوع

اجباری

توضیحات

scProductId

String

*

شماره سرویس

file

String

*

تصویر به صورت Base64

folderHash

String

*

Hash مسیر را مشخص می سازد. در صورتی که ارسال نشود مقدار پیش فرض ROOT تنظیم می شود

filename

String

*

نام فایل جهت ذخیره را مشخص می سازد. در صورتی که نام تکراری باشد با صورت Rename شده ذخیره می شود.

این مقدار در برگشت مشخص می شود

نمونه خروجی

json

 

 

دانلود تصویر

از این متد برای دانلود تصویر استفاده می­شود.

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

کلید بارگذاری

 پاسخ نمونه درصورت موفقیت‌آمیز بودن:

json

 

 

دریافت کلید آپلود

از این متد برای دریافت کلید آپلود استفاده می­شود.

  • شماره سرویس : 47567

پاسخ نمونه درصورت موفقیت‌آمیز بودن:

json

 

ابطال کلید آپلود

از این متد برای باطل کردن کلید آپلود استفاده می­شود.

  • شماره سرویس : 2955380

پارامتر ورودی:

key

کلید آپلود                             

 پاسخ نمونه درصورت موفقیت‌آمیز بودن:

json

 

کسب و کار

درخواست اعطای مجوز آپلود در حساب کاربران توسط کسب و کار

  • شماره سرویس : 2955407

از این متد  برای درخواست مجوز آپلود فایل توسط کسب و کار در حساب کاربران استفاده می­شود. (این درخواست از طرف کسب­ وکار فراخوانی می­شود.) هر کسب و کار تازه یک بار باید این مجوز را برای داشتن این قابلیت گرفته باشد.

 پاسخ نمونه در صورت موفقیت‌آمیز بودن:

json

 

 

 

درخواست ایجاد کلید بارگذاری فایل

شماره سرویس : 2955547

از این متد برای ایجاد کلید بارگزاری فایل در حساب کاربر استفاده می­شود. (این درخواست از طرف کاربر فراخوانی می­شود.) در صورت محدود بودن کلید بارگزاری باید سه پارامتر دیگر وارد شود. برای به اشتراک گذاشتن کلید بارگزاری کسب و کار با یوز دیگر باید حتما کلید بارگزاری از نوع محدود باشد.

پارامترهای ورودی:

 businessHash

 توکن کسب و کار (که قبلا در هنگام درخواستِ دسترسی به کسب و کار داده شده است

type 

نوع کلید بارگزاری(محدود، غیر محدود)

count

محدویدت تعداد بار آپلود

expiration

محدودیت مدت زمان معتبر بودن کلید آپلود(epoch)

size

محدودیت سایز آپلود برای هر فایل(بایت)

پاسخ نمونه در صورت موفقیت‌آمیز بودن:

json

 

 

 

دریافت کلیدهای بارگذاری فعال

شماره سرویس : 2955572

از این متد برای دریافت کلید های بارگذاری فعال استفاده می­شود.(این درخواست از طرف کسب و کار فراخوانی می­شود.) با دادن شناسه کاربری فقط کلید های بارگزاری برای آن کاربر نمایش داده میشود. در صورتی که کلید بارگزاری پیدا نشد، لیست خالی بر میگرداند.

 businessHash 

 توکن کسب و کار (که قبلا در هنگام درخواستِ دسترسی به کسب و کار داده شده است)

userIdentity

شناسه کاربر

پاسخ نمونه در صورت موفقیت‌آمیز بودن:

json

 

 

 

 

ابطال کردن کلید بارگذاری

  • شماره سرویس : 2955588

از این متد برای ابطال کلید بارگزاری فعال استفاده می­شود. (این درخواست از طرف کسب و کار فراخوانی می­شود.)

پارامترهای ورودی:

businessHash 

 توکن کسب و کار (که قبلا در هنگام درخواستِ دسترسی به کسب و کار داده شده است)

businessUploadKey 

کلید بارگزاری فعال

پاسخ نمونه در صورت موفقیت‌آمیز بودن:

json

 

 

 

بررسی وجود فضای خالی برای بارگذاری

شماره سرویس : 2955609

از این متد برای بررسی وجود فضای کافی در حساب کاربر برای آپلود فایل استفاده می­شود. (این درخواست از طرف کسب و کار فراخوانی می­شود.)

پارامترهای ورودی:

uploadKey

کلید آپلود فایل توسط کسب و کار

size

حجم مورد بررسی (بایت)

 پاسخ نمونه در صورت موفقیت‌آمیز بودن:

json

 

 

کدهای خطای سرویس

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

عدم توانایی برقراری ارتباط

Clasor npm package version 2.1.4
به پادیوم قدرت داده اند:
pasargad
fanap
pod