پرش به محتوای اصلی
پنل توسعه‌دهندگان
Developer reference

مرجع توسعه‌دهندگان بازارباشه

راهنمای یکپارچه برای احراز هویت، مدیریت فایل، محصولات و فروشگاه‌های وب‌سایتی.

شروع سریع

توکن بسازید، تصویر را آپلود کنید و بعد محصول را ایجاد، ویرایش یا حذف کنید.

طراحی ماژولار

ساختار صفحه برای اضافه‌شدن endpointهای جدید، بدون بازنویسی layout، آماده شده است.

فروشگاه وب‌سایتی

endpointهای محصول فقط برای فروشگاه‌های تاییدشده و وب‌سایتی فعال هستند.

Documentation

مستندات API بازارباشه

راهنمای کامل مستندات API بازارباشه برای اتصال فروشگاه‌های وب‌سایتی، مدیریت محصول و همگام‌سازی سرویس‌های بیرونی. همه نمونه‌ها با Bearer token و توکن دسترسی پنل توسعه‌دهندگان کار می‌کنند.

Base URL

https://api.bazaarbashe.ir

احراز هویت

Authorization: Bearer <access_token>

Bearer Access Token

برای endpointهای خصوصی API بازارباشه باید از توکن دسترسی ساخته‌شده در پنل توسعه‌دهندگان استفاده شود. این توکن برای اتصال فروشگاه، ثبت محصول و همگام‌سازی محصولات سایت یا ووکامرس کاربرد دارد.

برای دریافت توکن به آدرس api.bazaarbashe.ir/panel مراجعه کنید یا از لینک پنل توسعه‌دهندگان در همین صفحه استفاده کنید.

endpointهای محصول برای فروشگاه وب‌سایتی یا فروشگاه کانالی دارای اتصال تأییدشده بله فعال هستند.

WooCommerce Plugin

افزونه ووکامرس بازارباشه

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

نصب از پیشخوان وردپرس · روش پیشنهادی

افزونه بازارباشه در فهرست افزونه‌های وردپرس در دسترس است. می‌توانید آن را مستقیماً از پیشخوان سایت خود جست‌وجو، نصب و فعال کنید.

  1. در پیشخوان وردپرس، از منوی «افزونه‌ها» وارد «افزودن افزونه تازه» شوید.
  2. در کادر جست‌وجوی افزونه‌ها، «بازارباشه» را جست‌وجو کنید.
  3. روی «هم‌اکنون نصب کن» در کارت افزونه بازارباشه کلیک کنید و پس از پایان نصب، «فعال‌کردن» را بزنید.
نصب دستی با فایل ZIP

اگر نصب دستی را ترجیح می‌دهید، نسخه ۱.۵.۱ را از لینک زیر دریافت کنید. در پیشخوان وردپرس، از بخش «افزونه‌ها»، «افزودن افزونه تازه» و سپس «بارگذاری افزونه» را انتخاب کنید؛ فایل ZIP را بارگذاری، نصب و فعال کنید.

دانلود پلاگین بازارباشه نسخه ۱.۵.۱

پس از نصب، اتصال به بازارباشه را تنظیم کنید

  1. Access Token را از پنل توسعه دهندگان بگیرید.
  2. Store ID را از مسیر حساب کاربری → مدیریت فروشگاه‌ها → کلیک روی آیکن کپی شناسه فروشگاه بردارید.
  3. Access Token و Store ID را در صفحه تنظیمات پلاگین وارد کنید.
  4. تست اتصال را بزنید و سپس همگام‌سازی را فعال کنید.

Get Current User Info

GET /v1/users/me

اطلاعات شخصی کاربر احراز‌شده را به‌همراه فروشگاه‌های تاییدشده‌ی او برمی‌گرداند.

curl -X GET "https://api.bazaarbashe.ir/v1/users/me" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Accept: application/json"
import requests

def call_api():
    response = requests.get(
        "https://api.bazaarbashe.ir/v1/users/me",
        headers={
            "Authorization": "Bearer YOUR_ACCESS_TOKEN",
            "Accept": "application/json",
        },
    )
    return response.json()
function callApi() {
    $response = file_get_contents('https://api.bazaarbashe.ir/v1/users/me', false, stream_context_create([
        'http' => [
            'method' => 'GET',
            'header' => "Authorization: Bearer YOUR_ACCESS_TOKEN\r\nAccept: application/json"
        ]
    ]));

    return json_decode($response, true);
}
async function callApi() {
          const response = await fetch("https://api.bazaarbashe.ir/v1/users/me", {
            method: "GET",
            headers: {
  "Authorization": "Bearer YOUR_ACCESS_TOKEN",
  "Accept": "application/json"
}
          });

          return await response.json();
        }
JSON
{
  "status": "success",
  "user": {
    "id": 100,
    "user_id": 900000001,
    "first_name": "کاربر",
    "last_name": "نمونه",
    "full_name": "کاربر نمونه",
    "username": "sample_user",
    "phone": "98912*******",
    "created_at": "2026-05-09T07:55:33.913719Z",
    "stores_count": 1,
    "stores": [
      {
        "id": 501000001,
        "store_type": "website",
        "name": "بازارباشه",
        "website_domain": "bazaarbashe.ir",
        "channel_id": "",
        "admin_chat_id": "sample_admin",
        "category": "عمده فروشی",
        "province": "تهران",
        "rating_average": 0.0,
        "rating_count": 0
      }
    ]
  }
}

Upload Product Images

POST /v1/files

برای آپلود تصویر محصول ابتدا فایل‌های محلی را با API آپلود فایل بازارباشه ارسال کنید، سپس شناسه‌های برگشتی را در create/update product استفاده کنید.

curl -X POST "https://api.bazaarbashe.ir/v1/files" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F "file=@/path/to/image.jpg"
import requests

def upload_file():
    response = requests.post(
        "https://api.bazaarbashe.ir/v1/files",
        headers={"Authorization": "Bearer YOUR_ACCESS_TOKEN"},
        files={"file": open("/path/to/image.jpg", "rb")},
    )
    return response.json()
function uploadFile() {
    $response = file_get_contents('https://api.bazaarbashe.ir/v1/files', false, stream_context_create([
        'http' => [
            'method' => 'POST',
            'header' => "Authorization: Bearer YOUR_ACCESS_TOKEN\r\n",
            'content' => ''
        ]
    ]));

    return json_decode($response, true);
}
async function uploadFile(file) {
  const formData = new FormData();
  formData.append("file", file);

  const response = await fetch("https://api.bazaarbashe.ir/v1/files", {
    method: "POST",
    headers: { Authorization: "Bearer YOUR_ACCESS_TOKEN" },
    body: formData
  });

  return await response.json();
}
JSON
{
  "id": "238300331",
  "file_name": "image.jpg",
  "path": "https://storage.bazaarbashe.ir/storage/uploads/image.jpg",
  "mime_type": "image/jpeg",
  "size": 102400,
  "created_at": "2026-06-11T12:30:00Z",
  "creator_user_id": 900000001
}

حداکثر حجم هر فایل 25 مگابایت است.

برای هر محصول حداکثر 10 تصویر پشتیبانی می‌شود.

Get Vendor Products

GET /v1/vendors/{vendor_id}/products

فقط آرایه محصولات فروشگاه مجاز متعلق به همان توکن را برمی‌گرداند.

curl -X GET "https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Accept: application/json"
import requests

def call_api():
    response = requests.get(
        "https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products",
        headers={
            "Authorization": "Bearer YOUR_ACCESS_TOKEN",
            "Accept": "application/json",
        },
    )
    return response.json()
function callApi() {
    $response = file_get_contents('https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products', false, stream_context_create([
        'http' => [
            'method' => 'GET',
            'header' => "Authorization: Bearer YOUR_ACCESS_TOKEN\r\nAccept: application/json"
        ]
    ]));

    return json_decode($response, true);
}
async function callApi() {
          const response = await fetch("https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products", {
            method: "GET",
            headers: {
  "Authorization": "Bearer YOUR_ACCESS_TOKEN",
  "Accept": "application/json"
}
          });

          return await response.json();
        }
JSON
[
  {
    "id": 41,
    "product_id": 12,
    "product_name": "تیشرت",
    "product_price": "250000",
    "product_description": "Short product description",
    "product_url": "https://bazaarbashe.ir/p/12/501000001/900000001/tshirt",
    "external_product_url": "https://example.com/products/test-product",
    "has_discount": false,
    "discount_percent": 0,
    "product_image": 81,
    "product_images": [81, 82],
    "created_at": "2026-06-11T12:30:00Z"
  }
]

Create Product

POST /vendors/{vendor_id_or_vendor_url}/products

برای ثبت محصول با API بازارباشه ابتدا تصاویر محلی را با `POST /v1/files` آپلود کنید، سپس شناسه فایل‌ها را داخل `product_images` بفرستید.

curl -X POST "https://api.bazaarbashe.ir/vendors/YOUR_VENDOR_ID_OR_URL/products" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"product_name": "Sample product", "product_price": "250000", "product_description": "Short product description", "product_link": "https://example.com/products/sample-product", "has_discount": false, "discount_percent": 0, "product_images": [238300331, 238300332]}'
import requests

    def call_api():
        response = requests.post(
            "https://api.bazaarbashe.ir/vendors/YOUR_VENDOR_ID_OR_URL/products",
            headers={
                "Authorization": "Bearer YOUR_ACCESS_TOKEN",
                "Accept": "application/json",
            },
json={
  "product_name": "Sample product",
  "product_price": "250000",
  "product_description": "Short product description",
  "product_link": "https://example.com/products/sample-product",
  "has_discount": false,
  "discount_percent": 0,
  "product_images": [
    238300331,
    238300332
  ]
},
        )
        return response.json()
function callApi() {
        $response = file_get_contents('https://api.bazaarbashe.ir/vendors/YOUR_VENDOR_ID_OR_URL/products', false, stream_context_create([
            'http' => [
                'method' => 'POST',
                'header' => "Authorization: Bearer YOUR_ACCESS_TOKEN\r\nContent-Type: application/json\r\nAccept: application/json",
                'content' => json_encode({
    "product_name": "Sample product",
    "product_price": "250000",
    "product_description": "Short product description",
    "product_link": "https://example.com/products/sample-product",
    "has_discount": false,
    "discount_percent": 0,
    "product_images": [
        238300331,
        238300332
    ]
})
            ]
        ]));

        return json_decode($response, true);
    }
async function callApi() {
          const response = await fetch("https://api.bazaarbashe.ir/vendors/YOUR_VENDOR_ID_OR_URL/products", {
            method: "POST",
            headers: {
  "Authorization": "Bearer YOUR_ACCESS_TOKEN",
  "Accept": "application/json",
  "Content-Type": "application/json"
},
body: JSON.stringify({
  "product_name": "Sample product",
  "product_price": "250000",
  "product_description": "Short product description",
  "product_link": "https://example.com/products/sample-product",
  "has_discount": false,
  "discount_percent": 0,
  "product_images": [
    238300331,
    238300332
  ]
})
          });

          return await response.json();
        }
JSON
{
  "status": "success",
  "message": "محصول با موفقیت اضافه شد",
  "product_id": 12,
  "product_url": "https://bazaarbashe.ir/p/12/501000001/900000001/tshirt"
}

حداکثر طول product_name برابر 120 کاراکتر، product_price برابر 32 کاراکتر، product_description برابر 3000 کاراکتر و product_link برابر 2048 کاراکتر است.

product_images حداکثر 10 شناسه فایل را می‌پذیرد و داده‌ها بدون کوتاه‌سازی خودکار validate می‌شوند.

Update Product

PATCH /v1/vendors/{vendor_id}/products/{product_id}

ویرایش محصول با همان payload ایجاد محصول انجام می‌شود. اگر تصاویر جدید محلی دارید، ابتدا upload کنید و شناسه‌ها را بفرستید.

curl -X PATCH "https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products/YOUR_PRODUCT_ID" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"product_name": "Updated product", "product_price": "300000", "product_description": "Updated description", "product_link": "https://example.com/products/updated-product", "has_discount": false, "discount_percent": 0, "product_images": [238300333]}'
import requests

    def call_api():
        response = requests.patch(
            "https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products/YOUR_PRODUCT_ID",
            headers={
                "Authorization": "Bearer YOUR_ACCESS_TOKEN",
                "Accept": "application/json",
            },
json={
  "product_name": "Updated product",
  "product_price": "300000",
  "product_description": "Updated description",
  "product_link": "https://example.com/products/updated-product",
  "has_discount": false,
  "discount_percent": 0,
  "product_images": [
    238300333
  ]
},
        )
        return response.json()
function callApi() {
        $response = file_get_contents('https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products/YOUR_PRODUCT_ID', false, stream_context_create([
            'http' => [
                'method' => 'PATCH',
                'header' => "Authorization: Bearer YOUR_ACCESS_TOKEN\r\nContent-Type: application/json\r\nAccept: application/json",
                'content' => json_encode({
    "product_name": "Updated product",
    "product_price": "300000",
    "product_description": "Updated description",
    "product_link": "https://example.com/products/updated-product",
    "has_discount": false,
    "discount_percent": 0,
    "product_images": [
        238300333
    ]
})
            ]
        ]));

        return json_decode($response, true);
    }
async function callApi() {
          const response = await fetch("https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products/YOUR_PRODUCT_ID", {
            method: "PATCH",
            headers: {
  "Authorization": "Bearer YOUR_ACCESS_TOKEN",
  "Accept": "application/json",
  "Content-Type": "application/json"
},
body: JSON.stringify({
  "product_name": "Updated product",
  "product_price": "300000",
  "product_description": "Updated description",
  "product_link": "https://example.com/products/updated-product",
  "has_discount": false,
  "discount_percent": 0,
  "product_images": [
    238300333
  ]
})
          });

          return await response.json();
        }
JSON
{
  "status": "success",
  "message": "محصول با موفقیت بروزرسانی شد",
  "product_id": 12,
  "product_url": "https://bazaarbashe.ir/p/12/501000001/900000001/updated-product"
}

حداکثر طول فیلدها مانند ایجاد محصول است: نام 120، قیمت 32، توضیحات 3000 و لینک 2048 کاراکتر.

در صورت عبور از محدودیت‌ها API پیام validation فارسی و status 400 برمی‌گرداند.

Delete Product

DELETE /v1/vendors/{vendor_id}/products/{product_id}

محصول مشخص‌شده را به‌صورت دائمی حذف می‌کند.

curl -X DELETE "https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products/YOUR_PRODUCT_ID" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Accept: application/json"
import requests

def call_api():
    response = requests.delete(
        "https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products/YOUR_PRODUCT_ID",
        headers={
            "Authorization": "Bearer YOUR_ACCESS_TOKEN",
            "Accept": "application/json",
        },
    )
    return response.json()
function callApi() {
    $response = file_get_contents('https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products/YOUR_PRODUCT_ID', false, stream_context_create([
        'http' => [
            'method' => 'DELETE',
            'header' => "Authorization: Bearer YOUR_ACCESS_TOKEN\r\nAccept: application/json"
        ]
    ]));

    return json_decode($response, true);
}
async function callApi() {
          const response = await fetch("https://api.bazaarbashe.ir/v1/vendors/YOUR_VENDOR_ID/products/YOUR_PRODUCT_ID", {
            method: "DELETE",
            headers: {
  "Authorization": "Bearer YOUR_ACCESS_TOKEN",
  "Accept": "application/json"
}
          });

          return await response.json();
        }
JSON
{
  "status": "success",
  "message": "محصول با موفقیت حذف شد",
  "product_id": 12
}