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?
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?