Przegląd

Interfejs API Karty w Portfelu Google umożliwia partnerom zapisywanie kodów kreskowych w rotacji w Portfelu Google. Kody te są ważne tylko przez krótki czas, co zapewnia dodatkowe zabezpieczenie, które zmniejsza ryzyko wykonania zrzutu ekranu z kodem kreskowym. Kody kreskowe są generowane na urządzeniu zgodnie ze standardem RFC 6238, a partner udostępnia tajny klucz. Jeśli jednak partner wolałby generować kody kreskowe samodzielnie, Google udostępnia interfejs API umożliwiający zbiorcze przesyłanie kodów kreskowych do Google. Kody te będą następnie przekazywane na telefony użytkowników i będą działać jak obracające się kody kreskowe i będą wyświetlać się przez krótki czas. Określamy to rozwiązanie jako generowane przez partnerów kody kreskowe wyświetlane w rotacji.

Wygenerowany przez partnera interfejs API Rotating Barcode

Wygenerowane przez partnerów kody kreskowe z rotacją są tworzone za pomocą tego samego obiektu RotatingBarcode. Wymagany jest tylko typ, ale zalecamy utworzenie małego początkowego zestawu kodów kreskowych (około 10 minut) i wysłanie ich w initialRotatingBarcodeValues. Partner odpowiada za to, aby zawsze dostępny był prawidłowy kod kreskowy dla użytkownika, a initialRotatingBarcodeValues pozwala na asynchroniczne wywołanie przesyłania zbiorczego.

  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ą za zadanie wypełnić lukę między momentem, w którym użytkownik po raz pierwszy uzyska kartę, a momentem kolejnego wywołania przesyłania zbiorczego.

type

enum (BarcodeType)

To pole jest wymagane. Typ kodu kreskowego.

Akceptowane wartości:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Pole Opis
startDateTime

string

Data i godzina, od których obowiązuje pierwszy kod kreskowy. Kody kreskowe będą wyświetlane naprzemiennie za pomocą metody periodMillis.

Jest to 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.

Zbiorcze aktualizowanie wartości kodu kreskowego

Po utworzeniu obiektu RotatingBarcode zalecamy przesyłanie kodów kreskowych z jednego dnia, aż do wygaśnięcia karty użytkownika. Możesz to zrobić za pomocą poniższego punktu końcowego interfejsu API REST.

Metoda: transitobject.uploadrotatingbarcodevalues

Przesyłam rotujące 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 (nie może przekraczać 5 MB) zawiera instancję RotatingBarcodeValues.

Metoda: transitobject.downloadrotatingbarcodevalues

Pobiera wartości kodu kreskowego z rotacją dla obiektu biletu na przejazd, do którego odwołuje się podany identyfikator obiektu. Jest to przydatne, gdy partnerzy chcą zweryfikować najnowszą partię.

Żą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 kreacji zastępczych

Pamiętaj, że jeśli kod RotatingBarcode nie ma prawidłowych kodów kreskowych (nie zostały one jeszcze przesłane lub wszystkie bieżące kody kreskowe zostały wykorzystane), użytkownik zobaczy komunikat o błędzie.