نسخه چاپی

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

در جدول زیر خطاهای ممکن به همراه توضیحات آمده است.

reasonstatus codeerror
اطلاعات مورد نیاز به درستی ارسال نشده است. جزئیات خطا در فیلد error_description خروجی آمده است.400invalid_request
مقدار grant_type نامعتبر بوده یا پشتیبانی نمی‌شود.400unsupported_grant_type
مقدار code نامعتبر است.400invalid_grant
اطلاعات client نامعتبر است.401invalid_client


برای استفاده از API، سرور شما باید همراه هر درخواستی از API، پارامتر access_code را بفرستد:

https://pardakht.cafebazaar.ir/devapi/v2/api/<تابع مورد نظر و ورودی‌های آن>?access_token=<توکن دریافت شده در مرحلهٔ قبل>



همچنین می‌توانید  access_code را در سرآیند (header) درخواست با نام Authorization ارسال کنید. 
در صورتی که به هر دلیل، درخواست معتبر نباشد، پاسخی با کد وضعیت 40X و در قالب JSON دریافت خواهید کرد که دارای یک کلید error با محتوای خطای ایجاد شده‌ و کلید error_desciption با شرحی بیشتر درباره خطا است.

در جدول زیر خطاهای ممکن به همراه توضیحات آمده است.

reasonstatus codeerror_descriptionerror
تعداد درخواست‌ها از سقف روزانه فراتر رفته‌است.403Daily quota exceededquota_exceeded
مقدار access_token در پارامترهای درخواست یا header ارسال نشده‌است.401No access token was found in your requestinvalid_credentials
توکن ارسال شده معتبر نیست و شامل اطلاعات مورد نیاز نمی‌باشد.401Access token is not validinvalid_credentials
توکن منقضی شده است.401Access token has expiredinvalid_credentials
کاربر شما با این توکن به اپلیکیشن مورد نظر دسترسی ندارد.403You don't have access to this appinvalid_credentials
کاربر شما با این توکن به API مورد نظر دسترسی ندارد.403Invalid scopesinvalid_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 با محتوای خطای ایجاد شده‌.


بیشتر بخوانید:

به مطالب ارائه شده چه امتیازی می‌دهید؟
محل نوشتن دیدگاه ...

اگر در مورد محتوا نظر یا پیشنهادی دارید لطفا برای ما بنویسید.

زمان انتشار: ۱۴۰۰-۰۳-۲۸ ۱۵:۲۲

آخرین به‌روزرسانی: ۱۴۰۱-۰۵-۲۶ ۱۵:۰۲