Technical Documentation

Third-Party Integrations

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)

AttributeValue
PurposeGlass part number lookup, OEM vs aftermarket pricing, labor hour tables
ProtocolREST JSON API with OAuth2 client credentials
CachingNAGS catalog cached in Redis with 24-hour TTL; full refresh nightly at 2 AM
FallbackServe from Redis cache if NAGS API is unreachable (circuit open after 5 failures)

🔷 NHTSA VIN Decoder

AttributeValue
PurposeDecode 17-character VIN to year/make/model/trim/body style
ProtocolREST JSON API (free, no API key required for ≤ 500 req/day)
Rate Limit500 requests/day on free tier; DataOne used as primary above that
CachingVIN decode results cached by VIN string — permanent cache (VINs don't change)

🔷 Stripe

AttributeValue
PurposeCustomer payments (co-pay, self-pay), automated invoice PDF generation, Stripe Connect for technician commission payouts
IntegrationStripe.js on frontend for card tokenization; stripe Node.js SDK on backend
Webhookspayment_intent.succeeded, payment_intent.payment_failed, invoice.paid
SecurityWebhook signature verified with stripe.webhooks.constructEvent(); raw body parsing

🔷 Twilio

AttributeValue
PurposeSMS booking confirmations, technician ETA updates, appointment reminders, 2-way reschedule via SMS keywords
NumbersDedicated long-code numbers per region; toll-free for bulk reminders
Inbound KeywordsCONFIRM, CANCEL, RESCHEDULE → parsed and routed to Booking Service

🔷 Google Maps Platform

AttributeValue
PurposeAddress geocoding, technician route optimisation, driving time matrix calculation, customer ETA tracking map
APIs UsedGeocoding API, Distance Matrix API, Routes API, Maps JavaScript API
Cost ControlAddress geocoding results cached in Redis (7-day TTL) to minimize billable API calls

🔷 Lynx Services (Insurance EDI)

AttributeValue
PurposeGlass assignment authorization, EDI 837P claim submission, ERA 835 remittance parsing
ProtocolREST API for assignment; X12 EDI file exchange for billing claims
Supported InsurersSafelite, LYNX, Harleysville, State Farm, USAA, Allstate, Progressive (15+ networks)
Failure HandlingFailed 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.