🍕 API Restaurant Documentation

Documentation complète de l'API Restaurant - Sandrin DOSSOU

✨ Structure mise à jour - Toutes les routes utilisent maintenant le slug

📋 Informations Générales

Base URL : https://pizza.sandrindossou.com/back/public/api

Restaurant de test : restau (ID: 2)

Documentation mise à jour le : 2025-08-25 00:05:33 UTC

Créé par : @Nirdans

🔄 Nouvelle Structure des Routes MISE À JOUR

Important : Toutes les routes utilisent maintenant le slug au lieu de l'userId

Nouveau préfixe : /api/open/{slug}/

Exemple avec slug : restau

🏢 Récupérer le profil de l'entreprise MODIFIÉ

GET /api/open/{slug}/profile 200
https://pizza.sandrindossou.com/back/public/api/open/restau/profile

📡 Requête cURL :

curl -X GET \ "https://pizza.sandrindossou.com/back/public/api/open/restau/profile" \ -H "Accept: application/json" \ -H "Content-Type: application/json"

📊 Réponse JSON :

{ "success": true, "data": { "company_name": "AlphaConnect Technology", "description": null, "address": "Bidossessi/AGORI/M. ADJONDA Barnabe", "city": null, "postal_code": null, "country": "Bénin", "phone": "+229 01 97 50 38 01", "email": "contact@sandrindossou.com", "website": null, "logo_url": null, "cover_image_url": null, "google_maps_url": null, "social_media": { "facebook": "https://www.facebook.com/share/p/164XUn8ZaK/", "instagram": "https://www.facebook.com/share/p/164XUn8ZaK/", "twitter": "https://www.facebook.com/share/p/164XUn8ZaK/", "linkedin": "https://www.linkedin.com/in/dossousandrin/", "youtube": null }, "updated_at": "2025-08-25T00:00:15Z" } }

🕒 Récupérer les horaires d'ouverture MODIFIÉ

GET /api/open/{slug}/opening-hours 200
https://pizza.sandrindossou.com/back/public/api/open/restau/opening-hours

📡 Requête cURL :

curl -X GET \ "https://pizza.sandrindossou.com/back/public/api/open/restau/opening-hours" \ -H "Accept: application/json" \ -H "Content-Type: application/json"

📊 Réponse JSON :

{ "success": true, "data": [ { "day_of_week": "monday", "day_name": "Lundi", "is_closed": false, "lunch_open_time": "11:33", "lunch_close_time": "14:30", "dinner_open_time": "18:30", "dinner_close_time": "22:30", "has_lunch_service": true, "has_dinner_service": true }, { "day_of_week": "tuesday", "day_name": "Mardi", "is_closed": true, "lunch_open_time": null, "lunch_close_time": null, "dinner_open_time": null, "dinner_close_time": null, "has_lunch_service": false, "has_dinner_service": false }, { "day_of_week": "wednesday", "day_name": "Mercredi", "is_closed": true, "lunch_open_time": null, "lunch_close_time": null, "dinner_open_time": null, "dinner_close_time": null, "has_lunch_service": false, "has_dinner_service": false }, { "day_of_week": "thursday", "day_name": "Jeudi", "is_closed": false, "lunch_open_time": "11:33", "lunch_close_time": "14:30", "dinner_open_time": "18:30", "dinner_close_time": "22:30", "has_lunch_service": true, "has_dinner_service": true }, { "day_of_week": "friday", "day_name": "Vendredi", "is_closed": false, "lunch_open_time": "11:33", "lunch_close_time": "14:30", "dinner_open_time": "18:30", "dinner_close_time": "22:30", "has_lunch_service": true, "has_dinner_service": true }, { "day_of_week": "saturday", "day_name": "Samedi", "is_closed": true, "lunch_open_time": null, "lunch_close_time": null, "dinner_open_time": null, "dinner_close_time": null, "has_lunch_service": false, "has_dinner_service": false }, { "day_of_week": "sunday", "day_name": "Dimanche", "is_closed": true, "lunch_open_time": null, "lunch_close_time": null, "dinner_open_time": null, "dinner_close_time": null, "has_lunch_service": false, "has_dinner_service": false } ] }

📅 Récupérer les horaires exceptionnels MODIFIÉ

GET /api/open/{slug}/exceptional-schedules 200
https://pizza.sandrindossou.com/back/public/api/open/restau/exceptional-schedules

📡 Requête cURL :

curl -X GET \ "https://pizza.sandrindossou.com/back/public/api/open/restau/exceptional-schedules" \ -H "Accept: application/json" \ -H "Content-Type: application/json"

📊 Réponse JSON :

{ "success": true, "data": [ { "id": 1, "date": "2025-09-01", "name": "Congés", "description": "Fermeture pour congés annuels", "is_closed": true, "lunch_open_time": null, "lunch_close_time": null, "dinner_open_time": null, "dinner_close_time": null, "created_at": "2025-08-20T14:30:00Z" }, { "id": 2, "date": "2025-12-25", "name": "Noël", "description": "Fermeture pour Noël", "is_closed": true, "lunch_open_time": null, "lunch_close_time": null, "dinner_open_time": null, "dinner_close_time": null, "created_at": "2025-08-20T14:35:00Z" } ] }

⭐ Récupérer les avis MODIFIÉ

GET /api/open/{slug}/reviews 200
https://pizza.sandrindossou.com/back/public/api/open/restau/reviews

📡 Requête cURL :

curl -X GET \ "https://pizza.sandrindossou.com/back/public/api/open/restau/reviews" \ -H "Accept: application/json" \ -H "Content-Type: application/json"

📊 Réponse JSON :

{ "success": true, "data": [ { "id": 1, "first_name": "Influenceur 229", "last_name_initial": "I", "rating": 5, "comment": "Excellent service et nourriture délicieuse ! Je recommande vivement ce restaurant.", "is_featured": false, "created_at": "2025-08-24 23:22:05", "updated_at": "2025-08-24 23:22:05" }, { "id": 2, "first_name": "Sandrin", "last_name_initial": "D", "rating": 5, "comment": "Très bon accueil, plats savoureux et prix raisonnables.", "is_featured": true, "created_at": "2025-08-24 23:21:01", "updated_at": "2025-08-24 23:21:01" } ], "statistics": { "total_reviews": 2, "average_rating": 5, "rating_distribution": { "5_stars": 2, "4_stars": 0, "3_stars": 0, "2_stars": 0, "1_star": 0 } }, "pagination": { "current_page": 1, "per_page": 10, "total": 2, "last_page": 1 } }

🎨 Récupérer le branding MODIFIÉ

GET /api/open/{slug}/branding 200
https://pizza.sandrindossou.com/back/public/api/open/restau/branding

📡 Requête cURL :

curl -X GET \ "https://pizza.sandrindossou.com/back/public/api/open/restau/branding" \ -H "Accept: application/json" \ -H "Content-Type: application/json"

📊 Réponse JSON :

{ "success": true, "data": { "site_name": "Restaurant Sandrin DOSSOU", "site_description": "Découvrez notre cuisine authentique et savoureuse", "meta_title": "oui c'est top", "meta_description": "nous sommes le meilleurs restaurant", "meta_keywords": "cuisine, restaurant, bénin, gastronomie, plats traditionnels", "logo_url": null, "favicon_url": null, "cover_image_url": null, "colors": { "primary": "#007bff", "secondary": "#6c757d", "accent": "#ffc107", "background": "#f8f9fa", "text": "#212529" }, "fonts": { "primary": "Arial, sans-serif", "secondary": "Georgia, serif" }, "updated_at": "2025-08-25T00:02:45Z" } }

🏪 Récupérer toutes les données (Complete)

GET /api/open/{slug}/complete 200
https://pizza.sandrindossou.com/back/public/api/open/restau/complete

📡 Requête cURL :

curl -X GET \ "https://pizza.sandrindossou.com/back/public/api/open/restau/complete" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -v

📊 Réponse JSON (données complètes) :

{ "success": true, "data": { "restaurant": { "id": 2, "name": "Sandrin DOSSOU", "slug": "restau" }, "profile": { "company_name": "AlphaConnect Technology", "description": null, "address": "Bidossessi/AGORI/M. ADJONDA Barnabe", "city": null, "postal_code": null, "country": null, "phone": "+229 01 97 50 38 01", "email": "contact@sandrindossou.com", "website": null, "logo_url": null, "cover_image_url": null, "google_maps_url": null, "social_media": { "facebook": "https://www.facebook.com/share/p/164XUn8ZaK/", "instagram": "https://www.facebook.com/share/p/164XUn8ZaK/", "twitter": "https://www.facebook.com/share/p/164XUn8ZaK/", "linkedin": "https://www.linkedin.com/in/dossousandrin/", "youtube": null } }, "opening_hours": [ /* Données complètes des horaires comme dans l'endpoint dédié */ ], "exceptional_schedules": [ /* Données complètes des horaires exceptionnels */ ], "reviews": { /* Données complètes des avis avec statistiques */ }, "branding": { /* Données complètes du branding */ } }, "meta": { "generated_at": "2025-08-25T00:05:33Z", "cache_duration": 300, "version": "1.1", "route_structure": "slug_based" } }

🔄 Guide de Migration

Ancienne structure : /api/open/{userId}/profile

Nouvelle structure : /api/open/{slug}/profile


Exemple de migration :

  • ❌ Ancien : /api/open/2/profile
  • ✅ Nouveau : /api/open/restau/profile

Avantages :

  • URLs plus lisibles et SEO-friendly
  • Pas besoin de connaître l'ID numérique
  • Structure cohérente pour tous les endpoints