Interfejs API Karty w Portfelu Google umożliwia partnerom zapisywanie obracanych kodów kreskowych w Portfelu Google. Kody te są ważne tylko przez krótki czas, co zwiększa bezpieczeństwo i zmniejsza ryzyko wykonania zrzutu ekranu z kodem kreskowym. Kody kreskowe są generowane na urządzeniu zgodnie ze standardem RFC 6238, a partner podaje tajny klucz. Jeśli jednak partner wolałby samodzielnie generować kody kreskowe, Google udostępnia interfejs API, który umożliwia zbiorcze przesyłanie kodów kreskowych do Google. Będą one wtedy przesyłane na telefony użytkowników i przez krótki czas będą wyświetlać się jak obracające się kody kreskowe. Nazywamy to rozwiązanie jako obrotowe kody kreskowe wygenerowane przez partnera.
Wygenerowany przez partnera interfejs Rotating Barcode API
Rotujące kody kreskowe wygenerowane przez partnera 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 ciągu initialRotatingBarcodeValues
. Partner odpowiada za to, aby zawsze dostępny był prawidłowy kod kreskowy dla użytkownika, a initialRotatingBarcodeValues
umożliwia 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 jedną wartość. Te początkowe kody kreskowe mają na celu wypełnienie luki pomiędzy momentem uzyskania karty przez użytkownika a wykonaniem kolejnego wywołania przesyłania zbiorczego. |
type |
To pole jest wymagane. Typ tego kodu kreskowego. Dopuszczalne wartości:
|
Pole | Opis |
---|---|
startDateTime |
Data i godzina, od których pierwszy kod kreskowy jest ważny. Kody kreskowe będą poddawane rotacji za pomocą funkcji 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 jedną 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, dopóki karta użytkownika nie wygaśnie. Można to zrobić za pomocą poniższego punktu końcowego interfejsu API REST.
Metoda: transitobject.uploadrotatingbarcodevalues
Przesyła zmieniające się 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 zmieniające się wartości kodu kreskowego dla obiektu biletu, 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. |