The CreativeX API expects specific field names and structure:
- brand_name (not brand)
- market_name (not market)
- creatives array containing asset details
Changes:
- Updated preflight metadata structure in upload.py
- Updated create_preflight validation in api_client.py
- Updated state_manager to use correct field names
- Payload now includes creatives array with name, asset_url, channel
This fixes the 'brand_name, market_name, creatives are missing' error.
- Ferrero filename parser with NEW format support
- CreativeX API client with retry logic
- State persistence with resume capability
- Upload and status checking scripts
- Comprehensive documentation
- Virtual environment support