Integrations & Data Sources API
The Integrations API manages your data source connections. Each integration represents a feed from an external system (vAuto, HomeNet, Elead, or custom CSV) connected via SFTP.
List Integrations
bash
GET /api/v1/integrationsCreate an Integration
bash
POST /api/v1/integrations
Content-Type: application/json
{
"dealershipId": "uuid",
"type": "vauto",
"name": "My vAuto Feed"
}Supported types: vauto, homenet, elead, custom
Response includes SFTP credentials:
json
{
"integration": {
"id": "uuid",
"type": "vauto",
"status": "pending",
"name": "My vAuto Feed"
},
"sftp": {
"host": "app.carfluence.io",
"port": 2222,
"username": "vauto_abc123",
"password": "auto-generated-password"
}
}Update Integration Settings
bash
PATCH /api/v1/integrations/:id
Content-Type: application/json
{
"name": "Updated Name",
"status": "active",
"syncSettings": {
"strategy": "merge",
"sold_grace_syncs": 2,
"sold_grace_hours": 24,
"track_history": true
}
}Sync Strategies:
| Strategy | Behavior |
|---|---|
overwrite | Replace all records each sync (clean slate) |
merge | Add new, update existing, keep missing vehicles |
update_only | Only update records that already exist |
Get Sync Logs
bash
GET /api/v1/integrations/:id/logsReturns the processing history for each file received:
json
{
"logs": [
{
"filename": "inventory_20250120.csv",
"processed_at": "2025-01-20T08:15:00Z",
"records_total": 342,
"records_created": 15,
"records_updated": 320,
"records_errors": 7,
"duration_ms": 4523
}
]
}Delete an Integration
bash
DELETE /api/v1/integrations/:idThis also revokes the associated SFTP credentials and removes the integration's data processing pipeline. Vehicle data previously synced is retained.
Field Mappings
Preview how source fields map to Carfluence fields:
bash
GET /api/v1/mappings/:integrationId/previewUpdate field mappings:
bash
PATCH /api/v1/mappings/:integrationId
{
"mappings": {
"source_field_name": "carfluence_field_name"
}
}