इस गाइड में, Merchant Center से मिलने वाली ईमेल सूचनाओं को मैनेज करने के लिए, EmailPreferences
संसाधन का इस्तेमाल करने का तरीका बताया गया है. साथ ही, यह भी बताया गया है कि आपके खाते के users
पर किस तरह के ईमेल मिलते हैं.
ईमेल सूचना के टाइप की पूरी सूची देखने के लिए, EmailPreferences
रेफ़रंस देखें.
Merchant API का इस्तेमाल सिर्फ़ उन खातों के लिए किया जा सकता है जिनमें आपको उपयोगकर्ता के तौर पर जोड़ा गया है.
ईमेल सूचनाएं देखने या अपडेट करने के लिए, आपके पास ये वैल्यू होनी चाहिए:
- ईमेल पाने वाले उपयोगकर्ता का ईमेल पता.
User
संसाधन केname
फ़ील्ड में, उनका ईमेल पता देखा जा सकता है. - उस खाते का मर्चेंट आईडी जिससे जुड़े ईमेल पाने या बंद करने हैं. अगर व्यापारी/कंपनी/कारोबारी का खाता ऐडवांस खाता है और उपयोगकर्ता के पास ऐडवांस खाते का ऐक्सेस है, तो ऐडवांस खाते के व्यापारी/कंपनी/कारोबारी आईडी का इस्तेमाल करें.
सूचनाएं पाने की सुविधा के लिए ऑप्ट इन या ऑप्ट आउट करना
किसी कारोबारी/कंपनी/कारोबारी खाते के लिए, ईमेल से सूचना पाने की सेटिंग अपडेट करने के लिए, खाते के ACCOUNT_ID
और उपयोगकर्ता के EMAIL_ADDRESS
के साथ accounts.v1beta.accounts.users.updateEmailPreferences
को कॉल करें.
उपयोगकर्ता को मिलने वाली ईमेल सूचनाओं को कंट्रोल करने के लिए, इन वैल्यू का इस्तेमाल करें:
OPTED_IN
: खाते के लिए ईमेल सूचनाएं पाएं.OPTED_OUT
: आपको खाते के लिए ईमेल सूचनाएं नहीं मिलती हैं.
किसी खास व्यापारी/कंपनी/कारोबारी के खाते के लिए, उपयोगकर्ता को ईमेल से सूचनाएं पाने की सुविधा से ऑप्ट आउट करने का अनुरोध करने का सैंपल यहां दिया गया है:
PATCH https://merchantapi.googleapis.com/accounts/v1beta/accounts/MERCHANT_ID/users/EMAIL_ADDRESS/emailPreferences
{
"newsAndTips": "OPTED_OUT"
}
यहां किसी कॉल के सही तरीके से पूरा होने पर मिलने वाले जवाब का सैंपल दिया गया है:
{
"name": "accounts/MERCHANT_ID/users/EMAIL_ADDRESS/emailPreferences",
"newsAndTips": "OPTED_OUT"
}
किसी खास उपयोगकर्ता की ईमेल सेटिंग वापस पाने के लिए, google.shopping.merchant.accounts.v1beta.UpdateEmailPreferencesRequest
तरीके का इस्तेमाल किया जा सकता है. इसका उदाहरण यहां दिया गया है.
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.protobuf.FieldMask;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferences;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferences.OptInState;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferencesName;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferencesServiceClient;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferencesServiceSettings;
import com.google.shopping.merchant.accounts.v1beta.UpdateEmailPreferencesRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/**
* This class demonstrates how to update a EmailPreferences to OPT_IN to News and Tips. This service
* only permits retrieving and updating email preferences for the authenticated user.
*/
public class UpdateEmailPreferencesSample {
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);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
// The email address of this user. If you want to get the user information
// Of the user making the Content API request, you can also use "me" instead
// Of an email address.
// String email = "testUser@gmail.com";
String email = "me";
updateEmailPreferences(config, email);
}
}
मौजूदा सूचनाएं देखना
किसी उपयोगकर्ता के लिए, ईमेल सूचना की मौजूदा सेटिंग देखने के लिए, accounts.v1beta.accounts.users.getEmailPreferences
को कॉल करें.
यहां अनुरोध का एक सैंपल दिया गया है. इसमें ACCOUNT_ID
, उस खाते का व्यापारी/कंपनी आईडी है जिसके लिए ईमेल सूचनाएं पाने का अनुरोध किया गया है. साथ ही, EMAIL_ADDRESS
उस उपयोगकर्ता का ईमेल पता है जिसे ईमेल सूचनाएं भेजी जानी हैं.
GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/MERCHANT_ID/users/EMAIL_ADDRESS/emailPreferences
यहां किसी कॉल के सही तरीके से पूरा होने पर मिलने वाले जवाब का सैंपल दिया गया है:
{
"name": "accounts/ACCOUNT_ID/users/EMAIL_ADDRESS/emailPreferences",
"newsAndTips": "OPTED_IN"
}
किसी उपयोगकर्ता की ईमेल सेटिंग वापस पाने के लिए, google.shopping.merchant.accounts.v1beta.GetEmailPreferencesRequest
पैकेज का इस्तेमाल किया जा सकता है. इसका उदाहरण नीचे दिया गया है.
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferences;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferencesName;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferencesServiceClient;
import com.google.shopping.merchant.accounts.v1beta.EmailPreferencesServiceSettings;
import com.google.shopping.merchant.accounts.v1beta.GetEmailPreferencesRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to get the email preferences of a Merchant Center account. */
public class GetEmailPreferencesSample {
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);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
// The email address of this user. If you want to get the user information
// Of the user making the Content API request, you can also use "me" instead
// Of an email address.
String email = "testUser@gmail.com";
// String email = "me";
getEmailPreferences(config, email);
}
}
ईमेल सूचनाओं के बारे में ज़्यादा जानने के लिए, Merchant Center में ईमेल की सेटिंग बदलना लेख पढ़ें.