Tổng quan

API Thẻ và vé của Google Wallet cho phép các đối tác lưu Mã vạch xoay vòng vào Google Wallet. Những mã vạch này chỉ có hiệu lực trong một khoảng thời gian ngắn, giúp tăng cường bảo mật để giảm nguy cơ chụp ảnh màn hình mã vạch. Mã vạch được tạo trên thiết bị theo RFC 6238, trong đó đối tác cung cấp khoá bí mật. Tuy nhiên, nếu đối tác muốn tự tạo mã vạch, Google sẽ cung cấp một API để có thể tải mã vạch lên Google theo lô. Sau đó, các mã vạch này sẽ được chuyển đến điện thoại của người dùng, nơi chúng sẽ hoạt động giống như Mã vạch xoay, hiển thị trong một khoảng thời gian ngắn. Chúng tôi gọi giải pháp này là Mã vạch xoay do đối tác tạo.

API mã vạch xoay do đối tác tạo

Mã vạch xoay do đối tác tạo được tạo bằng cùng một đối tượng RotatingBarcode. Bạn chỉ cần nhập loại mã vạch, mặc dù bạn cũng nên tạo một bộ mã vạch nhỏ, ban đầu (~10 phút) và gửi các mã vạch đó trong initialRotatingBarcodeValues. Đối tác chịu trách nhiệm đảm bảo rằng người dùng luôn có một mã vạch hợp lệ và initialRotatingBarcodeValues cho phép lệnh gọi tải lên hàng loạt tiếp theo không đồng bộ.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
Trường Mô tả
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

Các giá trị cần mã hoá trong mã vạch. Bạn phải nhập ít nhất một giá trị. Những mã vạch ban đầu này nhằm lấp đầy khoảng trống giữa thời điểm người dùng mua thẻ và thời điểm thực hiện lệnh gọi tải lên hàng loạt tiếp theo.

type

enum (BarcodeType)

Bắt buộc. Loại mã vạch này.

Các giá trị được chấp nhận là:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Trường Mô tả
startDateTime

string

Ngày/giờ mà mã vạch đầu tiên có hiệu lực. Mã vạch sẽ được xoay thông qua việc sử dụng periodMillis.

Đây là ngày/giờ ở định dạng mở rộng ISO 8601, có độ lệch.

values[]

string

Các giá trị cần mã hoá trong mã vạch. Bạn phải nhập ít nhất một giá trị.

Không có số lượng giá trị tối đa, nhưng xin lưu ý rằng kích thước của nội dung yêu cầu không được vượt quá 5 MB.

periodMillis

number

Khoảng thời gian mỗi mã vạch hợp lệ.

Cập nhật giá trị mã vạch theo lô

Sau khi tạo đối tượng RotatingBarcode, bạn nên tải mã vạch của một ngày lên mỗi ngày cho đến khi thẻ và vé của người dùng hết hạn. Bạn có thể thực hiện việc này bằng điểm cuối API REST sau.

Phương thức: transitobject.uploadrotatingbarcodevalues

Tải các giá trị mã vạch xoay vòng lên đối tượng phương tiện công cộng được tham chiếu bằng mã đối tượng đã cho.

Yêu cầu HTTP

POST https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc eId}/uploadRotatingBarcodeValues

Tham số đường dẫn

Thông số Mô tả
resourceId

string

Giá trị nhận dạng duy nhất của một đối tượng.

Nội dung yêu cầu

Nội dung yêu cầu (không được vượt quá 5 MB) chứa một thực thể của RotatingBarcodeValues.

Phương thức: transitobject.downloadrotatingbarcodevalues

Tải các giá trị mã vạch xoay vòng xuống cho đối tượng phương tiện công cộng được tham chiếu bằng mã nhận dạng đối tượng đã cho. Điều này rất hữu ích nếu đối tác muốn xác minh lô mới nhất.

Yêu cầu HTTP

GET https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do wnloadRotatingBarcodeValues?alt=media

Tham số đường dẫn

Thông số Mô tả
resourceId

string

Giá trị nhận dạng duy nhất của một đối tượng.

Cơ chế dự phòng

Xin lưu ý rằng nếu một RotatingBarcode hợp lệ không có mã vạch hợp lệ để hiển thị (mã vạch chưa được tải lên hoặc tất cả mã vạch hiện tại đã được sử dụng), thì thông báo lỗi sẽ hiển thị cho người dùng.