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 |
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 |
To pole jest wymagane. Typ kodu kreskowego. Akceptowane wartości:
|
Pole | Opis |
---|---|
startDateTime |
Data i godzina, od których obowiązuje pierwszy kod kreskowy. Kody kreskowe będą wyświetlane naprzemiennie za pomocą metody Jest to data i godzina w rozszerzonym formacie ISO 8601 z przesunięciem. |
values[] |
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 |
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 |
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 |
Unikalny identyfikator obiektu. |