Dealers API Endpoints
The Dealers API lets you manage your dealership locations, map CRM aliases, and use AI-powered matching to reconcile dealer names across systems.
List Dealers
bash
GET /api/v1/dealersQuery Parameters:
| Parameter | Type | Description |
|---|---|---|
status | string | all, active, inactive |
search | string | Search by name, city, state, or dealer code |
Response:
json
{
"dealers": [
{
"id": "uuid",
"name": "Bob's Toyota",
"address": "123 Main St",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"phone": "(555) 123-4567",
"email": "[email protected]",
"managerName": "Bob Smith",
"dealerCode": "BT001",
"status": "active",
"created_at": "2025-01-10T..."
}
]
}Create a Dealer
bash
POST /api/v1/dealers
Content-Type: application/json
{
"name": "Bob's Toyota",
"address": "123 Main St",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"phone": "(555) 123-4567",
"email": "[email protected]"
}Bulk Create Dealers
bash
POST /api/v1/dealers/bulk
Content-Type: application/json
{
"text": "Bob's Toyota, 123 Main St, Dallas, TX 75201, (555) 123-4567\nSmith Honda, 456 Oak Ave, Austin, TX 78701, (555) 987-6543"
}AI-Powered Dealer Matching
When CRM data uses different dealer names, use AI matching:
bash
POST /api/v1/dealers/match-ai
{
"integrationId": "your-integration-uuid"
}Response:
json
{
"matches": [
{
"crm_name": "Bobs Toyota Dallas",
"dealer_id": "uuid",
"dealer_name": "Bob's Toyota",
"confidence": 0.92
}
],
"method": "ai"
}Review the matches and accept:
bash
POST /api/v1/dealers/match-accept
{
"integrationId": "uuid",
"matches": [
{"crm_name": "Bobs Toyota Dallas", "dealer_id": "uuid", "confidence": 0.92}
]
}Dealer Aliases
Aliases map CRM names to internal dealers. They persist across syncs:
bash
# List aliases for a dealer
GET /api/v1/dealers/:id/aliases
# Add a manual alias
POST /api/v1/dealers/:id/aliases
{
"integrationId": "uuid",
"aliasValue": "Bob Toyota DMS",
"aliasType": "name"
}
# Remove an alias
DELETE /api/v1/dealers/:id/aliases/:aliasId