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:
- Tutorial: cara menyusun update real-time
- Contoh klien Java untuk update real-time menggunakan panggilan RESTful
- Halaman referensi API pembaruan inventaris
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()