บัตรที่ลิงก์อัตโนมัติ

ข้อมูลเบื้องต้น

ฟีเจอร์บัตรที่ลิงก์โดยอัตโนมัติช่วยให้คุณส่งบัตรเพิ่มเติมไปยังผู้ใช้ที่มีบัตรของคุณอยู่แล้วใน Google Wallet ได้ นอกจากนี้ คุณยังลิงก์บัตรกับบัตรหลักล่วงหน้าได้เมื่อผู้ใช้บันทึกบัตรหลัก (หลัก) ระบบจะจัดกลุ่มบัตรที่ลิงก์โดยอัตโนมัติไว้กับบัตรหลักโดยจะมีข้อความไฮไลต์เหนือบัตรหลักเพื่อแจ้งให้ผู้ใช้ทราบว่ามีการลิงก์บัตรใหม่แล้ว ระบบรองรับบัตรประเภทต่อไปนี้เป็นบัตรหลักหรือบัตรที่ลิงก์

  • ตั๋วกิจกรรม
  • บอร์ดดิ้งพาส
  • บัตรโดยสาร
  • ข้อเสนอ
  • บัตรของขวัญ
  • บัตรสะสมคะแนน
  • บัตรทั่วไป
ตัวอย่างหลักของบัตรที่ลิงก์โดยอัตโนมัติ ตัวอย่างรองของบัตรที่ลิงก์โดยอัตโนมัติ
บัตรหลักที่มีข้อความไฮไลต์ว่าเพิ่มบัตรใหม่แล้ว บัตรใหม่ที่ลิงก์กับบัตรหลัก

กรณีการใช้งาน

คุณอาจมีกรณีการใช้งานที่แตกต่างกันสำหรับการลิงก์บัตรกับบัตรที่มีอยู่ ตัวอย่าง

  • ลิงก์ข้อเสนอกับบัตรสะสมคะแนนที่มีอยู่
  • ลิงก์บัตรกำนัลอาหารกับบอร์ดดิ้งพาสหรือตั๋วกิจกรรม
  • ลิงก์บัตรจอดรถกับตั๋วเข้างาน

ข้อควรพิจารณาบางประการเมื่อใช้บัตรที่ลิงก์โดยอัตโนมัติ

  • ออบเจ็กต์หลักและออบเจ็กต์ที่ลิงก์ต้องใช้ issuerId เดียวกัน
  • ออบเจ็กต์ที่ลิงก์จะมีได้สูงสุด 50 รายการต่อออบเจ็กต์หลัก
  • เราไม่รับประกันการส่งบัตรที่ลิงก์โดยอัตโนมัติและถือว่าดำเนินการอย่างดีที่สุด ผู้ใช้สามารถเลือกไม่รับบัตรที่ลิงก์โดยอัตโนมัติได้ หากกรณีการใช้งานมีความสําคัญและผู้ใช้ต้องได้รับบัตรที่ลิงก์ไว้ เราขอแนะนําให้สื่อสารผ่านช่องทางอื่นเพื่อให้มั่นใจว่าผู้ใช้จะเพิ่มบัตร
  • การอัปเดตข้อกำหนดในการให้บริการของ Google Wallet ประกอบด้วยหลักเกณฑ์ในการใช้บัตรที่ลิงก์โดยอัตโนมัติซึ่งต้องปฏิบัติตาม

ขั้นตอนการผสานรวม

หากสร้างออบเจ็กต์หลักไว้แล้ว ให้ข้ามขั้นตอนที่ 1

  1. สร้างออบเจ็กต์ของบัตรประเภทใดก็ได้ที่แสดงพร้อมพารามิเตอร์ที่จำเป็น นี่คือออบเจ็กต์หลัก
  2. สร้างออบเจ็กต์อีกรายการของบัตรประเภทใดก็ได้ที่แสดง รายการนี้จะเป็นออบเจ็กต์ที่ลิงก์
  3. ไม่ว่าจะก่อนหรือหลังบันทึกออบเจ็กต์หลัก ให้อัปเดตออบเจ็กต์หลักด้วยรหัสของออบเจ็กต์ที่ลิงก์ในพารามิเตอร์ linkedObjectIds

คุณต้องระบุเพย์โหลดขั้นต่ำเพื่อตั้งค่า linkedObjectIds ในพาสหลัก พารามิเตอร์ 3 รายการที่ต้องระบุ ได้แก่

  1. ISSUERID.PRIMARY_OBJECT_ID
  2. ISSUERID.PRIMARY_CLASS_ID
  3. ISSUERID.LINKED_OBJECT_ID

ตัวอย่างคําขอ JSON เพื่อเพิ่มออบเจ็กต์ที่ลิงก์ไปยังออบเจ็กต์บัตร

  …
  {
    "id": "ISSUERID.PASS_OBJECTID",
    "classId": "ISSUERID.PASS_CLASSID",
    "barcode": {
      "type": "qrCode",
      "value": "QR code"
    },
    "linkedObjectIds": {"ISSUERID.LINKED_PASS_OBJECTID"}
  }
  …

ตัวอย่างการตอบกลับ JSON หลังจากลิงก์ออบเจ็กต์กับออบเจ็กต์บัตร

  …
  "state": "active",
  "linkedObjectIds": {
    "ISSUERID.LINKED_PASS_OBJECTID"
  }
  …

ลักษณะการทำงานที่ควรจะเป็น

หลังจากได้รับการตอบกลับเรียบร้อยแล้ว อุปกรณ์ที่มีบัตรที่คุณอัปเดตควรได้รับบัตรที่ลิงก์ ระบบจะจัดกลุ่มบัตรที่ลิงก์นี้ไว้ด้วยกันกับบัตรหลัก ผู้ใช้จะเห็นบัตรที่ลิงก์ไว้ด้วยการปัดไปทางขวา

การจัดการข้อยกเว้น

ข้อผิดพลาดที่อาจเกิดขึ้นได้เมื่อใช้ API อย่างไม่ถูกต้อง ซึ่งอาจรวมถึง

ข้อความ เหตุผล
ออบเจ็กต์หลักและออบเจ็กต์ที่ลิงก์ไม่ได้ใช้รหัสผู้ออกเดียวกัน คุณแนบออบเจ็กต์ที่ลิงก์กับออบเจ็กต์ของผู้ออกใบอนุญาตรายอื่นไม่ได้
ออบเจ็กต์หลักและออบเจ็กต์ที่ลิงก์หมายถึงออบเจ็กต์เดียวกัน คุณแนบออบเจ็กต์เดียวกับ linkedObject ไม่ได้
ไม่มีออบเจ็กต์ที่ลิงก์ ควรแทรกออบเจ็กต์ที่ลิงก์ไว้ใน Wallet API แล้ว
ออบเจ็กต์ที่ลิงก์มีออบเจ็กต์ที่ลิงก์อื่นอยู่แล้ว เพิ่มออบเจ็กต์ที่ฝังไว้ซึ่งลิงก์กันไม่ได้ ออบเจ็กต์ที่ลิงก์ต้องไม่มีออบเจ็กต์ที่ลิงก์อีกรายการ
ออบเจ็กต์ลิงก์กับออบเจ็กต์อื่นอยู่แล้ว เพิ่มออบเจ็กต์ที่ลิงก์ซึ่งซ้อนกันไม่ได้ ออบเจ็กต์หลักต้องไม่ออบเจ็กต์ที่ลิงก์
เพิ่มออบเจ็กต์ที่ลิงก์ไม่ได้อีกเนื่องจากเกินขีดจํากัด บัตรหลักมีบัตรที่ลิงก์ครบตามจำนวนที่จำกัดแล้ว