[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-16 UTC."],[],[],null,["# Interface ProductStatusChangeMessageOrBuilder (1.0.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.0.0 (latest)](/java/docs/reference/google-shopping-merchant-notifications/latest/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.29.0](/java/docs/reference/google-shopping-merchant-notifications/0.29.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.27.0](/java/docs/reference/google-shopping-merchant-notifications/0.27.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.26.0](/java/docs/reference/google-shopping-merchant-notifications/0.26.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.23.0](/java/docs/reference/google-shopping-merchant-notifications/0.23.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.22.0](/java/docs/reference/google-shopping-merchant-notifications/0.22.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.21.0](/java/docs/reference/google-shopping-merchant-notifications/0.21.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.19.0](/java/docs/reference/google-shopping-merchant-notifications/0.19.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.18.0](/java/docs/reference/google-shopping-merchant-notifications/0.18.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.17.0](/java/docs/reference/google-shopping-merchant-notifications/0.17.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.16.0](/java/docs/reference/google-shopping-merchant-notifications/0.16.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.15.0](/java/docs/reference/google-shopping-merchant-notifications/0.15.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.14.0](/java/docs/reference/google-shopping-merchant-notifications/0.14.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.13.0](/java/docs/reference/google-shopping-merchant-notifications/0.13.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.12.0](/java/docs/reference/google-shopping-merchant-notifications/0.12.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.11.0](/java/docs/reference/google-shopping-merchant-notifications/0.11.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.10.0](/java/docs/reference/google-shopping-merchant-notifications/0.10.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.8.0](/java/docs/reference/google-shopping-merchant-notifications/0.8.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.7.0](/java/docs/reference/google-shopping-merchant-notifications/0.7.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.6.0](/java/docs/reference/google-shopping-merchant-notifications/0.6.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.5.0](/java/docs/reference/google-shopping-merchant-notifications/0.5.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.4.0](/java/docs/reference/google-shopping-merchant-notifications/0.4.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.3.0](/java/docs/reference/google-shopping-merchant-notifications/0.3.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.2.0](/java/docs/reference/google-shopping-merchant-notifications/0.2.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder)\n- [0.1.0](/java/docs/reference/google-shopping-merchant-notifications/0.1.0/com.google.shopping.merchant.notifications.v1beta.ProductStatusChangeMessageOrBuilder) \n\n public interface ProductStatusChangeMessageOrBuilder extends MessageOrBuilder\n\nImplements\n----------\n\n[MessageOrBuilder](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder.html)\n\nMethods\n-------\n\n### getAccount()\n\n public abstract String getAccount()\n\nThe target account that owns the entity that changed.\nFormat : `accounts/{merchant_id}`\n\n`optional string account = 1;`\n\n### getAccountBytes()\n\n public abstract ByteString getAccountBytes()\n\nThe target account that owns the entity that changed.\nFormat : `accounts/{merchant_id}`\n\n`optional string account = 1;`\n\n### getAttribute()\n\n public abstract Attribute getAttribute()\n\nThe attribute in the resource that changed, in this case it will be always\n`Status`.\n\n`optional .google.shopping.merchant.notifications.v1beta.Attribute attribute = 4;`\n\n### getAttributeValue()\n\n public abstract int getAttributeValue()\n\nThe attribute in the resource that changed, in this case it will be always\n`Status`.\n\n`optional .google.shopping.merchant.notifications.v1beta.Attribute attribute = 4;`\n\n### getChanges(int index)\n\n public abstract ProductChange getChanges(int index)\n\nA message to describe the change that happened to the product\n\n`repeated .google.shopping.merchant.notifications.v1beta.ProductChange changes = 5;`\n\n### getChangesCount()\n\n public abstract int getChangesCount()\n\nA message to describe the change that happened to the product\n\n`repeated .google.shopping.merchant.notifications.v1beta.ProductChange changes = 5;`\n\n### getChangesList()\n\n public abstract List\u003cProductChange\u003e getChangesList()\n\nA message to describe the change that happened to the product\n\n`repeated .google.shopping.merchant.notifications.v1beta.ProductChange changes = 5;`\n\n### getChangesOrBuilder(int index)\n\n public abstract ProductChangeOrBuilder getChangesOrBuilder(int index)\n\nA message to describe the change that happened to the product\n\n`repeated .google.shopping.merchant.notifications.v1beta.ProductChange changes = 5;`\n\n### getChangesOrBuilderList()\n\n public abstract List\u003c? extends ProductChangeOrBuilder\u003e getChangesOrBuilderList()\n\nA message to describe the change that happened to the product\n\n`repeated .google.shopping.merchant.notifications.v1beta.ProductChange changes = 5;`\n\n### getManagingAccount()\n\n public abstract String getManagingAccount()\n\nThe account that manages the merchant's account. can be the same as\nmerchant id if it is standalone account. Format :\n`accounts/{service_provider_id}`\n\n`optional string managing_account = 2;`\n\n### getManagingAccountBytes()\n\n public abstract ByteString getManagingAccountBytes()\n\nThe account that manages the merchant's account. can be the same as\nmerchant id if it is standalone account. Format :\n`accounts/{service_provider_id}`\n\n`optional string managing_account = 2;`\n\n### getResource()\n\n public abstract String getResource()\n\nThe product name.\nFormat: `{product.name=accounts/{account}/products/{product}}`\n\n`optional string resource = 7;`\n\n### getResourceBytes()\n\n public abstract ByteString getResourceBytes()\n\nThe product name.\nFormat: `{product.name=accounts/{account}/products/{product}}`\n\n`optional string resource = 7;`\n\n### getResourceId()\n\n public abstract String getResourceId()\n\nThe product id.\n\n`optional string resource_id = 6;`\n\n### getResourceIdBytes()\n\n public abstract ByteString getResourceIdBytes()\n\nThe product id.\n\n`optional string resource_id = 6;`\n\n### getResourceType()\n\n public abstract Resource getResourceType()\n\nThe resource that changed, in this case it will always be `Product`.\n\n`optional .google.shopping.merchant.notifications.v1beta.Resource resource_type = 3;\n`\n\n### getResourceTypeValue()\n\n public abstract int getResourceTypeValue()\n\nThe resource that changed, in this case it will always be `Product`.\n\n`optional .google.shopping.merchant.notifications.v1beta.Resource resource_type = 3;\n`\n\n### hasAccount()\n\n public abstract boolean hasAccount()\n\nThe target account that owns the entity that changed.\nFormat : `accounts/{merchant_id}`\n\n`optional string account = 1;`\n\n### hasAttribute()\n\n public abstract boolean hasAttribute()\n\nThe attribute in the resource that changed, in this case it will be always\n`Status`.\n\n`optional .google.shopping.merchant.notifications.v1beta.Attribute attribute = 4;`\n\n### hasManagingAccount()\n\n public abstract boolean hasManagingAccount()\n\nThe account that manages the merchant's account. can be the same as\nmerchant id if it is standalone account. Format :\n`accounts/{service_provider_id}`\n\n`optional string managing_account = 2;`\n\n### hasResource()\n\n public abstract boolean hasResource()\n\nThe product name.\nFormat: `{product.name=accounts/{account}/products/{product}}`\n\n`optional string resource = 7;`\n\n### hasResourceId()\n\n public abstract boolean hasResourceId()\n\nThe product id.\n\n`optional string resource_id = 6;`\n\n### hasResourceType()\n\n public abstract boolean hasResourceType()\n\nThe resource that changed, in this case it will always be `Product`.\n\n`optional .google.shopping.merchant.notifications.v1beta.Resource resource_type = 3;\n`"]]