Fix image upload structure for Miravia API compliance
🔧 Bug Fixes: - Fixed product image structure to match Miravia API requirements - Updated MiraviaProduct.php getData() method to wrap images in {"Image": [...]} format - Updated MiraviaCombination.php getData() method to wrap SKU images properly - Resolved error "[4224] The Main image of the product is required" 📋 Changes: - Modified getData() methods to transform flat image arrays to nested structure - Product images: images[] → Images: {"Image": [...]} - SKU images: images[] → Images: {"Image": [...]} - Maintains backward compatibility for empty image arrays 🎯 Impact: - Product uploads will now pass Miravia's image validation - Both product-level and SKU-level images properly formatted - Complies with official Miravia API documentation structure 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
a7d7dbb164
commit
c0007ebbea
91
CLAUDE.md
Normal file
91
CLAUDE.md
Normal file
@ -0,0 +1,91 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
This is a WordPress/WooCommerce plugin that integrates with the Miravia marketplace (owned by Alibaba). The plugin allows merchants to:
|
||||
- Upload WooCommerce products to Miravia
|
||||
- Download orders from Miravia
|
||||
- Manage product synchronization between platforms
|
||||
- Handle multiple Miravia accounts and profiles
|
||||
|
||||
## Architecture
|
||||
|
||||
### Core Components
|
||||
|
||||
**Main Plugin File**: `connector-miravia/connector-miravia.php`
|
||||
- Entry point that defines plugin metadata and initializes the MiraviaWOO class
|
||||
- Sets up WordPress hooks and admin menu structure
|
||||
- Loads all required class dependencies
|
||||
|
||||
**Class Structure**:
|
||||
- `class.core.php` - Core functionality for accounts, profiles, and database operations
|
||||
- `class.api.php` - AJAX handlers for all Miravia API interactions
|
||||
- `class.product.php` - WooCommerce product management and synchronization
|
||||
- `class.order.php` - Miravia order processing and WooCommerce integration
|
||||
- `class.categories.php` - Category mapping between WooCommerce and Miravia
|
||||
- `class.db.php` - Database schema management and installation
|
||||
|
||||
**Shared Classes** (in `classes/shared/`):
|
||||
- `MiraviaProduct.php` - Product data structure for Miravia API
|
||||
- `MiraviaCombination.php` - Product variations/SKUs handling
|
||||
- `MiraviaCategory.php`, `MiraviaFilter.php`, `MiraviaFeed.php` - Support classes
|
||||
|
||||
### Database Schema
|
||||
|
||||
The plugin creates custom tables:
|
||||
- `{prefix}_miravia_accounts` - Stores Miravia seller account credentials
|
||||
- `{prefix}_miravia_profiles` - Product upload profiles with mapping rules
|
||||
- `{prefix}_miravia_products` - Synchronization status between WooCommerce and Miravia
|
||||
- `{prefix}_miravia_orders` - Order tracking and fulfillment data
|
||||
|
||||
### Key Features
|
||||
|
||||
**Product Upload**:
|
||||
- Products are uploaded via profiles that define category mappings and filters
|
||||
- Images must be formatted as `{"Image": [...]}` structure for Miravia API compliance
|
||||
- Support for both simple products and variations
|
||||
|
||||
**Order Management**:
|
||||
- Downloads orders from Miravia and creates corresponding WooCommerce orders
|
||||
- Tracks order status and fulfillment
|
||||
- Handles shipping label generation
|
||||
|
||||
**Multi-Account Support**:
|
||||
- Multiple Miravia seller accounts can be configured
|
||||
- Each profile can be associated with specific accounts
|
||||
|
||||
## Development Commands
|
||||
|
||||
### Deployment
|
||||
- **Deploy changes**: `./deploy_miravia.sh` - Automated git deployment script that commits and pushes changes
|
||||
|
||||
### No Build Process
|
||||
This is a pure PHP WordPress plugin with no build step required. Changes are deployed directly.
|
||||
|
||||
### Testing
|
||||
No automated test framework is configured. Testing should be done manually in a WordPress/WooCommerce environment.
|
||||
|
||||
## Important Implementation Notes
|
||||
|
||||
### API Integration
|
||||
- All Miravia API calls go through the WeComm proxy server
|
||||
- Authentication uses tokens stored in the accounts table
|
||||
- Product images must follow specific structure: `Images: {"Image": [...]}`
|
||||
|
||||
### WordPress Integration
|
||||
- Uses standard WordPress hooks and filters
|
||||
- Admin interface is built with WordPress admin styles
|
||||
- Internationalization support with 'miraviawoo' text domain
|
||||
|
||||
### Error Handling
|
||||
- Logging is handled through custom LOG class
|
||||
- Debug mode can be enabled via WordPress options
|
||||
- Errors are stored in product sync records for troubleshooting
|
||||
|
||||
### Security Considerations
|
||||
- All database operations use WordPress $wpdb for SQL injection protection
|
||||
- User capability checks (`manage_woocommerce`, `manage_options`)
|
||||
- Input sanitization with WordPress functions
|
||||
- Nonce verification for admin actions
|
||||
Loading…
x
Reference in New Issue
Block a user