نسخه چاپی
فهرست مطالب

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

دریافت توکن در پیشخان بازار

برای استفاده از API پیشخان بازار ابتدا باید برای هر برنامه یک توکن دریافت کنید. برای دریافت توکن مراحل زیر را طی کنید:

  1. وارد پیشخان بازار شوید و روی برنامه‌ی خود کلیک کنید.
  2. از منوی سمت راست صفحه، روی گزینه‌ی API پیشخان بازار کلیک کنید.
  3. با کلیک روی گزینه‌ی «دریافت توکن جدید» در پیشخان می‌توانید برای برنامه‌ی خود توکن دریافت کنید.
  4. در این صفحه همچنین می‌توانید توکن پیشین خود را حذف کنید.

پیشخان بازار
پیشخان بازار

نکته: توجه داشته باشید که هر توکن دریافتی، مختص همان برنامه است. 

توکن دریافتی باید در هدر درخواست‌ها (Requests) با کلید CAFEBAZAAR-PISHKHAN-API-SECRET ارسال شود.

api-key

API KeySecurity Scheme Type
CAFEBAZAAR-PISHKHAN-API-SECRETHeader Parameter name

API پیشخان توسعه‌دهندگان بازار اکنون از چندین امکان مختلف، ازجمله «ایجاد رهانش»، «حذف رهانش»، «افزودن بسته به رهانش» و «ارسال درخواست برای بررسی رهانش» پشتیبانی می‌کند و به مرور قابلیت‌های دیگری نیز به آن افزوده می‌شود. شما نیز می‌‌توانید قابلیت‌های مورد نظر خود برای API پیشخان را درخواست بدهید. در ادامه، با هرکدام از امکانات API پیشخان بیشتر آشنا می‌شوید:

۱. ایجاد رهانش


درخواست‌ها:

با استفاده از این درخواست می‌توانید رهانش جدید ایجاد کنید:

https://api.pishkhan.cafebazaar.ir/v1/apps/releases/URL
POSTRequest type
api-keyAUTHORIZATIONS
application/jsonResponse type

پاسخ‌ها:

۲۰۱: درصورتی‌که رهانش با موفقیت ایجاد شود، این پاسخ ارسال می‌شود.

نمونه پاسخ:

{
  "type": "success",
  "message": "New Release successfully created.",
  "release": {
    "creation_date": "2021-07-18T16:24:25.944528",
    "packages": [
      {
        "apk_size": 8801,
        "sha1_hash": "CeFHTFKdmozjAcDUPGFIVlZqaBBcVDhpETDrErZV",
        "version_code": 0,
        "version_name": "XoTcPhBfKQFLDigPJSwVMfuNdDZtTnJhSAJCimJCFjzPcduiZxaPHPErZteLaXJ",
        "api_level": 0,
        "target_api_level": 718,
        "upload_date": "2021-07-18",
        "cpu_architectures": "",
        "dpi": 1,
        "locale": "en",
        "additional_files": []
      }
    ],
    "auto_publish": false,
    "staged_rollout_percentage": 100,
    "changelog_fa": "",
    "changelog_en": ""
  }
}

Success - این پیام متناسب با نوع پاسخ استstringtype
New Release successfully created - این پیام متناسب با نوع پاسخ استstringmessage
تاریخ ایجاد رهانشstringcreation_date
لیست بسته‌های بارگذاری شده در رهانش (زمان ایجاد رهانش این فیلد خالی است)listpackages
انتشار خودکار رهانش boolauto_publish
درصد رهانش تدریجی (زمان ایجاد رهانش این درصد روی ۱۰۰ تنظیم شده است. اگر شرایط استفاده از رهانش تدریجی را دارید، می‌توانید زمان ارسال درخواست انتشار، مقدار آن را تنظیم کنید.)intstaged_rollout_percentage
توضیحات فارسی برای رهانش (زمان ایجاد رهانش این فیلد خالی است. زمان ارسال درخواست انتشار، می‌توانید مقدار این فیلد را تعیین کنید.)stringchangelog_fa
توضیحات انگلیسی برای رهانش (زمان ایجاد رهانش این فیلد خالی است. زمان ارسال درخواست انتشار می‌توانید مقدار این فیلد را تعیین کنید.)stringchangelog_en

۴۰۰: در حالتی که درخواست ارسالی به سیستم نامعتبر باشد، این پاسخ ارسال می‌شود. برای بررسی دلیل رد‌شدن درخواست به پیام ارسالی مراجعه کنید.

نمونه پاسخ:

{
  "type": "bad_request",
  "message": "There is not an uncommitted release."
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۰۳: درصورتی‌که توکن در هدر درخواست ارسال نشود یا توکن ارسالی نامعتبر باشد، این پاسخ ارسال می‌شود:

نمونه پاسخ:

{
  "type": "access_forbidden",
  "message": "You do not have permission to perform this action."
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۲۹: درصورتی‌که تعداد درخواست‌ها به اندپوینت در یک بازه زمانی کوتاه زیاد باشد، این پاسخ ارسال می شود:

نمونه پاسخ:

{
  "type": "too_many_requests",
  "message": "Too many requests"
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۲. حذف رهانش

درخواست‌ها:

با این درخواست می‌توانید رهانش ایجاد‌شده‌ای که هنوز برای آن درخواست بررسی ارسال نشده را حذف کنید:

https://api.pishkhan.cafebazaar.ir/v1/apps/releases/URL 
DELETERequest type
api-keyAUTHORIZATIONS 
application/jsonResponse type

پاسخ‌ها:

۲۰۰: درصورتی‌که توکن در هدر درخواست ارسال نشود یا توکن ارسالی نامعتبر باشد، این پاسخ ارسال می‌شود:

{
  "type": "success",
  "message": "Release successfully deleted."
}

نمونه پاسخ:

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۰۰: در حالتی که درخواست ارسالی به سیستم نامعتبر باشد، این پاسخ ارسال می شود. برای بررسی دلیل رد‌شدن درخواست به پیام ارسالی مراجعه کنید.

نمونه پاسخ:

{
  "type": "bad_request",
  "message": "There is not an uncommitted release."
}
این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۰۳: درصورتی‌که توکن در هدر درخواست ارسال نشود یا توکن ارسالی نامعتبر باشد، این پاسخ ارسال می‌شود.

نمونه پاسخ:

{
  "type": "access_forbidden",
  "message": "You do not have permission to perform this action."
}
این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۲۹: درصورتی‌که تعداد درخواست‌ها به اندپوینت در یک بازه زمانی کوتاه زیاد باشد، این پاسخ ارسال می شود:

نمونه پاسخ:

{
  "type": "too_many_requests",
  "message": "Too many requests"
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۳. افزودن بسته

درخواست‌ها:

با این درخواست می‌توانید به رهانش ایجادشده بسته اضافه کنید.

https://api.pishkhan.cafebazaar.ir/v1/apps/releases/uploadURL
POSTRequest type
api-keyAUTHORIZATIONS
multipart/form-dataREQUEST BODY SCHEMA
application/jsonResponse type

نمونه درخواست:

{
  "architecture": "all",
  "apk": "<apk file>"
}

نوع معماری پردازنده برای بسته را مشخص کنید.
Enum: "all" "armeabi-v7a" "arm64-v8a"
architecture
stringarchitecture
فایل ‌apk<string<binaryapk 

پاسخ‌ها:

۲۰۰: درصورتی‌که درخواست بررسی با موفقیت ایجاد شود، این پاسخ ارسال می‌شود:

نمونه پاسخ:

{
  "type": "success",
  "message": "Package successfully added to release.",
  "package": {
    "apk_size": 1227887,
    "sha1_hash": "5920f830cc5867d6f7304d70383f1337dab0822e",
    "version_code": 1,
    "version_name": "1.0",
    "api_level": 25,
    "target_api_level": 27,
    "upload_date": "2021-07-18",
    "cpu_architectures": "",
    "dpi": 1,
    "locale": "en",
    "additional_files": []
  }
}

این پیام متناسب با نوع پاسخ است - Successstringtype
این پیام متناسب با نوع پاسخ است - Package successfully added to releasestringmessage
حجم بستهintapk_size
stringsha1_hash
شماره نسخه بستهintversion_code
نام نسخه بستهstringversion_name
Api level بستهintapi_level
Target api level بستهinttarget_api_level
تاریخ بارگذاری بستهstringupload_date
معماری پردازنده متناسب با بستهstringcpu_architectures
فایل‌های پیوست بسته (در این نسخه از api امکان بارگذاری فایل‌‌های پیوست وجود ندارد. برای بارگذاری فایل‌های پیوست می‌توانید پیش از ارسال درخواست انتشار به بخش رهانش‌های پیشخان بازار مراجعه و فایل‌های پیوست را مطابق راهنمای آن بارگذاری کنید.)listadditional_files

۴۰۰: در حالتی که درخواست ارسالی به سیستم نامعتبر باشد، این پاسخ ارسال می شود. برای بررسی دلیل رد‌شدن درخواست به پیام ارسالی مراجعه کنید.

نمونه پاسخ:

{
  "type": "bad_request",
  "message": "There is not an uncommitted release."
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۰۳: درصورتی‌که توکن در هدر درخواست ارسال نشود یا توکن ارسالی نامعتبر باشد، این پاسخ ارسال می‌شود:

نمونه پاسخ:

{
  "type": "access_forbidden",
  "message": "You do not have permission to perform this action."
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۲۹: در صورتی‌ که تعداد درخواست‌ها به اندپوینت در یک بازه زمانی کوتاه زیاد باشد، این پاسخ ارسال می شود:

نمونه پاسخ:

{
  "type": "too_many_requests",
  "message": "Too many requests"
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴. درخواست بررسی

درخواست‌ها

با این درخواست می‌توانید رهانش ایجاد شده را برای بررسی ارسال کنید (درخواست انتشار بدهید):

https://api.pishkhan.cafebazaar.ir/v1/apps/releases/commitURL 
POSTRequest type
api-keyAUTHORIZATIONS
application/jsonREQUEST BODY SCHEMA
application/jsonResponse type

نمونه درخواست:

{
  "changelog_en": "cool new things added",
  "changelog_fa": "چیزهای باحال جدید اضافه شد",
  "developer_note": "Fixes #1",
  "staged_rollout_percentage": 10
  "auto_publish": true
}

درصد رهانش تدریجی (زمان ایجاد رهانش این درصد روی ۱۰۰ تنظیم شده است. اگر شرایط استفاده از رهانش تدریجی را دارید، می‌توانید زمان ارسال درخواست انتشار، مقدار آن را تنظیم کنید.)intstaged_rollout_percentage
توضیحات فارسی برای رهانشstringchangelog_fa
توضیحات انگلیسی برای رهانشstringchangelog_en
یادداشت توسعه‌دهنده برای تیم بررسیstringdeveloper_note
فعال یا غیرفعال‌کردن انتشار خودکار رهانشboolauto_publish

نکته: درصورتی‌که متغیر auto_publish برابر با true باشد، برنامه پس از تأیید درخواست بررسی به‌صورت خودکار در بازار منتشر خواهد شد. اما اگر متغیر auto_publish برابر با false باشد، پس از تأیید درخواست بررسی باید به قسمت رهانش برنامه در پیشخان مراجعه و با کلیک روی گزینه‌ی «انتشار رهانش» برنامه را منتشر کنید.

پاسخ‌ها:

۲۰۰: درصورتی‌که درخواست بررسی با موفقیت ایجاد شود، این پاسخ ارسال می‌شود:

نمونه پاسخ:

{
  "type": "success",
  "message": "Release successfully committed.",
  "release": {
    "id": 159,
    "release_state": "Active",
    "creation_date": "2021-07-18T16:24:20.868758",
    "committed": true,
    "packages": [
      {
        "apk_size": 8801,
        "sha1_hash": "CeFHTFKdmozjAcDUPGFIVlZqaBBcVDhpETDrErZV",
        "version_code": 0,
        "version_name": "XoTcPhBfKQFLDigPJSwVMfuNdDZtTnJhSAJCimJCFjzPcduiZxaPHPErZteLaXJ",
        "api_level": 0,
        "target_api_level": 718,
        "upload_date": "2021-07-18",
        "cpu_architectures": "",
        "dpi": 1,
        "locale": "en",
        "additional_files": []
      }
    ],
    "auto_publish": false,
    "staged_rollout_percentage": 10,
    "changelog_fa": "چیزهای باحال جدید اضافه شد",
    "changelog_en": "cool new things added"
  }
}

Success - این پیام متناسب با نوع پاسخ استstringtype
Release successfully committed. - این پیام متناسب با نوع پاسخ استstringmessage
تاریخ ایجاد رهانشstringcreation_date
لیست بسته‌های بارگذاری‌شده در رهانشlistpackages
انتشار خودکار رهانش boolauto_publish
درصد رهانش تدریجی intstaged_rollout_percentage
توضیحات فارسی برای رهانش stringchangelog_fa
توضیحات انگلیسی برای رهانش stringchangelog_en

۴۰۰: در حالتی که درخواست ارسالی به سیستم نامعتبر باشد، این پاسخ ارسال می شود. برای بررسی دلیل رد‌شدن درخواست به پیام ارسالی مراجعه کنید.

نمونه پاسخ:

{
  "type": "bad_request",
  "message": "There is not an uncommitted release."
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۰۳: درصورتی‌که توکن در هدر درخواست ارسال نشود یا توکن ارسالی نامعتبر باشد، این پاسخ ارسال می‌شود:

نمونه پاسخ:

{
  "type": "access_forbidden",
  "message": "You do not have permission to perform this action."
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۴۲۹: درصورتی‌که تعداد درخواست‌ها به اندپوینت در یک بازه زمانی کوتاه زیاد باشد، این پاسخ ارسال می شود:

نمونه پاسخ:

{
  "type": "too_many_requests",
  "message": "Too many requests"
}

این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage

۵. دریافت آخرین رهانش کامیت‌شده

با این درخواست می‌توانید آخرین رهانش کامیت‌شده (Committed) را دریافت کنید:

https://api.pishkhan.cafebazaar.ir/v1/apps/releases/last-committedURL
GETRequest type
api-keyAUTHORIZATIONS
application/jsonResponse type

پاسخ‌ها:

۲۰۰: درصورتی‌که در لیست رهانش‌ها رهانش کامیت‌شده وجود داشته باشد، اطلاعات این رهانش در پاسخ ارسال می‌شود. در این حالت کلید type در پاسخ ارسالی success خواهد بود.

درصورتی‌که در لیست رهانش‌ها، رهانش کامیت‌شده‌ای وجود نداشته باشد، در پاسخ کلید type برابر not-exists خواهد بود.

نمونه پاسخ:

{
  "type": "success",
  "message": "Last committed release successfully retrived.",
  "release": {
    "creation_date": "2021-10-08T12:28:26.504947",
    "packages": [
      {
        "additional_files": [],
        "apk_size": 3164,
        "sha1_hash": "AXzmIPJbUSrAAgmJFQyWVXIKHOQLDORunKUwRrAM",
        "version_code": 3,
        "version_name": "IdkQXoiuziwIVGDnLfOAIqrvXmOSWMYoqpvpzVedXQjhpSmCCXvuUbixAXJhnON",
        "api_level": 0,
        "target_api_level": 4036,
        "upload_date": "2021-10-09",
        "cpu_architectures": "",
        "dpi": 1,
        "locale": "en"
      }
    ],
    "auto_publish": false,
    "staged_rollout_percentage": 100,
    "changelog_fa": null,
    "changelog_en": ""
  }
}

Success - این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage
تاریخ ایجاد رهانشstringcreation_date
لیست بسته‌های بارگذاری‌شده در رهانشlistpackages
حجم بستهintapk_size
stringsha1_hash
شماره نسخه بستهintversion_code
نام نسخه بستهstringversion_name
Api level بستهintapi_level
Target api level بستهinttarget_api_level
تاریخ بارگذاری بستهstringupload_date
معماری پردازنده متناسب با بستهstringcpu_architectures
فایل‌های پیوست بسته (در این نسخه از api امکان بارگذاری فایل‌‌های پیوست وجود ندارد. برای بارگذاری فایل‌های پیوست می‌توانید پیش از ارسال درخواست انتشار به بخش رهانش‌های پیشخان بازار مراجعه و فایل‌های پیوست را مطابق راهنمای آن بارگذاری کنید.)listadditional_files
انتشار خودکار رهانش (در این نسخه از api امکان فعال‌کردن انتشار خودکار وجود ندارد)boolauto_publish
درصد رهانش تدریجی intstaged_rollout_percentage
توضیحات فارسی برای رهانشstringchangelog_fa
توضیحات انگلیسی برای رهانشstringchangelog_en

۶. دریافت آخرین رهانش کامیت‌نشده

با این درخواست می توانید آخرین رهانش کامیت‌نشده  (uncommitted) را دریافت کنید:

https://api.pishkhan.cafebazaar.ir/v1/apps/releases/last-uncommittedURL
GETRequest type
api-keyAUTHORIZATIONS
application/jsonResponse type

پاسخ‌ها:

۲۰۰: درصورتی‌که در لیست رهانش‌ها، رهانش کامیت‌شده وجود داشته باشد، اطلاعات این رهانش در پاسخ ارسال می‌شود‌. دراین حالت کلید type در پاسخ ارسالی success خواهد بود.

درصورتی‌که در لیست رهانش‌ها، رهانش کامیت‌شده وجود نداشته باشد، در پاسخ کلید type برابر not-exists خواهد بود.

نمونه پاسخ:

{
  "type": "success",
  "message": "Last uncommitted release successfully retrived.",
  "release": {
    "creation_date": "2021-10-08T12:28:26.504947",
    "packages": [
      {
        "additional_files": [],
        "apk_size": 3164,
        "sha1_hash": "AXzmIPJbUSrAAgmJFQyWVXIKHOQLDORunKUwRrAM",
        "version_code": 3,
        "version_name": "IdkQXoiuziwIVGDnLfOAIqrvXmOSWMYoqpvpzVedXQjhpSmCCXvuUbixAXJhnON",
        "api_level": 0,
        "target_api_level": 4036,
        "upload_date": "2021-10-09",
        "cpu_architectures": "",
        "dpi": 1,
        "locale": "en"
      }
    ],
    "auto_publish": false,
    "staged_rollout_percentage": 100,
    "changelog_fa": null,
    "changelog_en": ""
  }
}

Success - این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage
تاریخ ایجاد رهانشstringcreation_date
لیست بسته‌های بارگذاری شده در رهانشlistpackages
حجم بستهintapk_size
stringsha1_hash
شماره نسخه بستهintversion_code
نام نسخه بستهstringversion_name
Api level بستهintapi_level
Target api level بستهinttarget_api_level
تاریخ بارگذاری بستهstringupload_date
معماری پردازنده متناسب با بستهstringcpu_architectures
فایل‌های پیوست بسته (در این نسخه از api امکان بارگذاری فایل‌‌های پیوست وجود ندارد. برای بارگذاری فایل‌های پیوست می‌توانید پیش از ارسال درخواست انتشار به بخش رهانش‌های پیشخان بازار مراجعه و فایل‌های پیوست را مطابق راهنمای آن بارگذاری کنید.)listadditional_files
انتشار خودکار رهانش boolauto_publish
درصد رهانش تدریجی intstaged_rollout_percentage
توضیحات فارسی برای رهانشstringchangelog_fa
توضیحات انگلیسی برای رهانشstringchangelog_en

۷. دریافت آخرین رهانش منتشر‌شده

با این درخواست می‌توانید آخرین رهانش منتشرشده (published) را دریافت کنید:

https://api.pishkhan.cafebazaar.ir/v1/apps/releases/last-publishedURL
GETRequest type
api-keyAUTHORIZATIONS
application/jsonResponse type 

پاسخ‌ها:

۲۰۰: درصورتی‌که در لیست رهانش‌ها رهانش کامیت‌شده وجود داشته باشد، اطلاعات این رهانش در پاسخ ارسال می‌شود. در این حالت کلید type در پاسخ ارسالی success خواهد بود.

درصورتی‌که در لیست رهانش‌ها رهانش کامیت‌شده وجود نداشته باشد در پاسخ کلید type برابر not-exists خواهد بود.

نمونه پاسخ:

{
  "type": "success",
  "message": "Last published release successfully retrived.",
  "release": {
    "creation_date": "2021-10-08T12:28:26.504947",
    "packages": [
      {
        "additional_files": [],
        "apk_size": 3164,
        "sha1_hash": "AXzmIPJbUSrAAgmJFQyWVXIKHOQLDORunKUwRrAM",
        "version_code": 3,
        "version_name": "IdkQXoiuziwIVGDnLfOAIqrvXmOSWMYoqpvpzVedXQjhpSmCCXvuUbixAXJhnON",
        "api_level": 0,
        "target_api_level": 4036,
        "upload_date": "2021-10-09",
        "cpu_architectures": "",
        "dpi": 1,
        "locale": "en"
      }
    ],
    "auto_publish": false,
    "staged_rollout_percentage": 100,
    "changelog_fa": null,
    "changelog_en": ""
  }
}

Success - این پیام متناسب با نوع پاسخ استstringtype
این پیام متناسب با نوع پاسخ استstringmessage
تاریخ ایجاد رهانشstringcreation_date
لیست بسته‌های بارگذاری‌شده در رهانشlistpackages
حجم بستهintapk_size
stringsha1_hash
شماره نسخه بستهintversion_code
نام نسخه بستهstringversion_name
Api level بستهintapi_level
Target api level بستهinttarget_api_level
تاریخ بارگذاری بستهstringupload_date
معماری پردازنده متناسب با بستهstringcpu_architectures
فایل‌های پیوست بسته (در این نسخه از api امکان بارگذاری فایل‌‌های پیوست وجود ندارد. برای بارگذاری فایل‌های پیوست می‌توانید پیش از ارسال درخواست انتشار به بخش رهانش‌های پیشخان بازار مراجعه و فایل‌های پیوست را مطابق راهنمای آن بارگذاری کنید.)listadditional_files
انتشار خودکار رهانش boolauto_publish
درصد رهانش تدریجی intstaged_rollout_percentage
توضیحات فارسی برای رهانشstringchangelog_fa
توضیحات انگلیسی برای رهانشstringchangelog_en

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

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

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

زمان انتشار: ۱۴۰۰-۰۸-۱۶ ۰۹:۲۲

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