# بیجک (ترابری هوشمند) – افزونه ووکامرس

[![WordPress](https://img.shields.io/badge/WordPress-5.8%2B-blue?logo=wordpress)](https://wordpress.org)
[![WooCommerce](https://img.shields.io/badge/WooCommerce-5.5%2B-purple?logo=woo)](https://woocommerce.com)
[![License: GPL v2](https://img.shields.io/badge/License-GPLv2-green.svg)](https://www.gnu.org/licenses/gpl-2.0.html)

افزونه **بیجک (ترابری هوشمند)** یک روش حمل‌ونقل جدید برای ووکامرس ایجاد می‌کند که فروشگاه‌های اینترنتی می‌توانند سفارشات خود را به‌طور مستقیم در سامانه‌ی [بیجک](https://bijak.ir) ثبت و مدیریت کنند.

---

## ✨ ویژگی‌ها

- انتخاب **شهر مقصد بیجک** در صفحه تسویه‌حساب
- پشتیبانی از حالت‌های **پیش‌کرایه** و **پس‌کرایه**
- محاسبه هزینه‌ی ارسال از **API بیجک** و نمایش به مشتری
- امکان **تحویل درب منزل** یا **تحویل به باربری مقصد**
- انتخاب امن **موقعیت محل تحویل روی نقشه** برای سفارش‌های درب منزل
- ثبت خودکار سفارش در سامانه‌ی بیجک پس از پرداخت
- نمایش **وضعیت و کد پیگیری بیجک** در پنل کاربر و مدیر فروشگاه

---

## ⚙️ نصب و راه‌اندازی

1. مخزن را کلون کنید یا افزونه را دانلود کنید:

```bash
   git clone https://github.com/mostafaamiri/bijak-woo.git
```

2. پوشه `bijak-woo` را در مسیر `wp-content/plugins` کپی کنید.
3. از پیشخوان وردپرس، افزونه را فعال کنید.
4. به منوی **بیجک** بروید و **API Key** خود را وارد کنید.
5. شهر مبدأ و تنظیمات دیگر را ذخیره کنید.
6. در بخش حمل‌ونقل ووکامرس، روش **ارسال کالا با بیجک** را فعال کنید.

### پیکربندی فنی

آدرس API بیجک، سرویس انتخاب موقعیت و لینک‌های پنل در فایل `includes/class-config.php` متمرکز شده‌اند. برای تغییر آن‌ها همین فایل را ویرایش کنید؛ این مقادیر عمداً از تنظیمات قابل ویرایش فروشگاه حذف شده‌اند.

برای باز شدن انتخاب‌گر موقعیت، افزونه از سمت سرور با API بیجک یک مجوز کوتاه‌عمر می‌گیرد. API Key در JavaScript، iframe یا آدرس مرورگر قرار نمی‌گیرد و revoke شدن کلید باعث رد شدن نشست انتخاب‌گر و ذخیره موقعیت می‌شود.

---

## ❓ پرسش‌های متداول

### آیا نیاز به حساب کاربری بیجک دارم؟

بله، برای دریافت API Key باید در سامانه بیجک ثبت‌نام کنید.

### هزینه‌ی حمل چگونه محاسبه می‌شود؟

هزینه‌ها به‌صورت آنلاین از API بیجک دریافت و در صورتحساب مشتری نمایش داده می‌شوند.

### آیا می‌توانم هم‌زمان از چند روش حمل استفاده کنم؟

بله، افزونه بیجک به‌عنوان یک روش حمل اضافه می‌شود و می‌توانید سایر روش‌ها را هم فعال نگه دارید.

---

## 📦 الزامات

* WordPress 5.8+
* WooCommerce 5.5+
* PHP 7.4+

تست‌شده تا WordPress 7.0 و WooCommerce 10.7.

---

## 📜 تغییرات

### 1.3.7

- اضافه شدن مجوزدهی سروری API بیجک برای نشست‌های انتخاب‌گر موقعیت
- کوتاه‌عمر بودن grant و بررسی مجدد آن قبل از ذخیره مختصات؛ کلید revoke‌شده پذیرفته نمی‌شود

### 1.3.6

* نمایش گزینه‌ها به شکل «استان، شهر»
* جست‌وجوی خودکار استان و شهر checkout هنگام باز شدن فهرست مقصد بیجک

### 1.3.5

* تطبیق بهتر شکل‌های مختلف نوشتاری و شهرهای چندبخشی
* الزام تطبیق استان برای جلوگیری از انتخاب شهر هم‌نام در استان اشتباه

### 1.3.4

* ارسال فیلدهای نشانی checkout به بیجک هنگام ثبت سفارش تحویل درب منزل
* محدود شدن داده‌ی دریافتی از انتخاب‌گر موقعیت به طول و عرض جغرافیایی

### 1.3.3

* رفع ماندن پیام بارگذاری پس از لود شدن iframe انتخاب‌گر موقعیت
* واگذاری مجوز موقعیت مرورگر به iframe انتخاب‌گر و اصلاح جهت نشانگر مرکز نقشه

### 1.3.2

* تطبیق شهر و استان checkout با فهرست شهرهای بیجک
* نمایش پیام و باز کردن فهرست شهر بیجک در صورت نبود شهر انتخاب‌شده

### 1.3.1

* نمایش نام استان کنار شهر مقصد
* باز شدن نقشه روی مختصات شهر مقصد و جست‌وجوی نام شهر و استان در صورت نبود مختصات

### 1.3.0

* حذف نشانی انتخاب‌گر موقعیت از تنظیمات ادمین و انتقال endpointها و مقادیر یکپارچه‌سازی به `includes/class-config.php`

### 1.2.5

* رفع بارگذاری فایل ترجمه فارسی افزونه در وردپرس

### 1.2.4

* بارگذاری صحیح ترجمه‌های فارسی checkout و انتخاب‌گر موقعیت

### 1.2.3

* رفع ماندن پیام بارگذاری پس از لود شدن iframe انتخاب‌گر موقعیت

### 1.2.2

* رفع مقدار شناسه شهر مقصد تا شهر انتخاب‌شده به‌درستی به ووکامرس و انتخاب‌گر موقعیت ارسال شود

### 1.2.1

* رفع خطای خواندن شهر مقصد و حالت تحویل درب منزل پس از بازسازی fragmentهای تسویه‌حساب ووکامرس

### 1.2.0

* افزودن انتخاب امن موقعیت مقصد روی نقشه برای تحویل درب منزل
* استفاده از مختصات انتخاب‌شده در برآورد هزینه، اعتبارسنجی تسویه‌حساب، متای سفارش و ثبت سفارش در بیجک
* پاک‌سازی خودکار موقعیت مقصد هنگام تغییر شهر مقصد

### 1.1.0

* افزودن انتخاب شهر مبدا در تنظیمات افزونه و بهبود جریان تسویه‌حساب برای مدیریت مقصد
* به‌روزرسانی یکپارچه‌سازی APIهای بیجک به endpointهای جدیدتر برای دریافت وضعیت سفارش و درخواست‌های مرتبط
* رفع چندین باگ در تسویه‌حساب و به‌روزرسانی نرخ ارسال برای محاسبه پایدارتر هزینه حمل

### 1.0.1

* سازگاری با HPOS ووکامرس برای ذخیره/خواندن متای سفارش
* سازگاری متاباکس وضعیت در ویرایشگر سفارش HPOS
* حذف سینتکس‌های مختص PHP 8 برای اجرای پایدار روی PHP 7.4+
* به‌روزرسانی اطلاعات سازگاری با آخرین نسخه‌های وردپرس و ووکامرس

### 1.0.0

* اولین انتشار رسمی افزونه
* پشتیبانی از ثبت سفارش در بیجک
* محاسبه و نمایش هزینه ارسال
* نمایش وضعیت سفارش در پنل کاربر و مدیر
