Klien Java Booking API

Anda dapat mendownload klien API update real-time Java untuk membantu memulai penerapan update real-time.

Persyaratan:

Setelah akun layanan Anda dibuat, download kunci pribadi Anda.

Memulai:

  1. Download library klien Java, ekstrak file untuk mendapatkan paket 'mapsbooking'.
  2. Buat project java di IDE Anda, download kode contoh InventoryUpdate.java dan BookingNotification.java dari repo ini:

    git clone https://maps-booking.googlesource.com/java-maps-booking-api-example

    dan impor ke project java Anda di direktori src.

  3. Buat salinan kunci pribadi Anda (file JSON) ke direktori src.
  4. Tambahkan Library Klien Java ke dependensi project Anda (sertakan file jar di direktori mapsbooking dan libs-sources).
  5. Di kedua file java, ikuti TODO untuk menyelesaikan implementasi Anda

Detail selengkapnya tentang REST API dapat ditemukan di sini.

Pemecahan masalah:

  1. Saat mencoba membuat penjual/layanan baru dengan merchantId atau serviceId yang ada, Anda akan mendapatkan pesan error berikut:

    409 Conflict
    {
      code : 409,
      errors :
        [{
            domain : global,
            message : Requested entity already exists,
            reason : alreadyExists,
            debugInfo : detail: "[ORIGINAL ERROR] generic::already_exists: ...”\n"
        }],
      message : Requested entity already exists,
      status : ALREADY_EXISTS
    }
  2. Saat melakukan panggilan ketersediaan penggantian dengan merchantId atau serviceId yang tidak valid, panggilan tersebut tidak akan menampilkan pesan error. Hal ini karena perubahan pada slot ketersediaan melalui RTU mendukung eksekusi yang tidak berurutan sehingga tidak dikaitkan dengan merchantId atau serviceId. Namun, slot dalam permintaan tidak akan ditayangkan dalam produksi karena merchantId atau serviceId tidak valid. Agar slot dapat ditayangkan, tambahkan penjual atau layanan yang tidak ada melalui RTU atau feed.
  3. Di semua fungsi pembaruan, parameter 'updateMask' harus dalam format FieldMask untuk menentukan kolom yang akan diperbarui. API hanya boleh mengubah nilai kolom seperti yang ditentukan dalam mask dan membiarkan yang lainnya tidak tersentuh. Jika Anda meneruskan string updateMask yang salah, update tidak akan diterapkan. Jika mask kolom tidak ada saat pembaruan, operasi akan berlaku untuk semua kolom (seolah-olah mask kolom dari semua kolom telah ditentukan). Jadi, jika Anda ingin memperbarui semua kolom, cukup kosongkan updateMask.
  4. Kolom apa pun yang memiliki nilai nol tidak akan ditampilkan dalam respons.