API Google Wallet Passes предоставляет партнерам возможность сохранять меняющиеся штрих-коды в Google Кошельке. Эти штрих-коды действительны только в течение короткого периода времени, что обеспечивает дополнительную безопасность и снижает риск создания снимков экрана штрих-кода. Штрих-коды генерируются на устройстве в соответствии со стандартом RFC 6238 , при этом партнер предоставляет секретный ключ. Однако, если партнер предпочитает создавать штрих-коды самостоятельно, Google предоставляет API, позволяющий пакетно загружать штрих-коды в Google. Эти штрих-коды затем будут передаваться на телефоны пользователей, где они будут действовать так же, как вращающиеся штрих-коды, отображаясь в течение короткого периода времени. Мы называем это решение вращающимися штрих-кодами, генерируемыми партнерами.
Созданный партнерами API вращающегося штрих-кода
Вращающиеся штрих-коды, созданные партнерами, создаются с использованием одного и того же объекта RotatingBarcode. Требуется только тип, хотя мы также рекомендуем создать небольшой стартовый набор штрих-кодов (около 10 минут) и отправить их в initialRotatingBarcodeValues
. Партнер отвечает за обеспечение того, чтобы для пользователя всегда был готов действительный штрих-код, а initialRotatingBarcodeValues
позволяет последующему вызову пакетной загрузки быть асинхронным.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
Поле | Описание |
---|---|
initialRotatingBarcodeValues | Значения для кодирования в штрих-коде. Требуется хотя бы одно значение. Эти первоначальные штрих-коды предназначены для устранения разрыва между тем, когда пользователь впервые получает свой пропуск, и когда выполняется последующий вызов пакетной загрузки. |
type | Необходимый. Тип этого штрих-кода. Приемлемые значения:
|
Поле | Описание |
---|---|
startDateTime | Дата/время, начиная с которого действителен первый штрих-код. Штрих-коды будут чередоваться с помощью Это дата/время расширенного формата ISO 8601 со смещением. |
values[] | Значения для кодирования в штрих-коде. Требуется хотя бы одно значение. Максимальное количество значений не ограничено, но учтите, что размер тела запроса не может превышать 5 МБ. |
periodMillis | Время, в течение которого действителен каждый штрих-код. |
Пакетное обновление значений штрих-кода
После создания объекта RotatingBarcode мы рекомендуем загружать дневные штрих-коды каждый день, пока не истечет срок действия пропуска пользователя. Это можно сделать с помощью следующей конечной точки REST API.
Метод:transitobject.uploadrotatingbarcodevalues
Загружает чередующиеся значения штрих-кода в транзитный объект, на который ссылается данный идентификатор объекта.
HTTP-запрос
POST https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc eId}/uploadRotatingBarcodeValues
Параметры пути
Параметр | Описание |
---|---|
resourceId | Уникальный идентификатор объекта. |
Тело запроса
Тело запроса (размер которого не может превышать 5 МБ) содержит экземпляр RotatingBarcodeValues .
Метод:transitobject.downloadrotatingbarcodevalues
Загружает чередующиеся значения штрих-кодов для транзитного объекта, на который ссылается данный идентификатор объекта. Это полезно, если партнеры хотят проверить последнюю партию.
HTTP-запрос
GET https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do wnloadRotatingBarcodeValues?alt=media
Параметры пути
Параметр | Описание |
---|---|
resourceId | Уникальный идентификатор объекта. |