Skip to content

Commit 3f734c3

Browse files
author
Eric Urban
authored
Merge pull request #141 from BingAds/v13-0-6
V13 0 6
2 parents 7fdbb9d + 5a303a3 commit 3f734c3

File tree

77 files changed

+391
-136
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+391
-136
lines changed

samples/V13/AuthHelper.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ final class AuthHelper {
5555
const CampaignAdditionalFields =
5656
CampaignAdditionalField::AdScheduleUseSearcherTimeZone . ' ' .
5757
CampaignAdditionalField::MaxConversionValueBiddingScheme . ' ' .
58-
CampaignAdditionalField::TargetImpressionShareBiddingScheme;
58+
CampaignAdditionalField::TargetImpressionShareBiddingScheme . ' ' .
59+
CampaignAdditionalField::TargetSetting;
5960

6061
const AllTargetCampaignCriterionTypes =
6162
CampaignCriterionType::Age . ' ' .

samples/V13/BudgetOpportunities.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@
4141

4242
// Get the budget opportunities for each campaign in the current account.
4343

44+
if(count((array)$campaigns) == 0 || !isset($campaigns->Campaign))
45+
{
46+
return;
47+
}
48+
4449
foreach ($campaigns->Campaign as $campaign)
4550
{
4651
print("-----\r\nGetBudgetOpportunities:\r\n");

samples/V13/CampaignManagementExampleHelper.php

Lines changed: 81 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -882,13 +882,15 @@ static function GetAudiencesByIds(
882882

883883
return $GLOBALS['CampaignManagementProxy']->GetService()->GetAudiencesByIds($request);
884884
}
885-
static function GetBMCStoresByCustomerId()
885+
static function GetBMCStoresByCustomerId(
886+
$returnAdditionalFields)
886887
{
887888
$GLOBALS['CampaignManagementProxy']->SetAuthorizationData($GLOBALS['AuthorizationData']);
888889
$GLOBALS['Proxy'] = $GLOBALS['CampaignManagementProxy'];
889890

890891
$request = new GetBMCStoresByCustomerIdRequest();
891892

893+
$request->ReturnAdditionalFields = $returnAdditionalFields;
892894

893895
return $GLOBALS['CampaignManagementProxy']->GetService()->GetBMCStoresByCustomerId($request);
894896
}
@@ -1064,7 +1066,8 @@ static function GetGeoLocationsFileUrl(
10641066
}
10651067
static function GetImportJobsByIds(
10661068
$importJobIds,
1067-
$importType)
1069+
$importType,
1070+
$returnAdditionalFields)
10681071
{
10691072
$GLOBALS['CampaignManagementProxy']->SetAuthorizationData($GLOBALS['AuthorizationData']);
10701073
$GLOBALS['Proxy'] = $GLOBALS['CampaignManagementProxy'];
@@ -1073,13 +1076,15 @@ static function GetImportJobsByIds(
10731076

10741077
$request->ImportJobIds = $importJobIds;
10751078
$request->ImportType = $importType;
1079+
$request->ReturnAdditionalFields = $returnAdditionalFields;
10761080

10771081
return $GLOBALS['CampaignManagementProxy']->GetService()->GetImportJobsByIds($request);
10781082
}
10791083
static function GetImportResults(
10801084
$importType,
10811085
$pageInfo,
1082-
$importJobIds)
1086+
$importJobIds,
1087+
$returnAdditionalFields)
10831088
{
10841089
$GLOBALS['CampaignManagementProxy']->SetAuthorizationData($GLOBALS['AuthorizationData']);
10851090
$GLOBALS['Proxy'] = $GLOBALS['CampaignManagementProxy'];
@@ -1089,6 +1094,7 @@ static function GetImportResults(
10891094
$request->ImportType = $importType;
10901095
$request->PageInfo = $pageInfo;
10911096
$request->ImportJobIds = $importJobIds;
1097+
$request->ReturnAdditionalFields = $returnAdditionalFields;
10921098

10931099
return $GLOBALS['CampaignManagementProxy']->GetService()->GetImportResults($request);
10941100
}
@@ -2102,6 +2108,7 @@ static function OutputAdGroup($dataObject)
21022108
self::OutputStatusMessage("UrlCustomParameters:");
21032109
self::OutputCustomParameters($dataObject->UrlCustomParameters);
21042110
self::OutputStatusMessage(sprintf("AdScheduleUseSearcherTimeZone: %s", $dataObject->AdScheduleUseSearcherTimeZone));
2111+
self::OutputStatusMessage(sprintf("AdGroupType: %s", $dataObject->AdGroupType));
21052112
self::OutputStatusMessage("* * * End OutputAdGroup * * *");
21062113
}
21072114
}
@@ -3030,6 +3037,7 @@ static function OutputConversionGoal($dataObject)
30303037
self::OutputStatusMessage(sprintf("ConversionWindowInMinutes: %s", $dataObject->ConversionWindowInMinutes));
30313038
self::OutputStatusMessage(sprintf("CountType: %s", $dataObject->CountType));
30323039
self::OutputStatusMessage(sprintf("ExcludeFromBidding: %s", $dataObject->ExcludeFromBidding));
3040+
self::OutputStatusMessage(sprintf("GoalCategory: %s", $dataObject->GoalCategory));
30333041
self::OutputStatusMessage(sprintf("Id: %s", $dataObject->Id));
30343042
self::OutputStatusMessage(sprintf("Name: %s", $dataObject->Name));
30353043
self::OutputStatusMessage("Revenue:");
@@ -3864,6 +3872,7 @@ static function OutputFilterLinkAdExtension($dataObject)
38643872
self::OutputStatusMessage(sprintf("AdExtensionHeaderType: %s", $dataObject->AdExtensionHeaderType));
38653873
self::OutputStatusMessage("FinalMobileUrls:");
38663874
self::OutputArrayOfString($dataObject->FinalMobileUrls);
3875+
self::OutputStatusMessage(sprintf("FinalUrlSuffix: %s", $dataObject->FinalUrlSuffix));
38673876
self::OutputStatusMessage("FinalUrls:");
38683877
self::OutputArrayOfString($dataObject->FinalUrls);
38693878
self::OutputStatusMessage(sprintf("Language: %s", $dataObject->Language));
@@ -7362,6 +7371,29 @@ static function OutputArrayOfItemAction($valueSets)
73627371
}
73637372
self::OutputStatusMessage("* * * End OutputArrayOfItemAction * * *");
73647373
}
7374+
static function OutputBMCStoreAdditionalField($valueSet)
7375+
{
7376+
self::OutputStatusMessage("* * * Begin OutputBMCStoreAdditionalField * * *");
7377+
self::OutputStatusMessage(sprintf("Values in %s", $valueSet->type));
7378+
foreach ($valueSet->string as $value)
7379+
{
7380+
self::OutputStatusMessage($value);
7381+
}
7382+
self::OutputStatusMessage("* * * End OutputBMCStoreAdditionalField * * *");
7383+
}
7384+
static function OutputArrayOfBMCStoreAdditionalField($valueSets)
7385+
{
7386+
if(count((array)$valueSets) == 0)
7387+
{
7388+
return;
7389+
}
7390+
self::OutputStatusMessage("* * * Begin OutputArrayOfBMCStoreAdditionalField * * *");
7391+
foreach ($valueSets->BMCStoreAdditionalField as $valueSet)
7392+
{
7393+
self::OutputBMCStoreAdditionalField($valueSet);
7394+
}
7395+
self::OutputStatusMessage("* * * End OutputArrayOfBMCStoreAdditionalField * * *");
7396+
}
73657397
static function OutputBMCStoreSubType($valueSet)
73667398
{
73677399
self::OutputStatusMessage("* * * Begin OutputBMCStoreSubType * * *");
@@ -7638,6 +7670,29 @@ static function OutputArrayOfConversionGoalCountType($valueSets)
76387670
}
76397671
self::OutputStatusMessage("* * * End OutputArrayOfConversionGoalCountType * * *");
76407672
}
7673+
static function OutputConversionGoalCategory($valueSet)
7674+
{
7675+
self::OutputStatusMessage("* * * Begin OutputConversionGoalCategory * * *");
7676+
self::OutputStatusMessage(sprintf("Values in %s", $valueSet->type));
7677+
foreach ($valueSet->string as $value)
7678+
{
7679+
self::OutputStatusMessage($value);
7680+
}
7681+
self::OutputStatusMessage("* * * End OutputConversionGoalCategory * * *");
7682+
}
7683+
static function OutputArrayOfConversionGoalCategory($valueSets)
7684+
{
7685+
if(count((array)$valueSets) == 0)
7686+
{
7687+
return;
7688+
}
7689+
self::OutputStatusMessage("* * * Begin OutputArrayOfConversionGoalCategory * * *");
7690+
foreach ($valueSets->ConversionGoalCategory as $valueSet)
7691+
{
7692+
self::OutputConversionGoalCategory($valueSet);
7693+
}
7694+
self::OutputStatusMessage("* * * End OutputArrayOfConversionGoalCategory * * *");
7695+
}
76417696
static function OutputConversionGoalRevenueType($valueSet)
76427697
{
76437698
self::OutputStatusMessage("* * * Begin OutputConversionGoalRevenueType * * *");
@@ -7753,6 +7808,29 @@ static function OutputArrayOfValueOperator($valueSets)
77537808
}
77547809
self::OutputStatusMessage("* * * End OutputArrayOfValueOperator * * *");
77557810
}
7811+
static function OutputImportAdditionalField($valueSet)
7812+
{
7813+
self::OutputStatusMessage("* * * Begin OutputImportAdditionalField * * *");
7814+
self::OutputStatusMessage(sprintf("Values in %s", $valueSet->type));
7815+
foreach ($valueSet->string as $value)
7816+
{
7817+
self::OutputStatusMessage($value);
7818+
}
7819+
self::OutputStatusMessage("* * * End OutputImportAdditionalField * * *");
7820+
}
7821+
static function OutputArrayOfImportAdditionalField($valueSets)
7822+
{
7823+
if(count((array)$valueSets) == 0)
7824+
{
7825+
return;
7826+
}
7827+
self::OutputStatusMessage("* * * Begin OutputArrayOfImportAdditionalField * * *");
7828+
foreach ($valueSets->ImportAdditionalField as $valueSet)
7829+
{
7830+
self::OutputImportAdditionalField($valueSet);
7831+
}
7832+
self::OutputStatusMessage("* * * End OutputArrayOfImportAdditionalField * * *");
7833+
}
77567834
static function OutputStatusMessage($message)
77577835
{
77587836
printf(" % s\n", $message);

samples/V13/ConversionGoals.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
use Microsoft\BingAds\V13\CampaignManagement\ExpressionOperator;
2525
use Microsoft\BingAds\V13\CampaignManagement\ValueOperator;
2626
use Microsoft\BingAds\V13\CampaignManagement\UetTag;
27+
use Microsoft\BingAds\V13\CampaignManagement\ConversionGoalAdditionalField;
2728
use Microsoft\BingAds\V13\CampaignManagement\ConversionGoalRevenue;
2829
use Microsoft\BingAds\V13\CampaignManagement\ConversionGoalType;
2930
use Microsoft\BingAds\V13\CampaignManagement\ConversionGoalRevenueType;
@@ -66,7 +67,8 @@
6667
// the tracking script that you should add to your website is included in a corresponding
6768
// UetTag within the response message.
6869

69-
if ($uetTags == null || count($uetTags->UetTag) < 1)
70+
if(count((array)$uetTags) == 0 || !isset($uetTags->UetTag))
71+
//if ($uetTags == null || count($uetTags->UetTag) < 1)
7072
{
7173
$addUetTags = array();
7274
$uetTag = new UetTag();
@@ -259,11 +261,17 @@
259261
ConversionGoalType::Url
260262
);
261263

264+
$returnAdditionalFields = array(
265+
ConversionGoalAdditionalField::ViewThroughConversionWindowInMinutes,
266+
ConversionGoalAdditionalField::IsExternallyAttributed,
267+
ConversionGoalAdditionalField::GoalCategory
268+
);
269+
262270
print("-----\r\nGetConversionGoalsByIds:\r\n");
263271
$getConversionGoalsByIdsResponse = CampaignManagementExampleHelper::GetConversionGoalsByIds(
264272
$conversionGoalIds,
265273
$conversionGoalTypes,
266-
null
274+
$returnAdditionalFields
267275
);
268276
$getConversionGoals = $getConversionGoalsByIdsResponse->ConversionGoals;
269277
print("ConversionGoals:\r\n");

samples/V13/Experiments.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
use Microsoft\BingAds\Samples\V13\CampaignManagementExampleHelper;
2525

2626
// Specify the Microsoft\BingAds\V13\CampaignManagement classes that will be used.
27-
use Microsoft\BingAds\V13\CampaignManagement\CampaignAdditionalField;
2827
use Microsoft\BingAds\V13\CampaignManagement\CampaignType;
2928
use Microsoft\BingAds\V13\CampaignManagement\Date;
3029
use Microsoft\BingAds\V13\CampaignManagement\Experiment;
@@ -39,7 +38,8 @@
3938
print("-----\r\nGetCampaignsByAccountId:\r\n");
4039
$getCampaignsByAccountIdResponse = CampaignManagementExampleHelper::GetCampaignsByAccountId(
4140
$GLOBALS['AuthorizationData']->AccountId,
42-
CampaignType::Search
41+
AuthHelper::CampaignTypes,
42+
AuthHelper::CampaignAdditionalFields
4343
);
4444
$campaigns = $getCampaignsByAccountIdResponse->Campaigns;
4545
print("Campaigns:\r\n");

src/Auth/ServiceClient.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,8 @@ private function RefreshServiceProxy()
238238
'trace' => TRUE,
239239
'exceptions' => TRUE,
240240
'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
241-
// Disable keep-alive to avoid 'Process open FD table is full'
242-
'keep-alive' => FALSE,
241+
// Disable keep_alive to avoid 'Process open FD table is full'
242+
'keep_alive' => FALSE,
243243
'user_agent' => 'BingAdsSDKPHP ' . '13.0.1 ' . PHP_VERSION,
244244

245245
/**

src/V13/AdInsight/AdApiError.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
{
66
/**
7-
* Defines an error object that contains the details that explain why the service operation failed.
7+
* Defines an Ad Insight Ad API error object that contains the details that explain why the service operation failed.
88
* @link https://docs.microsoft.com/en-us/advertising/ad-insight-service/adapierror?view=bingads-13 AdApiError Data Object
99
*
1010
* @used-by AdApiFaultDetail

src/V13/AdInsight/AdApiFaultDetail.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
{
66
/**
7-
* Defines a fault object that operations return when generic errors occur, such as an authentication error.
7+
* Defines an Ad Insight Ad API fault detail object that operations return when generic errors occur, such as an authentication error.
88
* @link https://docs.microsoft.com/en-us/advertising/ad-insight-service/adapifaultdetail?view=bingads-13 AdApiFaultDetail Data Object
99
*
1010
* @uses AdApiError

src/V13/AdInsight/ApiFaultDetail.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
{
66
/**
7-
* Defines a fault object that operations return when web service-specific errors occur, such as when the request message contains incomplete or invalid data.
7+
* Defines an Ad Insight API fault detail object that operations return when web service-specific errors occur, such as when the request message contains incomplete or invalid data.
88
* @link https://docs.microsoft.com/en-us/advertising/ad-insight-service/apifaultdetail?view=bingads-13 ApiFaultDetail Data Object
99
*
1010
* @uses BatchError

src/V13/AdInsight/ApplicationFault.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
{
66
/**
7-
* Defines the base object from which all fault detail objects derive.
7+
* Defines the base object from which all Ad Insight fault detail objects derive.
88
* @link https://docs.microsoft.com/en-us/advertising/ad-insight-service/applicationfault?view=bingads-13 ApplicationFault Data Object
99
*/
1010
class ApplicationFault

0 commit comments

Comments
 (0)