我正在使用https://github.com/BingAds/BingAds-PHP-SDK向Bing发送离线转化数据。我成功地能够使用OATH连接和调用不同的服务。但是当我尝试发送离线转换请求时,我失败了。 Bing SOAP请求的离线转换请求示例https://msdn.microsoft.com/en-us/library/bing-ads-campaign-management-applyofflineconversions.aspx
现在,我需要你们的帮助,如果我想发送ApplyOfflineConversionsRequest,我应该使用 SoapVar ,然后使用CampaignManagement ApplyOfflineConversions ?我问这个是因为我对Bing API v11并不是很了解。
经过适当的OATH过程
//Setting the account id as CustomerAccountId in the header element as per Bing API Doc
$GLOBALS['AuthorizationData']->AccountId = $obj->Id;
//send offline conversion
$offline = new OfflineConversion();
$offline->ConversionCurrencyCode = 'USD';
$offline->ConversionName = 'OfflineConversionSellOfRentals';
$offline->ConversionTime = date('Y-m-d\TH:i:s', strtotime('-7 days'));
$offline->ConversionValue = 2.5;
$offline->MicrosoftClickId = '8349a6501442491186ce602ca56881fe';
$offline_response = new SoapVar($offline, SOAP_ENC_OBJECT, 'OfflineConversion', $GLOBALS['CampaignProxy']->GetNamespace());
$request[] = $offline_response;
$offline_response = CampaignManagementHelper::ApplyOfflineConversions($request);
print_r($offline_response);
我在CampaignManagementHelper.php文件中创建了一个静态方法,因为我没有在Bing API SDK上找到任何AddOfflineConversion方法的实现。
static function AddOfflineConversion($offline){
$GLOBALS['Proxy'] = $GLOBALS['CampaignProxy'];
$request = new ApplyOfflineConversionsRequest();
$request->OfflineConversions[] = $offline;
return $GLOBALS['CampaignProxy']->GetService()->ApplyOfflineConversions($request);
}
我可以导入离线CSV转化,这意味着我的UET标记和转换目标已启用。
我很难过,因为我没有得到任何有关如何请求离线转化请求的示例。
来自Bing API调用的响应:
stdClass Object
(
[PartialErrors] => stdClass Object
(
)
)