<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="content_v2_1.html">Content API for Shopping</a> . <a href="content_v2_1.promotions.html">promotions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#create">create(merchantId, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Inserts a promotion for your Merchant Center account. If the promotion already exists, then it will update the promotion instead.</p>
<p class="toc_element">
  <code><a href="#get">get(merchantId, id, x__xgafv=None)</a></code></p>
<p class="firstline">Retrieves a promotion from your Merchant Center account.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="create">create(merchantId, body=None, x__xgafv=None)</code>
  <pre>Inserts a promotion for your Merchant Center account. If the promotion already exists, then it will update the promotion instead.

Args:
  merchantId: string, Required. The ID of the account that contains the collection. (required)
  body: object, The request body.
    The object takes the form of:

{ #  The Promotions feature is currently in alpha and is not yet publicly available via Content API for Shopping. This documentation is provided for reference only may be subject to change. Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)
  &quot;brand&quot;: [ # Product filter by brand for the promotion.
    &quot;A String&quot;,
  ],
  &quot;brandExclusion&quot;: [ # Product filter by brand exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The content language used as part of the unique identifier.
  &quot;couponValueType&quot;: &quot;A String&quot;, # Required. Coupon value type for the promotion.
  &quot;freeGiftDescription&quot;: &quot;A String&quot;, # Free gift description for the promotion.
  &quot;freeGiftItemId&quot;: &quot;A String&quot;, # Free gift item id for the promotion.
  &quot;freeGiftValue&quot;: { # The price represented as a number and currency. # Free gift value for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;genericRedemptionCode&quot;: &quot;A String&quot;, # Generic redemption code for the promotion. To be used with the above field.
  &quot;getThisQuantityDiscounted&quot;: 42, # The number of items discounted in the promotion.
  &quot;id&quot;: &quot;A String&quot;, # Required. Output only. The REST promotion id to uniquely identify the promotion. Content API methods that operate on promotions take this as their promotionId parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The channel field will have a value of &quot;online&quot;, &quot;in_store&quot;, or &quot;online_in_store&quot;.
  &quot;itemGroupId&quot;: [ # Product filter by item group id for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemGroupIdExclusion&quot;: [ # Product filter by item group id exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemId&quot;: [ # Product filter by item id for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemIdExclusion&quot;: [ # Product filter by item id exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;limitQuantity&quot;: 42, # Maximum purchase quantity for the promotion.
  &quot;limitValue&quot;: { # The price represented as a number and currency. # Maximum purchase value for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;longTitle&quot;: &quot;A String&quot;, # Long title for the promotion.
  &quot;minimumPurchaseAmount&quot;: { # The price represented as a number and currency. # Minimum purchase amount for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;minimumPurchaseQuantity&quot;: 42, # Minimum purchase quantity for the promotion.
  &quot;moneyBudget&quot;: { # The price represented as a number and currency. # Promotion cost cap of the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;moneyOffAmount&quot;: { # The price represented as a number and currency. # The money off amount offered in the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;offerType&quot;: &quot;A String&quot;, # Required. Type of the promotion.
  &quot;orderLimit&quot;: 42, # Order limit for the promotion.
  &quot;percentOff&quot;: 42, # The percentage discount offered in the promotion.
  &quot;productApplicability&quot;: &quot;A String&quot;, # Required. Applicability of the promotion to either all products or only specific products.
  &quot;productType&quot;: [ # Product filter by product type for the promotion.
    &quot;A String&quot;,
  ],
  &quot;productTypeExclusion&quot;: [ # Product filter by product type exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;promotionDestinationIds&quot;: [ # Destination ID for the promotion.
    &quot;A String&quot;,
  ],
  &quot;promotionDisplayDates&quot;: &quot;A String&quot;, # String representation of the promotion display dates.
  &quot;promotionDisplayTimePeriod&quot;: { # A message that represents a time period. # TimePeriod representation of the promotion display dates.
    &quot;endTime&quot;: &quot;A String&quot;, # The ending timestamp.
    &quot;startTime&quot;: &quot;A String&quot;, # The starting timestamp.
  },
  &quot;promotionEffectiveDates&quot;: &quot;A String&quot;, # Required. String representation of the promotion effective dates.
  &quot;promotionEffectiveTimePeriod&quot;: { # A message that represents a time period. # Required. TimePeriod representation of the promotion effective dates.
    &quot;endTime&quot;: &quot;A String&quot;, # The ending timestamp.
    &quot;startTime&quot;: &quot;A String&quot;, # The starting timestamp.
  },
  &quot;promotionId&quot;: &quot;A String&quot;, # Required. The user provided promotion id to uniquely identify the promotion.
  &quot;redemptionChannel&quot;: [ # Required. Redemption channel for the promotion. At least one channel is required.
    &quot;A String&quot;,
  ],
  &quot;shippingServiceNames&quot;: [ # Shipping service names for thse promotion.
    &quot;A String&quot;,
  ],
  &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The target country used as part of the unique identifier.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { #  The Promotions feature is currently in alpha and is not yet publicly available via Content API for Shopping. This documentation is provided for reference only may be subject to change. Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)
  &quot;brand&quot;: [ # Product filter by brand for the promotion.
    &quot;A String&quot;,
  ],
  &quot;brandExclusion&quot;: [ # Product filter by brand exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The content language used as part of the unique identifier.
  &quot;couponValueType&quot;: &quot;A String&quot;, # Required. Coupon value type for the promotion.
  &quot;freeGiftDescription&quot;: &quot;A String&quot;, # Free gift description for the promotion.
  &quot;freeGiftItemId&quot;: &quot;A String&quot;, # Free gift item id for the promotion.
  &quot;freeGiftValue&quot;: { # The price represented as a number and currency. # Free gift value for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;genericRedemptionCode&quot;: &quot;A String&quot;, # Generic redemption code for the promotion. To be used with the above field.
  &quot;getThisQuantityDiscounted&quot;: 42, # The number of items discounted in the promotion.
  &quot;id&quot;: &quot;A String&quot;, # Required. Output only. The REST promotion id to uniquely identify the promotion. Content API methods that operate on promotions take this as their promotionId parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The channel field will have a value of &quot;online&quot;, &quot;in_store&quot;, or &quot;online_in_store&quot;.
  &quot;itemGroupId&quot;: [ # Product filter by item group id for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemGroupIdExclusion&quot;: [ # Product filter by item group id exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemId&quot;: [ # Product filter by item id for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemIdExclusion&quot;: [ # Product filter by item id exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;limitQuantity&quot;: 42, # Maximum purchase quantity for the promotion.
  &quot;limitValue&quot;: { # The price represented as a number and currency. # Maximum purchase value for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;longTitle&quot;: &quot;A String&quot;, # Long title for the promotion.
  &quot;minimumPurchaseAmount&quot;: { # The price represented as a number and currency. # Minimum purchase amount for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;minimumPurchaseQuantity&quot;: 42, # Minimum purchase quantity for the promotion.
  &quot;moneyBudget&quot;: { # The price represented as a number and currency. # Promotion cost cap of the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;moneyOffAmount&quot;: { # The price represented as a number and currency. # The money off amount offered in the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;offerType&quot;: &quot;A String&quot;, # Required. Type of the promotion.
  &quot;orderLimit&quot;: 42, # Order limit for the promotion.
  &quot;percentOff&quot;: 42, # The percentage discount offered in the promotion.
  &quot;productApplicability&quot;: &quot;A String&quot;, # Required. Applicability of the promotion to either all products or only specific products.
  &quot;productType&quot;: [ # Product filter by product type for the promotion.
    &quot;A String&quot;,
  ],
  &quot;productTypeExclusion&quot;: [ # Product filter by product type exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;promotionDestinationIds&quot;: [ # Destination ID for the promotion.
    &quot;A String&quot;,
  ],
  &quot;promotionDisplayDates&quot;: &quot;A String&quot;, # String representation of the promotion display dates.
  &quot;promotionDisplayTimePeriod&quot;: { # A message that represents a time period. # TimePeriod representation of the promotion display dates.
    &quot;endTime&quot;: &quot;A String&quot;, # The ending timestamp.
    &quot;startTime&quot;: &quot;A String&quot;, # The starting timestamp.
  },
  &quot;promotionEffectiveDates&quot;: &quot;A String&quot;, # Required. String representation of the promotion effective dates.
  &quot;promotionEffectiveTimePeriod&quot;: { # A message that represents a time period. # Required. TimePeriod representation of the promotion effective dates.
    &quot;endTime&quot;: &quot;A String&quot;, # The ending timestamp.
    &quot;startTime&quot;: &quot;A String&quot;, # The starting timestamp.
  },
  &quot;promotionId&quot;: &quot;A String&quot;, # Required. The user provided promotion id to uniquely identify the promotion.
  &quot;redemptionChannel&quot;: [ # Required. Redemption channel for the promotion. At least one channel is required.
    &quot;A String&quot;,
  ],
  &quot;shippingServiceNames&quot;: [ # Shipping service names for thse promotion.
    &quot;A String&quot;,
  ],
  &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The target country used as part of the unique identifier.
}</pre>
</div>

<div class="method">
    <code class="details" id="get">get(merchantId, id, x__xgafv=None)</code>
  <pre>Retrieves a promotion from your Merchant Center account.

Args:
  merchantId: string, Required. The ID of the account that contains the collection. (required)
  id: string, Required. REST ID of the promotion to retrieve. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { #  The Promotions feature is currently in alpha and is not yet publicly available via Content API for Shopping. This documentation is provided for reference only may be subject to change. Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)
  &quot;brand&quot;: [ # Product filter by brand for the promotion.
    &quot;A String&quot;,
  ],
  &quot;brandExclusion&quot;: [ # Product filter by brand exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The content language used as part of the unique identifier.
  &quot;couponValueType&quot;: &quot;A String&quot;, # Required. Coupon value type for the promotion.
  &quot;freeGiftDescription&quot;: &quot;A String&quot;, # Free gift description for the promotion.
  &quot;freeGiftItemId&quot;: &quot;A String&quot;, # Free gift item id for the promotion.
  &quot;freeGiftValue&quot;: { # The price represented as a number and currency. # Free gift value for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;genericRedemptionCode&quot;: &quot;A String&quot;, # Generic redemption code for the promotion. To be used with the above field.
  &quot;getThisQuantityDiscounted&quot;: 42, # The number of items discounted in the promotion.
  &quot;id&quot;: &quot;A String&quot;, # Required. Output only. The REST promotion id to uniquely identify the promotion. Content API methods that operate on promotions take this as their promotionId parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The channel field will have a value of &quot;online&quot;, &quot;in_store&quot;, or &quot;online_in_store&quot;.
  &quot;itemGroupId&quot;: [ # Product filter by item group id for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemGroupIdExclusion&quot;: [ # Product filter by item group id exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemId&quot;: [ # Product filter by item id for the promotion.
    &quot;A String&quot;,
  ],
  &quot;itemIdExclusion&quot;: [ # Product filter by item id exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;limitQuantity&quot;: 42, # Maximum purchase quantity for the promotion.
  &quot;limitValue&quot;: { # The price represented as a number and currency. # Maximum purchase value for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;longTitle&quot;: &quot;A String&quot;, # Long title for the promotion.
  &quot;minimumPurchaseAmount&quot;: { # The price represented as a number and currency. # Minimum purchase amount for the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;minimumPurchaseQuantity&quot;: 42, # Minimum purchase quantity for the promotion.
  &quot;moneyBudget&quot;: { # The price represented as a number and currency. # Promotion cost cap of the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;moneyOffAmount&quot;: { # The price represented as a number and currency. # The money off amount offered in the promotion.
    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
  },
  &quot;offerType&quot;: &quot;A String&quot;, # Required. Type of the promotion.
  &quot;orderLimit&quot;: 42, # Order limit for the promotion.
  &quot;percentOff&quot;: 42, # The percentage discount offered in the promotion.
  &quot;productApplicability&quot;: &quot;A String&quot;, # Required. Applicability of the promotion to either all products or only specific products.
  &quot;productType&quot;: [ # Product filter by product type for the promotion.
    &quot;A String&quot;,
  ],
  &quot;productTypeExclusion&quot;: [ # Product filter by product type exclusion for the promotion.
    &quot;A String&quot;,
  ],
  &quot;promotionDestinationIds&quot;: [ # Destination ID for the promotion.
    &quot;A String&quot;,
  ],
  &quot;promotionDisplayDates&quot;: &quot;A String&quot;, # String representation of the promotion display dates.
  &quot;promotionDisplayTimePeriod&quot;: { # A message that represents a time period. # TimePeriod representation of the promotion display dates.
    &quot;endTime&quot;: &quot;A String&quot;, # The ending timestamp.
    &quot;startTime&quot;: &quot;A String&quot;, # The starting timestamp.
  },
  &quot;promotionEffectiveDates&quot;: &quot;A String&quot;, # Required. String representation of the promotion effective dates.
  &quot;promotionEffectiveTimePeriod&quot;: { # A message that represents a time period. # Required. TimePeriod representation of the promotion effective dates.
    &quot;endTime&quot;: &quot;A String&quot;, # The ending timestamp.
    &quot;startTime&quot;: &quot;A String&quot;, # The starting timestamp.
  },
  &quot;promotionId&quot;: &quot;A String&quot;, # Required. The user provided promotion id to uniquely identify the promotion.
  &quot;redemptionChannel&quot;: [ # Required. Redemption channel for the promotion. At least one channel is required.
    &quot;A String&quot;,
  ],
  &quot;shippingServiceNames&quot;: [ # Shipping service names for thse promotion.
    &quot;A String&quot;,
  ],
  &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The target country used as part of the unique identifier.
}</pre>
</div>

</body></html>