این راهنما نحوه استفاده از منبع EmailPreferences
برای مدیریت اعلانهای ایمیل Merchant Center را توضیح میدهد و ببینید که users
حساب شما چه نوع ایمیلهایی را دریافت میکنند. برای لیست کامل انواع اعلان ایمیل، به مرجع EmailPreferences
مراجعه کنید.
فقط میتوانید از Merchant API برای مدیریت اعلانهای ایمیل برای حسابهایی استفاده کنید که به عنوان کاربر در آنها اضافه شدهاید .
برای مشاهده یا بهروزرسانی اعلانهای ایمیل، به مقادیر زیر نیاز دارید:
- آدرس ایمیل کاربری که ایمیل ها را دریافت می کند. می توانید آدرس ایمیل آنها را در قسمت
name
منبعUser
پیدا کنید. - شناسه تجاری حساب برای شروع یا توقف دریافت ایمیل درباره آن. اگر حساب تجاری یک حساب پیشرفته است و کاربر به حساب پیشرفته دسترسی دارد ، از شناسه تجاری حساب پیشرفته استفاده کنید.
اعلانها را انتخاب کنید یا از آن خارج شوید
برای بهروزرسانی تنظیمات اعلان ایمیل برای یک حساب تجاری خاص، با accounts.v1beta.accounts.users.updateEmailPreferences
با ACCOUNT_ID
حساب و آدرس ایمیل کاربر تماس بگیرید.
برای کنترل اعلانهای ایمیلی که کاربر دریافت میکند از مقادیر زیر استفاده کنید:
-
OPTED_IN
: اعلانهای ایمیل را برای حساب دریافت کنید. -
OPTED_OUT
: اعلانهای ایمیلی برای حساب دریافت نکنید.
در اینجا یک نمونه درخواست برای انصراف کاربر از اعلانهای ایمیل برای یک حساب تجاری خاص آمده است:
PATCH https://merchantapi.googleapis.com/accounts/v1beta/accounts/ACCOUNT_ID/users/EMAIL_ADDRESS/emailPreferences
{
"newsAndTips": "OPTED_OUT"
}
برای بازیابی تنظیمات برگزیده ایمیل برای یک کاربر خاص، می توانید از روش google.shopping.merchant.accounts.v1beta.UpdateEmailPreferencesRequest
استفاده کنید، همانطور که در نمونه زیر نشان داده شده است.
جاوا
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);
}
}
مشاهده اعلان های موجود
برای مشاهده تنظیمات اعلان ایمیل فعلی برای یک کاربر خاص، با accounts.v1beta.accounts.users.getEmailPreferences
تماس بگیرید.
در اینجا یک نمونه درخواست وجود دارد، که در آن ACCOUNT_ID
شناسه تجاری حسابی است که اعلانهای ایمیل درباره آن هستند، و EMAIL_ADDRESS
آدرس ایمیل کاربری است که ایمیلها را دریافت میکند.
GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/ACCOUNT_ID/users/EMAIL_ADDRESS/emailPreferences
در اینجا یک نمونه پاسخ از یک تماس موفق است:
{
"name": "accounts/ACCOUNT_ID/users/EMAIL_ADDRESS/emailPreferences",
"newsAndTips": "OPTED_IN"
}
برای بازیابی تنظیمات برگزیده ایمیل برای یک کاربر خاص، می توانید از بسته google.shopping.merchant.accounts.v1beta.GetEmailPreferencesRequest
استفاده کنید، همانطور که در نمونه زیر نشان داده شده است.
جاوا
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);
}
}
برای اطلاعات بیشتر درباره اعلانهای ایمیل، به تغییر تنظیمات برگزیده ایمیل Merchant Center مراجعه کنید.