{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/en-US/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Best practices","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"best-practices","__idx":0},"children":["Best practices"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This section describes recommended practices for using the VirtualCar360 documentation and platform. It covers Player, Player 360, configuration, video, certificates and API integration."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"choose-the-right-integration-method","__idx":1},"children":["Choose the right integration method"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scenario"},"children":["Scenario"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Recommended solution"},"children":["Recommended solution"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Embed a ready-made vehicle presentation"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Player"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Show smooth 360° rotation"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Player 360"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Configure embedded behavior"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Customization"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display generated vehicle videos"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Video"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display vehicle certificates"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Certificate"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Build a custom gallery or import data"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["API"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Tip"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you do not need to build a custom gallery, start with the Player. It is the fastest and simplest integration method."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"recommended-implementation-process","__idx":2},"children":["Recommended implementation process"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Choose Player, Player 360 or API."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Obtain an API key or group key."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Prepare a test environment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Test the integration on selected vehicles."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Check edge cases such as missing gallery, missing video, missing hotspots and multiple galleries."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Configure the Player appearance."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Verify desktop, tablet and mobile views."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Check performance on offer listings."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Deploy to production."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Monitor issues and report unusual cases to support."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"player-and-player-360","__idx":3},"children":["Player and Player 360"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Embed using ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["iframe"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use responsive containers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["loading=\"lazy\""]}," on listings."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Avoid loading too many Players at once."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use Player 360 primarily on vehicle detail pages."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Remember that AI-generated Player 360 frames do not contain hotspots."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"api","__idx":4},"children":["API"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use backend proxy for API calls."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Store API keys in environment variables or secret storage."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Do not log full URLs containing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["key"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use cache for frequently requested data."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use pagination for list endpoints."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handle ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["404"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["500"]}," responses."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Do not assume every vehicle has a gallery, video, hotspot or certificate."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"video","__idx":5},"children":["Video"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Contact support to enable video generation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm whether videos should be generated automatically."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Configure YouTube before production deployment if required."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handle ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["video = null"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Do not assume every gallery has a YouTube link."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"certificate","__idx":6},"children":["Certificate"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Retrieve certificates through backend when using the Certificate API."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["widget"]}," for embedded website views."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onepage"]}," for a standalone certificate page."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pdf"]}," for downloadable documents."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handle multiple languages."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Do not treat temporary PDF URLs as permanent links."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"documentation-consistency","__idx":7},"children":["Documentation consistency"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the same section names in Markdown pages and API Reference."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Avoid internal controller names in public documentation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Group endpoints by business function."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Include request examples and response examples."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use consistent placeholders such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR_API_KEY"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Keep OpenAPI as the source for API Reference and Markdown pages as integration guidance."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"testing-checklist","__idx":8},"children":["Testing checklist"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Test:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["a vehicle with one gallery,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["a vehicle with multiple galleries,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["a vehicle with video,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["a vehicle without video,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["a vehicle with hotspots,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["a vehicle without hotspots,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["a vehicle with certificate,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["invalid VIN,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["invalid registration number,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["missing access to a location,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["desktop and mobile layouts,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["slower network connections."]}]}]},"headings":[{"value":"Best practices","id":"best-practices","depth":1},{"value":"Choose the right integration method","id":"choose-the-right-integration-method","depth":2},{"value":"Recommended implementation process","id":"recommended-implementation-process","depth":2},{"value":"Player and Player 360","id":"player-and-player-360","depth":2},{"value":"API","id":"api","depth":2},{"value":"Video","id":"video","depth":2},{"value":"Certificate","id":"certificate","depth":2},{"value":"Documentation consistency","id":"documentation-consistency","depth":2},{"value":"Testing checklist","id":"testing-checklist","depth":2}],"frontmatter":{"seo":{"title":"Best practices"}},"lastModified":"2026-06-16T21:52:40.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/en-us/best-practices","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}