Endpoints
Sync Endpoints
API endpoints for syncing data with Google Business Profile
Get Sync Comparison
Get 3-way comparison of source, Google, and last sync.
GET /api/v1/sync/comparison/{locationId}
Authorization: Bearer <token>Response
{
"status": "ok",
"data": {
"source": {
"title": "My Business",
"phoneNumbers": {...}
},
"google": {
"title": "My Business",
"phoneNumbers": {...}
},
"lastSync": {
"title": "My Business",
"phoneNumbers": {...}
},
"differences": [
{
"field": "phoneNumbers.primaryPhone",
"source": "+1 555-NEW",
"google": "+1 555-OLD"
}
]
}
}Sync Location
Sync data to Google Business Profile.
POST /api/v1/sync/{locationId}
Authorization: Bearer <token>
Content-Type: application/json
X-Idempotency-Key: <unique-key>Request
{
"title": "My Business Name",
"storefrontAddress": {
"addressLines": ["123 Main St"],
"locality": "San Francisco",
"administrativeArea": "CA",
"postalCode": "94102"
},
"phoneNumbers": {
"primaryPhone": "+1 555-123-4567"
}
}Response
{
"status": "ok",
"data": {
"syncId": "sync_abc123",
"status": "success",
"fieldsUpdated": ["title", "phoneNumbers.primaryPhone"],
"fieldsFiltered": ["attributes.wifi"],
"timestamp": "2024-12-17T10:30:00Z"
}
}Get Sync History
Get sync operation history for a location.
GET /api/v1/sync/history/{locationId}
Authorization: Bearer <token>Query Parameters
| Parameter | Type | Description |
|---|---|---|
page | number | Page number |
limit | number | Items per page |
Response
{
"status": "ok",
"data": {
"history": [
{
"syncId": "sync_abc123",
"timestamp": "2024-12-17T10:30:00Z",
"status": "success",
"fieldsUpdated": 3,
"direction": "push"
}
]
}
}