# Content API for Shopping . inventory

## Instance Methods

Updates price and availability for multiple products or stores in a single request. This operation does not update the expiration date of the products. This method can only be called for non-multi-client accounts.

Updates price and availability of a product in your Merchant Center account. This operation does not update the expiration date of the product. This method can only be called for non-multi-client accounts.

### Method Details

`custombatch(body, dryRun=None)`

    Updates price and availability for multiple products or stores in a single request. This operation does not update the expiration date of the products. This method can only be called for non-multi-client accounts.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    {
        "entries": [ # The request entries to be processed in the batch.
          { # A batch entry encoding a single non-batch inventory request.
            "batchId": 42, # An entry ID, unique within the batch request.
            "storeCode": "A String", # The code of the store for which to update price and availability. Use online to update price and availability of an online product.
            "productId": "A String", # The ID of the product for which to update price and availability.
            "inventory": { # Price and availability of the product.
              "kind": "content#inventory", # Identifies what kind of resource this is. Value: the fixed string "content#inventory".
              "installment": { # Number and amount of installments to pay for an item. Brazil only.
                "amount": { # The amount the buyer has to pay per month.
                  "currency": "A String", # The currency of the price.
                  "value": "A String", # The price represented as a number.
                },
                "months": "A String", # The number of installments the buyer has to pay.
              },
              "salePriceEffectiveDate": "A String", # A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates might be specified as 'null' if undecided.
              "price": { # The price of the product.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
              "sellOnGoogleQuantity": 42, # The quantity of the product that is reserved for sell-on-google ads. Supported only for online products.
              "pickup": { # Store pickup information. Only supported for local inventory. Not setting pickup means "don't update" while setting it to the empty value ({} in JSON) means "delete". Otherwise, pickupMethod and pickupSla must be set together, unless pickupMethod is "not supported".
                "pickupMethod": "A String", # Whether store pickup is available for this offer and whether the pickup option should be shown as buy, reserve, or not supported. Only supported for local inventory. Unless the value is "not supported", must be submitted together with pickupSla.
                "pickupSla": "A String", # The expected date that an order will be ready for pickup, relative to when the order is placed. Only supported for local inventory. Must be submitted together with pickupMethod.
              },
              "salePrice": { # The sale price of the product. Mandatory if sale_price_effective_date is defined.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
              "availability": "A String", # The availability of the product.
              "loyaltyPoints": { # Loyalty points that users receive after purchasing the item. Japan only.
                "ratio": 3.14, # The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.
                "name": "A String", # Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.
                "pointsValue": "A String", # The retailer's loyalty points in absolute value.
              },
              "quantity": 42, # The quantity of the product. Must be equal to or greater than zero. Supported only for local products.
            },
            "merchantId": "A String", # The ID of the managing account.
          },
        ],
      }

      dryRun: boolean, Flag to run the request in dry-run mode.

    Returns:
      An object of the form:

        {
        "kind": "content#inventoryCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#inventoryCustomBatchResponse".
        "entries": [ # The result of the execution of the batch requests.
          { # A batch entry encoding a single non-batch inventory response.
            "batchId": 42, # The ID of the request entry this entry responds to.
            "kind": "content#inventoryCustomBatchResponseEntry", # Identifies what kind of resource this is. Value: the fixed string "content#inventoryCustomBatchResponseEntry".
            "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed.
              "message": "A String", # The message of the first error in errors.
              "code": 42, # The HTTP status of the first error in errors.
              "errors": [ # A list of errors.
                { # An error returned by the API.
                  "reason": "A String", # The error code.
                  "domain": "A String", # The domain of the error.
                  "message": "A String", # A description of the error.
                },
              ],
            },
          },
        ],
      }

`set(merchantId, storeCode, productId, body, dryRun=None)`

    Updates price and availability of a product in your Merchant Center account. This operation does not update the expiration date of the product. This method can only be called for non-multi-client accounts.

    Args:
      merchantId: string, The ID of the managing account. (required)
      storeCode: string, The code of the store for which to update price and availability. Use online to update price and availability of an online product. (required)
      productId: string, The ID of the product for which to update price and availability. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "installment": { # Number and amount of installments to pay for an item. Brazil only.
          "amount": { # The amount the buyer has to pay per month.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "months": "A String", # The number of installments the buyer has to pay.
        },
        "salePriceEffectiveDate": "A String", # A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates might be specified as 'null' if undecided.
        "price": { # The price of the product.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "sellOnGoogleQuantity": 42, # The quantity of the product that is reserved for sell-on-google ads. Supported only for online products.
        "pickup": { # Store pickup information. Only supported for local inventory. Not setting pickup means "don't update" while setting it to the empty value ({} in JSON) means "delete". Otherwise, pickupMethod and pickupSla must be set together, unless pickupMethod is "not supported".
          "pickupMethod": "A String", # Whether store pickup is available for this offer and whether the pickup option should be shown as buy, reserve, or not supported. Only supported for local inventory. Unless the value is "not supported", must be submitted together with pickupSla.
          "pickupSla": "A String", # The expected date that an order will be ready for pickup, relative to when the order is placed. Only supported for local inventory. Must be submitted together with pickupMethod.
        },
        "salePrice": { # The sale price of the product. Mandatory if sale_price_effective_date is defined.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "availability": "A String", # The availability of the product.
        "loyaltyPoints": { # Loyalty points that users receive after purchasing the item. Japan only.
          "ratio": 3.14, # The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.
          "name": "A String", # Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.
          "pointsValue": "A String", # The retailer's loyalty points in absolute value.
        },
        "quantity": 42, # The quantity of the product. Must be equal to or greater than zero. Supported only for local products.
      }

      dryRun: boolean, Flag to run the request in dry-run mode.

    Returns:
      An object of the form:

        {
        "kind": "content#inventorySetResponse", # Identifies what kind of resource this is. Value: the fixed string "content#inventorySetResponse".
      }