نسخه دوم API توسعه‌دهنده

راه‌اندازی

برای استفاده از API، این مراحل را انجام دهید:

۱. برای استفاده از API ابتدا باید یک Client ایجاد کنید. هر Client شامل اطلاعاتی است که از طرف کافه‌بازار برای شناخته‌شدن یک کاربر API لازم است. برای ساخت Client به پنل پرداخت بازار مراجعه نمایید و روی گزینهٔ Client جدید کلیک کنید.

۲. در پنجرهٔ باز شده، مقدار مورد نظر خود برای Redirect URI را وارد کنید. این آدرس، مشخص می‌کند که کافه‌بازار در پاسخ به درخواست اولیه شما برای دریافت Authorization Code، باید پاسخ را به چه آدرسی بفرستد. شما می‌توانید این آدرس را به جایی در سرور خود مقدار دهی کنید تا کافه‌بازار به صورت خودکار شما رو به آن هدایت کند یا این آدرس را یک مقدار دلخواه گذاشته و مراحل زیر را به صورت دستی انجام دهید.

  1. ۳. به آدرس زیر بروید:

    https://pardakht.cafebazaar.ir/devapi/v2/auth/authorize/?response_type=code&access_type=offline&redirect_uri=<REDIRECT_URI>&client_id=<CLIENT_ID>
    

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

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

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

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

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