يشرح هذا الدليل كيفية استخدام
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
، كما هو موضّح في العيّنة التالية.
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);
}
}
عرض الإشعارات الحالية
للاطّلاع على إعدادات الإشعارات الحالية عبر البريد الإلكتروني لمستخدم معيّن، اتصل بالرقم
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
، كما هو موضّح في العيّنة التالية.
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);
}
}
لمزيد من المعلومات عن الإشعارات عبر البريد الإلكتروني، يُرجى الاطّلاع على مقالة تغيير إعدادات البريد الإلكتروني المفضّلة في Merchant Center.