Accueil | Docs | Logs | Check GUID | Dump services | Dump availability | Recherche dispo | Vérification schéma | Audit availability | Audit merchant | Diagnostic merchants | Tests availability | Rooms availability | Google visualise

Documentation API Google Reserve

Version: 1.0 • Généré pour l’API Symfony Digiresa

Sommaire

Introduction

Cette API expose les endpoints nécessaires à une intégration Google Reserve: feeds (merchant/services/availability), recherche de disponibilités, création/modification/annulation de réservations et lecture de statut/détails.

Authentification

Codes d’erreur

HTTPcodeDescription
400INVALID_ARGUMENTPayload ou paramètres invalides/manquants
404NOT_FOUNDRessource inconnue (merchant/service/booking)
409SLOT_UNAVAILABLECréneau indisponible / capacité insuffisante
5xxERRORErreur interne

Feeds

Merchant

GET /google/feed/merchant/{guid}

Champs: id, name, phone (E.164), email, website_url, address, currency, timezone, open_hours[], location, place_id.

Services

GET /google/feed/services/{guid}

Retourne une liste de services actifs (mono-service respecté si configuré).

Availability

GET /google/feed/availability/{guid}?start=YYYY-MM-DD&end=YYYY-MM-DD

Availability Lookup

POST /v3/BatchAvailabilityLookup
Authorization: Basic <base64>
Content-Type: application/json
{
  "merchant_id": "1234",
  "slot_time": [
    {
      "service_id": "5678",
      "start_sec": "1606467600",
      "duration_sec": "1800",
      "resource_ids": { "party_size": 2 }
    },
    ...
  ]
}

Réponse: { "slot_time_availability": [ { slot_time, available }, ... ] }

Réservations

Create

POST /v3/CreateBooking
Authorization: Basic <base64>
Content-Type: application/json
{
  "idempotency_token": "rng-1234",
  "slot": {
    "merchant_id": "1234",
    "service_id": "5678",
    "start_sec": "1606467600",
    "duration_sec": "1800",
    "resources": { "party_size": 2 },
    "confirmation_mode": "CONFIRMATION_MODE_SYNCHRONOUS"
  },
  "payment_information": { "prepayment_status": "PREPAYMENT_NOT_PROVIDED" },
  "user_information": {
    "given_name": "John",
    "family_name": "Smith",
    "email": "[email protected]",
    "telephone": "+12091111111",
    "user_id": "1111111111111111111"
  }
}

Update (MODIFY / CANCEL)

POST /v3/UpdateBooking
Authorization: Basic <base64>
Content-Type: application/json
{
  "idempotency_token": "rng-5678",
  "booking": {
    "booking_id": "890",
    "slot": {
      "start_sec": "1606473000",
      "duration_sec": "1800"
    }
  }
}

Pour une annulation, la spec Google passe également par /v3/UpdateBooking avec l’action adéquate dans le payload.

Lecture

GET /google/get-booking-status?merchant_id=...&booking_id=...
GET /google/get-booking-details?merchant_id=...&booking_id=...

En-têtes utiles

Variables d’environnement

NomDescription
GOOGLE_BASIC_USERIdentifiant Basic Auth
GOOGLE_BASIC_PASSMot de passe Basic Auth
APP_TIMEZONEFuseau (Europe/Paris)
DATABASE_URLConnexion DB

Base de données & Migration

Script SQL: sql/migration_001_google_reserve.sql

Opérations & Observabilité

Page de test

Ouvrir / pour tester feeds et réservations. Renseigner vos identifiants Basic avant de lancer les appels.