# Ad Exchange Buyer API . marketplacedeals

## Instance Methods

Close httplib2 connections.

Delete the specified deals from the proposal

Add new deals for the specified proposal

List all the deals for a given proposal

Replaces all the deals in the proposal with the passed in deals

### Method Details

`close()`

    Close httplib2 connections.

`delete(proposalId, body=None)`

    Delete the specified deals from the proposal

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

    {
        "dealIds": [ # List of deals to delete for a given proposal
          "A String",
        ],
        "proposalRevisionNumber": "A String", # The last known proposal revision number.
        "updateAction": "A String", # Indicates an optional action to take on the proposal
      }

    Returns:
      An object of the form:

        {
        "deals": [ # List of deals deleted (in the same proposal as passed in the request)
          { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
            "buyerPrivateData": { # Buyer private data (hidden from seller).
              "referenceId": "A String",
              "referencePayload": "A String",
            },
            "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
            "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
            "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly)
            "dealId": "A String", # A unique deal-id for the deal (readonly).
            "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions)
              "alcoholAdsAllowed": True or False, # True if alcohol ads are allowed for this deal (read-only). This field is only populated when querying for finalized orders using the method GetFinalizedOrderDeals
              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action)
                "buyerPauseReason": "A String",
                "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first.
                "hasBuyerPaused": True or False,
                "hasSellerPaused": True or False,
                "sellerPauseReason": "A String",
              },
            },
            "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.
              "creativeBlockingLevel": "A String",
              "deliveryRateType": "A String",
              "frequencyCaps": [
                {
                  "maxImpressions": 42,
                  "numTimeUnits": 42,
                  "timeUnitType": "A String",
                },
              ],
            },
            "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)
            "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)
            "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)
            "inventoryDescription": "A String", # Description for the deal terms. (buyer-readonly)
            "isRfpTemplate": True or False, # Indicates whether the current deal is a RFP template. RFP template is created by buyer and not based on seller created products.
            "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this deal. (readonly, except via OrderSetupCompleted action)
            "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
            "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
            "makegoodRequestedReason": "A String",
            "name": "A String", # The name of the deal. (updatable)
            "productId": "A String", # The product-id from which this deal was created. (readonly, except on create)
            "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create)
            "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly)
            "proposalId": "A String",
            "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.
              },
            ],
            "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
              {
                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "key": "A String", # The key representing the shared targeting criterion.
              },
            ],
            "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
            "terms": { # The negotiable terms of the deal. (updatable)
              "brandingType": "A String", # Visibility of the URL in bid requests.
              "crossListedExternalDealIdType": "A String", # Indicates that this ExternalDealId exists under at least two different AdxInventoryDeals. Currently, the only case that the same ExternalDealId will exist is programmatic cross sell case.
              "description": "A String", # Description for the proposed terms of the deal.
              "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
                "amountMicros": 3.14, # The price value in micros.
                "currencyCode": "A String", # The currency code for the price.
                "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                "pricingType": "A String", # The pricing type for the deal/product.
              },
              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller.
              "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
                "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX.
                  "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into buyer's currency without discrepancy.
                  "dfpLineItemId": "A String", # The DFP line item id associated with this deal. For features like CPD, buyers can retrieve the DFP line item for billing reconciliation.
                  "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes the publisher will book the deal with a impression buffer, such that guaranteed_looks is greater than the contracted quantity. However clients are billed using the original contracted quantity.
                  "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation.
                    "amountMicros": 3.14, # The price value in micros.
                    "currencyCode": "A String", # The currency code for the price.
                    "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                    "pricingType": "A String", # The pricing type for the deal/product.
                  },
                },
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
                "minimumDailyLooks": "A String", # Count of minimum daily looks for a CPD deal. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
              },
              "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly).
                "reservePricePerBuyers": [ # Reserve price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "rubiconNonGuaranteedTerms": { # The terms for rubicon non-guaranteed deals.
                "priorityPrice": { # Optional price for Rubicon priority access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
                "standardPrice": { # Optional price for Rubicon standard access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
              },
              "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)
            },
            "webPropertyCode": "A String",
          },
        ],
        "proposalRevisionNumber": "A String", # The updated revision number for the proposal.
      }

`insert(proposalId, body=None)`

    Add new deals for the specified proposal

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

    {
        "deals": [ # The list of deals to add
          { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
            "buyerPrivateData": { # Buyer private data (hidden from seller).
              "referenceId": "A String",
              "referencePayload": "A String",
            },
            "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
            "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
            "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly)
            "dealId": "A String", # A unique deal-id for the deal (readonly).
            "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions)
              "alcoholAdsAllowed": True or False, # True if alcohol ads are allowed for this deal (read-only). This field is only populated when querying for finalized orders using the method GetFinalizedOrderDeals
              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action)
                "buyerPauseReason": "A String",
                "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first.
                "hasBuyerPaused": True or False,
                "hasSellerPaused": True or False,
                "sellerPauseReason": "A String",
              },
            },
            "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.
              "creativeBlockingLevel": "A String",
              "deliveryRateType": "A String",
              "frequencyCaps": [
                {
                  "maxImpressions": 42,
                  "numTimeUnits": 42,
                  "timeUnitType": "A String",
                },
              ],
            },
            "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)
            "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)
            "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)
            "inventoryDescription": "A String", # Description for the deal terms. (buyer-readonly)
            "isRfpTemplate": True or False, # Indicates whether the current deal is a RFP template. RFP template is created by buyer and not based on seller created products.
            "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this deal. (readonly, except via OrderSetupCompleted action)
            "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
            "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
            "makegoodRequestedReason": "A String",
            "name": "A String", # The name of the deal. (updatable)
            "productId": "A String", # The product-id from which this deal was created. (readonly, except on create)
            "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create)
            "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly)
            "proposalId": "A String",
            "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.
              },
            ],
            "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
              {
                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "key": "A String", # The key representing the shared targeting criterion.
              },
            ],
            "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
            "terms": { # The negotiable terms of the deal. (updatable)
              "brandingType": "A String", # Visibility of the URL in bid requests.
              "crossListedExternalDealIdType": "A String", # Indicates that this ExternalDealId exists under at least two different AdxInventoryDeals. Currently, the only case that the same ExternalDealId will exist is programmatic cross sell case.
              "description": "A String", # Description for the proposed terms of the deal.
              "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
                "amountMicros": 3.14, # The price value in micros.
                "currencyCode": "A String", # The currency code for the price.
                "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                "pricingType": "A String", # The pricing type for the deal/product.
              },
              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller.
              "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
                "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX.
                  "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into buyer's currency without discrepancy.
                  "dfpLineItemId": "A String", # The DFP line item id associated with this deal. For features like CPD, buyers can retrieve the DFP line item for billing reconciliation.
                  "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes the publisher will book the deal with a impression buffer, such that guaranteed_looks is greater than the contracted quantity. However clients are billed using the original contracted quantity.
                  "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation.
                    "amountMicros": 3.14, # The price value in micros.
                    "currencyCode": "A String", # The currency code for the price.
                    "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                    "pricingType": "A String", # The pricing type for the deal/product.
                  },
                },
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
                "minimumDailyLooks": "A String", # Count of minimum daily looks for a CPD deal. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
              },
              "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly).
                "reservePricePerBuyers": [ # Reserve price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "rubiconNonGuaranteedTerms": { # The terms for rubicon non-guaranteed deals.
                "priorityPrice": { # Optional price for Rubicon priority access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
                "standardPrice": { # Optional price for Rubicon standard access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
              },
              "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)
            },
            "webPropertyCode": "A String",
          },
        ],
        "proposalRevisionNumber": "A String", # The last known proposal revision number.
        "updateAction": "A String", # Indicates an optional action to take on the proposal
      }

    Returns:
      An object of the form:

        {
        "deals": [ # List of deals added (in the same proposal as passed in the request)
          { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
            "buyerPrivateData": { # Buyer private data (hidden from seller).
              "referenceId": "A String",
              "referencePayload": "A String",
            },
            "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
            "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
            "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly)
            "dealId": "A String", # A unique deal-id for the deal (readonly).
            "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions)
              "alcoholAdsAllowed": True or False, # True if alcohol ads are allowed for this deal (read-only). This field is only populated when querying for finalized orders using the method GetFinalizedOrderDeals
              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action)
                "buyerPauseReason": "A String",
                "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first.
                "hasBuyerPaused": True or False,
                "hasSellerPaused": True or False,
                "sellerPauseReason": "A String",
              },
            },
            "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.
              "creativeBlockingLevel": "A String",
              "deliveryRateType": "A String",
              "frequencyCaps": [
                {
                  "maxImpressions": 42,
                  "numTimeUnits": 42,
                  "timeUnitType": "A String",
                },
              ],
            },
            "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)
            "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)
            "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)
            "inventoryDescription": "A String", # Description for the deal terms. (buyer-readonly)
            "isRfpTemplate": True or False, # Indicates whether the current deal is a RFP template. RFP template is created by buyer and not based on seller created products.
            "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this deal. (readonly, except via OrderSetupCompleted action)
            "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
            "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
            "makegoodRequestedReason": "A String",
            "name": "A String", # The name of the deal. (updatable)
            "productId": "A String", # The product-id from which this deal was created. (readonly, except on create)
            "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create)
            "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly)
            "proposalId": "A String",
            "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.
              },
            ],
            "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
              {
                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "key": "A String", # The key representing the shared targeting criterion.
              },
            ],
            "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
            "terms": { # The negotiable terms of the deal. (updatable)
              "brandingType": "A String", # Visibility of the URL in bid requests.
              "crossListedExternalDealIdType": "A String", # Indicates that this ExternalDealId exists under at least two different AdxInventoryDeals. Currently, the only case that the same ExternalDealId will exist is programmatic cross sell case.
              "description": "A String", # Description for the proposed terms of the deal.
              "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
                "amountMicros": 3.14, # The price value in micros.
                "currencyCode": "A String", # The currency code for the price.
                "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                "pricingType": "A String", # The pricing type for the deal/product.
              },
              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller.
              "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
                "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX.
                  "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into buyer's currency without discrepancy.
                  "dfpLineItemId": "A String", # The DFP line item id associated with this deal. For features like CPD, buyers can retrieve the DFP line item for billing reconciliation.
                  "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes the publisher will book the deal with a impression buffer, such that guaranteed_looks is greater than the contracted quantity. However clients are billed using the original contracted quantity.
                  "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation.
                    "amountMicros": 3.14, # The price value in micros.
                    "currencyCode": "A String", # The currency code for the price.
                    "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                    "pricingType": "A String", # The pricing type for the deal/product.
                  },
                },
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
                "minimumDailyLooks": "A String", # Count of minimum daily looks for a CPD deal. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
              },
              "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly).
                "reservePricePerBuyers": [ # Reserve price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "rubiconNonGuaranteedTerms": { # The terms for rubicon non-guaranteed deals.
                "priorityPrice": { # Optional price for Rubicon priority access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
                "standardPrice": { # Optional price for Rubicon standard access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
              },
              "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)
            },
            "webPropertyCode": "A String",
          },
        ],
        "proposalRevisionNumber": "A String", # The updated revision number for the proposal.
      }

`list(proposalId, pqlQuery=None)`

    List all the deals for a given proposal

    Args:
      proposalId: string, The proposalId to get deals for. To search across all proposals specify order_id = '-' as part of the URL. (required)
      pqlQuery: string, Query string to retrieve specific deals.

    Returns:
      An object of the form:

        {
        "deals": [ # List of deals for the proposal
          { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
            "buyerPrivateData": { # Buyer private data (hidden from seller).
              "referenceId": "A String",
              "referencePayload": "A String",
            },
            "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
            "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
            "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly)
            "dealId": "A String", # A unique deal-id for the deal (readonly).
            "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions)
              "alcoholAdsAllowed": True or False, # True if alcohol ads are allowed for this deal (read-only). This field is only populated when querying for finalized orders using the method GetFinalizedOrderDeals
              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action)
                "buyerPauseReason": "A String",
                "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first.
                "hasBuyerPaused": True or False,
                "hasSellerPaused": True or False,
                "sellerPauseReason": "A String",
              },
            },
            "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.
              "creativeBlockingLevel": "A String",
              "deliveryRateType": "A String",
              "frequencyCaps": [
                {
                  "maxImpressions": 42,
                  "numTimeUnits": 42,
                  "timeUnitType": "A String",
                },
              ],
            },
            "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)
            "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)
            "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)
            "inventoryDescription": "A String", # Description for the deal terms. (buyer-readonly)
            "isRfpTemplate": True or False, # Indicates whether the current deal is a RFP template. RFP template is created by buyer and not based on seller created products.
            "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this deal. (readonly, except via OrderSetupCompleted action)
            "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
            "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
            "makegoodRequestedReason": "A String",
            "name": "A String", # The name of the deal. (updatable)
            "productId": "A String", # The product-id from which this deal was created. (readonly, except on create)
            "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create)
            "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly)
            "proposalId": "A String",
            "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.
              },
            ],
            "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
              {
                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "key": "A String", # The key representing the shared targeting criterion.
              },
            ],
            "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
            "terms": { # The negotiable terms of the deal. (updatable)
              "brandingType": "A String", # Visibility of the URL in bid requests.
              "crossListedExternalDealIdType": "A String", # Indicates that this ExternalDealId exists under at least two different AdxInventoryDeals. Currently, the only case that the same ExternalDealId will exist is programmatic cross sell case.
              "description": "A String", # Description for the proposed terms of the deal.
              "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
                "amountMicros": 3.14, # The price value in micros.
                "currencyCode": "A String", # The currency code for the price.
                "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                "pricingType": "A String", # The pricing type for the deal/product.
              },
              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller.
              "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
                "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX.
                  "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into buyer's currency without discrepancy.
                  "dfpLineItemId": "A String", # The DFP line item id associated with this deal. For features like CPD, buyers can retrieve the DFP line item for billing reconciliation.
                  "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes the publisher will book the deal with a impression buffer, such that guaranteed_looks is greater than the contracted quantity. However clients are billed using the original contracted quantity.
                  "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation.
                    "amountMicros": 3.14, # The price value in micros.
                    "currencyCode": "A String", # The currency code for the price.
                    "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                    "pricingType": "A String", # The pricing type for the deal/product.
                  },
                },
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
                "minimumDailyLooks": "A String", # Count of minimum daily looks for a CPD deal. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
              },
              "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly).
                "reservePricePerBuyers": [ # Reserve price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "rubiconNonGuaranteedTerms": { # The terms for rubicon non-guaranteed deals.
                "priorityPrice": { # Optional price for Rubicon priority access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
                "standardPrice": { # Optional price for Rubicon standard access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
              },
              "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)
            },
            "webPropertyCode": "A String",
          },
        ],
      }

`update(proposalId, body=None)`

    Replaces all the deals in the proposal with the passed in deals

    Args:
      proposalId: string, The proposalId to edit deals on. (required)
      body: object, The request body.
        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 proposal If a deal in this list does not exist in the proposal, the service will create a new deal and add it to the proposal. Validation will follow AddOrderDealsRequest. 2. Update existing deal in the proposal If a deal in this list already exist in the proposal, the service will update that existing deal to this new deal in the request. Validation will follow UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need the id) If a existing deal in the proposal is not present in this list, the service will delete that deal from the proposal. Validation will follow DeleteOrderDealsRequest.
          { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
            "buyerPrivateData": { # Buyer private data (hidden from seller).
              "referenceId": "A String",
              "referencePayload": "A String",
            },
            "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
            "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
            "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly)
            "dealId": "A String", # A unique deal-id for the deal (readonly).
            "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions)
              "alcoholAdsAllowed": True or False, # True if alcohol ads are allowed for this deal (read-only). This field is only populated when querying for finalized orders using the method GetFinalizedOrderDeals
              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action)
                "buyerPauseReason": "A String",
                "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first.
                "hasBuyerPaused": True or False,
                "hasSellerPaused": True or False,
                "sellerPauseReason": "A String",
              },
            },
            "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.
              "creativeBlockingLevel": "A String",
              "deliveryRateType": "A String",
              "frequencyCaps": [
                {
                  "maxImpressions": 42,
                  "numTimeUnits": 42,
                  "timeUnitType": "A String",
                },
              ],
            },
            "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)
            "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)
            "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)
            "inventoryDescription": "A String", # Description for the deal terms. (buyer-readonly)
            "isRfpTemplate": True or False, # Indicates whether the current deal is a RFP template. RFP template is created by buyer and not based on seller created products.
            "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this deal. (readonly, except via OrderSetupCompleted action)
            "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
            "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
            "makegoodRequestedReason": "A String",
            "name": "A String", # The name of the deal. (updatable)
            "productId": "A String", # The product-id from which this deal was created. (readonly, except on create)
            "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create)
            "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly)
            "proposalId": "A String",
            "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.
              },
            ],
            "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
              {
                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "key": "A String", # The key representing the shared targeting criterion.
              },
            ],
            "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
            "terms": { # The negotiable terms of the deal. (updatable)
              "brandingType": "A String", # Visibility of the URL in bid requests.
              "crossListedExternalDealIdType": "A String", # Indicates that this ExternalDealId exists under at least two different AdxInventoryDeals. Currently, the only case that the same ExternalDealId will exist is programmatic cross sell case.
              "description": "A String", # Description for the proposed terms of the deal.
              "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
                "amountMicros": 3.14, # The price value in micros.
                "currencyCode": "A String", # The currency code for the price.
                "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                "pricingType": "A String", # The pricing type for the deal/product.
              },
              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller.
              "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
                "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX.
                  "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into buyer's currency without discrepancy.
                  "dfpLineItemId": "A String", # The DFP line item id associated with this deal. For features like CPD, buyers can retrieve the DFP line item for billing reconciliation.
                  "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes the publisher will book the deal with a impression buffer, such that guaranteed_looks is greater than the contracted quantity. However clients are billed using the original contracted quantity.
                  "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation.
                    "amountMicros": 3.14, # The price value in micros.
                    "currencyCode": "A String", # The currency code for the price.
                    "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                    "pricingType": "A String", # The pricing type for the deal/product.
                  },
                },
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
                "minimumDailyLooks": "A String", # Count of minimum daily looks for a CPD deal. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
              },
              "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly).
                "reservePricePerBuyers": [ # Reserve price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "rubiconNonGuaranteedTerms": { # The terms for rubicon non-guaranteed deals.
                "priorityPrice": { # Optional price for Rubicon priority access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
                "standardPrice": { # Optional price for Rubicon standard access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
              },
              "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)
            },
            "webPropertyCode": "A String",
          },
        ],
        "proposal": { # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # If specified, also updates the proposal in the batch transaction. This is useful when the proposal 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.
          "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly)
            "accountId": "A String", # Adx account id of the buyer.
          },
          "buyer": { # Reference to the buyer on the proposal. (readonly, except on create)
            "accountId": "A String", # Adx account id of the buyer.
          },
          "buyerContacts": [ # Optional contact information of the buyer. (seller-readonly)
            {
              "email": "A String", # Email address of the contact.
              "name": "A String", # The name of the contact.
            },
          ],
          "buyerPrivateData": { # Private data for buyer. (hidden from seller).
            "referenceId": "A String",
            "referencePayload": "A String",
          },
          "dbmAdvertiserIds": [ # IDs of DBM advertisers permission to this proposal.
            "A String",
          ],
          "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off. Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly)
          "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly)
          "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create).
          "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly).
          "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) Deprecated in favor of deal level setup complete flag.
          "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal".
          "labels": [ # List of labels associated with the proposal. (readonly)
            {
              "accountId": "A String", # The accountId of the party that created the label.
              "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.
                  "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 product.
                  "subAccountId": "A String", # Optional sub-account id for the seller.
                },
              },
              "label": "A String", # The label to use.
            },
          ],
          "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly)
          "name": "A String", # The name for the proposal (updatable)
          "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal.
          "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly)
          "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal.
          "proposalId": "A String", # The unique id of the proposal. (readonly).
          "proposalState": "A String", # The current state of the proposal. (readonly)
          "revisionNumber": "A String", # The revision number for the proposal (readonly).
          "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly).
          "seller": { # Reference to the seller on the proposal. (readonly, except on create)
            "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 product.
            "subAccountId": "A String", # Optional sub-account id for the seller.
          },
          "sellerContacts": [ # Optional contact information of the seller (buyer-readonly).
            {
              "email": "A String", # Email address of the contact.
              "name": "A String", # The name of the contact.
            },
          ],
        },
        "proposalRevisionNumber": "A String", # The last known revision number for the proposal.
        "updateAction": "A String", # Indicates an optional action to take on the proposal
      }

    Returns:
      An object of the form:

        {
        "deals": [ # List of all deals in the proposal after edit.
          { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
            "buyerPrivateData": { # Buyer private data (hidden from seller).
              "referenceId": "A String",
              "referencePayload": "A String",
            },
            "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly)
            "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
            "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly)
            "dealId": "A String", # A unique deal-id for the deal (readonly).
            "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions)
              "alcoholAdsAllowed": True or False, # True if alcohol ads are allowed for this deal (read-only). This field is only populated when querying for finalized orders using the method GetFinalizedOrderDeals
              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action)
                "buyerPauseReason": "A String",
                "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first.
                "hasBuyerPaused": True or False,
                "hasSellerPaused": True or False,
                "sellerPauseReason": "A String",
              },
            },
            "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.
              "creativeBlockingLevel": "A String",
              "deliveryRateType": "A String",
              "frequencyCaps": [
                {
                  "maxImpressions": 42,
                  "numTimeUnits": 42,
                  "timeUnitType": "A String",
                },
              ],
            },
            "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)
            "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)
            "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)
            "inventoryDescription": "A String", # Description for the deal terms. (buyer-readonly)
            "isRfpTemplate": True or False, # Indicates whether the current deal is a RFP template. RFP template is created by buyer and not based on seller created products.
            "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this deal. (readonly, except via OrderSetupCompleted action)
            "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
            "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly)
            "makegoodRequestedReason": "A String",
            "name": "A String", # The name of the deal. (updatable)
            "productId": "A String", # The product-id from which this deal was created. (readonly, except on create)
            "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create)
            "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly)
            "proposalId": "A String",
            "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.
              },
            ],
            "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
              {
                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
                  {
                    "creativeSizeValue": { # Next Id: 7 # The creative size value to exclude/include.
                      "allowedFormats": [ # The formats allowed by the publisher.
                        "A String",
                      ],
                      "companionSizes": [ # For video size type, the list of companion sizes.
                        {
                          "height": 42, # The height of the creative.
                          "width": 42, # The width of the creative.
                        },
                      ],
                      "creativeSizeType": "A String", # The Creative size type.
                      "nativeTemplate": "A String", # The native template for native ad.
                      "size": { # For regular or video creative size type, specifies the size of the creative.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative.
                      },
                      "skippableAdType": "A String", # The skippable ad type for video size.
                    },
                    "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                      "dayParts": [
                        {
                          "dayOfWeek": "A String",
                          "endHour": 42,
                          "endMinute": 42,
                          "startHour": 42,
                          "startMinute": 42,
                        },
                      ],
                      "timeZoneType": "A String",
                    },
                    "demogAgeCriteriaValue": {
                      "demogAgeCriteriaIds": [
                        "A String",
                      ],
                    },
                    "demogGenderCriteriaValue": {
                      "demogGenderCriteriaIds": [
                        "A String",
                      ],
                    },
                    "longValue": "A String", # The long value to exclude/include.
                    "stringValue": "A String", # The string value to exclude/include.
                  },
                ],
                "key": "A String", # The key representing the shared targeting criterion.
              },
            ],
            "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
            "terms": { # The negotiable terms of the deal. (updatable)
              "brandingType": "A String", # Visibility of the URL in bid requests.
              "crossListedExternalDealIdType": "A String", # Indicates that this ExternalDealId exists under at least two different AdxInventoryDeals. Currently, the only case that the same ExternalDealId will exist is programmatic cross sell case.
              "description": "A String", # Description for the proposed terms of the deal.
              "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
                "amountMicros": 3.14, # The price value in micros.
                "currencyCode": "A String", # The currency code for the price.
                "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                "pricingType": "A String", # The pricing type for the deal/product.
              },
              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller.
              "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
                "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX.
                  "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into buyer's currency without discrepancy.
                  "dfpLineItemId": "A String", # The DFP line item id associated with this deal. For features like CPD, buyers can retrieve the DFP line item for billing reconciliation.
                  "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes the publisher will book the deal with a impression buffer, such that guaranteed_looks is greater than the contracted quantity. However clients are billed using the original contracted quantity.
                  "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation.
                    "amountMicros": 3.14, # The price value in micros.
                    "currencyCode": "A String", # The currency code for the price.
                    "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                    "pricingType": "A String", # The pricing type for the deal/product.
                  },
                },
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
                "minimumDailyLooks": "A String", # Count of minimum daily looks for a CPD deal. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
              },
              "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly).
                "reservePricePerBuyers": [ # Reserve price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.
                    "auctionTier": "A String", # Optional access type for this buyer.
                    "billedBuyer": { # Reference to the buyer that will get billed.
                      "accountId": "A String", # Adx account id of the buyer.
                    },
                    "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
                      "amountMicros": 3.14, # The price value in micros.
                      "currencyCode": "A String", # The currency code for the price.
                      "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                      "pricingType": "A String", # The pricing type for the deal/product.
                    },
                  },
                ],
              },
              "rubiconNonGuaranteedTerms": { # The terms for rubicon non-guaranteed deals.
                "priorityPrice": { # Optional price for Rubicon priority access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
                "standardPrice": { # Optional price for Rubicon standard access in the auction.
                  "amountMicros": 3.14, # The price value in micros.
                  "currencyCode": "A String", # The currency code for the price.
                  "expectedCpmMicros": 3.14, # In case of CPD deals, the expected CPM in micros.
                  "pricingType": "A String", # The pricing type for the deal/product.
                },
              },
              "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)
            },
            "webPropertyCode": "A String",
          },
        ],
        "orderRevisionNumber": "A String", # The latest revision number after the update has been applied.
      }