Auto Glass integrates with 14 external services across six domains: glass data & catalog, payments, communications, mapping/fleet, insurance, and DevOps observability. All integrations use circuit-breaker patterns to isolate failures.
Integration Map
Loading diagram…
Integration Details
🔷 NAGS (National Auto Glass Specifications)
Attribute
Value
Purpose
Glass part number lookup, OEM vs aftermarket pricing, labor hour tables
Protocol
REST JSON API with OAuth2 client credentials
Caching
NAGS catalog cached in Redis with 24-hour TTL; full refresh nightly at 2 AM
Fallback
Serve from Redis cache if NAGS API is unreachable (circuit open after 5 failures)
🔷 NHTSA VIN Decoder
Attribute
Value
Purpose
Decode 17-character VIN to year/make/model/trim/body style
Protocol
REST JSON API (free, no API key required for ≤ 500 req/day)
Rate Limit
500 requests/day on free tier; DataOne used as primary above that
Webhook signature verified with stripe.webhooks.constructEvent(); raw body parsing
🔷 Twilio
Attribute
Value
Purpose
SMS booking confirmations, technician ETA updates, appointment reminders, 2-way reschedule via SMS keywords
Numbers
Dedicated long-code numbers per region; toll-free for bulk reminders
Inbound Keywords
CONFIRM, CANCEL, RESCHEDULE → parsed and routed to Booking Service
🔷 Google Maps Platform
Attribute
Value
Purpose
Address geocoding, technician route optimisation, driving time matrix calculation, customer ETA tracking map
APIs Used
Geocoding API, Distance Matrix API, Routes API, Maps JavaScript API
Cost Control
Address geocoding results cached in Redis (7-day TTL) to minimize billable API calls
🔷 Lynx Services (Insurance EDI)
Attribute
Value
Purpose
Glass assignment authorization, EDI 837P claim submission, ERA 835 remittance parsing
Protocol
REST API for assignment; X12 EDI file exchange for billing claims
Supported Insurers
Safelite, LYNX, Harleysville, State Farm, USAA, Allstate, Progressive (15+ networks)
Failure Handling
Failed claim submissions queued for manual review with full EDI payload stored in S3
Circuit Breaker Settings: All external HTTP integrations use opossum circuit breaker: 5 failures in 10 seconds opens the circuit; 30-second half-open probe before attempting recovery. Alerts fire to PagerDuty when any circuit opens in production.