Update API real-time

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

Update real-time tidak diperlukan jika semua penjual Anda menggunakan fitur daftar tunggu.

Update real-time dan feed API

Update real-time API digunakan untuk memberi tahu Google tentang perubahan inkremental pada ketersediaan inventaris dan pemesanan saat terjadi secara real-time. Selain update API real-time, kirim feed Ketersediaan lengkap setiap hari untuk memastikan bahwa Google memiliki pengetahuan yang paling akurat dan terbaru tentang ketersediaan yang ada di sistem Anda. Feed lengkap berfungsi sebagai snapshot status ketersediaan inventaris saat ini di sistem Anda.

Meskipun update API dapat digunakan untuk memperbarui informasi apa pun yang disediakan oleh feed, seperti informasi tentang penjual dan layanan, update tersebut 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 RTU batch replace atau single replace untuk mengirim pembaruan ke ketersediaan inventaris. Perubahan mungkin memerlukan waktu beberapa menit untuk diterapkan dan diterapkan.
RTU Merchant Opsional Kirim RTU Penjual jika Anda ingin melakukan perubahan pada informasi penjual secara real time. Perubahan mungkin memerlukan waktu beberapa jam untuk diterapkan dan diterapkan.
RTU Service Opsional Kirim RTU Service jika Anda ingin melakukan perubahan pada informasi layanan secara real-time. Kasus penggunaan yang umum adalah jika harga layanan berfluktuasi secara dramatis di siang hari, sebaiknya terapkan RTU Service 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 pembaruan ketersediaan pada kasus penggunaan berikut:

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

Untuk mendapatkan informasi lebih lanjut, lihat referensi berikut:

RTU Booking Notification API

Booking Notification API memberi tahu Google tentang pembaruan pada pemesanan yang ada. Saat Anda mengirim info terbaru 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 tempat yang aman. Saat membuat akun, Anda memiliki opsi untuk menetapkan peran menjadi "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 melakukannya, 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.

Language Link download
Java Library klien Java. Untuk mengetahui informasi selengkapnya, lihat petunjuk klien Java.

Support library tambahan tersedia untuk didownload yang menangani otorisasi dan aspek panggilan lainnya ke Google API. Jika perlu, lihat contoh ini.

Mengambil dokumen Discovery

Untuk beberapa library klien, seperti Ruby, Anda perlu mengambil dokumen Discovery untuk API, yang mendeskripsikan metode dan parameternya.

Gunakan perintah berikut untuk mengambil dokumen Discovery:

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

Untuk mengetahui informasi selengkapnya tentang cara mengakses API dari Ruby, buka link berikut: Klien Ruby API dan Library Autentikasi Ruby.

Melakukan panggilan yang diotorisasi ke API

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

Kuota API

Update API memiliki kuota 1.500 permintaan setiap 60 detik, atau rata-rata 25 permintaan per detik. Jika kuota terlampaui (yang dapat terjadi jika Anda belum menambahkan nomor Project Google Cloud yang benar di Portal Partner), 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 pada interval yang lebih besar secara eksponensial hingga berhasil. Jika Anda sering menghabiskan kuota dengan ReplaceServiceAvailability, beralihlah ke BatchReplaceServiceAvailabily untuk mengurangi jumlah panggilan API. Metode ini memungkinkan Anda memperbarui beberapa layanan dalam satu panggilan API.

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()