Przegląd

Interfejs API kart w Portfelu Google umożliwia partnerom zapisywanie Obracanie kodów kreskowych do Portfela Google. Takie kody kreskowe są ważne tylko przez krótki czas, dodatkowe zabezpieczenia w celu zmniejszenia ryzyka zrzutu ekranu z kodem kreskowym. Kody kreskowe są generowane na urządzeniu zgodnie z RFC 6238, w którym partner dostarcza tajny klucz. Jeśli jednak partner chce samodzielnie wygenerować kody kreskowe, Google udostępnia interfejs API umożliwiający przesyłanie zbiorcze kodów kreskowych do Google. Kody kreskowe mogą być przekazywane do w których działają jak obracające się kody kreskowe, przez krótki czas. Określamy to rozwiązanie jako wygenerowane przez partnera Obracanie kodów kreskowych.

Interfejs Rotating Barcode API wygenerowany przez partnera

Rotowane kody kreskowe wygenerowane przez partnerów są tworzone za pomocą tego samego kodu RotatingBarcode obiektu. Wymagany jest tylko typ, ale zalecamy też utworzenie małego polecenia inicjującego kodów kreskowych (o wartości około 10 minut) i wysyłać je initialRotatingBarcodeValues Partner odpowiada za zapewnienie, zawsze gotowy do użycia przez użytkownika kod kreskowy, a initialRotatingBarcodeValues zezwala kolejne wywołanie przesyłania zbiorczego, by było asynchroniczne.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
Pole Opis
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

Wartości do zakodowania w kodzie kreskowym. Musisz wpisać co najmniej 1 wartość. Te początkowe Kody kreskowe mają wypełnić lukę między momentem, w którym użytkownik po raz pierwszy uzyska kartę, po wykonaniu kolejnego wywołania przesyłania zbiorczego.

type

enum (BarcodeType)

Wymagane. Typ tego kodu kreskowego.

Akceptowane wartości:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Pole Opis
startDateTime

string

Data i godzina, od których pierwszy kod kreskowy jest ważny. Kody kreskowe będą poddawane rotacji za pomocą funkcji periodMillis.

To jest data i godzina w rozszerzonym formacie ISO 8601 z przesunięciem.

values[]

string

Wartości do zakodowania w kodzie kreskowym. Musisz wpisać co najmniej 1 wartość.

Nie ma maksymalnej liczby wartości, ale pamiętaj, że rozmiar treści żądania nie może przekraczać 5 MB.

periodMillis

number

Czas ważności każdego kodu kreskowego.

Zbiorcza aktualizacja wartości kodów kreskowych

Po utworzeniu obiektu RotatingBarcode zalecamy przesłanie dziennego kodów kreskowych każdego dnia, aż do wygaśnięcia ich ważności. Można to zrobić za pomocą z tego punktu końcowego interfejsu API REST.

Metoda: transitobject.uploadrotatingbarcodevalues

Przesyła naprzemiennie wartości kodu kreskowego do obiektu biletu na przejazd, do którego odwołuje się podany identyfikator obiektu.

Żądanie HTTP

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

Parametry ścieżki

Parametr Opis
resourceId

string

Unikalny identyfikator obiektu.

Treść żądania

Treść żądania (która nie może przekraczać 5 MB) zawiera instancję RotatingBarcodeValues.

Metoda: transitobject.downloadrotatingbarcodevalues

Pobiera naprzemiennie wartości kodu kreskowego obiektu biletu na przejazd, do którego odwołuje się dany obiekt ID. Jest to przydatne, gdy partnerzy chcą zweryfikować najnowszy wsad.

Żądanie HTTP

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

Parametry ścieżki

Parametr Opis
resourceId

string

Unikalny identyfikator obiektu.

Mechanizmy awaryjne

Pamiętaj, że jeśli w innym przypadku poprawny kod kreskowy RotatingBarcode nie ma prawidłowych kodów kreskowych do wyświetlenia ( nie zostały jeszcze przesłane lub wszystkie obecne kody kreskowe zostały wykorzystane) wystąpił błąd to wiadomość.