إدارة الإشعارات عبر البريد الإلكتروني في Merchant Center

يشرح هذا الدليل كيفية استخدام 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.