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 RessourceUser
. - 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.