Updates the given deal at the buyer known revision number. If the server revision has advanced since the passed-in proposal.proposal_revision an ABORTED error message will be returned. The revision number is incremented by the server whenever the proposal or its constituent deals are updated. Note: The revision number is kept at a proposal level. The buyer of the API is expected to keep track of the revision number after the last update operation and send it in as part of the next update request. This way, if there are further changes on the server (for example, seller making new updates), then the server can detect conflicts and reject the proposed changes.

Scopes

You will need authorization for the https://www.googleapis.com/auth/authorized-buyers-marketplace scope to make a valid call.

If unset, the scope for this method defaults to https://www.googleapis.com/auth/authorized-buyers-marketplace. You can set the scope for this method like this: authorizedbuyersmarketplace1 --scope <scope> buyers proposals-deals-patch ...

Required Scalar Argument

  • <name> (string)
    • Immutable. The unique identifier of the deal. Auto-generated by the server when a deal is created. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

Deal:
  billed-buyer: string
  buyer: string
  client: string
  create-time: string
  creative-requirements:
    creative-format: string
    creative-pre-approval-policy: string
    creative-safe-frame-compatibility: string
    max-ad-duration-ms: string
    programmatic-creative-source: string
    skippable-ad-type: string
  deal-type: string
  delivery-control:
    companion-delivery-type: string
    creative-rotation-type: string
    delivery-rate-type: string
    roadblocking-type: string
  description: string
  display-name: string
  eligible-seat-ids: [string]
  estimated-gross-spend:
    currency-code: string
    nanos: integer
    units: string
  flight-end-time: string
  flight-start-time: string
  media-planner:
    account-id: string
  name: string
  preferred-deal-terms:
    fixed-price:
      amount:
        currency-code: string
        nanos: integer
        units: string
      type: string
  private-auction-terms:
    floor-price:
      amount:
        currency-code: string
        nanos: integer
        units: string
      type: string
    open-auction-allowed: boolean
  programmatic-guaranteed-terms:
    fixed-price:
      amount:
        currency-code: string
        nanos: integer
        units: string
      type: string
    guaranteed-looks: string
    impression-cap: string
    minimum-daily-looks: string
    percent-share-of-voice: string
    reservation-type: string
  proposal-revision: string
  publisher-profile: string
  seller-time-zone:
    id: string
    version: string
  targeting:
    daypart-targeting:
      time-zone-type: string
    geo-targeting:
      excluded-criteria-ids: [string]
      targeted-criteria-ids: [string]
    inventory-type-targeting:
      inventory-types: [string]
    placement-targeting:
      mobile-application-targeting:
        first-party-targeting:
          excluded-app-ids: [string]
          targeted-app-ids: [string]
      uri-targeting:
        excluded-uris: [string]
        targeted-uris: [string]
    technology-targeting:
      device-capability-targeting:
        excluded-criteria-ids: [string]
        targeted-criteria-ids: [string]
      device-category-targeting:
        excluded-criteria-ids: [string]
        targeted-criteria-ids: [string]
      operating-system-targeting:
        operating-system-criteria:
          excluded-criteria-ids: [string]
          targeted-criteria-ids: [string]
        operating-system-version-criteria:
          excluded-criteria-ids: [string]
          targeted-criteria-ids: [string]
    user-list-targeting:
      excluded-criteria-ids: [string]
      targeted-criteria-ids: [string]
    video-targeting:
      excluded-position-types: [string]
      targeted-position-types: [string]
  update-time: string

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r . billed-buyer=sed
    • Output only. When the client field is populated, this field refers to the buyer who creates and manages the client buyer and gets billed on behalf of the client buyer; when the buyer field is populated, this field is the same value as buyer; when the deal belongs to a media planner account, this field will be empty. Format : buyers/{buyerAccountId}
  • buyer=ut
    • Output only. Refers to a buyer in Real-time Bidding API's Buyer resource. Format: buyers/{buyerAccountId}
  • client=gubergren
    • Output only. Refers to a Client. Format: buyers/{buyerAccountId}/clients/{clientAccountid}
  • create-time=rebum.
    • Output only. The time of the deal creation.
  • creative-requirements creative-format=est
    • Output only. The format of the creative, only applicable for programmatic guaranteed and preferred deals.
  • creative-pre-approval-policy=ipsum
    • Output only. Specifies the creative pre-approval policy.
  • creative-safe-frame-compatibility=ipsum
    • Output only. Specifies whether the creative is safeFrame compatible.
  • max-ad-duration-ms=est
    • Output only. The max duration of the video creative in milliseconds. only applicable for deals with video creatives.
  • programmatic-creative-source=gubergren
    • Output only. Specifies the creative source for programmatic deals. PUBLISHER means creative is provided by seller and ADVERTISER means creative is provided by the buyer.
  • skippable-ad-type=ea

    • Output only. Skippable video ads allow viewers to skip ads after 5 seconds. Only applicable for deals with video creatives.
  • .. deal-type=dolor

    • Output only. Type of deal.
  • delivery-control companion-delivery-type=lorem
    • Output only. Specifies roadblocking in a main companion lineitem.
  • creative-rotation-type=eos
    • Output only. Specifies strategy to use for selecting a creative when multiple creatives of the same size are available.
  • delivery-rate-type=labore
    • Output only. Specifies how the impression delivery will be paced.
  • roadblocking-type=sed

    • Output only. Specifies the roadblocking type in display creatives.
  • .. description=duo

    • Output only. Free text description for the deal terms.
  • display-name=sed
    • Output only. The name of the deal. Maximum length of 255 unicode characters is allowed. Control characters are not allowed. Buyers cannot update this field. Note: Not to be confused with name, which is a unique identifier of the deal.
  • eligible-seat-ids=no
    • Output only. If set, this field contains the list of DSP specific seat ids set by media planners that are eligible to transact on this deal. The seat ID is in the calling DSP's namespace.
    • Each invocation of this argument appends the given value to the array.
  • estimated-gross-spend currency-code=stet
    • The three-letter currency code defined in ISO 4217.
  • nanos=88
    • Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero. For example $-1.75 is represented as units=-1 and nanos=-750,000,000.
  • units=et

    • The whole units of the amount. For example if currencyCode is &#34;USD&#34;, then 1 unit is one US dollar.
  • .. flight-end-time=sed

    • Proposed flight end time of the deal. This will generally be stored in a granularity of a second. A value is not necessary for Private Auction deals.
  • flight-start-time=et
    • Proposed flight start time of the deal. This will generally be stored in the granularity of one second since deal serving starts at seconds boundary. Any time specified with more granularity (for example, in milliseconds) will be truncated towards the start of time in seconds.
  • media-planner account-id=et

    • Output only. Account ID of the media planner.
  • .. name=vero

    • Immutable. The unique identifier of the deal. Auto-generated by the server when a deal is created. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}
  • preferred-deal-terms.fixed-price.amount currency-code=erat
    • The three-letter currency code defined in ISO 4217.
  • nanos=8
    • Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero. For example $-1.75 is represented as units=-1 and nanos=-750,000,000.
  • units=duo

    • The whole units of the amount. For example if currencyCode is &#34;USD&#34;, then 1 unit is one US dollar.
  • .. type=dolore

    • The pricing type for the deal.
  • ...private-auction-terms.floor-price.amount currency-code=et

    • The three-letter currency code defined in ISO 4217.
  • nanos=73
    • Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero. For example $-1.75 is represented as units=-1 and nanos=-750,000,000.
  • units=amet.

    • The whole units of the amount. For example if currencyCode is &#34;USD&#34;, then 1 unit is one US dollar.
  • .. type=consetetur

    • The pricing type for the deal.
  • .. open-auction-allowed=false

    • Output only. True if open auction buyers are allowed to compete with invited buyers in this private auction.
  • ..programmatic-guaranteed-terms.fixed-price.amount currency-code=dolor

    • The three-letter currency code defined in ISO 4217.
  • nanos=83
    • Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero. For example $-1.75 is represented as units=-1 and nanos=-750,000,000.
  • units=et

    • The whole units of the amount. For example if currencyCode is &#34;USD&#34;, then 1 unit is one US dollar.
  • .. type=sadipscing

    • The pricing type for the deal.
  • .. guaranteed-looks=stet

    • Count of guaranteed looks. For CPD deals, buyer changes to guaranteed_looks will be ignored.
  • impression-cap=dolor
    • The lifetime impression cap for CPM Sponsorship deals. Deal will stop serving when cap is reached.
  • minimum-daily-looks=duo
    • Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
  • percent-share-of-voice=vero
    • For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached. Valid value is within range 0~100.
  • reservation-type=vero

    • The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
  • .. proposal-revision=invidunt

    • Output only. The revision number for the proposal and is the same value as proposal.proposal_revision. Each update to deal causes the proposal revision number to auto-increment. The buyer keeps track of the last revision number they know of and pass it in when making an update. If the head revision number on the server has since incremented, then an ABORTED error is returned during the update operation to let the buyer know that a subsequent update was made.
  • publisher-profile=stet
    • Immutable. Reference to the seller on the deal. Format: buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}
  • seller-time-zone id=vero
    • IANA Time Zone Database time zone, e.g. "America/New_York".
  • version=elitr

    • Optional. IANA Time Zone Database version number, e.g. "2019a".
  • ..targeting.daypart-targeting time-zone-type=lorem

    • The time zone type of the day parts
  • ..geo-targeting excluded-criteria-ids=diam

    • A list of numeric IDs to be excluded.
    • Each invocation of this argument appends the given value to the array.
  • targeted-criteria-ids=no

    • A list of numeric IDs to be included.
    • Each invocation of this argument appends the given value to the array.
  • ..inventory-type-targeting inventory-types=ipsum

    • The list of targeted inventory types for the bid request.
    • Each invocation of this argument appends the given value to the array.
  • ..placement-targeting.mobile-application-targeting.first-party-targeting excluded-app-ids=accusam

    • A list of application IDs to be excluded.
    • Each invocation of this argument appends the given value to the array.
  • targeted-app-ids=takimata

    • A list of application IDs to be included.
    • Each invocation of this argument appends the given value to the array.
  • ...uri-targeting excluded-uris=consetetur

    • A list of URLs to be excluded.
    • Each invocation of this argument appends the given value to the array.
  • targeted-uris=voluptua.

    • A list of URLs to be included.
    • Each invocation of this argument appends the given value to the array.
  • ...technology-targeting.device-capability-targeting excluded-criteria-ids=et

    • A list of numeric IDs to be excluded.
    • Each invocation of this argument appends the given value to the array.
  • targeted-criteria-ids=erat

    • A list of numeric IDs to be included.
    • Each invocation of this argument appends the given value to the array.
  • ..device-category-targeting excluded-criteria-ids=consetetur

    • A list of numeric IDs to be excluded.
    • Each invocation of this argument appends the given value to the array.
  • targeted-criteria-ids=amet.

    • A list of numeric IDs to be included.
    • Each invocation of this argument appends the given value to the array.
  • ..operating-system-targeting.operating-system-criteria excluded-criteria-ids=sed

    • A list of numeric IDs to be excluded.
    • Each invocation of this argument appends the given value to the array.
  • targeted-criteria-ids=takimata

    • A list of numeric IDs to be included.
    • Each invocation of this argument appends the given value to the array.
  • ..operating-system-version-criteria excluded-criteria-ids=dolores

    • A list of numeric IDs to be excluded.
    • Each invocation of this argument appends the given value to the array.
  • targeted-criteria-ids=gubergren

    • A list of numeric IDs to be included.
    • Each invocation of this argument appends the given value to the array.
  • ....user-list-targeting excluded-criteria-ids=et

    • A list of numeric IDs to be excluded.
    • Each invocation of this argument appends the given value to the array.
  • targeted-criteria-ids=accusam

    • A list of numeric IDs to be included.
    • Each invocation of this argument appends the given value to the array.
  • ..video-targeting excluded-position-types=voluptua.

    • A list of video positions to be excluded. When this field is populated, the targeted_position_types field must be empty.
    • Each invocation of this argument appends the given value to the array.
  • targeted-position-types=dolore

    • A list of video positions to be included. When this field is populated, the excluded_position_types field must be empty.
    • Each invocation of this argument appends the given value to the array.
  • ... update-time=dolore

    • Output only. The time when the deal was last updated.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional Method Properties

You may set the following properties to further configure the call. Please note that -p is followed by one or more key-value-pairs, and is called like this -p k1=v1 k2=v2 even though the listing below repeats the -p for completeness.

  • -p update-mask=string
    • List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, for example, false for boolean fields, 0 for integer fields. A special field mask consisting of a single path "*" can be used to indicate full replacement(the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").