Note: Version v201811 will be sunset soon. All users of those versions must migrate to a newer one.

ProposalService (v201902)

Provides methods for adding, updating and retrieving Proposal objects.


Production WSDL
https://ads.google.com/apis/ads/publisher/v201902/ProposalService?wsdl
Namespace
https://www.google.com/apis/ads/publisher/v201902
Operations
Errors

createProposals

Creates new Proposal objects. For each proposal, the following fields are required:

Parameters

Field Type Description
proposals Proposal[] the proposals to create

Response

Field Type Description
rval Proposal[] the created proposals with their IDs filled in

getMarketplaceCommentsByStatement

Gets a MarketplaceCommentPage of MarketplaceComment objects that satisfy the given Statement.query. This method only returns comments already sent to Marketplace, local draft ProposalMarketplaceInfo.marketplaceComment are not included. The following fields are supported for filtering:

PQL Property Object Property
proposalId MarketplaceComment.proposalId
The query must specify a proposalId, and only supports a subset of PQL syntax:
[WHERE <condition> {AND <condition> ...}]
[ORDER BY <property> [ASC | DESC]]
[LIMIT {[<offset>,] <count>} | {<count> OFFSET <offset>}]

<condition>
     := <property> = <value>
<condition> := <property> IN <list>
Only supports ORDER BY MarketplaceComment.creationTime.

Parameters

Field Type Description
filterStatement Statement a Publisher Query Language statement used to filter a set of marketplace comments

Response

Field Type Description
rval MarketplaceCommentPage the marketplace comments that match the given filter

getProposalsByStatement

Gets a ProposalPage of Proposal objects that satisfy the given Statement.query. The following fields are supported for filtering:

PQL Property Object Property
id Proposal.id
dfpOrderId Proposal.dfpOrderId
name Proposal.name
status Proposal.status
isArchived Proposal.isArchived
approvalStatus
Only applicable for proposals using sales management
Proposal.approvalStatus
lastModifiedDateTime Proposal.lastModifiedDateTime
thirdPartyAdServerId
Only applicable for non-programmatic proposals using sales management
Proposal.thirdPartyAdServerId
customThirdPartyAdServerName
Only applicable for non-programmatic proposals using sales management
Proposal.customThirdPartyAdServerName
hasOfflineErrors Proposal.hasOfflineErrors
isProgrammatic Proposal.isProgrammatic
negotiationStatus
Only applicable for programmatic proposals
ProposalMarketplaceInfo.negotiationStatus

Parameters

Field Type Description
filterStatement Statement a Publisher Query Language statement used to filter a set of proposals

Response

Field Type Description
rval ProposalPage the proposals that match the given filter

performProposalAction

Performs actions on Proposal objects that match the given Statement.query. The following fields are also required when submitting proposals for approval:

Parameters

Field Type Description
proposalAction
  1. ProposalAction
    1. ArchiveProposals
    2. BypassProposalWorkflowRules
    3. CancelRetractionForProposals
    4. DiscardLocalVersionEdits
    5. EditProposalsForNegotiation
    6. RequestBuyerAcceptance
    7. RequestBuyerReview
    8. ReserveProposals
    9. RetractProposals
    10. SubmitProposalsForApprovalB...
    11. SubmitProposalsForApproval
    12. SubmitProposalsForArchival
    13. TerminateNegotiations
    14. UnarchiveProposals
    15. UpdateOrderWithSellerData
the action to perform
filterStatement Statement a Publisher Query Language statement used to filter a set of proposals

Response

Field Type Description
rval UpdateResult the result of the action performed

updateProposals

Updates the specified Proposal objects.

Parameters

Field Type Description
proposals Proposal[] the proposals to update

Response

Field Type Description
rval Proposal[] the updated proposals

Errors

Error Reasons
ApiVersionError Errors related to the usage of API versions.
Enumerations
UPDATE_TO_NEWER_VERSION
Indicates that the operation is not allowed in the version the request was made in.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
AudienceSegmentError Errors that could occur on audience segment related requests.
Enumerations
FIRST_PARTY_AUDIENCE_SEGMENT_NOT_SUPPORTED
First party audience segment is not supported.
ONLY_RULE_BASED_FIRST_PARTY_AUDIENCE_SEGMENTS_CAN_BE_CREATED
Only rule-based first-party audience segments can be created.
AUDIENCE_SEGMENT_ID_NOT_FOUND
Audience segment for the given id is not found.
INVALID_AUDIENCE_SEGMENT_RULE
Audience segment rule is invalid.
AUDIENCE_SEGMENT_RULE_TOO_LONG
Audience segment rule contains too many ad units and/or custom criteria.
INVALID_AUDIENCE_SEGMENT_NAME
Audience segment name is invalid.
DUPLICATE_AUDIENCE_SEGMENT_NAME
Audience segment with this name already exists.
INVALID_AUDIENCE_SEGMENT_DESCRIPTION
Audience segment description is invalid.
INVALID_AUDIENCE_SEGMENT_PAGEVIEWS
Audience segment pageviews value is invalid. It must be between 1 and 12.
INVALID_AUDIENCE_SEGMENT_RECENCY
Audience segment recency value is invalid. It must be between 1 and 90 if pageviews > 1.
INVALID_AUDIENCE_SEGMENT_MEMBERSHIP_EXPIRATION
Audience segment membership expiration value is invalid. It must be between 1 and 180.
INVALID_AUDIENCE_SEGMENT_CUSTOM_KEY_NAME
The given custom key cannot be part of audience segment rule due to unsupported characters.
INVALID_AUDIENCE_SEGMENT_CUSTOM_VALUE_NAME
The given custom value cannot be part of audience segment rule due to unsupported characters.
INVALID_AUDIENCE_SEGMENT_CUSTOM_VALUE_MATCH_TYPE
Broad-match custom value cannot be part of audience segment rule.
INVALID_NESTED_FIRST_PARTY_AUDIENCE_SEGMENT
Audience segment rule cannot contain itself.
INVALID_NESTED_THIRD_PARTY_AUDIENCE_SEGMENT
Audience segment rule cannot contain a nested third-party segment.
INACTIVE_NESTED_AUDIENCE_SEGMENT
Audience segment rule cannot contain a nested inactive segment.
AUDIENCE_SEGMENT_GLOBAL_LICENSE_ERROR
An error occured when purchasing global licenses.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
AuthenticationError An error for an exception that occurred when authenticating.
Enumerations
AMBIGUOUS_SOAP_REQUEST_HEADER
The SOAP message contains a request header with an ambiguous definition of the authentication header fields. This means either the authToken and oAuthToken fields were both null or both were specified. Exactly one value should be specified with each request.
INVALID_EMAIL
The login provided is invalid.
AUTHENTICATION_FAILED
Tried to authenticate with provided information, but failed.
INVALID_OAUTH_SIGNATURE
The OAuth provided is invalid.
INVALID_SERVICE
The specified service to use was not recognized.
MISSING_SOAP_REQUEST_HEADER
The SOAP message is missing a request header with an authToken and optional networkCode.
MISSING_AUTHENTICATION_HTTP_HEADER
The HTTP request is missing a request header with an authToken
MISSING_AUTHENTICATION
The request is missing an authToken
NOT_WHITELISTED_FOR_API_ACCESS
The customer is not whitelisted for API access.
NO_NETWORKS_TO_ACCESS
The user is not associated with any network.
NETWORK_NOT_FOUND
No network for the given networkCode was found.
NETWORK_CODE_REQUIRED
The user has access to more than one network, but did not provide a networkCode.
CONNECTION_ERROR
An error happened on the server side during connection to authentication service.
GOOGLE_ACCOUNT_ALREADY_ASSOCIATED_WITH_NETWORK
The user tried to create a test network using an account that already is associated with a network.
UNDER_INVESTIGATION
The account is blocked and under investigation by the collections team. Please contact Google for more information.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
AvailableBillingError Lists all errors associated with the availability of billing settings based on proposal network settings.
Enumerations
BILLING_SOURCE_IS_NOT_AVAILABLE
The billing source provided is not available in proposal network settings.
BILLING_SCHEDULE_IS_NOT_AVAILABLE
The billing schedule provided is not available in proposal network settings.
BILLING_CAP_IS_NOT_AVAILABLE
The billing cap provided is not available in proposal network settings.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
BillingError Lists all errors associated with the billing settings of a proposal or proposal line item.
Enumerations
UNSUPPORTED_BILLING_SCHEDULE
Found unsupported billing schedule.
UNSUPPORTED_BILLING_CAP
Found unsupported billing cap.
MISSING_BILLING_SOURCE
Billing source is missing when either billing scheule or billing cap is provided.
MISSING_BILLING_SCHEDULE
Billing schedule is missing when the provided billing source is CONSTRACTED.
MISSING_BILLING_CAP
Billing cap is missing when the provided billing source is not CONSTRACTED.
INVALID_BILLING_SOURCE_FOR_OFFLINE
The billing source is invalid for offline proposal line item.
UPDATE_BILLING_NOT_ALLOWED
Billing settings cannot be updated once the proposal has been approved.
MISSING_BILLING_BASE
Billing base is missing when the provided billing source is CONTRACTED.
INVALID_BILLING_BASE
The billing base is invalid for the provided billing source.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
CollectionSizeError Error for the size of the collection being too large
Enumerations
TOO_LARGE
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
CommonError A place for common errors that can be used across services.
Enumerations
NOT_FOUND
Indicates that an attempt was made to retrieve an entity that does not exist.
ALREADY_EXISTS
Indicates that an attempt was made to create an entity that already exists.
NOT_APPLICABLE
Indicates that a value is not applicable for given use case.
DUPLICATE_OBJECT
Indicates that two elements in the collection were identical.
CANNOT_UPDATE
Indicates that an attempt was made to change an immutable field.
CONCURRENT_MODIFICATION
Indicates that another request attempted to update the same data in the same network at about the same time. Please wait and try the request again.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
CustomFieldValueError Errors specific to editing custom field values
Enumerations
CUSTOM_FIELD_NOT_FOUND
An attempt was made to modify or create a CustomFieldValue for a CustomField that does not exist.
CUSTOM_FIELD_INACTIVE
An attempt was made to create a new value for a custom field that is inactive.
CUSTOM_FIELD_OPTION_NOT_FOUND
An attempt was made to modify or create a CustomFieldValue corresponding to a CustomFieldOption that could not be found.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
DealError Errors associated with creating or updating programmatic proposals.
Enumerations
CANNOT_ADD_LINE_ITEM_WHEN_SOLD
Cannot add new proposal line items to a Proposal when Proposal.isSold is true.
CANNOT_ARCHIVE_LINE_ITEM_WHEN_SOLD
Cannot archive proposal line items from a Proposal when Proposal.isSold is true.
CANNOT_ARCHIVE_PROPOSAL_WHEN_SOLD
Cannot archive a Proposal when Proposal.isSold is true.
CANNOT_CHANGE_FIELD_REQUIRING_BUYER_APPROVAL
Cannot change a field that requires buyer approval during the current operation.
CANNOT_GET_SELLER_ID
Cannot find seller ID for the Proposal.
CAN_ONLY_EXECUTE_IF_LOCAL_EDITS
Proposal must be marked as editable by EditProposalsForNegotiation before performing requested action.
MISSING_PROPOSAL_LINE_ITEMS
Proposal contains no proposal line items.
MISSING_ENVIRONMENT
No environment set for Proposal.
MISSING_AD_EXCHANGE_PROPERTY
The Ad Exchange property is not associated with the current network.
CANNOT_FIND_PROPOSAL_IN_MARKETPLACE
Cannot find Proposal in Marketplace.
CANNOT_GET_PRODUCT
No Product exists for buyer-initiated programmatic proposals.
NEW_VERSION_FROM_BUYER
A new version of the Proposal was sent from buyer, cannot execute the requested action before performing DiscardLocalVersionEdits.
PROPOSAL_OUT_OF_SYNC_WITH_MARKETPLACE
A new version of the Proposal exists in Marketplace, cannot execute the requested action before the proposal is synced to newest revision.
NO_PROPOSAL_CHANGES_FOUND
No Proposal changes were found.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
EntityChildrenLimitReachedError Lists errors relating to having too many children on an entity.
Enumerations
LINE_ITEM_LIMIT_FOR_ORDER_REACHED
The number of line items on the order exceeds the max number of line items allowed per order in the network.
CREATIVE_ASSOCIATION_LIMIT_FOR_LINE_ITEM_REACHED
The number of creatives associated with the line item exceeds the max number of creatives allowed to be associated with a line item in the network.
AD_UNIT_LIMIT_FOR_PLACEMENT_REACHED
The number of ad units on the placement exceeds the max number of ad units allowed per placement in the network.
TARGETING_EXPRESSION_LIMIT_FOR_LINE_ITEM_REACHED
The number of targeting expressions on the line item exceeds the max number of targeting expressions allowed per line item in the network.
CUSTOM_TARGETING_VALUES_FOR_KEY_LIMIT_REACHED
The number of custom targeting values for the free-form or predefined custom targeting key exceeds the max number allowed.
TARGETING_EXPRESSION_LIMIT_FOR_CREATIVES_ON_LINE_ITEM_REACHED
The total number of targeting expressions on the creatives for the line item exceeds the max number allowed per line item in the network.
ATTACHMENT_LIMIT_FOR_PROPOSAL_REACHED
The number of attachments added to the proposal exceeds the max number allowed per proposal in the network.
PROPOSAL_LINE_ITEM_LIMIT_FOR_PROPOSAL_REACHED
The number of proposal line items on the proposal exceeds the max number allowed per proposal in the network.
PRODUCT_LIMIT_FOR_PRODUCT_PACKAGE_REACHED
The number of product package items on the product package exceeds the max number allowed per product package in the network.
PRODUCT_TEMPLATE_AND_PRODUCT_BASE_RATE_LIMIT_FOR_RATE_CARD_REACHED
The number of product template and product base rates on the rate card (including excluded product base rates) exceeds the max number allowed per rate card in the network.
PRODUCT_PACKAGE_ITEM_BASE_RATE_LIMIT_FOR_RATE_CARD_REACHED
The number of product package item base rates on the rate card exceeds the max number allowed per rate card in the network.
PREMIUM_LIMIT_FOR_RATE_CARD_REACHED
The number of premiums of the rate card exceeds the max number allowed per rate card in the network.
AD_UNIT_LIMIT_FOR_AD_EXCLUSION_RULE_TARGETING_REACHED
The number of ad units on AdExclusionRule.inventoryTargeting exceeds the max number of ad units allowed per ad exclusion rule inventory targeting in the network.
NATIVE_STYLE_LIMIT_FOR_NATIVE_AD_FORMAT_REACHED
The number of native styles under the native creative template exceeds the max number of native styles allowed per native creative template in the network.
TARGETING_EXPRESSION_LIMIT_FOR_PRESENTATION_ASSIGNMENT_REACHED
The number of targeting expressions on the native style exceeds the max number of targeting expressions allowed per native style in the network.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
EntityLimitReachedError An error that occurs when creating an entity if the limit on the number of allowed entities for a network has already been reached.
Enumerations
CUSTOM_TARGETING_VALUES_LIMIT_REACHED
The number of custom targeting values exceeds the max number allowed in the network.
AD_EXCLUSION_RULES_LIMIT_REACHED
The number of ad exclusion rules exceeds the max number allowed in the network.
FIRST_PARTY_AUDIENCE_SEGMENTS_LIMIT_REACHED
The number of first party audience segments exceeds the max number allowed in the network.
PLACEMENTS_LIMIT_REACHED
The number of active placements exceeds the max number allowed in the network.
LINE_ITEMS_LIMIT_REACHED
The number of line items excceeds the max number allowed in the network.
ACTIVE_LINE_ITEMS_LIMIT_REACHED
The number of active line items exceeds the max number allowed in the network.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
ExchangeRateError Lists all errors associated with ExchangeRate objects.
Enumerations
INVALID_CURRENCY_CODE
The currency code is invalid and does not follow ISO 4217.
UNSUPPORTED_CURRENCY_CODE
The currency code is not supported.
CURRENCY_CODE_ALREADY_EXISTS
The currency code already exists. When creating an exchange rate, its currency should not be associated with any existing exchange rate. When creating a list of exchange rates, there should not be two exchange rates associated with same currency.
INVALID_EXCHANGE_RATE
The exchange rate value is invalid. When the ExchangeRate.refreshRate is ExchangeRateRefreshRate.FIXED, the ExchangeRate.exchangeRate should be larger than 0. Otherwise it is invalid.
EXCHANGE_RATE_NOT_FOUND
The exchange rate value is not found. When the ExchangeRate.refreshRate is ExchangeRateRefreshRate.DAILY or ExchangeRateRefreshRate.MONTHLY, the ExchangeRate.exchangeRate should be assigned by Google. It is not found if Google cannot find such an exchange rate.
CANNOT_DELETE_EXCHANGE_RATE_WITH_ACTIVE_RATE_CARDS
The exchange rate cannot be deleted as it is still being used by active rate cards.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
FeatureError Errors related to feature management. If you attempt using a feature that is not available to the current network you'll receive a FeatureError with the missing feature as the trigger.
Enumerations
MISSING_FEATURE
A feature is being used that is not enabled on the current network.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
ForecastError Errors that can result from a forecast request.
Enumerations
SERVER_NOT_AVAILABLE
The forecast could not be retrieved due to a server side connection problem. Please try again soon.
INTERNAL_ERROR
There was an unexpected internal error.
NO_FORECAST_YET
The forecast could not be retrieved because there is not enough forecasting data available yet. It may take up to one week before enough data is available.
NOT_ENOUGH_INVENTORY
There's not enough inventory for the requested reservation.
SUCCESS
No error from forecast.
ZERO_LENGTH_RESERVATION
The requested reservation is of zero length. No forecast is returned.
EXCEEDED_QUOTA
The number of requests made per second is too high and has exceeded the allowable limit. The recommended approach to handle this error is to wait about 5 seconds and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time.

Another way to mitigate this error is to limit requests to 2 per second. Once again this does not guarantee that every request will succeed, but may help reduce the number of times you receive this error.

UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
InternalApiError Indicates that a server-side error has occured.