Titan Inventory Import
Dealer Studio can import vehicle stock from Titan DMS in two ways:
| Version | Feed type | How stock is updated |
|---|---|---|
| V1 | Scheduled bulk import | Dealer Studio periodically requests the full stock list from Titan |
| V2 | Webhook-driven import + nightly full sync | Titan notifies Dealer Studio when a stockcard changes; Dealer Studio then fetches that stockcard. Once per day near midnight, Dealer Studio also pulls the full stock list (same as a V1 sync) so sold vehicles are caught up |
Both versions use the same Titan Dealer ID, stock filters, and field mapping. Choose V2 when you want near real-time updates with a daily sold catch-up. Use V1 when a scheduled full sync alone is enough.
To set up either feed, email support@dealerstudio.com.au with the dealership name and Titan Dealer ID. Dealer Studio creates and configures the feed; Titan credentials for API access are held by Dealer Studio.
Prerequisites
Section titled “Prerequisites”| Item | Notes |
|---|---|
| Titan Dealer ID | Required. Without it, no stock is imported. Must match the dealer identifier Titan uses on API calls and (for V2) in webhook payloads as dealerId. |
| Location numbers | If the dealership has multiple sites, Titan LocationId values should match location numbers configured in Dealer Studio so vehicles land on the correct site. |
| Catalogue preference | Dealerships can prefer Redbook or Glasses (NVIC). Titan may send both codes; Dealer Studio applies the preferred catalogue first and falls back to the other when needed. |
Shared feed options
Section titled “Shared feed options”These options apply to both V1 and V2 feeds in Dealer Studio:
| Option | Description |
|---|---|
| Dealership ID | Titan Dealer ID for this dealership |
| Vehicle class | Filter to New (1), Demo (2), and/or Used (3). Leave empty to import all classes returned by Titan. |
| Location ID | Optional comma-separated Titan location IDs to limit which sites are imported |
| Use publish rules | When enabled (default), Titan publish rules apply to which vehicles are returned |
| Include on order / in transit / reserved | Optional flags to include those vehicle statuses from Titan |
| Match by VIN | When enabled, existing vehicles are matched by VIN instead of stock number (useful after stock number changes). The stock number from Titan is still applied. |
| Sync Titan comments | When enabled, dealer comments are taken from Titan SalesComment. When disabled (default), existing comments are left alone. |
| Ignored fields | Fields Dealer Studio will not overwrite from the feed (for example prices, rego, Redbook or NVIC codes) |
| Load to | Optional distribution flags (website and third-party destinations) applied to imported vehicles |
Stock number rules
Section titled “Stock number rules”| Vehicle class | Stock number used in Dealer Studio |
|---|---|
| New | Titan ManufacturerId when present, otherwise StockNumber |
| Demo / Used | Titan StockNumber |
Sold vehicles
Section titled “Sold vehicles”| Version | Behaviour |
|---|---|
| V1 | After each full sync, vehicles previously imported by this feed that are no longer in the Titan response are marked sold (unless the feed is configured not to). |
| V2 | Webhook notifications update a single stockcard only and do not sweep other vehicles as sold. The nightly full sync (near midnight, Australia/Brisbane) marks vehicles missing from Titan as sold, same as V1. |
Field mapping
Section titled “Field mapping”Key Titan stockcard fields map as follows:
| Titan field | Dealer Studio field |
|---|---|
VIN |
VIN |
Odometer |
Odometer |
ExteriorColour |
Colour |
InteriorColour |
Interior colour |
ManufactureDate |
Build date |
ComplianceDate |
Compliance date |
RegistrationNumber |
Rego |
RegistrationExpiry |
Rego expiry |
RegistrationBureaucracy |
Rego state |
Transmission / TransmissionType |
Transmission |
LocationId |
Location code (matched to a dealership location when possible) |
VehicleDescription |
Tune / description text |
SalesComment |
Dealer comments (only when Sync Titan comments is enabled) |
Make / Family |
Make / model (when catalogue codes do not resolve) |
BodyStyle, FuelType, EngineCapacity, Doors, Seats, DriveType |
Body, fuel, engine size, doors, seats, drive |
RedbookCode |
Redbook (decrypted by Dealer Studio) |
NVIC |
NVIC / Glasses |
DAP / EGC price fields |
Drive-away and EGC prices |
VehicleClass |
Car type: 1 = new, 2 = demo, 3 = used |
Vehicles present in a successful import are treated as in stock. Titan does not send a separate status field for this purpose.
V1 — scheduled bulk import
Section titled “V1 — scheduled bulk import”Dealer Studio calls Titan’s Vehicle Stock API on a schedule and imports every stockcard in the response.
How it works
Section titled “How it works”- Dealer Studio creates an active Titan API feed with the Titan Dealer ID and filters.
- On each scheduled run, Dealer Studio requests stock from Titan with the feed’s filter body.
- Returned vehicles are created or updated in Dealer Studio.
- Vehicles missing from the response that were previously managed by this feed are marked sold (subject to feed settings).
Schedule
Section titled “Schedule”Frequency is chosen when the feed is created. Typical options range from a few times per weekday up to hourly during business hours (Australia/Brisbane, Monday–Saturday). Titan charges per API call, so prefer the lowest frequency that still meets the dealership’s freshness needs.
Titan API request (outbound from Dealer Studio)
Section titled “Titan API request (outbound from Dealer Studio)”Dealer Studio authenticates to Titan with an API key and the feed’s Dealer ID. Partners do not need to issue these headers themselves.
Example filter body (defaults when configs are unset):
{ "UsePublishRules": true, "IncludeOnOrderVehicles": true, "IncludeInTransitVehicles": true, "IncludeReservedVehicles": true}Optional filters from the feed:
{ "VehicleClass": "1,3", "LocationId": "1,2"}V1 setup checklist
Section titled “V1 setup checklist”- Confirm the Titan Dealer ID with Titan or the dealership.
- Email support@dealerstudio.com.au to create a Titan V1 feed (Dealer ID, preferred frequency, vehicle classes, locations if needed).
- Align Titan location IDs with Dealer Studio location numbers where multi-site routing matters.
- After the first successful run, spot-check a sample of new, demo, and used vehicles (stock number, prices, images/catalogue data, and location).
V2 — webhook-driven import
Section titled “V2 — webhook-driven import”Dealer Studio receives Titan client notifications when stockcards change, then fetches each notified stockcard from Titan’s V2 Vehicle Stock API. Separately, once per day near midnight (Australia/Brisbane), Dealer Studio runs a full stock pull for each active V2 feed (no per-stockcard key), so inventory that left Titan without a usable notification is still marked sold.
How it works
Section titled “How it works”Titan DMS → POST /api/v1/webhooks/titan_notifications (stockcard change) → Dealer Studio queues import for that stockcard key → POST Titan Vehicle Stock API with that VehicleStockcardKey → Create or update the vehicle in Dealer Studio
Nightly (near midnight, Australia/Brisbane) → POST Titan Vehicle Stock API for the full dealer stock list → Create or update vehicles; mark missing feed-managed vehicles as soldWebhook endpoint
Section titled “Webhook endpoint”| URL | https://dashboard.dealerstudio.com.au/api/v1/webhooks/titan_notifications |
| Method | POST |
| Auth | HTTP Basic Auth only. Dealer Studio provides the Client ID (username) and Client Secret (password) for Titan’s Client Notifications form. Do not use an Api-Key header on this endpoint. |
| Content-Type | application/json |
| Success | 200 OK with body ok |
Notification payload
Section titled “Notification payload”Only vehicleStockcard items are processed. Other notification types (for example profile or repairOrder) are ignored.
{ "dealerId": "EXAMPLE_DEALER", "timestamp": "2026-09-01T10:00:00Z", "data": [ { "vehicleStockcard": { "action": "Update", "vehicleStockcardKey": 12345, "stockNumber": "12345" } } ]}| Field | Required | Notes |
|---|---|---|
dealerId |
Yes | Must match an active Titan V2 feed’s Dealership ID in Dealer Studio |
data |
Yes | Array of notification items |
data[].vehicleStockcard.vehicleStockcardKey |
Yes | Titan stockcard key used to fetch the vehicle |
Webhook responses
Section titled “Webhook responses”| Status | Meaning |
|---|---|
200 |
Accepted; stockcard imports queued |
400 |
Invalid JSON, missing dealerId, or no vehicleStockcard items in data |
401 |
Missing or invalid Basic Auth credentials |
404 |
No active Titan V2 feed for the given dealerId |
V2 setup checklist
Section titled “V2 setup checklist”- Confirm the Titan Dealer ID (same value Titan will send as
dealerId). - Email support@dealerstudio.com.au to create a Titan V2 feed and receive webhook Client ID / Client Secret.
- In Titan, register Dealer Studio’s webhook URL and store the Client ID and Client Secret on the Client Notifications form (HTTP Basic Auth).
- Trigger a stockcard update in Titan and confirm the vehicle updates in Dealer Studio.
Choosing V1 or V2
Section titled “Choosing V1 or V2”| Prefer V1 when… | Prefer V2 when… |
|---|---|
| A scheduled full inventory sync is enough | Stock should update soon after changes in Titan, with a nightly sold catch-up |
| You want sold marking only via frequent scheduled full syncs | You want create/update events per stockcard plus one daily full sync |
| Webhook registration in Titan is not available | Titan Client Notifications can be configured for the dealership |
V1 and V2 feeds can coexist during a migration, but avoid running both against the same dealership long term without coordinating stock matching (VIN vs stock number) and sold behaviour.
Support
Section titled “Support”For feed creation, Dealer ID confirmation, webhook credentials, or import troubleshooting, contact support@dealerstudio.com.au.