개요

Google Wallet Passes API를 사용하면 파트너가 로테이션 바코드를 Google 월렛에 저장할 수 있습니다. 이러한 바코드는 짧은 시간 동안만 유효하므로 바코드 스크린샷 위험을 줄일 수 있는 추가 보안이 제공됩니다. 바코드는 RFC 6238에 따라 기기에서 생성되며 파트너가 보안 비밀 키를 제공합니다. 하지만 파트너가 직접 바코드를 생성하려는 경우 Google에서 바코드를 일괄 업로드할 수 있도록 API를 제공합니다. 그런 다음 바코드가 사용자의 휴대전화로 전달되어 짧은 시간 동안 표시되는 바코드처럼 작동합니다. 이 솔루션을 파트너가 생성한 순환 바코드라고 부릅니다.

파트너 생성 바코드 API

파트너가 생성한 순환 바코드는 동일한 RotatingBarcode 객체를 사용하여 생성됩니다. 유형만 있으면 되지만 작은 시작용 바코드 집합 (최대 10분)을 만들어 initialRotatingBarcodeValues로 보내는 것이 좋습니다. 파트너는 항상 사용자에게 유효한 바코드가 준비되어 있는지 확인해야 하며 initialRotatingBarcodeValues는 후속 일괄 업로드 호출을 비동기식으로 허용합니다.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
필드 설명
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

바코드에 인코딩할 값입니다. 값을 하나 이상 입력해야 합니다. 이러한 초기 바코드는 사용자가 처음으로 패스를 획득한 시점과 후속 일괄 업로드 호출이 생성되는 시점 사이의 간극을 메우는 데 사용됩니다.

type

enum (BarcodeType)

필수 항목입니다. 이 바코드의 유형입니다.

사용 가능한 값:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
필드 설명
startDateTime

string

첫 번째 바코드가 유효한 날짜/시간입니다. 바코드는 periodMillis를 통해 순환됩니다.

ISO 8601 확장 형식 날짜/시간(오프셋 포함)입니다.

values[]

string

바코드에 인코딩할 값입니다. 값을 하나 이상 입력해야 합니다.

최대 개수는 없지만 요청 본문의 크기는 5MB를 초과할 수 없습니다.

periodMillis

number

각 바코드가 유효한 시간입니다.

바코드 값 일괄 업데이트

RotatingBarcode 객체를 만든 후에는 사용자의 패스가 만료될 때까지 매일 바코드를 업로드하는 것이 좋습니다. 이 작업은 다음 REST API 엔드포인트를 사용하여 수행할 수 있습니다.

메서드: transitobject.uploadrotatingbarcodevalues

지정된 객체 ID로 참조되는 대중교통 객체에 순환 바코드 값을 업로드합니다.

HTTP 요청

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

경로 매개변수

매개변수 설명
resourceId

string

객체의 고유 식별자입니다.

요청 본문

요청 본문 (5MB를 초과할 수 없음)에는 RotatingBarcodeValues 인스턴스가 포함됩니다.

메서드: transitobject.downloadrotatingbarcodevalues

지정된 객체 ID로 참조되는 대중교통 객체의 바코드 값을 순환하여 다운로드합니다. 이는 파트너가 최신 배치를 확인하려는 경우에 유용합니다.

HTTP 요청

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

경로 매개변수

매개변수 설명
resourceId

string

객체의 고유 식별자입니다.

대체 메커니즘

유효하지 않은 RotatingBarcode에 표시할 유효한 바코드가 없는 경우 (아직 업로드되지 않았거나 현재 바코드를 모두 사용한 경우) 오류 메시지가 표시됩니다.