Klien Java Booking API

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

Persyaratan:

Buat akun layanan, download kunci pribadi Anda.

Memulai:

  1. Download library klien Java yang mengekstrak file tersebut 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 dalam proyek Java Anda di bawah 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 pada direktori mapsbooking dan libs-sources).
  5. Dalam 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 terkait 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 update, parameter 'updateMask' harus dalam format FieldMask untuk menentukan kolom yang akan diperbarui. API ini diharuskan untuk hanya mengubah nilai kolom seperti yang ditentukan dalam mask dan membiarkan kolom lainnya tidak tersentuh. Jika Anda meneruskan string updateMask yang salah, pembaruan tidak akan diterapkan. Jika mask kolom tidak ada saat pembaruan, operasi akan diterapkan ke semua kolom (seolah-olah mask kolom dari semua kolom telah ditentukan). Jadi, jika Anda ingin memperbarui semua kolom, cukup setel updateMask ke kosong.
  4. Setiap kolom yang memiliki nilai nol tidak ditampilkan dalam respons.