Dealer Studio Inventory ingestion

If you are using Dealer Studio Loopit has an intergration that allows inventory to be sent to Loopit with pricing. This reduces any duplicate efforts managing your fleet. The integration will add and remove fleet.

This document outlines the technical and support requirements for integrating with the Loopit platform to automatically create assets via webhooks.

Webhook delivery

Dealer Studio will send data to the following endpoint;

Endpoint URL (Production): Contact support Request Method: POST Content Type: application/json

Authorisation

To enable sending inventory to Loopit an oAuth client must be configured. To obtain the details please reach out to Loopit support.

Field information

Field Name
Type
Description

adapter

string (required)

Must be 'dealer-studio'; route param, required for integration.

Type

string (required)

Asset type.

Identifier

numeric (required)

Asset identifier.

SaleStatus

string (required)

Sale status.

SaleType

string (required)

Sale type.

LastModifiedUtc

date (required)

Last modified date (UTC).

CreatedUtc

date (required)

Created date (UTC).

Slug

string (nullable)

Optional slug.

ListingType

string (nullable)

Optional listing type.

Description

string (nullable)

Optional description.

Registration

array (nullable)

Registration details.

Registration.Number

string (nullable)

Registration number.

Registration.ExpiresUtc

date (nullable)

Registration expiry date (UTC).

Identification

array (nullable)

Identification details.

Identification.*.Type

string (nullable)

Identification type.

Identification.*.Value

string (nullable)

Identification value.

Colours

array (nullable)

Colour details.

Colours.*.Location

string (nullable)

Colour location.

Colours.*.Name

string (nullable)

Colour name.

OdometerReadings

array (nullable)

Odometer readings.

OdometerReadings.*.Type

string (nullable)

Odometer reading type.

OdometerReadings.*.Value

numeric (nullable)

Odometer reading value.

OdometerReadings.*.UnitOfMeasure

string (nullable)

Odometer unit of measure.

Seller

array (nullable)

Seller details.

Seller.Identifier

numeric (nullable)

Seller identifier.

Seller.LocationName

string (nullable)

Seller location name.

Seller.Addresses

array (nullable)

Seller addresses.

Seller.Addresses.*.State

string (nullable)

Seller address state.

Specification

array (nullable)

Asset specification.

Specification.Identifier

integer (nullable)

Specification identifier.

Specification.Title

string (nullable)

Specification title.

Specification.Make

string (nullable)

Specification make.

Specification.Model

string (nullable)

Specification model.

Specification.Series

string (nullable)

Specification series.

Specification.SpecificationCode

string (nullable)

Specification code.

Specification.ReleaseDate

array (nullable)

Specification release date.

Specification.ReleaseDate.Year

integer (nullable)

Release year.

Specification.ReleaseDate.Month

integer (nullable)

Release month.

Specification.Attributes

array (nullable)

Specification attributes.

Specification.Attributes.*.Name

string (nullable)

Attribute name.

Specification.Attributes.*.Value

mixed (nullable)

Attribute value.

Media

array (nullable)

Media details.

Media.Photos

array (nullable)

Media photos.

Media.Photos.*.Url

string (nullable)

Photo URL.

ComplianceDate

array (nullable)

Compliance date.

ComplianceDate.Month

string (nullable)

Compliance month.

ComplianceDate.Year

integer (nullable)

Compliance year.

BuildDate

array (nullable)

Build date.

BuildDate.Month

string (nullable)

Build month.

BuildDate.Year

integer (nullable)

Build year.

PriceList

array (nullable)

Price list.

PriceList.*.Type

string (nullable)

Price type.

PriceList.*.Currency

string (nullable)

Price currency.

PriceList.*.Amount

numeric (nullable)

Price amount.

SubscriptionPricing

array (nullable)

Subscription pricing.

SubscriptionPricing.*.Name

string (nullable)

Subscription name.

SubscriptionPricing.*.DailyPrice

numeric (nullable)

Daily price.

SubscriptionPricing.*.WeeklyPrice

numeric (nullable)

Weekly price.

SubscriptionPricing.*.FortnightlyPrice

numeric (nullable)

Fortnightly price.

SubscriptionPricing.*.MonthlyPrice

numeric (nullable)

Monthly price.

SubscriptionPricing.*.TaxIncluded

boolean (nullable)

Whether tax is included.

Validation rules

For a webhook to be processed it must map to a valid workspace within Loopit. This is controlled by the Seller.Identifier data point. If this is not provided or is not configured within Loopit the webhook will not be processed.

For an asset to be created

  • A valid mapping from Dealer studio webhooks to an account in Loopit

  • All required fields provided

For pricing to be automatically updated in Loopit per package;

  • API pricing support turned on

  • A single fee for vehicle and subscription (does not support subscription fee + vehicle fee on seperate lines)

  • Valid package IDs supplied

  • SubscriptionPricing data in payload to be formatted correctly

Example payload

{
  "Type": "CAR",
  "Identifier": 1234,
  "ListingType": "new",
  "SaleStatus": "For Sale",
  "SaleType": "Retail",
  "Description": "",
  "Slug": "new-white-2025-chery-tiggo-4-pro",
  "Registration": { "Number": "", "ExpiresUtc": null },
  "Identification": [
    { "Type": "StockNumber", "Value": "XXXXX" },
    { "Type": "VIN", "Value": "XXXXX" }
  ],
  "Colours": [
    { "Location": "Exterior", "Name": "White" },
    { "Location": "Interior", "Name": "Black" }
  ],
  "OdometerReadings": [
    { "Type": "", "Value": 0.0, "UnitOfMeasure": "KILOMETER" },
    { "Type": "", "Value": 0.0, "UnitOfMeasure": "KM" }
  ],
  "Seller": {
    "Identifier": 123,
    "Type": "Dealer",
    "Name": "XXXXX",
    "ExternalIdentifiers": [],
    "LocationCode": null,
    "LocationName": "XXXXX",
    "LocationId": 123,
    "Logo": null,
    "DealerLicenceNumber": "",
    "DealershipGroupNames": [],
    "Addresses": [
      {
        "Line1": "123 Road",
        "Suburb": "",
        "State": "NSW",
        "Postcode": "1234",
      }
    ],
  },
  "Specification": {
    "Identifier": 1302410,
    "SpecificationCode": null,
    "description": null,
    "CountryCode": "AU",
    "Make": "Chery",
    "Model": "Tiggo 4 Pro",
    "Series": "",
    "ReleaseDate": { "Year": 2025 },
    "Title": "2025 Chery Tiggo 4 Pro Urban",
    "Attributes": [
      { "Name": "Badge", "Value": "Urban" },
      { "Name": "EngineType", "Value": "Piston" },
      { "Name": "EngineSize", "Value": 1498 },
      { "Name": "EngineSizeLitres", "Value": 1.5 },
      { "Name": "Cylinders", "Value": 4 },
      { "Name": "FuelType", "Value": "Petrol" },
      { "Name": "Transmission", "Value": "Automatic" },
      { "Name": "Gears", "Value": 9 },
      { "Name": "Drive", "Value": "Front Wheel Drive" },
      { "Name": "BodyStyle", "Value": "SUV" },
      { "Name": "Doors", "Value": 5 },
      { "Name": "Seats", "Value": 5 },
      { "Name": "Views", "Value": 0 }
    ]
  },
  "Features": [],
  "Media": { "Photos": [] },
  "ComplianceDate": { "Month": null, "Year": null },
  "BuildDate": { "Month": null, "Year": null },
  "Warranty": {},
  "PriceList": [{ "Type": "EGC", "Currency": "AUD", "Amount": 23990 }],
  "Certification": { "Certified": false, "CertificationType": null },
  "LastModifiedUtc": "2025-10-28T05:43:22.713Z",
  "CreatedUtc": "2025-10-28T01:21:17.892Z",
  "VendorData": [],
  "Destinations": [],
  "SubscriptionPricing": [
    {
      "Name": "Value",
      "WeeklyPrice": 189.0,
      "MonthlyPrice": 819.0,
      "FortnightlyPrice": 378.0,
      "DailyPrice": 26.9
    },
    {
      "Name": "Starter",
      "WeeklyPrice": 139.0,
      "MonthlyPrice": 602.3,
      "FortnightlyPrice": 278.0,
      "DailyPrice": 19.8
    },
    {
      "Name": "Premium",
      "WeeklyPrice": 239.0,
      "MonthlyPrice": 1035.7,
      "FortnightlyPrice": 478.0,
      "DailyPrice": 34.0
    }
  ]
}

Response codes

Loopit will always ingest a webhook from Dealer Studio and respond with a 200 code. Ingestion of the webhook does not guarantee inventory will be created if there are data/validation issues.

Pricing support

For pricing to be accepted in you must have a single fee for the vehicle and package price e.g. Base Fee. Dealer Studio currently supports updating 3 packages automatically as part of the integration, if you have more packages pricing will need to be set manually for additional packages. This feature leverages Loopit's price override feature per package.

To enable this the 3 package IDs will need to be shared with Dealer Studio, these can be obtained from the URL address bar when viewing a package.

Support issues

If issues arise (e.g. inventory not appearing in Loopit), both support teams must be notified.

Please email both support teams:

Email subject: [Inventory Integration] Issue - Inventory not appearing in Loopit

Include:

  • Example inventory reference ID, VIN, rego and email from Dealer Studio

  • Approximate date/time

Change management

Any schema changes must be communicated to both technical teams at least two weeks in advance. Loopit will maintain backward compatibility for at least 30 days, maximum 90 days, following any schema update.

Version history

Version
Date
Changes

1

1st October 2025

N/A

Last updated