Hello,
We are migrating the Adwords library from the old library to the new
one and we have an issue adding consolidated billing to a managed
client. Everything seems the same,
the request objects are identical as data, but differ a bit as
structure. I am pasting the request SOAP object made by the new PHP
library (the sensitive data is hidden since
this is a public channel):
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201802" xmlns:ns2="https://adwords.google.com/api/adwords/billing/v201802">
SOAP-ENV:Header
ns2:RequestHeader
ns1:clientCustomerIdxxxx</ns1:clientCustomerId>
ns1:developerTokenxxxx</ns1:developerToken>
ns1:userAgentRankingcoach Adwords (AwApi-PHP, googleads-php-lib/33.1.0, PHP/5.5.9-1ubuntu4.22)</ns1:userAgent>
ns1:validateOnlyfalse</ns1:validateOnly>
ns1:partialFailurefalse</ns1:partialFailure>
</ns2:RequestHeader>
</SOAP-ENV:Header>
SOAP-ENV:Body
ns2:mutate
ns2:operations
ns1:operatorADD</ns1:operator>
ns2:operand
ns2:billingAccountIdxxxx</ns2:billingAccountId>
ns2:billingAccountNamexxxx</ns2:billingAccountName>
ns2:poNumberxxxx</ns2:poNumber>
ns2:budgetOrderNamexxxx</ns2:budgetOrderName>
ns2:primaryBillingIdxxxx</ns2:primaryBillingId>
ns2:spendingLimit
ns1:microAmount500000000</ns1:microAmount>
</ns2:spendingLimit>
ns2:startDateTime20180326 202251 Europe/Berlin</ns2:startDateTime>
ns2:endDateTime20200110 000000 Europe/Berlin</ns2:endDateTime>
</ns2:operand>
</ns2:operations>
</ns2:mutate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The response:
Array
(
[status] => error
[msg] => Google\AdsApi\AdWords\v201802\billing\BudgetOrderService Error
[0] => Array
(
[masg] => BudgetOrderError.INVALID_BILLING_ACCOUNT
[field_path] => operations[0].operand
)
)
Could you please give us some ideas what is wrong here?