=== PartJoo Product Sync ===
Contributors: partjoo
Tags: woocommerce, products, product sync, product search, partjoo
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Requires Plugins: woocommerce
Stable tag: 2.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Synchronize your published WooCommerce products with PartJoo, an Iranian product-search service.

== Description ==

**PartJoo Product Sync** connects your WooCommerce store to the PartJoo product-search service and synchronizes published product information so your products can be included in PartJoo search results.

The plugin uses a background queue to process product synchronization reliably without requiring every product update to be sent immediately.

An active PartJoo account, an assigned domain, and a PartJoo API key are required.

== Features ==

* Synchronize published WooCommerce products with PartJoo.
* Automatically queue product changes for background synchronization.
* Support manual product synchronization.
* Support bulk synchronization.
* Support product deletion synchronization.
* Retry failed synchronization requests.
* Track synchronization status and errors.
* Secure API communication over HTTPS.
* Use an API key to authenticate requests to PartJoo.
* Support product variations and bulk pricing information.
* Provide WP-CLI commands for synchronization and queue processing.

== Requirements ==

* WordPress 5.8 or later.
* PHP 7.4 or later.
* WooCommerce.
* An active PartJoo account.
* An assigned store domain in PartJoo.
* A valid PartJoo API key.

== Installation ==

1. Install and activate WooCommerce if it is not already installed.
2. Install and activate PartJoo Product Sync.
3. Open the PartJoo Product Sync settings in your WordPress administration area.
4. Enter your PartJoo domain and API key.
5. Configure the synchronization settings.
6. Save the settings and synchronize your products.

== Configuration ==

After activation, configure the plugin from the PartJoo Product Sync settings page.

You must provide the credentials and configuration information supplied for your PartJoo store.

The plugin sends product information to PartJoo only after the synchronization functionality has been configured and enabled.

== External Services ==

PartJoo Product Sync connects to the **PartJoo product-search service**, operated by **Sepehr Novandish Taha Company**, to synchronize published WooCommerce product information with PartJoo.

PartJoo is an external service required for the plugin's synchronization functionality. An active PartJoo account, an assigned domain, and an API key are required.

When a site administrator configures the plugin and enables synchronization, the plugin sends requests to the configured PartJoo HTTPS API endpoint. Requests may be made when products are saved or updated, when WooCommerce stock or product data changes, during manually requested synchronization, and through the scheduled background synchronization process.

The plugin sends the configured store domain and PartJoo API key, plus published product data required for search synchronization. Depending on the product and configuration, this may include:

* Product title
* Product URL
* Image URL
* Description
* Price
* Currency or price unit
* Stock quantity
* Availability
* SKU and part-number fields
* Product condition
* Variation details
* Bulk pricing information

The data sent to PartJoo is stored on PartJoo's servers and is used to provide product-search functionality.

The plugin does not send WooCommerce orders, customer accounts, customer addresses, payment data, or visitor analytics to PartJoo.

Store owners are responsible for ensuring that published product content does not contain personal information they do not intend or are not authorized to share with PartJoo.

For information about how PartJoo processes information, see the [PartJoo Privacy Policy](https://partjoo.com/privacy).

For the terms governing use of the PartJoo service and API, see the [PartJoo Terms of Service](https://partjoo.com/terms).

== Privacy ==

PartJoo Product Sync connects to the PartJoo external service when synchronization is configured and enabled.

The plugin may send the configured store domain, PartJoo API key, and published product information required for synchronization.

The plugin does not send WooCommerce orders, customer accounts, customer addresses, payment data, or visitor analytics to PartJoo.

For more information about the processing and storage of information by PartJoo, please see the [PartJoo Privacy Policy](https://partjoo.com/privacy).

== Frequently Asked Questions ==

= Is a PartJoo account required? =

Yes. An active PartJoo account, an assigned domain, and a valid API key are required.

= Does the plugin synchronize WooCommerce orders or customers? =

No. The plugin is designed to synchronize product information with PartJoo. It does not send WooCommerce orders, customer accounts, customer addresses, payment data, or visitor analytics to PartJoo.

= When are products synchronized? =

Depending on the configuration and the type of change, synchronization can occur after products are saved or updated, after WooCommerce product or stock data changes, during manual synchronization, and through scheduled background processing.

= Where is product data sent? =

Product synchronization requests are sent to the PartJoo HTTPS API.

= Is an API key required? =

Yes. The API key is used by PartJoo to authenticate and validate synchronization requests from the configured store.

= Can I synchronize products manually? =

Yes. The plugin provides manual synchronization functionality and WP-CLI commands for supported synchronization and queue-processing operations.

== WP-CLI ==

The plugin provides WP-CLI commands for synchronization and queue processing.

Examples:

`wp partjoo sync`

`wp partjoo sync --force`

`wp partjoo sync --ids=1,2,3`

`wp partjoo sync --process-now`

== Changelog ==

= 2.0.0 =

* Added queue-based background synchronization architecture.
* Added reliable processing and retry handling for queued product synchronization.
* Added synchronization status and queue management improvements.
* Added support for additional product synchronization data.
* Improved security, validation, and WordPress coding-standard compatibility.

== Upgrade Notice ==

= 2.0.0 =
This release introduces the queue-based synchronization architecture and improvements to reliability, synchronization processing, validation, and security.
