Authorized Buyers Marketplace API . buyers . proposals

Instance Methods

deals()

Returns the deals Resource.

accept(name, body=None, x__xgafv=None)

Accepts the proposal at the given revision number. If the revision number in the request is behind the latest from the server, an error message will be returned. This call updates the Proposal.state from `BUYER_ACCEPTANCE_REQUESTED` to `FINALIZED`; it has no side effect if the Proposal.state is already `FINALIZED` and throws exception if the Proposal.state is not either `BUYER_ACCEPTANCE_REQUESTED` or `FINALIZED`. Accepting a proposal means the buyer understands and accepts the Proposal.terms_and_conditions proposed by the seller.

addNote(proposal, body=None, x__xgafv=None)

Creates a note for this proposal and sends to the seller.

cancelNegotiation(proposal, body=None, x__xgafv=None)

Cancels an ongoing negotiation on a proposal. This does not cancel or end serving for the deals if the proposal has been finalized. If the proposal has not been finalized before, calling this method will set the Proposal.state to `TERMINATED` and increment the Proposal.proposal_revision. If the proposal has been finalized before and is under renegotiation now, calling this method will reset the Proposal.state to `FINALIZED` and increment the Proposal.proposal_revision. This method does not support private auction proposals whose Proposal.deal_type is 'PRIVATE_AUCTION'.

close()

Close httplib2 connections.

get(name, x__xgafv=None)

Gets a proposal using its name. The proposal is returned at most recent revision. revision.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists proposals. A filter expression (list filter syntax) may be specified to filter the results. This will not list finalized versions of proposals that are being renegotiated; to retrieve these use the finalizedProposals resource.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates the proposal at the given revision number. If the revision number in the request is behind the latest from the server, an error message will be returned. See FieldMask for how to use FieldMask. Only fields specified in the UpdateProposalRequest.update_mask will be updated; Fields noted as 'Immutable' or 'Output only' yet specified in the UpdateProposalRequest.update_mask will be ignored and left unchanged. Updating a private auction proposal is not allowed and will result in an error.

sendRfp(buyer, body=None, x__xgafv=None)

Sends a request for proposal (RFP) to a publisher to initiate the negotiation regarding certain inventory. In the RFP, buyers can specify the deal type, deal terms, start and end dates, targeting, and a message to the publisher. Once the RFP is sent, a proposal in `SELLER_REVIEW_REQUESTED` state will be created and returned in the response. The publisher may review your request and respond with detailed deals in the proposal.

Method Details

accept(name, body=None, x__xgafv=None)
Accepts the proposal at the given revision number. If the revision number in the request is behind the latest from the server, an error message will be returned. This call updates the Proposal.state from `BUYER_ACCEPTANCE_REQUESTED` to `FINALIZED`; it has no side effect if the Proposal.state is already `FINALIZED` and throws exception if the Proposal.state is not either `BUYER_ACCEPTANCE_REQUESTED` or `FINALIZED`. Accepting a proposal means the buyer understands and accepts the Proposal.terms_and_conditions proposed by the seller.

Args:
  name: string, Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}` (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to accept a proposal. Accepting a proposal implies acceptance of the publisher terms_and_conditions, if any.
  "proposalRevision": "A String", # The last known client revision number of the proposal.
}

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

Returns:
  An object of the form:

    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.
  "billedBuyer": "A String", # 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. Format : `buyers/{buyerAccountId}`
  "buyer": "A String", # Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`
  "buyerContacts": [ # Contact information for the buyer.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal or deal. # Buyer private data (hidden from seller).
    "referenceId": "A String", # A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
  },
  "client": "A String", # Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
  "dealType": "A String", # Output only. Type of deal the proposal contains.
  "displayName": "A String", # Output only. The descriptive name for the proposal. 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 proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal was previously finalized and is now being renegotiated.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "name": "A String", # Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}
  "notes": [ # A list of notes from the buyer and the seller attached to this proposal.
    { # A text note attached to the proposal to facilitate the communication between buyers and sellers.
      "createTime": "A String", # Output only. When this note was created.
      "creatorRole": "A String", # Output only. The role who created the note.
      "note": "A String", # The text of the note. Maximum length is 1024 characters.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "pausingConsented": True or False, # Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.
  "proposalRevision": "A String", # Output only. The revision number for the proposal. Each update to the proposal or 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.
  "publisherProfile": "A String", # Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
  "sellerContacts": [ # Output only. Contact information for the seller.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "state": "A String", # Output only. Indicates the state of the proposal.
  "termsAndConditions": "A String", # Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
addNote(proposal, body=None, x__xgafv=None)
Creates a note for this proposal and sends to the seller.

Args:
  proposal: string, Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}` (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to add a note.
  "note": { # A text note attached to the proposal to facilitate the communication between buyers and sellers. # The note to add.
    "createTime": "A String", # Output only. When this note was created.
    "creatorRole": "A String", # Output only. The role who created the note.
    "note": "A String", # The text of the note. Maximum length is 1024 characters.
  },
}

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

Returns:
  An object of the form:

    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.
  "billedBuyer": "A String", # 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. Format : `buyers/{buyerAccountId}`
  "buyer": "A String", # Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`
  "buyerContacts": [ # Contact information for the buyer.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal or deal. # Buyer private data (hidden from seller).
    "referenceId": "A String", # A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
  },
  "client": "A String", # Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
  "dealType": "A String", # Output only. Type of deal the proposal contains.
  "displayName": "A String", # Output only. The descriptive name for the proposal. 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 proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal was previously finalized and is now being renegotiated.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "name": "A String", # Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}
  "notes": [ # A list of notes from the buyer and the seller attached to this proposal.
    { # A text note attached to the proposal to facilitate the communication between buyers and sellers.
      "createTime": "A String", # Output only. When this note was created.
      "creatorRole": "A String", # Output only. The role who created the note.
      "note": "A String", # The text of the note. Maximum length is 1024 characters.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "pausingConsented": True or False, # Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.
  "proposalRevision": "A String", # Output only. The revision number for the proposal. Each update to the proposal or 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.
  "publisherProfile": "A String", # Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
  "sellerContacts": [ # Output only. Contact information for the seller.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "state": "A String", # Output only. Indicates the state of the proposal.
  "termsAndConditions": "A String", # Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
cancelNegotiation(proposal, body=None, x__xgafv=None)
Cancels an ongoing negotiation on a proposal. This does not cancel or end serving for the deals if the proposal has been finalized. If the proposal has not been finalized before, calling this method will set the Proposal.state to `TERMINATED` and increment the Proposal.proposal_revision. If the proposal has been finalized before and is under renegotiation now, calling this method will reset the Proposal.state to `FINALIZED` and increment the Proposal.proposal_revision. This method does not support private auction proposals whose Proposal.deal_type is 'PRIVATE_AUCTION'.

Args:
  proposal: string, Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}` (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to cancel an ongoing negotiation.
}

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

Returns:
  An object of the form:

    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.
  "billedBuyer": "A String", # 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. Format : `buyers/{buyerAccountId}`
  "buyer": "A String", # Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`
  "buyerContacts": [ # Contact information for the buyer.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal or deal. # Buyer private data (hidden from seller).
    "referenceId": "A String", # A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
  },
  "client": "A String", # Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
  "dealType": "A String", # Output only. Type of deal the proposal contains.
  "displayName": "A String", # Output only. The descriptive name for the proposal. 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 proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal was previously finalized and is now being renegotiated.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "name": "A String", # Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}
  "notes": [ # A list of notes from the buyer and the seller attached to this proposal.
    { # A text note attached to the proposal to facilitate the communication between buyers and sellers.
      "createTime": "A String", # Output only. When this note was created.
      "creatorRole": "A String", # Output only. The role who created the note.
      "note": "A String", # The text of the note. Maximum length is 1024 characters.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "pausingConsented": True or False, # Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.
  "proposalRevision": "A String", # Output only. The revision number for the proposal. Each update to the proposal or 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.
  "publisherProfile": "A String", # Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
  "sellerContacts": [ # Output only. Contact information for the seller.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "state": "A String", # Output only. Indicates the state of the proposal.
  "termsAndConditions": "A String", # Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
close()
Close httplib2 connections.
get(name, x__xgafv=None)
Gets a proposal using its name. The proposal is returned at most recent revision. revision.

Args:
  name: string, Required. Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.
  "billedBuyer": "A String", # 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. Format : `buyers/{buyerAccountId}`
  "buyer": "A String", # Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`
  "buyerContacts": [ # Contact information for the buyer.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal or deal. # Buyer private data (hidden from seller).
    "referenceId": "A String", # A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
  },
  "client": "A String", # Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
  "dealType": "A String", # Output only. Type of deal the proposal contains.
  "displayName": "A String", # Output only. The descriptive name for the proposal. 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 proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal was previously finalized and is now being renegotiated.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "name": "A String", # Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}
  "notes": [ # A list of notes from the buyer and the seller attached to this proposal.
    { # A text note attached to the proposal to facilitate the communication between buyers and sellers.
      "createTime": "A String", # Output only. When this note was created.
      "creatorRole": "A String", # Output only. The role who created the note.
      "note": "A String", # The text of the note. Maximum length is 1024 characters.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "pausingConsented": True or False, # Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.
  "proposalRevision": "A String", # Output only. The revision number for the proposal. Each update to the proposal or 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.
  "publisherProfile": "A String", # Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
  "sellerContacts": [ # Output only. Contact information for the seller.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "state": "A String", # Output only. Indicates the state of the proposal.
  "termsAndConditions": "A String", # Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists proposals. A filter expression (list filter syntax) may be specified to filter the results. This will not list finalized versions of proposals that are being renegotiated; to retrieve these use the finalizedProposals resource.

Args:
  parent: string, Required. Parent that owns the collection of proposals Format: `buyers/{accountId}` (required)
  filter: string, Optional query string using the [Cloud API list filtering syntax](https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) Supported columns for filtering are: * displayName * dealType * updateTime * state
  pageSize: integer, Requested page size. The server may return fewer results than requested. If unspecified, the server will put a size of 500.
  pageToken: string, The page token as returned from ListProposalsResponse.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for listing proposals.
  "nextPageToken": "A String", # Continuation token for fetching the next page of results.
  "proposals": [ # The list of proposals.
    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.
      "billedBuyer": "A String", # 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. Format : `buyers/{buyerAccountId}`
      "buyer": "A String", # Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`
      "buyerContacts": [ # Contact information for the buyer.
        { # Contains information on how a buyer or seller can be reached.
          "displayName": "A String", # The display_name of the contact.
          "email": "A String", # Email address for the contact.
        },
      ],
      "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal or deal. # Buyer private data (hidden from seller).
        "referenceId": "A String", # A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
      },
      "client": "A String", # Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
      "dealType": "A String", # Output only. Type of deal the proposal contains.
      "displayName": "A String", # Output only. The descriptive name for the proposal. 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 proposal.
      "isRenegotiating": True or False, # Output only. True if the proposal was previously finalized and is now being renegotiated.
      "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
      "name": "A String", # Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}
      "notes": [ # A list of notes from the buyer and the seller attached to this proposal.
        { # A text note attached to the proposal to facilitate the communication between buyers and sellers.
          "createTime": "A String", # Output only. When this note was created.
          "creatorRole": "A String", # Output only. The role who created the note.
          "note": "A String", # The text of the note. Maximum length is 1024 characters.
        },
      ],
      "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
      "pausingConsented": True or False, # Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.
      "proposalRevision": "A String", # Output only. The revision number for the proposal. Each update to the proposal or 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.
      "publisherProfile": "A String", # Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
      "sellerContacts": [ # Output only. Contact information for the seller.
        { # Contains information on how a buyer or seller can be reached.
          "displayName": "A String", # The display_name of the contact.
          "email": "A String", # Email address for the contact.
        },
      ],
      "state": "A String", # Output only. Indicates the state of the proposal.
      "termsAndConditions": "A String", # Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.
      "updateTime": "A String", # Output only. The time when the proposal was last revised.
    },
  ],
}
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates the proposal at the given revision number. If the revision number in the request is behind the latest from the server, an error message will be returned. See FieldMask for how to use FieldMask. Only fields specified in the UpdateProposalRequest.update_mask will be updated; Fields noted as 'Immutable' or 'Output only' yet specified in the UpdateProposalRequest.update_mask will be ignored and left unchanged. Updating a private auction proposal is not allowed and will result in an error.

Args:
  name: string, Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId} (required)
  body: object, The request body.
    The object takes the form of:

{ # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.
  "billedBuyer": "A String", # 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. Format : `buyers/{buyerAccountId}`
  "buyer": "A String", # Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`
  "buyerContacts": [ # Contact information for the buyer.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal or deal. # Buyer private data (hidden from seller).
    "referenceId": "A String", # A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
  },
  "client": "A String", # Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
  "dealType": "A String", # Output only. Type of deal the proposal contains.
  "displayName": "A String", # Output only. The descriptive name for the proposal. 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 proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal was previously finalized and is now being renegotiated.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "name": "A String", # Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}
  "notes": [ # A list of notes from the buyer and the seller attached to this proposal.
    { # A text note attached to the proposal to facilitate the communication between buyers and sellers.
      "createTime": "A String", # Output only. When this note was created.
      "creatorRole": "A String", # Output only. The role who created the note.
      "note": "A String", # The text of the note. Maximum length is 1024 characters.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "pausingConsented": True or False, # Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.
  "proposalRevision": "A String", # Output only. The revision number for the proposal. Each update to the proposal or 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.
  "publisherProfile": "A String", # Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
  "sellerContacts": [ # Output only. Contact information for the seller.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "state": "A String", # Output only. Indicates the state of the proposal.
  "termsAndConditions": "A String", # Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}

  updateMask: 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, e.g. 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.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.
  "billedBuyer": "A String", # 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. Format : `buyers/{buyerAccountId}`
  "buyer": "A String", # Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`
  "buyerContacts": [ # Contact information for the buyer.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal or deal. # Buyer private data (hidden from seller).
    "referenceId": "A String", # A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
  },
  "client": "A String", # Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
  "dealType": "A String", # Output only. Type of deal the proposal contains.
  "displayName": "A String", # Output only. The descriptive name for the proposal. 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 proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal was previously finalized and is now being renegotiated.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "name": "A String", # Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}
  "notes": [ # A list of notes from the buyer and the seller attached to this proposal.
    { # A text note attached to the proposal to facilitate the communication between buyers and sellers.
      "createTime": "A String", # Output only. When this note was created.
      "creatorRole": "A String", # Output only. The role who created the note.
      "note": "A String", # The text of the note. Maximum length is 1024 characters.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "pausingConsented": True or False, # Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.
  "proposalRevision": "A String", # Output only. The revision number for the proposal. Each update to the proposal or 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.
  "publisherProfile": "A String", # Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
  "sellerContacts": [ # Output only. Contact information for the seller.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "state": "A String", # Output only. Indicates the state of the proposal.
  "termsAndConditions": "A String", # Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
sendRfp(buyer, body=None, x__xgafv=None)
Sends a request for proposal (RFP) to a publisher to initiate the negotiation regarding certain inventory. In the RFP, buyers can specify the deal type, deal terms, start and end dates, targeting, and a message to the publisher. Once the RFP is sent, a proposal in `SELLER_REVIEW_REQUESTED` state will be created and returned in the response. The publisher may review your request and respond with detailed deals in the proposal.

Args:
  buyer: string, Required. The current buyer who is sending the RFP in the format: `buyers/{accountId}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to send an RFP. All fields in this request are proposed to publisher and subject to changes by publisher during later negotiation.
  "buyerContacts": [ # Contact information for the buyer.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "client": "A String", # If the current buyer is sending the RFP on behalf of its client, use this field to specify the name of the client in the format: `buyers/{accountId}/clients/{clientAccountid}`.
  "displayName": "A String", # Required. The display name of the proposal being created by this RFP.
  "estimatedGrossSpend": { # Represents an amount of money with its currency type. # Specified by buyers in request for proposal (RFP) to notify publisher the total estimated spend for the proposal. Publishers will receive this information and send back proposed deals accordingly.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "flightEndTime": "A String", # Required. Proposed flight end time of the RFP. A timestamp in RFC3339 UTC "Zulu" format. Note that the specified value will be truncated to a granularity of one second.
  "flightStartTime": "A String", # Required. Proposed flight start time of the RFP. A timestamp in RFC3339 UTC "Zulu" format. Note that the specified value will be truncated to a granularity of one second.
  "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax. # Geo criteria IDs to be targeted. Refer to Geo tables.
    "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
      "A String",
    ],
    "targetedCriteriaIds": [ # A list of numeric IDs to be included.
      "A String",
    ],
  },
  "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on a bid request. # Inventory sizes to be targeted.
    "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
      { # Represents size of a single ad slot, or a creative.
        "height": "A String", # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
        "type": "A String", # The type of the ad slot size.
        "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
      },
    ],
    "targetedInventorySizes": [ # A list of inventory sizes to be included.
      { # Represents size of a single ad slot, or a creative.
        "height": "A String", # The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
        "type": "A String", # The type of the ad slot size.
        "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
      },
    ],
  },
  "note": "A String", # A message that is sent to the publisher. Maximum length is 1024 characters.
  "preferredDealTerms": { # Pricing terms for Preferred Deals. # The terms for preferred deals.
    "fixedPrice": { # Represents a price and a pricing type for a deal. # Fixed price for the deal.
      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "type": "A String", # The pricing type for the deal.
    },
  },
  "programmaticGuaranteedTerms": { # Pricing terms for Programmatic Guaranteed Deals. # The terms for programmatic guaranteed deals.
    "fixedPrice": { # Represents a price and a pricing type for a deal. # Fixed price for the deal.
      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "type": "A String", # The pricing type for the deal.
    },
    "guaranteedLooks": "A String", # Count of guaranteed looks.
    "impressionCap": "A String", # The lifetime impression cap for CPM Sponsorship deals. Deal will stop serving when cap is reached.
    "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
    "percentShareOfVoice": "A String", # 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.
    "reservationType": "A String", # 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.
  },
  "publisherProfile": "A String", # Required. The profile of the publisher who will receive this RFP in the format: `buyers/{accountId}/publisherProfiles/{publisherProfileId}`.
}

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

Returns:
  An object of the form:

    { # Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.
  "billedBuyer": "A String", # 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. Format : `buyers/{buyerAccountId}`
  "buyer": "A String", # Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`
  "buyerContacts": [ # Contact information for the buyer.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal or deal. # Buyer private data (hidden from seller).
    "referenceId": "A String", # A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).
  },
  "client": "A String", # Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
  "dealType": "A String", # Output only. Type of deal the proposal contains.
  "displayName": "A String", # Output only. The descriptive name for the proposal. 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 proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal was previously finalized and is now being renegotiated.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "name": "A String", # Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}
  "notes": [ # A list of notes from the buyer and the seller attached to this proposal.
    { # A text note attached to the proposal to facilitate the communication between buyers and sellers.
      "createTime": "A String", # Output only. When this note was created.
      "creatorRole": "A String", # Output only. The role who created the note.
      "note": "A String", # The text of the note. Maximum length is 1024 characters.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "pausingConsented": True or False, # Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.
  "proposalRevision": "A String", # Output only. The revision number for the proposal. Each update to the proposal or 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.
  "publisherProfile": "A String", # Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.
  "sellerContacts": [ # Output only. Contact information for the seller.
    { # Contains information on how a buyer or seller can be reached.
      "displayName": "A String", # The display_name of the contact.
      "email": "A String", # Email address for the contact.
    },
  ],
  "state": "A String", # Output only. Indicates the state of the proposal.
  "termsAndConditions": "A String", # Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}