I created a quick cheat sheet of the schema for the types and names of
parameters for each service. The error codes are at the bottom.
Note that there are some inconsistencies in the docs:
Apparently "Long", long, int and Integer are all equivalent types.
Also, Boolean and boolean are both used
float and double seem to be interchangeable as well.
IMHO, it'd be nice if they settled on long, double and boolean and
applied those consistently...
Another thing that jumps out is avgPosition is used in some places,
and averagePosition in others... little gotchas...
Also, I find this error message a bit humorous:
18 "Some sort of internal traffic estimate error occurred."
John Krystynak
===============================================
[ ENUMERATION TYPES ]
AdGroupStatus { Enabled, Paused, Deleted }
AdWordsType { SearchOnly, ContentOnly }
AggregationType {Summary, Daily, Monthly, Quarterly, Yearly }
CampaignStatus { Active, Pending (read-only), Ended (read-only),
Paused, Deleted, Suspended (read-only) }
KeywordStatus { Normal, InTrial, OnHold, Disabled, Disapproved, Deleted }
KeywordType { Broad, Phrase, Exact }
ReportJobStatus { Pending, InProgress, Completed, Failed }
CustomReportOptions {
AccountName, AdGroup, AdGroupStatus, AdWordsType,
AverageConversionValue, AveragePosition, Campaign,
CampaignEndDate, CampaignStatus, Clicks, ConversionRate,
Conversions, ConversionValuePerClick, ConversionValuePerCost,
Cost, CostPerConversion, CostPerTransaction, Cpc,
CreativeDestinationUrl, CreativeStatus, Ctr, DailyBudget,
DefaultConversionCount, DefaultConversionValue,
DescriptionLine1, DescriptionLine2, DescriptionLine3,
DestinationUrl, Impressions, Keyword, KeywordDestinationUrl,
KeywordStatus, KeywordType, LeadCount, LeadValue,
MaximumCpc, PageViewCount, PageViewValue, SaleCount,
SaleValue, SignupCount, SignupValue, TotalConversionValue,
Transactions, VisibleUrl}
================================================
[ DEFINED TYPES ]
AdGroupRequest
AdGroupEstimate
KeywordRequest
KeywordEstimate
GeoTarget
LanguageTarget
===================================================
[ CreativeService ]
[ Creative ]
# adGroupId int
# deleted boolean
# description1 String
# description2 String
# destinationUrl String
# disapproved boolean
# displayUrl String
# headline int
[ KeywordService ]
[ Keyword ]
# id long
# adGroupId int
# destinationUrl String
# language String
# maxCpc long
# negative boolean
# status KeyWordStatus
# text String
# type KeywordType
[ AdGroupService ]
[ AdGroup ]
# id int
# campaignId int
# maxCpc long
# name String
# status AdGroupStatus
[ CampaignService ]
[ Campaign ]
# id int
# campaignNegativeKeywords Keyword[]
# dailyBudget long
# endDate dateTime
# geoTargeting GeoTarget
# languageTargeting LanguageTarget
# name String
# optInContentNetwork boolean
# optInSearchNetwork boolean
# startDate dateTime
# status CampaignStatus
[ LanguageTarget ]
# languages String[]
[ GeoTarget ]
# cities String[]
# countries String[]
# metros String[]
# regions String[]
[ TrafficEstimator Service ]
[ KeywordRequest ]
# id long
# maxCpc long
# negative boolean
# text String
# type KeywordType
[ KeywordEstimate ]
# id int
# avgPosition float
# cpc long
# ctr float
# impressions int
# notShownPerDay int
[ AdGroupRequest ]
# id Integer
# keywordRequests KeywordRequest[]
# maxCpc Long
[ AdGroupEstimate ]
# id int
# keywordEstimates KeywordEstimate
[ CampaignRequest ]
# id Integer
# adGroupRequests AdGroupRequest[]
# geoTargeting GeoTarget
# languageTargeting LanguageTarget
# optInContentNetwork Boolean
# optInSearchNetwork Boolean
[ CampaignEstimate ]
# id int
# adGroupEstimates AdGroupEstimate[]
[ ReportService ]
[ ReportJob (Base class)]
# aggregationType AggregationType
# endDate dateTime
# jobId long
# name String
# startDate dateTime
# status ReportJobStatus
[ KeywordReportJob ]
# adWordsType AdWordsType
# campaigns int[]
# keywordStatuses KeywordStatuses[]
# keywordType KeywordType
[ AdTextReportJob ]
# adWordsType AdWordsType
# campaigns int[]
[ URLReportJob ]
# adWordsType AdWordsType
# campaigns int[]
[ CustomReportJob ]
# adGroups int[]
# adGroupStatuses AdGroupStatus[]
# adWordsType AdWordsType
# campaigns int[]
# campaignStatuses CampaignStatus[]
# customOptions CustomerReportOption[]
# keywords String[]
# keywordStatuses KeywordStatuses[]
# keywordType KeywordType
[StatsRecord]
# id long
# averagePosition double
# clicks long
# conversionRate double
# conversions long
# cost long
# impressions long
[ErrorCodes]
0 "The client request was properly formed, but a server error
occurred while processing it."
1 "The client request did not contain an 'email' header."
2 "The client request did not contain a 'useragent' header."
3 "The client request contains mailformed headers."
4 "The client does not have permission to perform the requested operation."
5 "The client asked us to load an entity but no entity with that ID
was found."
6 "The client sent an invalid string for Ad Group status."
7 "The client sent a CPC which is outside the range of valid values."
8 "The client request did not contain a 'password' header."
9 "The client's email/password credentials are invalid."
10 "The client sent an invalid human-readable name for an entity."
12 "The client sent a request with an invalid array length."
13 "The client sent a language code that is invalid."
14 "The client supplied keyword text that was invalid. It may have had
illegal characters, was too long, or is blank."
15 "The client sent an invalid keyword type."
16 "The client sent an invalid Destination URL."
17 "The client has tried to create an entity that goes beyond the
size limits on AdWords campaigns."
18 "Some sort of internal traffic estimate error occurred."
19 "The specified language code is invalid."
20 "The specified currency code is invalid."
21 "The specified creative text violates Google policy."
22 "The Ad Group request array is null."
23 "The campaign request array is null."
24 "The keyword request array is null."
25 "The client tried to do something with a report job that is
illegal given its current status."
26 "The specified country code is invalid."
27 "The specified metro code is invalid."
28 "The specified region code is invalid."
29 "The specified geo target is invalid."
30 "The specified report job has invalid parameters."
31 "The specified report job has missing required parameters."
32 "A report job cannot be scheduled because the user has too many
jobs already running."
33 "The specified city string is invalid."
34 "The specified budget is invalid for this campaign."
35 "The specified end date is invalid for this campaign."
36 "The specified name is invalid for this campaign."
37 "The specified status change request is invalid."
38 "The specified keyword status is not valid."
39 "The specified enumeration value is not valid."
40 "A report was too large to download through the API."
41 "The client request did not contain a 'token' header."
42 "The given token is invalid."
43 "API invocation quota has been exceeded"
44 "A parameter or field was specified as null in a case where nulls
are not allowed."
45 ""A date range is not valid."