We designed Merchant API to be familiar to Content API for Shopping developers,
yet simpler and more flexible. Here's some detailed information on the design of
Merchant API.

## Sub-APIs

Merchant API is a collection of sub-APIs. The sub-APIs are groups of related
services and resources. This design means you can choose to use only the
sub-APIs needed for your unique integration.

Merchant API includes the following sub-APIs:

- **[Accounts](https://developers.google.com/merchant/api/guides/accounts/overview)**: Manage Merchant Center accounts at scale.
- **[Conversions](https://developers.google.com/merchant/api/guides/conversion-sources/overview)**: Manage conversion sources for your account.
- **[Data sources](https://developers.google.com/merchant/api/guides/data-sources/overview)**: View and manage the data sources for your products.
- **[Issue resolution](https://developers.google.com/merchant/api/guides/accounts/view-issues)**: Obtain issues impacting your account and create an in-app diagnostics page.
- **[Inventories](https://developers.google.com/merchant/api/guides/inventories/overview):** Showcase your products by store or region on Google.
- **[Local feeds
  partnership](https://developers.google.com/merchant/api/guides/local-feeds-partnership/overview)**: Upload your local product inventory feed.
- **[Notifications](https://developers.google.com/merchant/api/guides/notifications/overview)**: Manage notification subscriptions.
- **[Order tracking](https://developers.google.com/merchant/api/guides/order/overview)**: Provide historical order tracking data to improve shipping estimates and enhance listings with shipping annotations.
- **[Products](https://developers.google.com/merchant/api/guides/products/overview)**: Manage product data, like price and availability.
- **[Product Studio](https://developers.google.com/merchant/api/guides/product-studio/overview)**: Use Google Product Studio to generate product images and text suggestions automatically.
- **[Promotions](https://developers.google.com/merchant/api/guides/promotions/overview)**: Create and manage promotions to showcase special offers for your products.
- **[Quota](https://developers.google.com/merchant/api/reference/rest/quota_v1/accounts.quotas)**: Check the API quota of your accounts.
- **[Reports](https://developers.google.com/merchant/api/guides/reports/overview):** View data on your products, performance, and competitive landscape across Google.
- **[Reviews](https://developers.google.com/merchant/api/guides/reviews/products)**: Manage product and seller reviews.

## Transport

Merchant API's default transport mechanism is [gRPC](https://grpc.io/docs/guides/).
You can also use
[REST](https://en.wikipedia.org/wiki/Representational_state_transfer).

See the [quickstart guide](https://developers.google.com/merchant/api/guides/quickstart#use_grpc_or_rest) for
more information.

## Enums

Enum fields across Merchant API might be exposing new values in the future.
Your code should be structured in such a way that it can handle unrecognized
values gracefully. You should monitor the occurrence of unrecognized enum values
and intervene to keep the code up to date.

## Versioning

Sub-APIs are versioned separately. This means you don't need to do anything if
we update a sub-API that you don't use. You only need to update your code when
new versions of the sub-APIs you use are released. For more information, see
[Versioning](https://developers.google.com/merchant/api/guides/versioning).