Langkah 5: Terapkan update API real-time

Inventaris di sistem Anda berfluktuasi sepanjang hari karena pemesanan baru, pembatalan, dan perubahan jadwal dari penjual. Pembaruan real-time API adalah mekanisme untuk memberi tahu Google tentang perubahan inventaris ini ketersediaan tinggi. Anda juga bisa menggunakan update API real-time untuk memberi tahu Google tentang perubahan yang dilakukan pada pemesanan yang ada.

Update real-time dan feed API

Pembaruan real-time API digunakan untuk memberi tahu Google tentang perubahan inkremental pada ketersediaan inventaris dan pemesanan yang terjadi secara {i>real-time<i}. Selain itu ke update API real-time, kirim feed Ketersediaan lengkap setiap hari untuk memastikan bahwa Google memiliki pengetahuan yang paling akurat dan terkini tentang ketersediaan itu ada dalam sistem Anda. Feed lengkap berfungsi sebagai ringkasan dari feed status ketersediaan inventaris di sistem Anda.

Meskipun pembaruan API dapat digunakan untuk memperbarui informasi apa pun yang yang disediakan oleh feed, seperti informasi tentang penjual dan layanan, mereka biasanya hanya digunakan untuk memperbarui informasi ketersediaan.

API update real-time yang diperlukan

API update real-time (RTU)
BookingNotification Wajib Mengirim RTU BookingNotification kapan pun ada perubahan pada pemesanan (misalnya, perubahan atau pembatalan).
Availability Replace RTU Wajib bersyarat[1] Kirim penggantian batch atau RTU penggantian tunggal untuk mengirim pembaruan ketersediaan inventaris. Perubahan mungkin memerlukan waktu beberapa menit untuk diterapkan dan diterapkan.
RTU Merchant Opsional Kirim RTU Penjual jika Anda ingin melakukan perubahan pada penjual informasi secara langsung. Mungkin perlu waktu beberapa jam untuk menerapkan perubahan dan melakukan refleksi.
RTU Service Opsional Mengirim RTU Layanan jika Anda ingin membuat perubahan pada layanan informasi secara langsung. Kasus penggunaan yang umum adalah jika harga layanan berfluktuasi secara dramatis di siang hari, menerapkan RTU Layanan disarankan untuk menghindari kegagalan pesanan karena ketidakcocokan harga. Perubahan mungkin memerlukan waktu beberapa jam untuk diterapkan dan diterapkan.

RTU Availability Replace API

Gunakan Availability Replace API untuk memberikan update ketersediaan di kasus penggunaan berikut:

  • Seorang pengguna memesan reservasi di sistem Anda, sehingga slot ketersediaan tidak lagi tersedia.
  • Penjual mengubah ketersediaannya di sistem Anda.
  • Pengguna memesan reservasi melalui Google, sehingga slot ketersediaan tidak ada lagi tersedia.
  • Reservasi yang dilakukan melalui Google dibatalkan di pihak Anda, misalnya, oleh penjual secara langsung. Anda perlu memperbarui informasi pemesanan ketersediaan, karena slot asli kini tersedia lagi.
  • Panggilan BatchAvailabilityLookup server pemesanan menampilkan inventaris yang tidak sesuai dengan inventaris yang sebenarnya.

Untuk mendapatkan informasi lebih lanjut, lihat referensi berikut:

RTU Booking Notification API

Booking Notification API memberi tahu Google tentang perubahan pada pemesanan yang ada. Saat Anda mengirim pembaruan tentang pembatalan, hanya kirim informasi penting dalam permintaan dengan Parameter kueri updateMask. Berikut ini contohnya:

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"}

Mengakses API

Membuat akun layanan

Gunakan tab Credentials di Konsol API Google untuk membuat akun layanan. Simpan kunci pribadi dalam format JSON di brankas saat ini. Saat Anda membuat akun, Anda memiliki opsi untuk menetapkan peran ke "Pemilik."

Mengautentikasi Maps Booking API

Setelah membuat akun layanan, autentikasikan API berikut:

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

Untuk panduan langkah demi langkah tentang cara melakukan hal ini, lihat Tutorial Mengautentikasi dengan Maps Booking API.

Menggunakan panggilan RESTful atau mendownload library klien

Sebaiknya lakukan panggilan RESTful langsung ke Maps Booking API dengan payload JSON. Untuk informasi selengkapnya, lihat dokumentasi REST API.

Anda juga dapat menggunakan library klien untuk terhubung ke API.

Bahasa Link download
Java Library klien Java. Untuk informasi selengkapnya, lihat Petunjuk klien Java.

Tambahan library dukungan tersedia untuk didownload menangani otorisasi dan aspek panggilan lainnya ke Google API. Jika diperlukan, lihat contoh ini.

Mengambil dokumen Discovery

Untuk beberapa library klien, seperti Ruby, Anda perlu mengambil Dokumen penemuan untuk API ini, yang menjelaskan metode dan parameter.

Gunakan perintah berikut untuk mengambil dokumen Discovery:

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

Untuk informasi selengkapnya tentang mengakses API dari Ruby, ikuti tautan berikut: Klien API Ruby dan Library Autentikasi Ruby.

Melakukan panggilan yang diotorisasi ke API

Saat melakukan panggilan ke API, lihat Bersiap melakukan panggilan API yang diberi otorisasi untuk mengizinkan layanan Anda akun dengan kunci pribadi Anda dan cakupan OAuth berikut: https://www.googleapis.com/auth/mapsbooking.

Kuota API

Update API memiliki kuota 1.500 permintaan setiap 60 detik, atau 25 permintaan per detik secara rata-rata. Jika kuota terlampaui (yang dapat terjadi saat Anda belum menambahkan nomor Project Google Cloud yang benar di Partner Portal), Google akan merespons dengan pesan error berikut:

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

Untuk menangani hal ini, coba lagi panggilan lagi pada interval yang lebih besar secara eksponensial hingga keberhasilannya. Jika Anda secara teratur menghabiskan kuota dengan ReplaceServiceAvailability, beralihlah ke BatchReplaceServiceAvailabily untuk mengurangi jumlah API panggilan telepon. Metode ini memungkinkan Anda mengupdate beberapa layanan dalam satu API panggilan telepon.

Endpoint Sandbox dan Produksi

Anda dapat melakukan panggilan ke lingkungan sandbox dan produksi melalui API. Pastikan Anda telah mengaktifkan kedua API tersebut di project Google Cloud Anda. Kedua API ini menggunakan cakupan yang sama, tetapi memiliki endpoint yang berbeda.

Endpoint produksi: https://mapsbooking.googleapis.com/

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

Berikut adalah contoh di Java tentang cara beralih 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()