Tổng quan

Google Wallet Passes API giúp đối tác lưu Mã vạch xoay 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 khả năng bảo mật để giảm nguy cơ chụp ảnh màn hình bằng mã vạch. Mã vạch được tạo trên thiết bị theo tiêu chuẩn RFC 6238, trong đó đối tác cung cấp mã bí mật. Tuy nhiên, nếu một đố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 hàng loạt. Sau đó, những mã vạch này sẽ được truyền đến điện thoại của người dùng, và chúng sẽ hoạt độ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 xoay mã vạch. Chỉ có loại mã bắt buộc là bắt buộc, mặc dù bạn cũng nên tạo một bộ mã vạch nhỏ ban đầu (trị giá khoảng 10 phút) và gửi mã trong initialRotatingBarcodeValues. Đối tác chịu trách nhiệm đảm bảo rằng người dùng luôn có sẵn 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 Nội dung mô tả
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

Các giá trị cần mã hoá trong mã vạch. Bạn phải chọn ít nhất một giá trị. Các mã vạch ban đầu này dùng để thu hẹp khoảng cách giữa thời điểm người dùng nhận được thẻ và vé cho đến khi 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 Nội dung mô tả
startDateTime

string

Ngày/giờ của mã vạch đầu tiên có hiệu lực. Mã vạch sẽ được xoay qua bằ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 chọn ít nhất một giá trị.

Không có số lượng giá trị tối đa, nhưng hãy 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 có hiệu lực của mỗi mã vạch.

Cập nhật hàng loạt giá trị mã vạch

Sau khi đối tượng RotringBarcode được tạo, 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 đây.

Phương thức: Transitobject.uploadrotratingbarcodevalues

Tải các giá trị mã vạch xoay vòng lên đối tượng chuyển tuyến được tham chiếu bởi 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ố Nội dung 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.downloadrotatedbarcodevalues

Tải xuống các giá trị mã vạch xoay cho đối tượng chuyển tuyến được tham chiếu bởi mã đối tượng đã cho. Việc này rất hữu ích nếu các đố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ố Nội dung 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 mã vạch xoay không hợp lệ không có mã vạch hợp lệ để hiển thị (mã chưa được tải lên hoặc tất cả mã vạch hiện tại đã được sử dụng), thì người dùng sẽ nhận được thông báo lỗi.