What this audit checks
Authentication & access
- Webservice enabled (Advanced Parameters → Webservice) and /api reachable over HTTPS
- Webservice key authenticates as HTTP Basic username with empty password (200 on /api/?output_format=JSON)
- Key has GET grants on every resource a card needs: orders, order_details, products, stock_availables, customers, addresses, currencies, order_states
- Missing-grant detection - a 401/403 on any resource flags the specific permission gap rather than failing the whole sync
- PrestaShop version detected (1.6 / 1.7 / 8.x) so resource-shape differences are handled
- Hosted Cloud reachability - distinguish a maintenance window from a revoked key
Catalogue & SEO completeness
- Active products missing a primary image (id_default_image null/0)
- Products with empty description / description_short - conversion + SEO lift
- Products missing ean13 (breaks Google Shopping + marketplace feeds)
- Products missing meta_title / meta_description (organic-traffic leak)
- Zero-priced visible products (price 0 while active)
Inventory hygiene
- stock_available.quantity <= 0 on active, available_for_order products still visible (OOS-but-visible)
- Combination stockouts - id_product_attribute>0 rows at 0 while the parent product is active
- Stock-tracking disabled - out_of_stock=1 + depends_on_stock=false across >30% of catalogue
- Top-50-velocity SKUs at or near zero stock (stockout imminent on bestsellers)
Order & refund health
- Orders stuck in an awaiting-payment order_state aged >24h (gateway issue or customer dropoff)
- Refund rate >5% on 30D vsP (REFUNDED order_state / order_slip)
- Rolling 24h refund rate >2x 30D baseline (anomaly)
- Cancellation rate >3% on 30D vsP
- Order-status spike - any order_state volume >2x its 30D average in 24h
Discount & margin discipline
- total_discounts as % of revenue >40% sustained (promo dependency)
- total_shipping as % of revenue >15% (subsidising delivery)
- VAT/tax collected trend for cross-EU OSS-threshold awareness (tax_incl minus tax_excl)
Multistore consistency
- Per-shop revenue / refund-rate / OOS divergence across id_shop (one shop dragging the group)
- Same reference/ean13 with divergent price or stock across shops
- A shop with orders flowing but Webservice grants missing for one of its resources
Cross-channel: leak vs Ads / Marketplace / Email / Website (the killer area)
- Active ads on OOS PrestaShop SKUs - daily spend on reference/ean13 with stock_available.quantity <= 0 (sibling = google_ads / amazon_ads)
- Catalogue drift - same reference/ean13, PrestaShop vs Amazon/eBay price delta >20% or stock parity broken
- Email-attributed revenue share <15% or drop >20% vsP (sibling = klaviyo / dotdigital / mailchimp)
- High-value PrestaShop customers (spend > P90) unengaged on email for 90d
- Pagespeed-driven cart loss - cart/checkout LCP >2.5s with conversion drop (sibling = website_performance / crux)
Data sources
GET {store_url}/api/?output_format=JSON- Auth probe - cheapest validate, lists granted resourcesGET {store_url}/api/orders- Revenue / order-count / refund / status-pipeline contextGET {store_url}/api/order_details- Top products by revenue + line-level SKU velocityGET {store_url}/api/order_states- Map current_state to human status for status-mix + stuck-state detectionGET {store_url}/api/products- Catalogue completeness - image/description/EAN/SEO + active flagGET {store_url}/api/stock_availables- OOS + low-stock + combination stockouts + tracking-disabledGET {store_url}/api/customers- Customer count + repeat rate + churn-risk + newsletter opt-inGET {store_url}/api/addresses- Orders/AOV by country (geography)GET {store_url}/api/shops- Multistore enumeration for per-shop breakdowns