Fleet Quoting
Best practices for requesting multiple vehicle quotes programmatically.
Requesting Multiple Quotes
The QuoteFox API processes one quote per request. For fleet orders, submit individual requests per vehicle/dealer combination:
python
import requests
import time
API_KEY = "qfx_your_api_key"
BASE = "https://app.quotefox.au/api/v1"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
vehicles = [
{"model": "MG ZS", "version": "Excite 1.5L Auto"},
{"model": "MG HS", "version": "Essence 1.5T Auto"},
{"model": "MG 3", "version": "Excite 1.5L Auto"},
]
dealer_id = "your-preferred-dealer-uuid"
quotes = []
for vehicle in vehicles:
response = requests.post(f"{BASE}/quotes", headers=headers, json={
"dealershipId": dealer_id,
"model": vehicle["model"],
"version": vehicle["version"],
"clientName": "Fleet Corp Pty Ltd",
"clientEmail": "fleet@corp.com.au",
"quantity": 10,
"notes": f"Fleet order — 10x {vehicle['model']}",
"callbackUrl": "https://your-system.com/webhooks/quotefox",
})
quotes.append(response.json())
time.sleep(0.5) # Respect rate limits
for q in quotes:
print(f"Quote {q['quoteId']} — {q['status']}")Comparing Dealers
Request the same vehicle from multiple dealers to compare pricing:
python
# Search for dealers that carry the MG ZS
inventory = requests.get(
f"{BASE}/inventory",
headers=headers,
params={"model": "MG ZS"}
).json()
# Get unique dealers
dealers = requests.get(f"{BASE}/dealers", headers=headers).json()
# Request quotes from each dealer
for dealer in dealers["dealers"][:5]: # Top 5 dealers
response = requests.post(f"{BASE}/quotes", headers=headers, json={
"dealershipId": dealer["id"],
"model": "MG ZS",
"version": "Excite 1.5L Auto",
"clientName": "Fleet Corp Pty Ltd",
"clientEmail": "fleet@corp.com.au",
"postcode": "3000",
"callbackUrl": "https://your-system.com/webhooks/quotefox",
})
quote = response.json()
print(f"{dealer['name']}: {quote['status']}")Rate Limiting Considerations
The default rate limit is 100 requests per hour. For large fleet operations:
- Space your requests with short delays (0.5–1 second)
- Cache dealer and inventory data — refresh hourly
- Use webhooks instead of polling for quote status
- Contact support if you need a higher rate limit
Using the quantity Field
The quantity field provides fleet context to the dealer. It doesn't create multiple quotes — it informs the dealer that the request is for multiple vehicles of the same spec:
json
{
"dealershipId": "...",
"model": "MG ZS",
"version": "Excite 1.5L Auto",
"clientName": "Fleet Corp Pty Ltd",
"clientEmail": "fleet@corp.com.au",
"quantity": 25,
"notes": "Q3 fleet refresh — 25 units needed by September"
}