Reference data, listing, photos, pricing and portal publishing sit on one surface, so "take this car in and get it live" is one conversation instead of four screens. The analytics tools then point at the stock that is not moving.
A dealership inventory server over the StockSpark and Carspark platform, with 36 tools across organisation, reference data, vehicles, images, analytics, publishing, leads and performance. It covers the whole life of a listing: build the vehicle from reference data, photograph it, price it, publish it, then watch leads and performance.
- The company and dealer you are working as, chosen from the ones your account can reach (`get_user_context`, `list_user_companies`, `select_company`, `list_company_dealers`, `select_dealer`)
- Reference data — makes, models, trims, transmissions, body styles, fuels and colours — plus progressive version search, version comparison, and a complete data template for a version (`get_vehicle_makes`, `get_vehicle_models`, `get_vehicle_trims`, `search_vehicle_versions`, `compare_vehicle_versions`, `get_vehicle_version_template`)
- A vehicle created from that template or by hand, then read, updated, repriced or removed (`add_vehicle`, `get_vehicle`, `update_vehicle`, `update_vehicle_price`, `delete_vehicle`)
- Inventory searched and filtered by make, model, type, mileage, price and whether it has images, sorted the way you ask (`list_vehicles`)
- Images uploaded in bulk from files or URLs, with a main image you set and individual ones removed (`upload_vehicle_images`, `get_vehicle_images`, `set_vehicle_main_image`, `delete_vehicle_image`)
- Slow stock identified, overall stock health measured, a bulk discount applied, and pricing suggestions returned (`get_underperforming_vehicles`, `analyze_inventory_health`, `apply_bulk_discount`, `get_pricing_recommendations`)
- Publishing to the portals your account has configured, with status readable per vehicle (`publish_vehicle`, `unpublish_vehicle`, `get_publication_status`, `list_available_portals`)
- Customer enquiries per vehicle and lead trends across the stock (`get_vehicle_leads`, `analyze_lead_trends`)
A StockSpark account — the server signs in with `STOCKSPARK_USERNAME` and `STOCKSPARK_PASSWORD` from the client config, and refreshes its own OAuth2 token. It runs from a local checkout, so Node and a clone of the repository. `STOCKSPARK_COUNTRY` defaults to `it`. Portal publishing needs `MYPORTAL_ACTIVATION_CODE` or `AUTOMOBILE_IT_ACTIVATION_CODE`, and lead tracking needs `STOCKSPARK_API_KEY`. Two known issues to expect: the main image is not always set automatically on upload, and the `hasImages` filter can report false for vehicles that do have images.
