Przegląd

Interfejs Google Wallet Pass API umożliwia partnerom określenie punktu końcowego dla aktywacji biletu transportu publicznego. Jeśli wymagana jest aktywacja, wyświetli się przycisk „Aktywuj”. dla użytkownika, który po kliknięciu wywoła określony punkt końcowy z parametrami wymienionymi poniżej. Punkt końcowy powinien sprawdzić, czy karta zawiera prawidłowe informacje o wykorzystaniu promocji (kod kreskowy lub inspekcja wizualna) przed zwrotem, co oznacza, że karta w Portfelu użytkownika zostanie zaktualizowana aby wyświetlić informacje o skorzystaniu z promocji. Przed aktywacją wszystkie bieżące oferty które nie są wyświetlane.

Interfejs Activation API

Punkt końcowy aktywacji jest określony w interfejsie API za pomocą activationOptions na klasa przewozu. Partner jest odpowiedzialny za utrzymanie działającego punktu końcowego aktywacji wraz z niezrozumiałe opóźnienia.

  activationOptions: {
    activationUrl: string
  }
Pole Opis
activationUrl

string

Adres URL punktu końcowego partnera, który byłby wywoływany dla żądań aktywacji. Adres URL powinien musi być hostowany na HTTPS, a plik robots.txt powinien umożliwiać dostęp do ścieżki adresu URL UserAgent:Google-Valuables.

Stan aktywacji jest zapisywany w obiekcie w polu activationStatus. Prawidłowy stan to NOT_ACTIVATED i ACTIVATED. Aktywacja punktu końcowego powinien aktualizować obiekt o stanie ACTIVATED, a także zapewnić Obiekt zawiera prawidłowe informacje o wykorzystaniu promocji, takie jak kod kreskowy lub parametry inspekcji wizualnej. Pole deviceContext może być używane do przypinania urządzeń.

  activationStatus: enum (ActivationStatus),
  deviceContext: {
    deviceToken: string
  },
  hasLinkedDevice: boolean
Pole Opis
activationStatus

enum (ActivationStatus)

Stan aktywacji tego obiektu transportu publicznego. Ten stan zmieni reprezentację uzyskać dostęp do zgłoszenia i umożliwić użytkownikom podjęcie działania; np. przycisk Aktywuj będzie renderowany na szczegóły biletu, jeśli ustawiona jest wartość NOT_ACTIVATED.

Akceptowane wartości:

  • NOT_ACTIVATED
  • ACTIVATED

deviceContext

object (DeviceContext)

Kontekst urządzenia, z którym ma zostać powiązany obiekt. Jeśli jest ustawiony, informacje o skorzystaniu z promocji być zwracane tylko na dane urządzenie.

hasLinkedDevice

boolean

Określa, czy ten obiekt jest obecnie połączony z jednym urządzeniem.

DeviceContext
Pole Opis
deviceToken

string

Jeśli jest ustawione, informacje o skorzystaniu z promocji będą zwracane na urządzenie dopiero po aktywacji obiektu. Nie można go używać jako stałego identyfikatora do śledzenia urządzenia użytkownika. it mogą się zmieniać na różnych kartach na tym samym urządzeniu, a nawet na różnych urządzeniach. na tym samym urządzeniu. Gdy to ustawienie jest włączone, rozmówcy muszą też ustawić hasLinkedDevice na obiekcie, który aktywuję.

Pamiętaj, że adres deviceToken pochodzi z parametry aktywacji deviceContext pole

Przypinanie urządzenia

Przypinanie urządzenia to funkcja, która umożliwia użytkownikowi aktywowanie biletu na jednym urządzeniu informacje o wykorzystaniu biletów są wyświetlane tylko na tym urządzeniu. Jest to niezależne od multipleDevicesAndHoldersAllowedStatus z ONE_USER_ONE_DEVICE, czyli umożliwia wyświetlanie biletu tylko na jednym urządzeniu. Zaleca się użycie stanu ONE_USER_ALL_DEVICES z przypięciem urządzenia.

Przed aktywacją użytkownik może zobaczyć bilet i aktywować przycisk na dowolnym urządzeniu własnych. Po aktywowaniu i przypięciu przypiętego urządzenia do urządzenia wyświetlą się informacje o skorzystaniu z niego. Na innych urządzeniach pojawi się przycisk aktywacji, który umożliwia użytkownikowi przeniesienie biletu do innego. urządzenia. Jeśli przeniesienie zgłoszenia nie jest pożądaną funkcjonalnością, ale aktywacja na dowolnym urządzeniu jest można zmienić bilet podczas aktywacji na ONE_USER_ONE_DEVICE, niż przypinanie.

Aby można było wdrożyć przypinanie urządzenia, do obiektu należy zaktualizować pole deviceToken który jest odbierany wraz z parametrami aktywacji oraz ustawianie wartości hasLinkedDevice na „true” (prawda) w tym samym wywołaniu interfejsu API. W razie potrzeby można skorzystać z biletu zostać odłączony od urządzenia przez ustawienie parametru hasLinkedDevice na fałsz w przyszłym wywołaniu interfejsu API.

schemat sekwencji przypinania urządzeń

Parametry aktywacji

Żądanie do punktu końcowego aktywacji będzie zawierać poniższe parametry.

Przykładowy plik JSON:

  {
    classId: “123.classId”,
    objectIds: [ “123.objectId” ],
    expTimeMillis: 1669671940735,
    eventType: “activate”,
    nonce: “1c6fccce-6f66-11ed-a1eb-0242ac120002”,
    deviceContext: “6fba937a-6f6e-11ed-a1eb-0242ac120002”
  }

Identyfikator Opis
classId

Pełny i jednoznaczny identyfikator klasy. Używa tego formatu:

<issuer_id.class_id>
objectIds

Pełna i jednoznaczna tablica identyfikatorów obiektów w następującym formacie:

<issuer_id.object_id>
expTimeMillis Czas ważności w milisekundach od początku epoki. Po upłynięciu okresu ważności wiadomość musi zostać uznana za nieważną.
eventType Zawsze "activate".
nonce Liczba jednorazowa pozwalająca śledzić zduplikowane dostawy.
deviceContext

Niepowtarzalny identyfikator wygenerowany przez Google, który reprezentuje urządzenie, na którym użytkownik podejmuje działanie. Tego identyfikatora należy używać przy aktualizacjach, które wiążą obiekt z urządzeniem.

Ten identyfikator może nie być stały w przypadku przyszłych żądań z danego urządzenia.