Services

Endpoints pour obtenir le catalogue de services.

GET /api/v1/servicios/

Liste tous les services actifs du commerce.

Paramètres de requête

Paramètre Type Description
categoria_id integer Filtrer par catégorie
reservable_online boolean Uniquement les services réservables en ligne
destacado boolean Uniquement les services en vedette
lang string Langue : es, en, ar (défaut : es)

Exemple de requête

cURL
curl -X GET "https://app.salonbookit.com/api/v1/servicios/?reservable_online=true" \
  -H "X-API-Key: hh_pub_live_abc123..."

Réponse (200 OK)

JSON
{
    "success": true,
    "data": {
        "servicios": [
            {
                "id": 15,
                "nombre": "Corte Clásico",
                "descripcion": "Corte de cabello tradicional con tijera y máquina",
                "duracion_minutos": 30,
                "precio": 25.00,
                "precio_oferta": null,
                "puntos_otorga": 25,
                "puntos_canjea": 250,
                "imagen_url": "https://app.salonbookit.com/media/servicios/corte.jpg",
                "categoria": {
                    "id": 1,
                    "nombre": "Cortes"
                },
                "reservable_online": true,
                "destacado": true,
                "profesionales_ids": [5, 8, 12]
            },
            {
                "id": 16,
                "nombre": "Afeitado Clásico",
                "descripcion": "Afeitado tradicional con navaja y toalla caliente",
                "duracion_minutos": 20,
                "precio": 15.00,
                "precio_oferta": 12.00,
                "puntos_otorga": 15,
                "puntos_canjea": 150,
                "imagen_url": "https://app.salonbookit.com/media/servicios/afeitado.jpg",
                "categoria": {
                    "id": 2,
                    "nombre": "Afeitados"
                },
                "reservable_online": true,
                "destacado": false,
                "profesionales_ids": [5, 8]
            }
        ],
        "total": 12,
        "moneda": "EUR",
        "simbolo_moneda": "€"
    }
}

Champs de réponse

Champ Type Description
id integer ID unique du service
nombre string Nom du service
descripcion string Description détaillée
duracion_minutos integer Durée en minutes
precio number Prix régulier
precio_oferta number|null Prix réduit (si applicable)
puntos_otorga integer Points de fidélité accordés
puntos_canjea integer Points nécessaires pour échanger gratuitement
profesionales_ids array IDs des professionnels offrant ce service
GET /api/v1/servicios/{id}/

Obtient le détail d'un service spécifique.

Paramètres de chemin

Paramètre Type Description
id integer ID du service

Exemple de requête

cURL
curl -X GET "https://app.salonbookit.com/api/v1/servicios/15/" \
  -H "X-API-Key: hh_pub_live_abc123..."

Réponse (200 OK)

JSON
{
    "success": true,
    "data": {
        "id": 15,
        "nombre": "Corte Clásico",
        "descripcion": "Corte de cabello tradicional con tijera y máquina. Incluye lavado y peinado.",
        "duracion_minutos": 30,
        "precio": 25.00,
        "precio_oferta": null,
        "puntos_otorga": 25,
        "puntos_canjea": 250,
        "imagen_url": "https://app.salonbookit.com/media/servicios/corte.jpg",
        "galeria": [
            "https://app.salonbookit.com/media/servicios/corte-1.jpg",
            "https://app.salonbookit.com/media/servicios/corte-2.jpg"
        ],
        "categoria": {
            "id": 1,
            "nombre": "Cortes",
            "descripcion": "Todos nuestros servicios de corte de cabello"
        },
        "reservable_online": true,
        "destacado": true,
        "profesionales": [
            {
                "id": 5,
                "nombre": "Carlos García",
                "imagen_url": "https://app.salonbookit.com/media/staff/carlos.jpg"
            },
            {
                "id": 8,
                "nombre": "Miguel López",
                "imagen_url": "https://app.salonbookit.com/media/staff/miguel.jpg"
            }
        ],
        "servicios_relacionados": [
            {
                "id": 16,
                "nombre": "Afeitado Clásico",
                "precio": 15.00
            },
            {
                "id": 20,
                "nombre": "Corte + Barba",
                "precio": 35.00
            }
        ]
    }
}
GET /api/v1/categorias/

Liste les catégories de services.

Paramètres de requête

Paramètre Type Description
tipo string servicio ou producto

Réponse (200 OK)

JSON
{
    "success": true,
    "data": {
        "categorias": [
            {
                "id": 1,
                "nombre": "Cortes",
                "descripcion": "Cortes de cabello",
                "imagen_url": null,
                "orden": 1,
                "servicios_count": 5
            },
            {
                "id": 2,
                "nombre": "Afeitados",
                "descripcion": "Afeitados y arreglo de barba",
                "imagen_url": null,
                "orden": 2,
                "servicios_count": 3
            },
            {
                "id": 3,
                "nombre": "Tratamientos",
                "descripcion": "Tratamientos capilares",
                "imagen_url": null,
                "orden": 3,
                "servicios_count": 4
            }
        ]
    }
}