Google Wallet Passes API를 사용하면 파트너가 로테이션 바코드를 Google 월렛에 저장할 수 있습니다. 이러한 바코드는 짧은 시간 동안만 유효하므로 바코드 스크린샷 위험을 줄일 수 있는 추가 보안이 제공됩니다. 바코드는 RFC 6238에 따라 기기에서 생성되며 파트너가 보안 비밀 키를 제공합니다. 하지만 파트너가 직접 바코드를 생성하려는 경우 Google에서 바코드를 일괄 업로드할 수 있도록 API를 제공합니다. 그런 다음 바코드가 사용자의 휴대전화로 전달되어 짧은 시간 동안 표시되는 바코드처럼 작동합니다. 이 솔루션을 파트너가 생성한 순환 바코드라고 부릅니다.
파트너 생성 바코드 API
파트너가 생성한 순환 바코드는 동일한 RotatingBarcode 객체를 사용하여 생성됩니다. 유형만 있으면 되지만 작은 시작용 바코드 집합 (최대 10분)을 만들어 initialRotatingBarcodeValues
로 보내는 것이 좋습니다. 파트너는 항상 사용자에게 유효한 바코드가 준비되어 있는지 확인해야 하며 initialRotatingBarcodeValues
는 후속 일괄 업로드 호출을 비동기식으로 허용합니다.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
필드 | 설명 |
---|---|
initialRotatingBarcodeValues |
바코드에 인코딩할 값입니다. 값을 하나 이상 입력해야 합니다. 이러한 초기 바코드는 사용자가 처음으로 패스를 획득한 시점과 후속 일괄 업로드 호출이 생성되는 시점 사이의 간극을 메우는 데 사용됩니다. |
type |
필수 항목입니다. 이 바코드의 유형입니다. 사용 가능한 값:
|
필드 | 설명 |
---|---|
startDateTime |
첫 번째 바코드가 유효한 날짜/시간입니다. 바코드는 ISO 8601 확장 형식 날짜/시간(오프셋 포함)입니다. |
values[] |
바코드에 인코딩할 값입니다. 값을 하나 이상 입력해야 합니다. 최대 개수는 없지만 요청 본문의 크기는 5MB를 초과할 수 없습니다. |
periodMillis |
각 바코드가 유효한 시간입니다. |
바코드 값 일괄 업데이트
RotatingBarcode 객체를 만든 후에는 사용자의 패스가 만료될 때까지 매일 바코드를 업로드하는 것이 좋습니다. 이 작업은 다음 REST API 엔드포인트를 사용하여 수행할 수 있습니다.
메서드: transitobject.uploadrotatingbarcodevalues
지정된 객체 ID로 참조되는 대중교통 객체에 순환 바코드 값을 업로드합니다.
HTTP 요청
POST
https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc
eId}/uploadRotatingBarcodeValues
경로 매개변수
매개변수 | 설명 |
---|---|
resourceId |
객체의 고유 식별자입니다. |
요청 본문
요청 본문 (5MB를 초과할 수 없음)에는 RotatingBarcodeValues 인스턴스가 포함됩니다.
메서드: transitobject.downloadrotatingbarcodevalues
지정된 객체 ID로 참조되는 대중교통 객체의 바코드 값을 순환하여 다운로드합니다. 이는 파트너가 최신 배치를 확인하려는 경우에 유용합니다.
HTTP 요청
GET
https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do
wnloadRotatingBarcodeValues?alt=media
경로 매개변수
매개변수 | 설명 |
---|---|
resourceId |
객체의 고유 식별자입니다. |