Hi,
I have just resolved an error that I have been debugging for a while, and I'm not sure it was really a fault with my code. The issue is the ordering of the "Predicates" node within the SOAP body. In scenario 1, I get a 400 INVALID REPORT DEFINITION XML, and scenario 2, I get a 200 ok with full response. Is this expected behaviour? I not using any of the AdWords libraries to generate the SOAP or request.
<reportDefinition
<selector>
<fields>CampaignId</fields>
<fields>AdGroupId</fields>
<fields>CampaignName</fields>
<fields>AdGroupName</fields>
<fields>Criteria</fields>
<fields>Status</fields>
<fields>SystemServingStatus</fields>
<fields>Impressions</fields>
<fields>Clicks</fields>
<fields>Cost</fields>
<fields>AverageCpc</fields>
<fields>Ctr</fields>
<fields>TrackingUrlTemplate</fields>
<fields>FinalMobileUrls</fields>
<fields>FinalUrls</fields>
<fields>AveragePosition</fields>
<fields>SearchImpressionShare</fields>
<fields>QualityScore</fields>
<fields>AccountCurrencyCode</fields>
<fields>AccountDescriptiveName</fields>
<dateRange>
<min>20171220</min>
<max>20171227</max>
</dateRange>
<predicates>
<field>Clicks</field>
<operator>GREATER_THAN</operator>
<values>0</values>
</predicates>
</selector>
<reportName>Report</reportName>
<reportType>KEYWORDS_PERFORMANCE_REPORT</reportType>
<dateRangeType>CUSTOM_DATE</dateRangeType>
<downloadFormat>CSV</downloadFormat>
</reportDefinition>
Scenario 2 - 200 OK
<reportDefinition
<selector>
<fields>CampaignId</fields>
<fields>AdGroupId</fields>
<fields>CampaignName</fields>
<fields>AdGroupName</fields>
<fields>Criteria</fields>
<fields>Status</fields>
<fields>SystemServingStatus</fields>
<fields>Impressions</fields>
<fields>Clicks</fields>
<fields>Cost</fields>
<fields>AverageCpc</fields>
<fields>Ctr</fields>
<fields>TrackingUrlTemplate</fields>
<fields>FinalMobileUrls</fields>
<fields>FinalUrls</fields>
<fields>AveragePosition</fields>
<fields>SearchImpressionShare</fields>
<fields>QualityScore</fields>
<fields>AccountCurrencyCode</fields>
<fields>AccountDescriptiveName</fields>
<predicates>
<field>Clicks</field>
<operator>GREATER_THAN</operator>
<values>0</values>
</predicates>
<dateRange>
<min>20171220</min>
<max>20171227</max>
</dateRange>
</selector>
<reportName>Report</reportName>
<reportType>KEYWORDS_PERFORMANCE_REPORT</reportType>
<dateRangeType>CUSTOM_DATE</dateRangeType>
<downloadFormat>CSV</downloadFormat>
</reportDefinition>