Tune Integration
Dealer Studio can receive vehicle stock from Tune / Revolution in two ways:
| Method | How stock is updated |
|---|---|
| API webhook (recommended) | Tune pushes create, update, and delete events to Dealer Studio whenever advertised stock changes |
| FTP | Tune (or another process) uploads inventory files on a schedule for Dealer Studio to import |
The API path uses Tune’s Advertising Company API delivery. Tune is the source system. Dealer Studio does not poll Tune for stock.
To set up either method, email support@dealerstudio.com.au with the dealership name. Dealer Studio will provide the webhook endpoint (and any authentication details) or FTP credentials.
API webhook integration
Section titled “API webhook integration”How synchronisation works
Section titled “How synchronisation works”Tune / Revolution → vehicle created, updated, or deleted (or manual push of advertised stock) → Advertising Company API delivery → HTTP POST to Dealer Studio stock webhook → Dealer Studio creates, updates, or removes the stock recordThis replaced an older scheduled batch approach where the full inventory was repeatedly transmitted. POSTs are effectively real-time for create, update, and delete events. Dealers can also manually push all advertised vehicles, or a selected set, at any time from Tune.
Dealer setup in Tune
Section titled “Dealer setup in Tune”Do not reuse a historical webhook URL from another dealership or an old integration thread. Use the endpoint Dealer Studio provides for this dealership.
- In Tune / Revolution, create an Advertising Company for Dealer Studio.
- Configure that advertising company for API delivery.
- Set the Endpoint to the Dealer Studio stock webhook URL supplied by Dealer Studio (includes the dealership identifier as a query parameter).
- Configure authentication as advised by Dealer Studio. Early integrations were sometimes tested with username and password left blank; follow the credentials Dealer Studio gives you for a new dealer.
- Select or enable the vehicles that should be advertised to the Dealer Studio advertising company.
- Perform an initial push of all advertised vehicles so Dealer Studio is seeded with current inventory.
- Change a test vehicle in Tune and confirm Dealer Studio receives the update.
Exact menu labels and button sequences in Tune can vary by version. If the Advertising Company or API delivery screens look different from what you expect, ask Tune support or support@dealerstudio.com.au.
Short dealer-facing summary: In Tune, add Dealer Studio as an Advertising Company using API delivery. Dealer Studio provides the API endpoint and any required authentication. Assign the required stock to that advertising company and run an initial full push. Tune then sends subsequent vehicle create, update, and delete events to Dealer Studio automatically.
Webhook endpoint
Section titled “Webhook endpoint”| URL | https://dashboard.dealerstudio.com.au/api/v1/webhooks/cars_webhooks?dealership_slug=<dealership_slug> |
| Method | POST |
| Auth | X-API-KEY header with the key Dealer Studio provides |
| Content-Type | application/json |
| Success | 200 OK with body ok |
<dealership_slug> is unique per dealership. Dealer Studio includes it in the endpoint URL it issues. Do not strip the query parameter.
Authentication
Section titled “Authentication”Send the API key on every request:
X-API-KEY: <api_key_from_dealer_studio>If the key is missing or invalid, Dealer Studio responds with 401 Unauthorized and a JSON body such as:
{ "error": "Invalid or unauthorized access" }Payload version
Section titled “Payload version”Use Revolution’s Advertising API Version 1 payload (VersionNo 1.0). That is the contract Dealer Studio was built against.
Top-level envelope fields:
| Field | Notes |
|---|---|
DealerCode |
Tune dealer code |
TransactionType |
Typically Internetadvertising |
VersionNo |
1.0 |
TimeStamp |
Event timestamp from Tune |
MessageID |
Optional message identifier |
payload |
Array of vehicle event objects (usually one item per POST) |
Events
Section titled “Events”Each object in payload includes eventId:
eventId |
Dealer Studio behaviour |
|---|---|
CREATE |
Create the vehicle if it does not already exist for that stock number |
UPDATE |
Update the matching vehicle (matched by stock number within the dealership) |
DELETE |
Mark the matching vehicle as sold / withdrawn from live stock |
Example payload (CREATE)
Section titled “Example payload (CREATE)”Images are omitted here for brevity. In production, Tune may include image objects in images (see Images and media).
{ "DealerCode": "example_dealer", "TransactionType": "Internetadvertising", "MessageID": "", "TimeStamp": "2023-11-14T15:51:18.050+11:00", "VersionNo": "1.0", "payload": [ { "eventId": "CREATE", "globalId": "dbbd93d0-3452-4cb2-b714-d3e0085a726f", "advertisingCompany": "Dealer Studio", "stockNo": "0000060", "advertId": 26324, "franchiseDesc": "Lexus", "rangeDesc": "IS200", "modelCode": "LEX1X75660LE02", "modelDesc": "2002 Caliente LE Manual", "regoNo": "CZM12B", "vinId": "12345678945612352", "odometer": 98000, "bodyDesc": "Sedan", "colourDesc": "White", "trimDesc": "Black", "engineType": "2.0L Petrol", "engineCapacity": "2", "fuelType": "Petrol", "transmissionType": "Automatic", "optionsList": "ABS AC LEATHER PS PW SUN", "advertisingDescription": "<p>Dealer comments HTML from Tune</p>", "stockLocation": "111", "special": "no", "nvicCode": "", "driveAwayPrice": "29990", "totalSale": "27990", "regoExpiryDate": "2020-03-17", "buildYear": 2000, "buildMonth": 2, "complianceDateYear": 2018, "complianceDateMonth": 2, "firstRegYear": 2000, "firstRegMonth": 2, "certifiedUsedVehFlag": "yes", "engineNo": "9876548", "vehStatus": "10", "NUD": "U", "images": [], "url": [] } ]}Key field mapping
Section titled “Key field mapping”| Tune field | Dealer Studio use |
|---|---|
stockNo |
Stock number (primary match key) |
vinId |
VIN |
franchiseDesc |
Make |
rangeDesc |
Model |
modelDesc |
Description / tune text |
modelCode |
Model code |
NUD |
Vehicle type: N = new, D = demo, U = used |
vehStatus |
Stock status (see below) |
odometer |
Odometer |
bodyDesc |
Body |
colourDesc |
Colour |
trimDesc |
Interior colour / trim |
transmissionType |
Transmission |
fuelType |
Fuel |
engineType / engineCapacity / engineNo |
Engine details |
driveAwayPrice / totalSale |
Drive-away and EGC-style pricing |
advertisingDescription |
Dealer comments (HTML cleaned on import) |
optionsList |
Features (space-separated codes/names) |
stockLocation |
Location code (matched to a Dealer Studio location when possible) |
nvicCode |
NVIC / Glasses |
regoNo / regoExpiryDate |
Registration |
buildYear / buildMonth |
Build date |
complianceDateYear / complianceDateMonth |
Compliance date |
certifiedUsedVehFlag |
Certified used (yes / otherwise) |
images |
Vehicle photos (see below) |
Vehicle status (vehStatus)
Section titled “Vehicle status (vehStatus)”Tune vehStatus |
Dealer Studio |
|---|---|
10 |
In stock (for sale) |
15, 20, 80, 90 |
Treated as sold / not live stock |
Other status codes are ignored for status mapping.
Images and media
Section titled “Images and media”Tune’s Advertising API can send uploaded vehicle photos inside the payload as BLOB / base64 image data (imageData on each image object), rather than only hosted image URLs. That produces large webhook requests. Dealer Studio accepts and processes those payloads.
Tune’s Other Attachments / url fields are aimed at externally hosted content (for example video) and are not a drop-in replacement for Tune-hosted vehicle photos in the correspondence that shaped this integration.
Image objects typically include:
| Field | Notes |
|---|---|
eventId |
CREATE, UPDATE, or DELETE for that image |
imageId / imageID |
Stable image identifier from Tune |
imageSequence |
Display order |
imageType |
e.g. MAIN |
imageData |
Base64 image bytes when Tune embeds the photo |
Monitoring in Dealer Studio
Section titled “Monitoring in Dealer Studio”After vehicles are flowing, open a vehicle in Dealer Studio and use Api Logs in the vehicle actions menu to inspect received payloads for that stock item.
API setup checklist
Section titled “API setup checklist”- Email support@dealerstudio.com.au for the dealership-specific webhook URL and API key.
- Create the Dealer Studio Advertising Company in Tune with API delivery pointing at that URL.
- Assign stock and run an initial full push of advertised vehicles.
- Update a test vehicle in Tune and confirm it appears or updates in Dealer Studio.
- Spot-check stock number, prices, location, status, and photos on a sample of new, demo, and used vehicles.
FTP integration
Section titled “FTP integration”Request FTP credentials from Dealer Studio (server address, username, and password). Credentials are unique per dealership.
Configure feeds at a frequency that suits the dealership. Every 30 minutes is a reasonable default.
Prefer the API webhook when Tune Advertising Company API delivery is available, so stock changes arrive without waiting for the next FTP cycle.
Support
Section titled “Support”For endpoint URLs, API keys, FTP credentials, or import troubleshooting, contact support@dealerstudio.com.au.