Saltar al contenido principal

CRM (Clientes)

Gestiona la base de datos de clientes de tu restaurante.


Listar clientes

GET /developer/api/crm/customers

Scope: crm:read

Parámetros de query (opcionales)

ParámetroTipoDescripción
qstringBuscar por nombre, teléfono o email
limitnumberResultados a devolver (por defecto: 50, máximo: 200)

Ejemplo

curl "https://mi-restaurante.siteat.app/developer/api/crm/customers?q=garcia&limit=10" \
-H "Authorization: Bearer sk_live_..."

Respuesta (200)

{
"success": true,
"data": {
"customers": [
{
"id": 15,
"tenant_id": 42,
"full_name": "María García",
"phone": "+34612345678",
"email": "maria@ejemplo.com",
"birthday": "1990-05-12",
"notes": "Cliente habitual, prefiere zona terraza",
"total_reservas": 12,
"ultima_visita": "2026-04-10",
"created_at": "2025-11-03T14:20:00Z"
}
],
"total": 1
}
}

Crear cliente

POST /developer/api/crm/customers

Scope: crm:write

Cuerpo de la petición (JSON)

CampoTipoObligatorioDescripción
full_namestringNombre completo del cliente
phonestringTeléfono (formato internacional recomendado)
emailstringEmail
birthdaystringFecha de nacimiento (YYYY-MM-DD)
notesstringNotas internas sobre el cliente

Ejemplo

curl -X POST "https://mi-restaurante.siteat.app/developer/api/crm/customers" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"full_name": "Laura Fernández",
"phone": "+34677888999",
"email": "laura@ejemplo.com",
"birthday": "1985-08-22",
"notes": "VIP - amiga del chef"
}'

Respuesta (201)

{
"success": true,
"data": {
"id": 52,
"tenant_id": 42,
"full_name": "Laura Fernández",
"phone": "+34677888999",
"email": "laura@ejemplo.com",
"birthday": "1985-08-22",
"notes": "VIP - amiga del chef",
"created_at": "2026-04-15T14:30:00Z"
}
}

Obtener un cliente

GET /developer/api/crm/customers/{id}

Scope: crm:read

Respuesta (200)

{
"success": true,
"data": {
"id": 15,
"full_name": "María García",
"phone": "+34612345678",
"email": "maria@ejemplo.com",
"birthday": "1990-05-12",
"notes": "Cliente habitual, prefiere zona terraza",
"total_reservas": 12,
"ultima_visita": "2026-04-10",
"created_at": "2025-11-03T14:20:00Z"
}
}

Editar un cliente

PUT /developer/api/crm/customers/{id}

Scope: crm:write

Solo envía los campos que quieras modificar:

CampoTipoDescripción
full_namestringNombre completo
phonestringTeléfono
emailstringEmail
birthdaystringFecha de nacimiento (YYYY-MM-DD)
notesstringNotas internas

Ejemplo

curl -X PUT "https://mi-restaurante.siteat.app/developer/api/crm/customers/15" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"notes": "VIP - alergia al marisco"
}'

Respuesta (200)

Devuelve el cliente actualizado con la misma estructura que el endpoint de obtener cliente.


Eliminar un cliente

DELETE /developer/api/crm/customers/{id}

Scope: crm:write

Respuesta (200)

{
"success": true,
"data": null,
"message": "Cliente eliminado correctamente"
}