E-Mail-Benachrichtigungen im Merchant Center verwalten

In diesem Leitfaden wird erläutert, wie Sie die Merchant Center-E-Mail-Benachrichtigungen über die Ressource EmailPreferences verwalten und sehen, welche Arten von E-Mails an die users Ihres Kontos gesendet werden. Eine vollständige Liste der E-Mail-Benachrichtigungstypen finden Sie in der EmailPreferences-Referenz.

Sie können die Merchant API nur für Konten verwenden, in denen Sie als Nutzer hinzugefügt wurden.

Um E-Mail-Benachrichtigungen aufzurufen oder zu aktualisieren, benötigen Sie die folgenden Werte:

  • Die E-Mail-Adresse des Nutzers, der die E-Mails erhält. Die E-Mail-Adresse der Person finden Sie im Feld name der Ressource User.
  • Die Händler-ID des Kontos, für das Sie E-Mails erhalten möchten oder nicht mehr erhalten möchten. Wenn es sich bei dem Händlerkonto um ein erweitertes Konto handelt und der Nutzer Zugriff auf das erweiterte Konto hat, verwenden Sie die Händler-ID des erweiterten Kontos.

Benachrichtigungen aktivieren oder deaktivieren

Wenn Sie die E-Mail-Benachrichtigungseinstellungen für ein bestimmtes Händlerkonto aktualisieren möchten, rufen Sie accounts.v1beta.accounts.users.updateEmailPreferences mit der ACCOUNT_ID des Kontos und der E-Mail-Adresse des Nutzers auf.

Mit den folgenden Werten können Sie festlegen, welche E-Mail-Benachrichtigungen der Nutzer erhält:

  • OPTED_IN: E-Mail-Benachrichtigungen für das Konto erhalten.
  • OPTED_OUT: Sie erhalten keine E-Mail-Benachrichtigungen für das Konto.

Hier ist ein Beispiel für eine Anfrage, um E-Mail-Benachrichtigungen für ein bestimmtes Händlerkonto zu deaktivieren:

PATCH https://merchantapi.googleapis.com/accounts/v1beta/accounts/ACCOUNT_ID/users/EMAIL_ADDRESS/emailPreferences

{
  "newsAndTips": "OPTED_OUT"
}

Um die E-Mail-Einstellungen für einen bestimmten Nutzer abzurufen, kannst du die Methode google.shopping.merchant.accounts.v1beta.UpdateEmailPreferencesRequest verwenden, wie im folgenden Beispiel gezeigt.

Java

  public static void updateEmailPreferences(Config config, String email) throws Exception {

    GoogleCredentials credential = new Authenticator().authenticate();

    EmailPreferencesServiceSettings emailPreferencesServiceSettings =
        EmailPreferencesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates EmailPreferences name to identify EmailPreferences.
    String name =
        EmailPreferencesName.newBuilder()
            .setAccount(config.getAccountId().toString())
            .setEmail(email)
            .build()
            .toString();

    // Create a EmailPreferences with the updated fields.
    EmailPreferences emailPreferences =
        EmailPreferences.newBuilder().setName(name).setNewsAndTips(OptInState.OPTED_IN).build();

    FieldMask fieldMask = FieldMask.newBuilder().addPaths("news_and_tips").build();

    try (EmailPreferencesServiceClient emailPreferencesServiceClient =
        EmailPreferencesServiceClient.create(emailPreferencesServiceSettings)) {

      UpdateEmailPreferencesRequest request =
          UpdateEmailPreferencesRequest.newBuilder()
              .setEmailPreferences(emailPreferences)
              .setUpdateMask(fieldMask)
              .build();

      System.out.println("Sending Update EmailPreferences request");
      EmailPreferences response = emailPreferencesServiceClient.updateEmailPreferences(request);
      System.out.println("Updated EmailPreferences Name below");
      System.out.println(response.getName());
    } catch (Exception e) {
      System.out.println(e);
    }
  }

Vorhandene Benachrichtigungen ansehen

Wenn Sie die aktuellen E-Mail-Benachrichtigungseinstellungen für einen bestimmten Nutzer aufrufen möchten, geben Sie accounts.v1beta.accounts.users.getEmailPreferences ein.

Hier ist eine Beispielanfrage, in der ACCOUNT_ID die Händler-ID des Kontos ist, für das die E-Mail-Benachrichtigungen gelten, und EMAIL_ADDRESS die E-Mail-Adresse des Nutzers ist, der die E-Mails erhält.

GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/ACCOUNT_ID/users/EMAIL_ADDRESS/emailPreferences

Hier ist eine Beispielantwort für einen erfolgreichen Aufruf:

{
  "name": "accounts/ACCOUNT_ID/users/EMAIL_ADDRESS/emailPreferences",
  "newsAndTips": "OPTED_IN"
}

Um die E-Mail-Einstellungen für einen bestimmten Nutzer abzurufen, kannst du das Paket google.shopping.merchant.accounts.v1beta.GetEmailPreferencesRequest verwenden, wie im folgenden Beispiel gezeigt.

Java

  public static void getEmailPreferences(Config config, String email) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the credentials retrieved above.
    EmailPreferencesServiceSettings emailPreferencesServiceSettings =
        EmailPreferencesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates EmailPreferences name to identify the EmailPreferences.
    String name =
        EmailPreferencesName.newBuilder()
            .setAccount(config.getAccountId().toString())
            .setEmail(email)
            .build()
            .toString();

    // Calls the API and catches and prints any network failures/errors.
    try (EmailPreferencesServiceClient emailPreferencesServiceClient =
        EmailPreferencesServiceClient.create(emailPreferencesServiceSettings)) {

      // The name has the format: accounts/{account}/users/{user}/emailPreferences
      GetEmailPreferencesRequest request =
          GetEmailPreferencesRequest.newBuilder().setName(name).build();

      System.out.println("Sending get EmailPreferences request:");
      EmailPreferences response = emailPreferencesServiceClient.getEmailPreferences(request);

      System.out.println("Retrieved EmailPreferences below");
      System.out.println(response);
    } catch (Exception e) {
      System.out.println(e);
    }
  }

Weitere Informationen zu E-Mail-Benachrichtigungen finden Sie unter E-Mail-Einstellungen für das Merchant Center ändern.