Klien Java Booking API

Anda dapat mendownload klien API update real-time Java untuk membantu Anda mulai menerapkan update real-time.

Persyaratan:

Download akun pribadi setelah akun layanan Anda dibuat.

Memulai:

  1. Download library klien Java untuk mengekstrak file guna 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 pada direktori src.

  3. Buat salinan kunci pribadi Anda (file JSON) ke direktori src.
  4. Tambahkan Java Client Library ke dependensi project Anda (termasuk file jar dalam direktori mapsbooking dan libs-sources).
  5. Di kedua file java tersebut, ikuti TODO untuk menyelesaikan penerapan

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 yang diganti dengan merchantId atau serviceId yang tidak valid, panggilan tidak akan memunculkan pesan error. Hal ini terjadi 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 ini diwajibkan untuk hanya mengubah nilai kolom seperti yang ditetapkan di mask dan membiarkan yang lain tidak tersentuh. Jika Anda meneruskan string updateMask yang salah, update tidak akan diterapkan. Jika mask kolom tidak ada saat update, operasi berlaku untuk semua kolom (seolah-olah mask kolom dari semua kolom telah ditentukan). Jadi, jika Anda ingin memperbarui semua kolom, cukup tetapkan updateMask kosong.
  4. Setiap kolom yang memiliki nilai nol tidak akan ditampilkan di respons.