نسخه چاپی
راهاندازی API
مراحل راه اندازی API
برای راه اندازی API ابتدا باید یک Client
ایجاد کنید. هر Client
شامل اطلاعاتی است که از طرف بازار برای شناختهشدن یک کاربر API لازم است. برای ساخت Client
به پیشخان بازار مراجعه نمایید و از منو تنظیمات، قسمت API توسعهدهندگان روی گزینه کلاینت جدید کلیک کنید.
در پنجرهٔ باز شده، مقدار مورد نظر خود برای Redirect URI
را وارد کنید. این آدرس، مشخص میکند که بازار در پاسخ به درخواست اولیه شما برای دریافت Authorization Code
، باید پاسخ را به چه آدرسی بفرستد. شما میتوانید این آدرس را به جایی در سرور خود مقدار دهی کنید تا بازار به صورت خودکار شما رو به آن هدایت کند یا این آدرس را یک مقدار دلخواه گذاشته و مراحل زیر را به صورت دستی انجام دهید.
به آدرس زیر بروید:
https://pardakht.cafebazaar.ir/devapi/v2/auth/authorize/?response_type=code&access_type=offline&redirect_uri=&client_id=
دقت کنید که در جای خالی باید مقادیر مربوط به Client را که در مرحله قبلی ساختهاید وارد کنید
در صورتی که اطلاعات وارد شده صحیح باشند، صفحهی باز شده از شما درخواست تایید اجازه میکند. روی تأیید کلیک کنید.
مرورگر، شما را به آدرسی که به عنوان Redirect URI
وارد کردهاید، هدایت خواهد کرد. همراه با این آدرس، پارامتر code
فرستاده میشود، که مقدار آن شبیه به affAKBEs80Yz1AjHXtoKHZnWj1UItfnKwp1b5FRg
خواهد بود.
با ارسال درخواستی از نوع POST
به آدرس
https://pardakht.cafebazaar.ir/devapi/v2/auth/token/
با این فیلدها
grant_type=authorization_code
code=<کد دریافت شده در مرحلهٔ قبل>
client_id=<شناسهٔ مشخص شده در پنل توسعهدهندگان>
client_secret=<عبارت رمز مشخص شده در پنل توسعهدهندگان>
redirect_uri=<آدرس مشخص شده در پنل توسعهدهندگان>
میتوانید access_code و refresh_code را دریافت کنید.
پاسخ موفق این درخواست در قالب JSON و به صورت زیر خواهد بود:
{
"access_token": "GWObRK06KHLr8pCQzDXJ9hcDdSC3eV",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "yBC4br1l6OCNWnahJvreOchIZ9B6ze",
"scope": "androidpublisher"
}
در صورت بروز خطا، پاسخی با کد وضعیت 40X و در قالب JSON دریافت خواهید کرد که دارای یک کلید error با محتوای خطای ایجاد شدهاست.
در جدول زیر خطاهای ممکن به همراه توضیحات آمده است.
reason | status code | error |
اطلاعات مورد نیاز به درستی ارسال نشده است. جزئیات خطا در فیلد error_description خروجی آمده است. | 400 | invalid_request |
مقدار grant_type نامعتبر بوده یا پشتیبانی نمیشود. | 400 | unsupported_grant_type |
مقدار code نامعتبر است. | 400 | invalid_grant |
اطلاعات client نامعتبر است. | 401 | invalid_client |
برای استفاده از API، سرور شما باید همراه هر درخواستی از API، پارامتر access_code را بفرستد:
https://pardakht.cafebazaar.ir/devapi/v2/api/<تابع مورد نظر و ورودیهای آن>?access_token=<توکن دریافت شده در مرحلهٔ قبل>
همچنین میتوانید access_code را در سرآیند (header) درخواست با نام Authorization ارسال کنید.
در صورتی که به هر دلیل، درخواست معتبر نباشد، پاسخی با کد وضعیت 40X و در قالب JSON دریافت خواهید کرد که دارای یک کلید error با محتوای خطای ایجاد شده و کلید error_desciption با شرحی بیشتر درباره خطا است.
در جدول زیر خطاهای ممکن به همراه توضیحات آمده است.
reason | status code | error_description | error |
تعداد درخواستها از سقف روزانه فراتر رفتهاست. | 403 | Daily quota exceeded | quota_exceeded |
مقدار access_token در پارامترهای درخواست یا header ارسال نشدهاست. | 401 | No access token was found in your request | invalid_credentials |
توکن ارسال شده معتبر نیست و شامل اطلاعات مورد نیاز نمیباشد. | 401 | Access token is not valid | invalid_credentials |
توکن منقضی شده است. | 401 | Access token has expired | invalid_credentials |
کاربر شما با این توکن به اپلیکیشن مورد نظر دسترسی ندارد. | 403 | You don't have access to this app | invalid_credentials |
کاربر شما با این توکن به API مورد نظر دسترسی ندارد. | 403 | Invalid scopes | invalid_credentials |
هر access_code تنها برای مدت محدودی معتبر است. پس از انقضای هر access_code سرور شما میتواند با استفاده از refresh_code دریافتی در مرحلهٔ قبل، access_code جدیدی درخواست کند. برای این کار درخواستی از نوع POST به آدرس
https://pardakht.cafebazaar.ir/devapi/v2/auth/token/
با این فیلدها
grant_type=refresh_token
client_id=<شناسهٔ مشخص شده در پنل توسعهدهندگان>
client_secret=<عبارت رمز مشخص شده در پنل توسعهدهندگان>
refresh_token=<توکن دریافتی در مرحلهٔ ۶>
بفرستید. پاسخ موفق این درخواست در قالب JSON و به صورت زیر خواهد بود:
{
"access_token": "uX5qC82EGWjkjjeyvTzTufHOM9HZfM",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "androidpublisher"
}
به این صورت، بدون نیاز به ورود به حساب بازار، سرور شما میتواند به API توسعهدهندگان به صورت پیوسته دسترسی داشته باشد.
در صورت بروز خطا، پاسخی با کد وضعیت 40X و در قالب JSON دریافت خواهید کرد که دارای یک کلید error با محتوای خطای ایجاد شده.
بیشتر بخوانید:
به مطالب ارائه شده چه امتیازی میدهید؟
محل نوشتن دیدگاه ...
اگر در مورد محتوا نظر یا پیشنهادی دارید لطفا برای ما بنویسید.
زمان انتشار: ۱۴۰۰-۰۳-۲۸ ۱۵:۲۲
آخرین بهروزرسانی: ۱۴۰۱-۰۵-۲۶ ۱۵:۰۲