آدرس و قالب درخواست
آدرس API مدیریت، https://gateway.abrbit.com است؛ مسیرهای مستندشده پیشوند /api/v1/ را دارند و انتقال از HTTPS انجام میشود.
برای بدنهٔ JSON، سربرگ Content-Type: application/json بفرستید؛ اسلش انتهای هر مسیر را مطابق مرجع حفظ کنید.
شکل پاسخ
پاسخ همهٔ مسیرها یکسان نیست؛ مرجع هر عملیات را مبنا قرار دهید.
- پاسخ یک شیء، معمولاً خود شیء است.
- پاسخ فهرستهای این انتشار، پوشش
objectsوmetaدارد. - پاسخ حذف توکن، با وضعیت
204و بدون بدنه است. - پاسخ حذف پروژه یا باکت، رشتهٔ JSON برابر
"deleted"است.
فهرست خالی ممکن است objects: null داشته باشد؛ در سمت برنامه، این حالت و آرایهٔ خالی را مدیریت کنید.
صفحهبندی
فهرست پروژه، توکن، باکت و کلیدهای باکت در این انتشار صفحهبندی ندارند؛ مقدار meta.count در این مسیرها نباید بهعنوان تعداد واقعی نتایج استفاده شود.
برخی سرویسهای دیگر از offset و limit استفاده میکنند و برخی مسیرهای فایل از نشانگر ادامه استفاده میکنند؛ پشتیبانی از page یا قرارداد یکسان صفحهبندی را برای همهٔ سرویسها فرض نکنید.
وضعیت و متن خطا
برای عیبیابی با ابزار curl، گزینهٔ --fail-with-body بدنهٔ خطای HTTP را حفظ میکند و خروج غیرصفر میدهد؛ با گزینهٔ --include میتوانید سربرگ و وضعیت را نیز ببینید.
| وضعیت | اقدام پیشنهادی |
|---|---|
خطای 400 | بدنه، نوع فیلدها و پیشنیاز عملیات را بررسی کنید؛ بعضی مسیرهای قدیمی خطای عملیاتی را نیز با همین وضعیت برمیگردانند. |
خطای 401 | وجود توکن، کامل بودن آن، پیشوند مناسب و باطل نشدن توکن را بررسی کنید. |
خطای 403 | عضویت، نقش، فعال بودن حساب و تأیید شماره را مطابق پیشنیاز عملیات بررسی کنید. |
خطای 404 | مسیر و شناسه را بررسی کنید؛ منبع ناموجود یا غیرقابلدسترسی میتواند همین پاسخ را داشته باشد. |
خطای 409 | وضعیت منبع با عملیات سازگار نیست؛ مانند حذف باکت غیرخالی یا پروژهٔ دارای منابع. |
خطای 5xx | پاسخ و وضعیت منبع را بررسی کنید و در صورت تکرار با پشتیبانی تماس بگیرید. |
بدنهٔ خطا ممکن است {"message":"..."} یا {"error":"..."} باشد؛ برخی خطاهای احراز هویت نیز بدنه ندارند، بنابراین فقط به JSON بودن پاسخ تکیه نکنید.
متن خطا برای نمایش و راهنمایی است؛ آن را شناسهٔ ثابت قابل اتکا برای منطق برنامه فرض نکنید و توکن یا کلید را همراه گزارش خطا نفرستید.
تلاش مجدد و عملیات غیرهمزمان
درخواستهای ساخت و تغییر منبع تضمین عمومی برای تکرار امن یا پشتیبانی سراسری از Idempotency-Key ندارند؛ پس از قطع اتصال، ابتدا وضعیت یا فهرست منابع را بررسی کنید.
برای خواندن اطلاعات، در خطای موقت با فاصلهٔ افزایشی و تعداد محدود دوباره تلاش کنید؛ خطای اعتبارسنجی یا دسترسی با تکرار خودکار رفع نمیشود.
پاسخ پذیرفتهشدن یک عملیات غیرهمزمان، پایان عملیات نیست؛ وضعیت منبع یا مسیر پیگیری همان سرویس را تا وضعیت نهایی بررسی کنید و عملیات ایجاد را دوباره نفرستید.
هزینه و واحدها
مبالغ مالی ابربیت بر حسب تومان با کد IRT هستند؛ قیمت و دورهٔ محاسبه را از پاسخ سرویس و تعرفهٔ جاری کنسول بگیرید و قیمت را در برنامه ثابت نکنید.
ظرفیت باکت بر حسب GiB و اندازهٔ فایل بر حسب بایت است؛ ایجاد منبع یا انتقال داده میتواند هزینه داشته باشد و حذف منبع نیز به معنی حذف سوابق مالی نیست.