Ad Exchange Buyer API . marketplacedeals

Instance Methods

delete(orderId, body)

Delete the specified deals from the order

insert(orderId, body)

Add new deals for the specified order

list(orderId)

List all the deals for a given order

update(orderId, body)

Replaces all the deals in the order with the passed in deals

Method Details

delete(orderId, body)
Delete the specified deals from the order

Args:
  orderId: string, The orderId to delete deals from. (required)
  body: object, The request body. (required)
    The object takes the form of:

{
    "orderRevisionNumber": "A String", # The last known order revision number.
    "updateAction": "A String",
    "dealIds": [ # List of deals to delete for a given order
      "A String",
    ],
  }


Returns:
  An object of the form:

    {
    "deals": [ # List of deals deleted (in the same order as passed in the request)
      { # An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
          "frequencyCaps": [
            {
              "numTimeUnits": 42,
              "timeUnitType": "A String",
              "maxImpressions": 42,
            },
          ],
          "deliveryRateType": "A String",
        },
        "orderId": "A String",
        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
        "terms": { # The negotiable terms of the deal. (updatable)
          "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for offer.
          },
          "description": "A String", # Description for the proposed terms of the deal.
          "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
            "reservePricePerBuyers": [ # Reserve price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "privateAuctionId": "A String", # Id of the corresponding private auction.
          },
          "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
          },
        },
        "name": "A String", # The name of the deal. (updatable)
        "buyerPrivateData": { # Buyer private data (hidden from seller).
          "referenceId": "A String",
          "referencePayload": "A String",
        },
        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
          {
            "inclusions": [ # The list of value to include as part of the targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "exclusions": [ # The list of values to exclude from targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "key": "A String", # The key representing the shared targeting criterion.
          },
        ],
        "offerId": "A String", # The offer-id from which this deal was created. (readonly, except on create)
        "dealId": "A String", # A unique deal=id for the deal (readonly).
        "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
          {
            "email": "A String", # Email address of the contact.
            "name": "A String", # The name of the contact.
          },
        ],
        "webPropertyCode": "A String",
        "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "offerRevisionNumber": "A String", # The revision number of the offer that the deal was created from (readonly, except on create)
        "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
        "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
        "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)
        "inventoryDescription": "A String", # Description for the deal terms. (updatable)
      },
    ],
    "orderRevisionNumber": "A String", # The updated revision number for the order.
  }
insert(orderId, body)
Add new deals for the specified order

Args:
  orderId: string, OrderId for which deals need to be added. (required)
  body: object, The request body. (required)
    The object takes the form of:

{
    "deals": [ # The list of deals to add
      { # An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
          "frequencyCaps": [
            {
              "numTimeUnits": 42,
              "timeUnitType": "A String",
              "maxImpressions": 42,
            },
          ],
          "deliveryRateType": "A String",
        },
        "orderId": "A String",
        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
        "terms": { # The negotiable terms of the deal. (updatable)
          "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for offer.
          },
          "description": "A String", # Description for the proposed terms of the deal.
          "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
            "reservePricePerBuyers": [ # Reserve price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "privateAuctionId": "A String", # Id of the corresponding private auction.
          },
          "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
          },
        },
        "name": "A String", # The name of the deal. (updatable)
        "buyerPrivateData": { # Buyer private data (hidden from seller).
          "referenceId": "A String",
          "referencePayload": "A String",
        },
        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
          {
            "inclusions": [ # The list of value to include as part of the targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "exclusions": [ # The list of values to exclude from targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "key": "A String", # The key representing the shared targeting criterion.
          },
        ],
        "offerId": "A String", # The offer-id from which this deal was created. (readonly, except on create)
        "dealId": "A String", # A unique deal=id for the deal (readonly).
        "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
          {
            "email": "A String", # Email address of the contact.
            "name": "A String", # The name of the contact.
          },
        ],
        "webPropertyCode": "A String",
        "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "offerRevisionNumber": "A String", # The revision number of the offer that the deal was created from (readonly, except on create)
        "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
        "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
        "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)
        "inventoryDescription": "A String", # Description for the deal terms. (updatable)
      },
    ],
    "orderRevisionNumber": "A String", # The last known order revision number.
    "updateAction": "A String", # Indicates an optional action to take on the order
  }


Returns:
  An object of the form:

    {
    "deals": [ # List of deals added (in the same order as passed in the request)
      { # An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
          "frequencyCaps": [
            {
              "numTimeUnits": 42,
              "timeUnitType": "A String",
              "maxImpressions": 42,
            },
          ],
          "deliveryRateType": "A String",
        },
        "orderId": "A String",
        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
        "terms": { # The negotiable terms of the deal. (updatable)
          "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for offer.
          },
          "description": "A String", # Description for the proposed terms of the deal.
          "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
            "reservePricePerBuyers": [ # Reserve price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "privateAuctionId": "A String", # Id of the corresponding private auction.
          },
          "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
          },
        },
        "name": "A String", # The name of the deal. (updatable)
        "buyerPrivateData": { # Buyer private data (hidden from seller).
          "referenceId": "A String",
          "referencePayload": "A String",
        },
        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
          {
            "inclusions": [ # The list of value to include as part of the targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "exclusions": [ # The list of values to exclude from targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "key": "A String", # The key representing the shared targeting criterion.
          },
        ],
        "offerId": "A String", # The offer-id from which this deal was created. (readonly, except on create)
        "dealId": "A String", # A unique deal=id for the deal (readonly).
        "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
          {
            "email": "A String", # Email address of the contact.
            "name": "A String", # The name of the contact.
          },
        ],
        "webPropertyCode": "A String",
        "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "offerRevisionNumber": "A String", # The revision number of the offer that the deal was created from (readonly, except on create)
        "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
        "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
        "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)
        "inventoryDescription": "A String", # Description for the deal terms. (updatable)
      },
    ],
    "orderRevisionNumber": "A String", # The updated revision number for the order.
  }
list(orderId)
List all the deals for a given order

Args:
  orderId: string, The orderId to get deals for. (required)

Returns:
  An object of the form:

    {
    "deals": [ # List of deals for the order
      { # An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
          "frequencyCaps": [
            {
              "numTimeUnits": 42,
              "timeUnitType": "A String",
              "maxImpressions": 42,
            },
          ],
          "deliveryRateType": "A String",
        },
        "orderId": "A String",
        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
        "terms": { # The negotiable terms of the deal. (updatable)
          "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for offer.
          },
          "description": "A String", # Description for the proposed terms of the deal.
          "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
            "reservePricePerBuyers": [ # Reserve price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "privateAuctionId": "A String", # Id of the corresponding private auction.
          },
          "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
          },
        },
        "name": "A String", # The name of the deal. (updatable)
        "buyerPrivateData": { # Buyer private data (hidden from seller).
          "referenceId": "A String",
          "referencePayload": "A String",
        },
        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
          {
            "inclusions": [ # The list of value to include as part of the targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "exclusions": [ # The list of values to exclude from targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "key": "A String", # The key representing the shared targeting criterion.
          },
        ],
        "offerId": "A String", # The offer-id from which this deal was created. (readonly, except on create)
        "dealId": "A String", # A unique deal=id for the deal (readonly).
        "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
          {
            "email": "A String", # Email address of the contact.
            "name": "A String", # The name of the contact.
          },
        ],
        "webPropertyCode": "A String",
        "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "offerRevisionNumber": "A String", # The revision number of the offer that the deal was created from (readonly, except on create)
        "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
        "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
        "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)
        "inventoryDescription": "A String", # Description for the deal terms. (updatable)
      },
    ],
  }
update(orderId, body)
Replaces all the deals in the order with the passed in deals

Args:
  orderId: string, The orderId to edit deals on. (required)
  body: object, The request body. (required)
    The object takes the form of:

{
    "deals": [ # List of deals to edit. Service may perform 3 different operations based on comparison of deals in this list vs deals already persisted in database: 1. Add new deal to order If a deal in this list does not exist in the order, the service will create a new deal and add it to the order. Validation will follow AddOrderDealsRequest. 2. Update existing deal in the order If a deal in this list already exist in the order, the service will update that existing deal to this new deal in the request. Validation will follow UpdateOrderDealsRequest. 3. Delete deals from the order (just need the id) If a existing deal in the order is not present in this list, the service will delete that deal from the order. Validation will follow DeleteOrderDealsRequest.
      { # An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
          "frequencyCaps": [
            {
              "numTimeUnits": 42,
              "timeUnitType": "A String",
              "maxImpressions": 42,
            },
          ],
          "deliveryRateType": "A String",
        },
        "orderId": "A String",
        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
        "terms": { # The negotiable terms of the deal. (updatable)
          "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for offer.
          },
          "description": "A String", # Description for the proposed terms of the deal.
          "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
            "reservePricePerBuyers": [ # Reserve price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "privateAuctionId": "A String", # Id of the corresponding private auction.
          },
          "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
          },
        },
        "name": "A String", # The name of the deal. (updatable)
        "buyerPrivateData": { # Buyer private data (hidden from seller).
          "referenceId": "A String",
          "referencePayload": "A String",
        },
        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
          {
            "inclusions": [ # The list of value to include as part of the targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "exclusions": [ # The list of values to exclude from targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "key": "A String", # The key representing the shared targeting criterion.
          },
        ],
        "offerId": "A String", # The offer-id from which this deal was created. (readonly, except on create)
        "dealId": "A String", # A unique deal=id for the deal (readonly).
        "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
          {
            "email": "A String", # Email address of the contact.
            "name": "A String", # The name of the contact.
          },
        ],
        "webPropertyCode": "A String",
        "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "offerRevisionNumber": "A String", # The revision number of the offer that the deal was created from (readonly, except on create)
        "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
        "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
        "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)
        "inventoryDescription": "A String", # Description for the deal terms. (updatable)
      },
    ],
    "orderRevisionNumber": "A String", # The last known revision number for the order.
    "order": { # Represents an order in the marketplace. An order is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in an order can have one of the following setting: # If specified, also updates the order in the batch transaction. This is useful when the order and the deals need to be updated in one transaction.
        #
        # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.
      "orderId": "A String", # The unique id of the order. (readonly).
      "kind": "adexchangebuyer#marketplaceOrder", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceOrder".
      "seller": { # Reference to the seller on the order. (readonly, except on create)
        "subAccountId": "A String", # Optional sub-account id for the seller.
        "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the offer.
      },
      "name": "A String", # The name for the order (updatable)
      "buyerPrivateData": { # Private data for buyer. (hidden from seller).
        "referenceId": "A String",
        "referencePayload": "A String",
      },
      "billedBuyer": { # Reference to the buyer that will get billed for this order. (readonly)
        "accountId": "A String", # Adx account id of the buyer.
      },
      "labels": [ # List of labels associated with the order. (readonly)
        {
          "createTimeMs": "A String", # The creation time (in ms since epoch) for the label.
          "deprecatedMarketplaceDealParty": { # Information about the party that created the label.
            "buyer": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party.
              "accountId": "A String", # Adx account id of the buyer.
            },
            "seller": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party.
              "subAccountId": "A String", # Optional sub-account id for the seller.
              "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the offer.
            },
          },
          "label": "A String", # The label to use.
          "accountId": "A String", # The accountId of the party that created the label.
        },
      ],
      "originatorRole": "A String", # Indicates whether the buyer/seller created the offer.(readonly)
      "revisionTimeMs": "A String", # The time (ms since epoch) when the order was last revised (readonly).
      "sellerContacts": [ # Optional contact information for the seller (buyer-readonly).
        {
          "email": "A String", # Email address of the contact.
          "name": "A String", # The name of the contact.
        },
      ],
      "lastUpdaterRole": "A String",
      "orderState": "A String", # The current state of the order. (readonly)
      "hasSellerSignedOff": True or False, # When an order is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the order can be finalized by the seller. (buyer-readonly)
      "isRenegotiating": True or False, # True if the order is being renegotiated (readonly).
      "buyer": { # Reference to the buyer on the order. (readonly, except on create)
        "accountId": "A String", # Adx account id of the buyer.
      },
      "hasBuyerSignedOff": True or False, # When an order is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the order can be finalized by the seller. (seller-readonly)
      "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this order. (readonly)
      "revisionNumber": "A String", # The revision number for the order (readonly).
      "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the order or left a comment. (readonly)
      "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly)
        {
          "email": "A String", # Email address of the contact.
          "name": "A String", # The name of the contact.
        },
      ],
    },
    "updateAction": "A String", # Indicates an optional action to take on the order
  }


Returns:
  An object of the form:

    {
    "deals": [ # List of all deals in the order after edit.
      { # An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
          "frequencyCaps": [
            {
              "numTimeUnits": 42,
              "timeUnitType": "A String",
              "maxImpressions": 42,
            },
          ],
          "deliveryRateType": "A String",
        },
        "orderId": "A String",
        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
        "terms": { # The negotiable terms of the deal. (updatable)
          "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for offer.
          },
          "description": "A String", # Description for the proposed terms of the deal.
          "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
            "reservePricePerBuyers": [ # Reserve price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
            "privateAuctionId": "A String", # Id of the corresponding private auction.
          },
          "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The CPM value in micros.
                },
              },
            ],
          },
        },
        "name": "A String", # The name of the deal. (updatable)
        "buyerPrivateData": { # Buyer private data (hidden from seller).
          "referenceId": "A String",
          "referencePayload": "A String",
        },
        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
          {
            "inclusions": [ # The list of value to include as part of the targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "exclusions": [ # The list of values to exclude from targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "key": "A String", # The key representing the shared targeting criterion.
          },
        ],
        "offerId": "A String", # The offer-id from which this deal was created. (readonly, except on create)
        "dealId": "A String", # A unique deal=id for the deal (readonly).
        "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
          {
            "email": "A String", # Email address of the contact.
            "name": "A String", # The name of the contact.
          },
        ],
        "webPropertyCode": "A String",
        "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
        "offerRevisionNumber": "A String", # The revision number of the offer that the deal was created from (readonly, except on create)
        "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
        "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
        "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)
        "inventoryDescription": "A String", # Description for the deal terms. (updatable)
      },
    ],
  }