Passaggio 5: implementa gli aggiornamenti dell'API in tempo reale

L'inventario del tuo sistema varia durante il giorno a causa di nuove prenotazioni. cancellazioni e pianificano modifiche da parte dei tuoi commercianti. L'aggiornamento in tempo reale L'API è un meccanismo per informare Google di queste modifiche all'inventario la disponibilità del servizio. Puoi anche utilizzare gli aggiornamenti delle API in tempo reale per informare Google le modifiche apportate alle prenotazioni esistenti.

Aggiornamenti e feed in tempo reale delle API

Gli aggiornamenti in tempo reale delle API vengono utilizzati per informare Google delle modifiche incrementali alle disponibilità dell'inventario e prenotazioni in tempo reale. Inoltre, agli aggiornamenti delle API in tempo reale, invia feed di disponibilità completi ogni giorno per assicurarti che Google abbia le conoscenze più precise e attuali in merito alla disponibilità perché esiste nel tuo sistema. I feed completi rappresentano un'istantanea dei feed lo stato di disponibilità dell'inventario nel sistema.

Sebbene gli aggiornamenti delle API possano essere utilizzati per aggiornare qualsiasi informazione forniti dai feed, ad esempio le informazioni su commercianti e servizi, vengono generalmente utilizzati solo per aggiornare le informazioni sulla disponibilità.

API di aggiornamento in tempo reale richieste

API di aggiornamento in tempo reale (RTU)
BookingNotification Obbligatorio Invia le RTU delle notifiche di prenotazione in qualsiasi momento Una modifica alla prenotazione (ad es. modifiche o cancellazioni).
Disponibilità sostituzione RTU Obbligatorio in modo condizionale[1] Invia uno dei due sostituzione in gruppo o sostituiscono singolarmente le RTU per inviare aggiornamenti alla disponibilità dell'inventario. La propagazione e l'applicazione delle modifiche potrebbero richiedere diversi minuti.
RTU del commerciante Facoltativo Invia le RTU del commerciante se vuoi apportare modifiche al commerciante informazioni in tempo reale. La propagazione delle modifiche può richiedere diverse ore e riflettere.
RTU del servizio Facoltativo Invia le RTU del servizio se vuoi apportare modifiche al servizio informazioni in tempo reale. Un caso d'uso comune è se i prezzi dei servizi fluttuare drasticamente durante il giorno, l'implementazione delle RTU del servizio Consigliato per evitare errori degli ordini dovuti a mancata corrispondenza di prezzo. Le modifiche potrebbero la propagazione e la riflessione richiedono alcune ore.

RTU API di sostituzione della disponibilità

Utilizza l'API per la sostituzione della disponibilità per fornire aggiornamenti sulla disponibilità nel i seguenti casi d'uso:

  • Un utente effettua una prenotazione sul tuo sistema, quindi lo slot della disponibilità non è più a lungo disponibile.
  • Un commerciante modifica la sua disponibilità nel tuo sistema.
  • Un utente effettua una prenotazione tramite Google, pertanto lo spazio di disponibilità non è più a lungo disponibile.
  • Una prenotazione effettuata tramite Google viene annullata da parte tua, ad esempio: direttamente dal commerciante. Devi aggiornare la prenotazione, oltre ai perché lo slot originale è di nuovo disponibile.
  • Viene restituita una chiamata BatchAvailabilityLookup del server di prenotazione che non corrisponde a quello effettivo.

Per saperne di più, consulta le seguenti risorse:

RTU dell'API Booking Notification

Le API di notifica della prenotazione avvisa Google aggiornamenti alle prenotazioni esistenti. Quando invii un aggiornamento sugli annullamenti, inviare solo le informazioni essenziali nella richiesta con Parametro di query updateMask. Ecco un esempio:

Request:
PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/<PARTNER_ID>/bookings/<BOOKING_ID>?updateMask=status

Body:
{"name":"partners/<PARTNER_ID>/bookings/<BOOKING_ID>", "status":"CANCELED"}

Accesso all'API

Crea un account di servizio

Utilizza la scheda Credenziali nella console API di Google per crea un account di servizio. Archivia la chiave privata in formato JSON in un luogo sicuro posto. Quando crei l'account, puoi impostare il ruolo su "Proprietario"

Autentica le API Maps Booking

Dopo aver creato un account di servizio, autentica le seguenti API:

  • API Google Maps Booking
  • API Google Maps Booking (Dev)

Per una guida passo passo su come eseguire questa operazione, consulta la Tutorial sull'autenticazione con l'API Maps Booking.

Utilizza le chiamate RESTful o scarica la libreria client

Ti consigliamo di effettuare chiamate RESTful direttamente all'API Maps Booking con payload JSON. Per ulteriori informazioni, consulta Documentazione dell'API REST.

Puoi anche utilizzare le librerie client per connetterti all'API.

Lingua Link di download
Java Libreria client Java. Per ulteriori informazioni, consulta Istruzioni per il client Java.

Aggiuntivo librerie di supporto disponibili per il download gestire l'autorizzazione e altri aspetti delle chiamate alle API di Google. Se necessario, dai un'occhiata a questi esempi.

Recupera il documento di rilevamento

Per alcune librerie client, come Ruby, è necessario recuperare Documento di rilevamento per l'API, che descrive i suoi metodi e parametri.

Utilizza il seguente comando per recuperare il documento di rilevamento:

curl -s -o 'mapsbooking_rest' 'https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha'

Per ulteriori informazioni sull'accesso all'API da Ruby, segui questi link: Client API Ruby e Libreria Ruby Auth.

Effettuare chiamate autorizzate all'API

Quando effettui chiamate all'API, fai riferimento Preparazione a effettuare una chiamata API autorizzata per autorizzare il servizio con la tua chiave privata e il seguente ambito OAuth: https://www.googleapis.com/auth/mapsbooking.

Quote API

Gli aggiornamenti API hanno una quota di 1500 richieste ogni 60 secondi o 25 richieste al secondo. Quando viene superata una quota (il che può verificarsi se non hai aggiunto il numero di progetto Google Cloud corretto nel Portale partner), Google risponde con il codice messaggio di errore seguente:

{
  "error": {
    "code": 429,
    "message": "Insufficient tokens for quota ...",
    "status": "RESOURCE_EXHAUSTED",
    "details": [...]
  }
}

Per gestire questo problema, riprova a effettuare la chiamata a intervalli esponenzialemente maggiori fino a quando l'operazione riesce. Se esaurisci regolarmente la quota con ReplaceServiceAvailability, passa a BatchReplaceServiceAvailabily per ridurre il numero di API chiamate. Questo metodo ti consente di aggiornare più servizi in un'unica API chiamata.

Endpoint di sandbox e produzione

Puoi effettuare chiamate sia alla sandbox che all'ambiente di produzione tramite l'API. Assicurati di aver abilitato entrambe le API nel tuo progetto Google Cloud. Entrambe le API utilizzano lo stesso ambito, ma hanno endpoint diversi.

Endpoint di produzione: https://mapsbooking.googleapis.com/

Endpoint sandbox: https://partnerdev-mapsbooking.googleapis.com/

Di seguito è riportato un esempio in Java di come cambiare endpoint:

    // This block of code is for OAuth and is the same for prod and sandbox.
    GoogleCredential
      .fromStream(new FileInputStream(...))
      .createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking"))

    // This block of code sets the endpoint. This is what you'd change to connect to the sandbox.
    new GoogleMapsBookingAPI.Builder(...)
      .setApplicationName(...)
      .setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev.
      .build()