Creare pass, corsi e oggetti

Quasi tutte le tessere che un utente finale può emettere affinché possano salvare nel proprio Google Wallet sono definite da due componenti: una classe di tessere e un oggetto tessere. Ogni volta che emetti una tessera a un utente, avrai bisogno di un'istanza sia di una classe pass che di un oggetto Passes, che comunica all'API Google Wallet il tipo di tessera da costruire, nonché dettagli da mostrare sulla tessera, come il valore di una carta regalo o il nome di un titolare di biglietto.

L'API Google Wallet fornisce un insieme predefinito di classi delle tessere e oggetti delle tessere di cui crei le istanze e che utilizzi per creare una tessera rilasciata a un utente, ad esempio GiftCardClass e GiftCardObject, GenericClass e GenericObject e altri.

Ogni istanza Passes Class e Passes è definita come un oggetto JSON che ha un insieme di proprietà obbligatorie e facoltative che corrispondono al caso d'uso specifico previsto per quel tipo di pass.

Crea una classe di pass

Una classe di tessere può essere considerata come un modello condiviso da cui vengono create le tessere. Una classe Passes definisce determinate proprietà che saranno incluse in tutti i pass che la utilizzano. Un emittente della tessera può creare più classi, ciascuna con il proprio insieme di proprietà che definiscono attributi come stile e aspetto, nonché funzionalità aggiuntive come Smart Tap e Registrazione e Accesso.

Le classi di tessere possono essere create utilizzando l'API REST Google Wallet, l'SDK Google Wallet per Android o nella Business Console di Google Wallet.

Per i nuovi utenti, la Business Console è il modo più semplice per iniziare a creare una classe di pass, in quanto offre un'interfaccia utente semplice in cui è possibile definire i vari campi della prima classe di pass compilando i campi del modulo.

Per gli utenti avanzati, l'approccio migliore è creare classi di pass in modo programmatico.

Utilizzare la Business Console di Google Wallet

Per creare una classe di pass nella console business di Google Wallet, segui questi passaggi:

  1. Vai alla Business Console di Google Pay e Wallet e accedi con il tuo account emittente API Google Wallet.
  2. Nella sezione "API Google Wallet" fai clic su "Gestisci tessere" .
  3. In "Ottieni l'accesso con diritti di pubblicazione", fai clic sul pulsante "Crea un corso" .
  4. Scegli un tipo di tessera dalla finestra di dialogo. Google Wallet offre diversi tipi di tessere (biglietto per evento, offerta, carta fedeltà e così via). Per un caso d'uso flessibile, seleziona "Generico" come tipo di tessera.
  5. Compila i valori appropriati dei campi obbligatori.
  6. Fai clic su "Crea corso" pulsante per salvare il corso.

Utilizzare l'API REST Google Wallet

Per creare una classe di pass utilizzando l'API REST di Google Wallet, invia una richiesta POST all'indirizzo https://walletobjects.googleapis.com/walletobjects/v1/eventTicketClass. Per ulteriori informazioni, consulta la documentazione di riferimento.

Java

Per avviare l'integrazione in Java, consulta la nostra documentazione di esempi di codice su GitHub.

/**
 * Create a class.
 *
 * @param issuerId The issuer ID being used for this request.
 * @param classSuffix Developer-defined unique ID for this pass class.
 * @return The pass class ID: "{issuerId}.{classSuffix}"
 */
public String createClass(String issuerId, String classSuffix) throws IOException {
  // Check if the class exists
  try {
    service.eventticketclass().get(String.format("%s.%s", issuerId, classSuffix)).execute();

    System.out.printf("Class %s.%s already exists!%n", issuerId, classSuffix);
    return String.format("%s.%s", issuerId, classSuffix);
  } catch (GoogleJsonResponseException ex) {
    if (ex.getStatusCode() != 404) {
      // Something else went wrong...
      ex.printStackTrace();
      return String.format("%s.%s", issuerId, classSuffix);
    }
  }

  // See link below for more information on required properties
  // https://developers.google.com/wallet/tickets/events/rest/v1/eventticketclass
  EventTicketClass newClass =
      new EventTicketClass()
          .setEventId(String.format("%s.%s", issuerId, classSuffix))
          .setEventName(
              new LocalizedString()
                  .setDefaultValue(
                      new TranslatedString().setLanguage("en-US").setValue("Event name")))