Actionwear products sync

Plugin Banner

Actionwear products sync

by marcoingraiti

Download
Description

Questo plugin ti permette di aggiungere e sincronizzare i prodotti di ActionWear sul tuo WooCommerce.
Grazie ad una semplice interfaccia, seleziona i prodotti che vuoi importare partendo da un semplice SKU o da una Categoria.
Una volta sincronizzati i prodotti, sarai in grado di gestire le tabelle di ricarico per i prodotti Actionwear sulla base o di una detemrinata categoria o del brand.
Funzionalità
* Aggiungi e sincronizza i prodotti di ActionWear
* Crea regole di prezzo personalizzate in base a brand o categoria
* Associa le categorie di ActionWear con quelle di WooCommerce
* Ricevi e Inserisci informazioni utili riguardo il restock dei prodotti direttamente all\’interno della scheda prodotto
* Monitora le operazioni effettuate dai cron tramite il pannello registri

Per installare il plugin è sufficiente seguire le istruzioni della procedura guidata, durante la quale verrà richiesto di inserire la vostra API Key, di cui dovrete preventivamente essere in possesso.
Se non siete in possesso di tale informazione, rivolgetevi al supporto di ActionWear a info@camacartigrafiche.com.

  1. Scegli i prodotti ActionWear da sincronizzare sul tuo WooCommerce partendo da un semplice SKU o da una Categoria

    Scegli i prodotti ActionWear da sincronizzare sul tuo WooCommerce partendo da un semplice SKU o da una Categoria

  2. Imposta le tabelle di ricarico in base a un determinato Brand o a una Categoria

    Imposta le tabelle di ricarico in base a un determinato Brand o a una Categoria

  3. Associa una o più Categorie dei prodotti ActionWear con le Categorie del tuo WooCommerce

    Associa una o più Categorie dei prodotti ActionWear con le Categorie del tuo WooCommerce

Posso mettere in offerta un prodotto?

La gestione delle offerte deve essere fatta tramite coupon, in quanto i prezzi dei singoli prodotti, per ora, non può essere gestita.

Posso cambiare i prezzi dei prodotti?

Si, puoi modificare le tabelle di ricarico. Per far questo devi andare in ‘Listini’ e, una volta effettuate le modifiche alle tabelle, effettua una risincronizzazione dei prodotti nella sezione ‘Avanzate’.

Posso cambiare la base del ricarico (ad esempio da Categorie a Brand) una volta terminata la procedura guidata?

Una volta terminata la procedura guidata non è possibile cambiare la base del ricarico. In questo caso è necessario resettare le impostazioni tramite il pannello Avanzate e procedere con una nuova.

Posso cancellare il listino Ricarico Globale?

No, il listino Ricarico Globale viene generato in automatico e non può essere cancellato in quanto gestisce il ricarico di tutti i prodotti ActionWear per il quale non è stato impostato un ricarico specifico.

Posso modificare le immagini di un prodotto?

Si, Avanzate -> Abilita la modifica delle immagini

Posso eliminare un prodotto?

Si. Per eliminare un prodotto le operazioni da effettuare sono 2: Prima devi deselzionare il prodotto dalla sezione ‘Prodotti’ e in seguito cancellarlo dalla lista prodotti di woocommerce.

Una volta ricevuto l’ordine come posso inoltrarlo a Camac?

Puoi esportare l’ordine in un file .csv compatibile con il sito action-wear. Per farlo recati nell’ordine dal menu di woocommerce, all’interno dell’ordine troverai come azione aggiuntiva la possibilità di esportarlo per ActionWear. Il file generato potrà essere caricato sul sito action-wear.com nell’area ‘ordine da csv’

Cosa posso fare se un CronJob risulta bloccato?

Puoi sbloccare manualmente un CronJob tramite l’apposito comando del pannello ‘Avanzate’.

Perchè non vedo le disponibilità del fornitore all’interno della scehda prodotto?

Nel caso in cui le quantità di riassortimento siano uguali a 0, non verrà visualizzata alcune informazione aggiuntiva.

Easy and neat.

By matteoraga on August 22, 2023

It’s easy to use and presents a neat layout. Would recommend.

3.1.16

  • Migrazione DB 1.2.4: le colonne sku di actionwear_products e actionwear_images vengono allineate alla collation usata dalle tabelle WooCommerce
  • Migrazione DB 1.2.5: ricalcola quantity_supplier dalle quantità dei due magazzini fornitore sulle variazioni azzerate dal bug della sincronizzazione differenziale
  • Suite di test riscritta: test unitari puri (PHPUnit) che girano senza WordPress in mezzo secondo, al posto dei test Codeception del 2023 che richiedevano WordPress+WooCommerce e che la CI non eseguiva da tempo. Rimossi .travis.yml e codeception.yml
  • Errore fatale che metteva fuori uso l’intero sito (non solo il plugin) quando l’opzione _ACTIONWEAR_DB_VERSION risultava mancante: le migrazioni venivano rigiocate dalla prima della lista, la cui classe non esiste più nel codice. Senza versione salvata l’installazione viene ora trattata come nuova, e una migrazione registrata ma assente viene saltata con un log invece di fermare tutto
  • Un errore nelle migrazioni DB o nella schedulazione dei job ricorrenti non manda più offline l’intero sito: viene registrato come critico e il resto di WordPress continua a funzionare
  • Sincronizzazione massiva prezzi/quantità (“Ricalcola prezzi”, sync quantità) che non aggiornava nulla: i batch superavano il limite di 8000 caratteri degli argomenti di Action Scheduler e, sulla coda interna, venivano scartati come job “unici”. Ora i batch contengono solo i campi necessari e sono dimensionati in base al peso del payload
  • Range di prezzo dei prodotti configurabili (meta _price e lookup table, usati da filtri e ordinamento per prezzo) non ricalcolato dopo la sync prezzi e l’import: ora viene sincronizzato dalle variazioni
  • Quantità fornitore (quantity_supplier) azzerata a ogni sincronizzazione differenziale e mai scritta durante l’import: /stockall espone il magazzino fornitore come supplier_1 + supplier_2 e non ha la chiave supplier che il codice leggeva. Il valore è usato per la disponibilità fornitore e per riconoscere i prodotti ActionWear nel CSV d’ordine
  • La sincronizzazione differenziale delle quantità ora aggiorna anche la lookup table di WooCommerce (quantità e stato scorta) e azzera il flag di sincronizzazione, come già faceva quella massiva: senza, gli elenchi di catalogo e i filtri per disponibilità continuavano a mostrare la scorta precedente
  • Dashboard a 0 prodotti, “Riallinea prodotti WooCommerce” senza effetto e pulizia degli SKU duplicati inattiva sulle installazioni in cui la collation delle tabelle del plugin differisce da quella di WooCommerce: i join andavano in errore #1267 e restituivano 0 righe senza errore visibile. In quello stato alignWcCreated() azzerava anche wc_created su tutti i prodotti, e un resync successivo li reimportava
  • “Ricrea relazioni Prodotto Categoria” non aggiornava le righe già presenti in actionwear_products (INSERT IGNORE): cover, nome e brand vecchi restavano tali e l’unico rimedio era svuotare la tabella a mano. Ora le righe vengono aggiornate preservando id, wc_created e wc_to_create (quindi associazioni categoria e stato di import), e una cover assente nel feed non sovrascrive quella già salvata
  • Cover mancanti nel feed /listino-lite recuperate dalla prima immagine di /productsimage, preferendo l’immagine principale del prodotto padre
  • Errore fatale cliccando “Ricalcola prezzi” o avviando le sync massive mentre una sync era già in corso: ora risponde correttamente con HTTP 409
  • Una nuova sync prezzi/quantità annulla i batch ancora in coda della sync precedente invece di accodarne un duplicato
  • “Ultima sync prezzi/quantità completata” non veniva mai registrata: il controllo sull’ultimo batch contava anche il batch in esecuzione
  • Import dei prodotti che falliva con un errore incomprensibile (end(): Argument #1 must be of type array, null given) quando non è configurata nessuna tabella di ricarico: ora il messaggio dice cosa manca
  • Warning PHP a ogni import per le varianti senza prezzo nel feed: il prezzo mancante viene trattato come 0 e il meta original_base_price non viene scritto vuoto
  • L’indicatore “Actionwear are processing task queue.. N remaining” nella admin bar restava sempre visibile: contava anche i job ricorrenti/schedulati (diff prezzi/quantità/catalogo, sku_cleanup) che sono sempre in coda. Ora conta solo i job on-demand (resync prodotti/prezzi/quantità) e si azzera a sistema idle
  • Contatore della coda in get_login_status allineato all’indicatore della admin bar (solo job on-demand) e conteggi Action Scheduler eseguiti con query COUNT invece di caricare tutti gli id

3.1.15

  • Il ping verso l’Hub ActionWear (/instance/ping) ora include nel payload la versione installata del plugin oltre al dominio

3.1.14

  • Supporto ai brand_id alfanumerici (stringa) forniti da ActionWear (es. 1716A, 2771B): colonne actionwear_brands.id_actionwear e actionwear_recharges.recharge_entity_id portate a VARCHAR(255) (migrazione DB 1.2.3)
  • Sincronizzazione brand ora idempotente (replace transazionale) invece di solo INSERT IGNORE: la tabella brand si allinea sempre al feed senza mai restare vuota
  • Brand duplicati nell’elenco import causati dalla rinumerazione dei brand_id lato ActionWear: la tabella brand non veniva mai ripulita e i vecchi id restavano insieme ai nuovi. La migrazione 1.2.3 sanifica automaticamente i duplicati sulle installazioni già aggiornate
  • brand_id alfanumerici non più troncati/sbagliati nel calcolo del ricarico prezzi e nelle regole di ricarico per brand

3.1.13

  • Dichiarata compatibilità con WordPress 7.0 (Tested up to: 7.0)
  • Innalzato il requisito minimo a PHP 7.4 e WordPress 5.3 per allineamento con i requisiti di WordPress 7.0

3.0.0

  • Unified job queue system: single actionwear_jobs table replaces 6 independent background processes and 3 inline differential operations
  • 10 dedicated job handlers with priority levels and conflict groups to prevent race conditions between price/quantity sync
  • Atomic job runner with crash recovery via shutdown handler and automatic retry with exponential backoff
  • Self-rescheduling differential jobs (prices, quantities, catalog) with configurable timing
  • Bulk price and quantity synchronization with chunk-based processing
  • Order management: send orders to ActionWear API with address import, payload preview, and destination selection
  • Configurable order sync trigger (processing, completed, on-hold) with test mode support
  • Sync fields configuration: choose which product fields to update during synchronization (title, short description, description)
  • Attributes box position setting: choose where to display product attributes in the WooCommerce product page
  • Log pruning: automatic cleanup of old log entries
  • Help page with quick guides and troubleshooting section
  • API cooldown mechanism to handle rate limiting and temporary failures
  • Throttling for external API calls to prevent duplicate sync triggers
  • Automatic cleanup of orphaned placeholder image attachments
  • Username confirmation for dangerous actions (reset settings, clear price tables)
  • “Skip for now” option during onboarding product selection step
  • Plugin URL exposed to frontend via window._ACTIONWEAR_PLUGIN_URL for reliable asset loading
  • Sync health monitoring dashboard with runner status, job counters, and crash warnings
  • Product filters: filter by new products, new colors, and already imported products
  • French and Spanish language options for product import
  • Complete frontend redesign: new design system with zinc/accent color palette, rounded cards, Heroicons, and consistent typography across all pages
  • Migrated build system from Create React App to Vite
  • Redesigned all onboarding steps with modern card-based UI and consistent styling
  • Redesigned Dashboard, Queue, Settings, Categories, Logs, and Price tables pages
  • Redesigned DataTable for SKU product selection with custom styles, filter chips, and improved product quick view modal
  • Redesigned brand selection from checkbox tree to searchable grid of toggle cards
  • Redesigned category selection with Heroicon-based tree icons
  • Redesigned category associations with vertical stacked card layout (AC categories WC category)
  • WooCommerce categories header color changed to #bb77ae across the plugin
  • Redesigned settings reset modal with backdrop blur and modern card layout
  • Language switcher unified: onboarding and settings page now share the same card-based style
  • Attribute badges unified: consistent selected/unselected styling across onboarding and settings
  • All attributes pre-checked and Italian pre-selected as defaults during onboarding
  • Filter component redesigned with rounded input, Heroicon search icon, and contextual clear button
  • Loading screen and progress bar redesigned with bounce animation and accent colors
  • Toast notifications styled with dark theme and high z-index to prevent WordPress admin UI overlap
  • Welcome and API key screens redesigned with feature cards and highlight badges
  • Refactored database queries for improved performance in bulk operations
  • Refactored order synchronization to streamline payload building
  • Price synchronization refactored to support multiple SKUs per price item
  • Category association names not appearing in UI due to (int) cast on alphanumeric category IDs
  • Plugin logo not displaying due to hardcoded asset path mismatch
  • Toast notifications hidden behind WordPress admin elements
  • Onboarding “skip” button causing PHP undefined variable error when no product selection was made
  • Attribute checkboxes not reflecting pre-selected state during onboarding (defaultChecked vs checked)
  • Settings reset now triggers automatic page reload to return to initial screen
  • Category associations layout misalignment in flex-based card design

2.3.3

  • Fixed a bug that in some cases doesn’t full resync products
  • Added a new cdn url replacement

2.3.2

  • Fixed the combination dimension that was not correctly calculated

2.3.1

  • Fixed a bug of the category association
  • Fixed a bug of a missing product length

2.3.0

  • Added a new page that show products that are not available anymore on ActionWear but still present on WooCommerce
  • Added multiple checkbox selection on import page after completing the onboarding
  • Added a flag under the resync products that let you to choose if you want to resync all products or only missing in WooCommerce
  • Added a new task that let you to resync all images of products
  • Added a new product delete task to combinations that have price 0
  • Changed the task failure post-action to retry the task instead of delete it
  • Changed timeout to 90 seconds to get all actionwear skus on onboarding and differential product import
  • Chnaged verbosity for some log messages
  • Fixed a bug that doesn’t show the task queue lists in some cases

2.2.1

  • Changed the timeout time of task queue from 50 to 110 seconds to prevent duplicated tasks
  • Fixed a bug of camac placeholder image that doesn’t show up on frontend
  • Fixed a bug that sometimes show others plugins queue tasks on plugin dashboard

2.2.0

  • Added a new Queue view on dashboard to show tasks in progress and delete them if needed
  • Added a Circuit Breaker during every API call to show a notice if API is not reachable
  • Created a new task to update prices programmatically on all products
  • Added a new post meta to track original product price before price markup
  • Added a new trigger in advanced settings to reapply price recharge on demand
  • Added the possibility to filter synced / not synced products on sku selection
  • Improved module security
  • Changed some logs with additional details to help debugging
  • Changed brand_id from M2 to the brand_id present during product creation
  • Changed the way that establish how many products are synced
  • Fixed a bug that doesn’t apply price recharge

2.1.7

  • Fixed a bug that doesn’t associate product images where sku has more than 3 parts

2.1.6

  • Fixed a bug that show products count as 0 on dashboard even if there are actionwear products
  • Fixed a bug that duplicate categories on associations view

2.1.5

  • 6.4 compatibility

2.1.4

  • Fixed supplier_availability default view setting
  • Fixed a scenario when a supplier view table doesn’t shown up on frontend
  • Prevent sku of actionwear_products table to be duplicated on product differential sync

2.1.3

  • Fixed cronjob differential timing
  • Added log on attribute creation

2.1.2

  • Full products resync doesn’t occur even if resync button was pressed
  • Exception generated during images import

2.1.1

  • Product doesn’t delete/edit cover image even the option is enabled
  • Log on terms error

2.1.0

  • Added notice if wp-json is not reachable or rewrite rules are not working
  • Added log if pricesall is empty
  • Disabled notion faqs on pre-release process
  • Hard reset not working properly
  • Attributes skipping if camac_color_group is empty
  • Mismatch between real wordpress url and site url
  • Missing full path on images cause an error if wordpress is installed on a subfolder

2.0.1

  • WP 6.2.2 compatibility

2.0.0

  • Facultative selection of all CAMAC attributes to make them taxonomies on a new OnBoarding 4 step
  • Products import by languages: IT, EN, FR, ES on a new OnBoarding 4 step
  • Attribute camac_color_group is now a taxonomy by default
  • Plugin multilanguage support: IT, EN
  • New dashboard pages: Attributes, Language
  • Trigger to resyncronize only categories associations
  • Setting to temporarily freeze all syncronizations
  • Setting to toggle products images modification
  • Setting to toggle Differential Price Sync
  • Setting to toggle Price Markup Tables
  • Database versioning and migration system
  • Deleted products from Action-Wear.com API are now automatically deleted from plugin sync and your website database
  • Info modal is now triggered when pressing ‘Reset settings’
  • Button in backoffice product page to resync a specific single product
  • Hard reset button in plugins page
  • Background products processing is now handled by a queue system which automatically adapts to you server’s capabilities
  • Setting to choose how many products to import per process removed
  • Unlock Cronjob setting removed
  • Label ‘Usa immagini del configurabile’ is now ‘Usa immagini del prodotto indossato’
  • Debug Mode is now false by default
  • Products images when ‘Usa immagini del prodotto indossato’ setting is disabled — bugfix
  • Url redirecting — bugfix
  • Interface general fixes

1.1.27

  • Differential price schema

1.1.24

  • Product categories association fixed

1.1.22

  • Assets file inclusion

1.1.21

  • Github wordpress publish action
  • Node update faqs and pdf creation from node file to npx command

1.1.9

  • Created Docker image where run tests
  • Codeception Tests suite
  • Workflow that run tests on docker image that install WP, WooCommerce, ActionWear and run tests
  • giorniconsegnafornitore to wp metas
  • Standard Product attributes to real WooCommerce Attributes that works with taxonomies
  • Supplier and Actionwear quantities frontend views and content
  • Db Tests

1.1.0

  • Controllo su stato logged delle API json del modulo in modo da prevenire chiamate esterne non da backend
  • Visualizzazione detailed su prodotti con tante varianti
  • Replica immagini delle taglie su sku contenente il simbolo “+”

1.0.80

  • 2022-02-10

    • Pagina prodotti dove è possibile selezionare in qualsiasi momento i prodotti che si intendono rimuovere/aggiungere alla sincronizzazione
    • Sezione in Home del plugin con i due plugin consigliati
    • Banner sincronizzato con vostre API esterne
    • Trigger che mostra un avviso se presente una invalidations da vostra api esterna, chiede di risincronizzare i prodotti e si può avviare il resync totale dei prodotti (non vengono eliminati e ricreati ma semplicemente aggiornati)
    • Polling su pagina Registri per avere la view sempre aggiornata
    • Implementazione del listino pubblico, impostando di default il ricarico a 150 (2,5)
    • Configurazione per preferenza su immagini del configurabile (copyright sui modelli) + automazione lato import. Aggiunto anche in fase di onboarding.
    • Procedura di sincronizzazione differenziale sulla base delle vostre API. Attualmente le sync si aggiornano ogni 5 minuti per le quantità e ogni ora per i prezzi.
    • Preferenza su mostrare/nascondere disponibilità fornitore + scelta del tipo di vista.
    • Implementazione lato frontend della vista delle disponibilità
    • Controlli preliminari per rilevamento configurazioni non adatte o obbligatorie lato server
    • Controllo sull’esistenza di WC anche in fase di attivazione del plugin
    • Pulsante di esportazione in formato .csv per gli ordini e dei soli prodotti di ActionWear
    • Avviso che permette il resync se almeno una delle chiamate API di ActionWear fallisce
    • Resize dinamico immagine in base a contesto
    • Sincronizzazione prodotti adesso non rimuove le entità ma le aggiorna
    • Assegnazione automatica alla taglia che contiene l’immagine, alle altre taglie corrispondenti
    • Chiamata API pricesall e listino

1.0.2

  • 2022-09-11

    • Typo

1.0.1

  • 2022-09-11

    • Test release

1.0.0

  • 2022-09-11

    • Tutti i file della repository
Back to top