ไคลเอ็นต์ Java Booking API

คุณสามารถดาวน์โหลดไคลเอ็นต์ API การอัปเดตแบบเรียลไทม์ของ Java เพื่อช่วยในการเริ่มต้นใช้งานการอัปเดตแบบเรียลไทม์

วิชาบังคับก่อน:

สร้างบัญชีบริการเรียบร้อยแล้ว โปรดดาวน์โหลดคีย์ส่วนตัว

เริ่มต้น:

  1. ดาวน์โหลดไลบรารีไคลเอ็นต์ Java คลายการบีบอัดไฟล์เพื่อรับแพ็กเกจ "mapsbooking"
  2. สร้างโปรเจ็กต์ Java ใน IDE แล้วดาวน์โหลดโค้ดตัวอย่าง InventoryUpdate.java และ BookingNotification.java จากที่เก็บนี้

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

    แล้วนำเข้าไปยังโปรเจ็กต์ Java ภายใต้ไดเรกทอรี src

  3. ทำสำเนาคีย์ส่วนตัว (ไฟล์ JSON) ไปยังไดเรกทอรี src
  4. เพิ่มไลบรารีของไคลเอ็นต์ Java ลงในทรัพยากร Dependency ของโปรเจ็กต์ (รวมไฟล์ jar ไว้ในไดเรกทอรี mapsbooking และ libs-sources)
  5. ในไฟล์ Java ทั้ง 2 ไฟล์ ให้ทำตามสิ่งที่ต้องทำเพื่อติดตั้งใช้งานให้เสร็จสมบูรณ์

ดูรายละเอียดเพิ่มเติมเกี่ยวกับ REST API ได้ที่นี่

การแก้ปัญหา:

  1. เมื่อพยายามสร้างผู้ขาย/บริการใหม่ที่มีรหัส MerchantId หรือ serviceId ที่มีอยู่ คุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้

    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. เมื่อเรียกใช้การแทนที่ความพร้อมด้วย MerchantId หรือ serviceId ที่ไม่ถูกต้อง การโทรจะไม่มีข้อความแสดงข้อผิดพลาด เนื่องจากการเปลี่ยนแปลงช่องความพร้อมจำหน่ายสินค้าผ่าน RTU จะรองรับการดำเนินการที่ไม่ต้องสั่งโดยแพทย์ จึงไม่เชื่อมโยงกับ MerchantId หรือ serviceId อย่างไรก็ตาม ช่องโฆษณาในคำขอจะไม่แสดงในเวอร์ชันที่ใช้งานจริงเนื่องจากบัญชีผู้ขายหรือรหัสบริการไม่ถูกต้อง โปรดเพิ่มผู้ขายหรือบริการที่ขาดหายไปผ่าน RTU หรือฟีดเพื่อให้ช่องแสดงได้
  3. ในฟังก์ชันการอัปเดตทั้งหมด พารามิเตอร์ "updateMask" ต้องอยู่ในรูปแบบ FieldMask เพื่อระบุช่องที่จะอัปเดต ระบบต้องใช้ API เพื่อเปลี่ยนค่าของช่องตามที่ระบุในมาสก์เท่านั้น และไม่แตะค่าอื่นๆ หากคุณส่งสตริงupdateMask ไม่ถูกต้อง การอัปเดตจะไม่มีผล หากไม่มีมาสก์ช่องอยู่ในการอัปเดต การดำเนินการดังกล่าวจะมีผลกับทุกช่อง (เหมือนกับว่ามีการระบุมาสก์ช่องของทุกช่องไว้) ดังนั้นหากต้องการอัปเดตทุกช่อง ก็เพียงแค่ตั้งค่าupdateMask ว่างไว้
  4. ช่องที่มีค่าเป็น 0 จะไม่แสดงในการตอบกลับ