לקוח Java Booking

כדי להתחיל ליישם את העדכונים בזמן אמת, אפשר להוריד את לקוח ה-API לעדכון זמן אמת של Java.

דרישה מוקדמת:

יוצרים חשבון שירות ומורידים את המפתח הפרטי.

איך מתחילים:

  1. מורידים את ספריית הלקוחות של Java כדי לבטל את נעילת הקובץ כדי לקבל את חבילת המפות.
  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 לתלויות הפרויקט (יש לכלול קובצי צנצנות בספריית המפות של קובצי lib-sources).
  5. בשני קובצי ה-Java, משלימים את ה-TODO כדי להשלים את ההטמעה

מידע נוסף על API ל-REST זמין כאן.

פתרון בעיות:

  1. כשתנסו ליצור מוכר/שירות חדש עם מספר מוכר או שירות IdId קיימים, תופיע הודעת השגיאה הבאה:

    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. כשמתקשרים למספרי טלפון חלופיים עם מספר מוכר לא חוקי או עם מזהה שירות לא תקין, השיחה לא תציג הודעת שגיאה. הסיבה לכך היא ששינויים במשבצות זמינות דרך בקשות RTU תומכים בביצוע לא תקין, ולכן הם לא משויכים ל-MerchantId או ל-serviceId. עם זאת, המשבצות בבקשה לא יוצגו בסביבת הייצור בגלל מזהה חשבון או מזהה שירות לא חוקיים. כדי שניתן יהיה להציג את המיקומים, צריך להוסיף את המוכר או השירות החסרים דרך בקשות RTU או פידים.
  3. בכל פונקציות העדכון, הפרמטר "updateMask" צריך להיות בפורמט FieldMask כדי לציין את השדות שיש לעדכן. ה-API נדרש לשנות רק את ערכי השדות שצוינו במסכה ואין לשנות את השדות האחרים. אם מעבירים מחרוזת updateMask שגויה, העדכון לא ייכנס לתוקף. אם לא מופיעה מסכה בשדה, הפעולה לא תחול על כל השדות (כפי שצוינו. אם ברצונך לעדכן את כל השדות, פשוט צריך להגדיר את updateMask ריק.
  4. כל שדה שיש לו ערך אפס לא יוצג בתשובה.