AddAssetGroups 服務作業 - 營銷活動管理
將資產群組的陣列新增至指定的營銷活動。
要求專案
AddAssetGroupsRequest 物件會定義服務作業要求的主體和標頭元素。 元素的順序必須與 要求SOAP中所示的順序相同。
注意事項
除非下面另有說明,否則所有要求專案都是必要的。
要求本文專案
元素 | 描述 | 資料類型 |
---|---|---|
AssetGroups | 要新增至指定營銷活動的資產群組陣列。 單一呼叫中最多可以指定100個資產群組。 | AssetGroup 陣 列 |
CampaignId | 執行最大值營銷活動的識別碼。 | 長 |
要求標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
AuthenticationToken | OAuth 存取令牌,代表有權Microsoft Advertising 帳戶之用戶的認證。 如需詳細資訊,請 參閱使用 OAuth 進行驗證。 |
string |
CustomerAccountId | 擁有或與要求中實體相關聯之廣告帳戶的標識碼。 當兩者都需要時,此標頭元素必須具有與 AccountId body 元素相同的值。 此元素是大部分服務作業的必要專案,最佳做法是一律加以設定。 如需詳細資訊, 請參閱取得您的帳戶和客戶標識符。 |
string |
CustomerId | (使用者存取或操作之使用者) 客戶的管理員帳戶標識碼。 用戶可以存取多個管理員帳戶。 此元素是大部分服務作業的必要專案,最佳做法是一律加以設定。 如需詳細資訊, 請參閱取得您的帳戶和客戶標識符。 |
string |
DeveloperToken | 用來存取 Bing 廣告 API 的開發人員令牌。 如需詳細資訊 ,請參閱取得開發人員令牌。 |
string |
密碼 | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
UserName | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
Response 元素
AddAssetGroupsResponse 物件會定義服務作業響應的主體和標頭元素。 這些元素的傳回順序與 回應SOAP中所示的順序相同。
回應本文專案
元素 | 描述 | 資料類型 |
---|---|---|
AssetGroupIds | 要針對指定營銷活動更新的資產群組標識符陣列。 單一呼叫中最多可以指定100個資產群組。 | long 陣列 |
PartialErrors | BatchError 物件的陣列,其中包含任何未成功要求專案的詳細數據。 | BatchError 陣 列 |
回應標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
TrackingId | 包含 API 呼叫詳細數據的記錄項目識別碼。 | string |
要求SOAP
此範本是由工具所產生,用來顯示SOAP要求的主體和標頭元素順序。 如需可搭配此服務作業使用的支援類型,請參閱上述 的要求本文項目 參考。
<s:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<Action mustUnderstand="1">AddAssetGroups</Action>
<AuthenticationToken i:nil="false">ValueHere</AuthenticationToken>
<CustomerAccountId i:nil="false">ValueHere</CustomerAccountId>
<CustomerId i:nil="false">ValueHere</CustomerId>
<DeveloperToken i:nil="false">ValueHere</DeveloperToken>
</s:Header>
<s:Body>
<AddAssetGroupsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<AssetGroups i:nil="false">
<AssetGroup>
<AssetGroupSearchThemes i:nil="false">
<AssetGroupSearchTheme>
<Id i:nil="false">ValueHere</Id>
<SearchTheme i:nil="false">ValueHere</SearchTheme>
</AssetGroupSearchTheme>
</AssetGroupSearchThemes>
<BusinessName i:nil="false">ValueHere</BusinessName>
<CallToAction i:nil="false">ValueHere</CallToAction>
<Descriptions i:nil="false">
<AssetLink>
<Asset i:nil="false" i:type="-- derived type specified here with the appropriate prefix --">
<Id i:nil="false">ValueHere</Id>
<Name i:nil="false">ValueHere</Name>
<Type i:nil="false">ValueHere</Type>
<!--This field is applicable if the derived type attribute is set to TextAsset-->
<Text i:nil="false">ValueHere</Text>
<!--These fields are applicable if the derived type attribute is set to ImageAsset-->
<CropHeight i:nil="false">ValueHere</CropHeight>
<CropWidth i:nil="false">ValueHere</CropWidth>
<CropX i:nil="false">ValueHere</CropX>
<CropY i:nil="false">ValueHere</CropY>
<SubType i:nil="false">ValueHere</SubType>
<TargetHeight i:nil="false">ValueHere</TargetHeight>
<TargetWidth i:nil="false">ValueHere</TargetWidth>
<!--These fields are applicable if the derived type attribute is set to VideoAsset-->
<SubType i:nil="false">ValueHere</SubType>
<ThumbnailImage i:nil="false">
<CropHeight i:nil="false">ValueHere</CropHeight>
<CropWidth i:nil="false">ValueHere</CropWidth>
<CropX i:nil="false">ValueHere</CropX>
<CropY i:nil="false">ValueHere</CropY>
<SubType i:nil="false">ValueHere</SubType>
<TargetHeight i:nil="false">ValueHere</TargetHeight>
<TargetWidth i:nil="false">ValueHere</TargetWidth>
</ThumbnailImage>
</Asset>
<AssetPerformanceLabel i:nil="false">ValueHere</AssetPerformanceLabel>
<EditorialStatus i:nil="false">ValueHere</EditorialStatus>
<PinnedField i:nil="false">ValueHere</PinnedField>
</AssetLink>
</Descriptions>
<EditorialStatus i:nil="false">ValueHere</EditorialStatus>
<EndDate i:nil="false">
<Day>ValueHere</Day>
<Month>ValueHere</Month>
<Year>ValueHere</Year>
</EndDate>
<FinalMobileUrls i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:string>ValueHere</a1:string>
</FinalMobileUrls>
<FinalUrls i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:string>ValueHere</a1:string>
</FinalUrls>
<ForwardCompatibilityMap xmlns:e61="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
<e61:KeyValuePairOfstringstring>
<e61:key i:nil="false">ValueHere</e61:key>
<e61:value i:nil="false">ValueHere</e61:value>
</e61:KeyValuePairOfstringstring>
</ForwardCompatibilityMap>
<Headlines i:nil="false">
<AssetLink>
<Asset i:nil="false" i:type="-- derived type specified here with the appropriate prefix --">
<Id i:nil="false">ValueHere</Id>
<Name i:nil="false">ValueHere</Name>
<Type i:nil="false">ValueHere</Type>
<!--This field is applicable if the derived type attribute is set to TextAsset-->
<Text i:nil="false">ValueHere</Text>
<!--These fields are applicable if the derived type attribute is set to ImageAsset-->
<CropHeight i:nil="false">ValueHere</CropHeight>
<CropWidth i:nil="false">ValueHere</CropWidth>
<CropX i:nil="false">ValueHere</CropX>
<CropY i:nil="false">ValueHere</CropY>
<SubType i:nil="false">ValueHere</SubType>
<TargetHeight i:nil="false">ValueHere</TargetHeight>
<TargetWidth i:nil="false">ValueHere</TargetWidth>
<!--These fields are applicable if the derived type attribute is set to VideoAsset-->
<SubType i:nil="false">ValueHere</SubType>
<ThumbnailImage i:nil="false">
<CropHeight i:nil="false">ValueHere</CropHeight>
<CropWidth i:nil="false">ValueHere</CropWidth>
<CropX i:nil="false">ValueHere</CropX>
<CropY i:nil="false">ValueHere</CropY>
<SubType i:nil="false">ValueHere</SubType>
<TargetHeight i:nil="false">ValueHere</TargetHeight>
<TargetWidth i:nil="false">ValueHere</TargetWidth>
</ThumbnailImage>
</Asset>
<AssetPerformanceLabel i:nil="false">ValueHere</AssetPerformanceLabel>
<EditorialStatus i:nil="false">ValueHere</EditorialStatus>
<PinnedField i:nil="false">ValueHere</PinnedField>
</AssetLink>
</Headlines>
<Id i:nil="false">ValueHere</Id>
<Images i:nil="false">
<AssetLink>
<Asset i:nil="false" i:type="-- derived type specified here with the appropriate prefix --">
<Id i:nil="false">ValueHere</Id>
<Name i:nil="false">ValueHere</Name>
<Type i:nil="false">ValueHere</Type>
<!--This field is applicable if the derived type attribute is set to TextAsset-->
<Text i:nil="false">ValueHere</Text>
<!--These fields are applicable if the derived type attribute is set to ImageAsset-->
<CropHeight i:nil="false">ValueHere</CropHeight>
<CropWidth i:nil="false">ValueHere</CropWidth>
<CropX i:nil="false">ValueHere</CropX>
<CropY i:nil="false">ValueHere</CropY>
<SubType i:nil="false">ValueHere</SubType>
<TargetHeight i:nil="false">ValueHere</TargetHeight>
<TargetWidth i:nil="false">ValueHere</TargetWidth>
<!--These fields are applicable if the derived type attribute is set to VideoAsset-->
<SubType i:nil="false">ValueHere</SubType>
<ThumbnailImage i:nil="false">
<CropHeight i:nil="false">ValueHere</CropHeight>
<CropWidth i:nil="false">ValueHere</CropWidth>
<CropX i:nil="false">ValueHere</CropX>
<CropY i:nil="false">ValueHere</CropY>
<SubType i:nil="false">ValueHere</SubType>
<TargetHeight i:nil="false">ValueHere</TargetHeight>
<TargetWidth i:nil="false">ValueHere</TargetWidth>
</ThumbnailImage>
</Asset>
<AssetPerformanceLabel i:nil="false">ValueHere</AssetPerformanceLabel>
<EditorialStatus i:nil="false">ValueHere</EditorialStatus>
<PinnedField i:nil="false">ValueHere</PinnedField>
</AssetLink>
</Images>
<LongHeadlines i:nil="false">
<AssetLink>
<Asset i:nil="false" i:type="-- derived type specified here with the appropriate prefix --">
<Id i:nil="false">ValueHere</Id>
<Name i:nil="false">ValueHere</Name>
<Type i:nil="false">ValueHere</Type>
<!--This field is applicable if the derived type attribute is set to TextAsset-->
<Text i:nil="false">ValueHere</Text>
<!--These fields are applicable if the derived type attribute is set to ImageAsset-->
<CropHeight i:nil="false">ValueHere</CropHeight>
<CropWidth i:nil="false">ValueHere</CropWidth>
<CropX i:nil="false">ValueHere</CropX>
<CropY i:nil="false">ValueHere</CropY>
<SubType i:nil="false">ValueHere</SubType>
<TargetHeight i:nil="false">ValueHere</TargetHeight>
<TargetWidth i:nil="false">ValueHere</TargetWidth>
<!--These fields are applicable if the derived type attribute is set to VideoAsset-->
<SubType i:nil="false">ValueHere</SubType>
<ThumbnailImage i:nil="false">
<CropHeight i:nil="false">ValueHere</CropHeight>
<CropWidth i:nil="false">ValueHere</CropWidth>
<CropX i:nil="false">ValueHere</CropX>
<CropY i:nil="false">ValueHere</CropY>
<SubType i:nil="false">ValueHere</SubType>
<TargetHeight i:nil="false">ValueHere</TargetHeight>
<TargetWidth i:nil="false">ValueHere</TargetWidth>
</ThumbnailImage>
</Asset>
<AssetPerformanceLabel i:nil="false">ValueHere</AssetPerformanceLabel>
<EditorialStatus i:nil="false">ValueHere</EditorialStatus>
<PinnedField i:nil="false">ValueHere</PinnedField>
</AssetLink>
</LongHeadlines>
<Name i:nil="false">ValueHere</Name>
<Path1 i:nil="false">ValueHere</Path1>
<Path2 i:nil="false">ValueHere</Path2>
<StartDate i:nil="false">
<Day>ValueHere</Day>
<Month>ValueHere</Month>
<Year>ValueHere</Year>
</StartDate>
<Status i:nil="false">ValueHere</Status>
</AssetGroup>
</AssetGroups>
<CampaignId>ValueHere</CampaignId>
</AddAssetGroupsRequest>
</s:Body>
</s:Envelope>
回應 SOAP
此範本是由工具所產生,用來顯示SOAP回應的 主體 和 標頭 元素順序。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<TrackingId d3p1:nil="false" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</TrackingId>
</s:Header>
<s:Body>
<AddAssetGroupsResponse xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<AssetGroupIds d4p1:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">
<a1:long>ValueHere</a1:long>
</AssetGroupIds>
<PartialErrors d4p1:nil="false" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">
<BatchError d4p1:type="-- derived type specified here with the appropriate prefix --">
<Code>ValueHere</Code>
<Details d4p1:nil="false">ValueHere</Details>
<ErrorCode d4p1:nil="false">ValueHere</ErrorCode>
<FieldPath d4p1:nil="false">ValueHere</FieldPath>
<ForwardCompatibilityMap xmlns:e62="http://schemas.datacontract.org/2004/07/System.Collections.Generic" d4p1:nil="false">
<e62:KeyValuePairOfstringstring>
<e62:key d4p1:nil="false">ValueHere</e62:key>
<e62:value d4p1:nil="false">ValueHere</e62:value>
</e62:KeyValuePairOfstringstring>
</ForwardCompatibilityMap>
<Index>ValueHere</Index>
<Message d4p1:nil="false">ValueHere</Message>
<Type d4p1:nil="false">ValueHere</Type>
<!--These fields are applicable if the derived type attribute is set to EditorialError-->
<Appealable d4p1:nil="false">ValueHere</Appealable>
<DisapprovedText d4p1:nil="false">ValueHere</DisapprovedText>
<Location d4p1:nil="false">ValueHere</Location>
<PublisherCountry d4p1:nil="false">ValueHere</PublisherCountry>
<ReasonCode>ValueHere</ReasonCode>
</BatchError>
</PartialErrors>
</AddAssetGroupsResponse>
</s:Body>
</s:Envelope>
程序代碼語法
範例語法可以與 Bing 廣告 SDK 搭配使用。 如需更多範例,請參閱 Bing 廣告 API 程式代碼範 例。
public async Task<AddAssetGroupsResponse> AddAssetGroupsAsync(
IList<AssetGroup> assetGroups,
long campaignId)
{
var request = new AddAssetGroupsRequest
{
AssetGroups = assetGroups,
CampaignId = campaignId
};
return (await CampaignManagementService.CallAsync((s, r) => s.AddAssetGroupsAsync(r), request));
}
static AddAssetGroupsResponse addAssetGroups(
ArrayOfAssetGroup assetGroups,
java.lang.Long campaignId) throws RemoteException, Exception
{
AddAssetGroupsRequest request = new AddAssetGroupsRequest();
request.setAssetGroups(assetGroups);
request.setCampaignId(campaignId);
return CampaignManagementService.getService().addAssetGroups(request);
}
static function AddAssetGroups(
$assetGroups,
$campaignId)
{
$GLOBALS['Proxy'] = $GLOBALS['CampaignManagementProxy'];
$request = new AddAssetGroupsRequest();
$request->AssetGroups = $assetGroups;
$request->CampaignId = $campaignId;
return $GLOBALS['CampaignManagementProxy']->GetService()->AddAssetGroups($request);
}
response=campaignmanagement_service.AddAssetGroups(
AssetGroups=AssetGroups,
CampaignId=CampaignId)
需求
服務: CampaignManagementService.svc v13
命名空間: https://bingads.microsoft.com/CampaignManagement/v13
要求 URL
要求專案
AddAssetGroupsRequest 物件會定義服務作業要求的主體和標頭元素。
注意事項
除非下面另有說明,否則所有要求專案都是必要的。
要求本文專案
元素 | 描述 | 資料類型 |
---|---|---|
AssetGroups | 要新增至指定營銷活動的資產群組陣列。 單一呼叫中最多可以指定100個資產群組。 | AssetGroup 陣 列 |
CampaignId | 執行最大值營銷活動的識別碼。 | 長 |
要求標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
授權 | OAuth 存取令牌,代表有權Microsoft Advertising 帳戶之用戶的認證。 請確定令牌前面加上 「Bearer」 ,這是正確驗證的必要專案。 如需詳細資訊,請 參閱使用 OAuth 進行驗證。 |
string |
CustomerAccountId | 擁有或與要求中實體相關聯之廣告帳戶的標識碼。 當兩者都需要時,此標頭元素必須具有與 AccountId body 元素相同的值。 此元素是大部分服務作業的必要專案,最佳做法是一律加以設定。 如需詳細資訊, 請參閱取得您的帳戶和客戶標識符。 |
string |
CustomerId | (使用者存取或操作之使用者) 客戶的管理員帳戶標識碼。 用戶可以存取多個管理員帳戶。 此元素是大部分服務作業的必要專案,最佳做法是一律加以設定。 如需詳細資訊, 請參閱取得您的帳戶和客戶標識符。 |
string |
DeveloperToken | 用來存取 Bing 廣告 API 的開發人員令牌。 如需詳細資訊 ,請參閱取得開發人員令牌。 |
string |
密碼 | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
UserName | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
Response 元素
AddAssetGroupsResponse 物件會定義服務作業響應的主體和標頭元素。 這些元素的傳回順序與 回應 JSON 中所示的順序相同。
回應本文專案
元素 | 描述 | 資料類型 |
---|---|---|
AssetGroupIds | 要針對指定營銷活動更新的資產群組標識符陣列。 單一呼叫中最多可以指定100個資產群組。 | long 陣列 |
PartialErrors | BatchError 物件的陣列,其中包含任何未成功要求專案的詳細數據。 | BatchError 陣 列 |
回應標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
TrackingId | 包含 API 呼叫詳細數據的記錄項目識別碼。 | string |
要求 JSON
此範本是由工具所產生,用來顯示 JSON 要求的 主體 和 標頭 元素。 如需可搭配此服務作業使用的支援類型,請參閱上述 的要求本文項目 參考。
以下是資產 類型為ImageAsset 時適用的範例。
{
"AssetGroups": [
{
"AssetGroupSearchThemes": [
{
"Id": "LongValueHere",
"SearchTheme": "ValueHere"
}
],
"BusinessName": "ValueHere",
"CallToAction": "ValueHere",
"Descriptions": [
{
"Asset": {
"Id": "LongValueHere",
"Name": "ValueHere",
"Type": "ImageAsset",
"CropHeight": IntValueHere,
"CropWidth": IntValueHere,
"CropX": IntValueHere,
"CropY": IntValueHere,
"SubType": "ValueHere",
"TargetHeight": IntValueHere,
"TargetWidth": IntValueHere
},
"AssetPerformanceLabel": "ValueHere",
"EditorialStatus": "ValueHere",
"PinnedField": "ValueHere"
}
],
"EditorialStatus": "ValueHere",
"EndDate": {
"Day": IntValueHere,
"Month": IntValueHere,
"Year": IntValueHere
},
"FinalMobileUrls": [
"ValueHere"
],
"FinalUrls": [
"ValueHere"
],
"ForwardCompatibilityMap": [
{
"key": "ValueHere",
"value": "ValueHere"
}
],
"Headlines": [
{
"Asset": {
"Id": "LongValueHere",
"Name": "ValueHere",
"Type": "ImageAsset",
"CropHeight": IntValueHere,
"CropWidth": IntValueHere,
"CropX": IntValueHere,
"CropY": IntValueHere,
"SubType": "ValueHere",
"TargetHeight": IntValueHere,
"TargetWidth": IntValueHere
},
"AssetPerformanceLabel": "ValueHere",
"EditorialStatus": "ValueHere",
"PinnedField": "ValueHere"
}
],
"Id": "LongValueHere",
"Images": [
{
"Asset": {
"Id": "LongValueHere",
"Name": "ValueHere",
"Type": "ImageAsset",
"CropHeight": IntValueHere,
"CropWidth": IntValueHere,
"CropX": IntValueHere,
"CropY": IntValueHere,
"SubType": "ValueHere",
"TargetHeight": IntValueHere,
"TargetWidth": IntValueHere
},
"AssetPerformanceLabel": "ValueHere",
"EditorialStatus": "ValueHere",
"PinnedField": "ValueHere"
}
],
"LongHeadlines": [
{
"Asset": {
"Id": "LongValueHere",
"Name": "ValueHere",
"Type": "ImageAsset",
"CropHeight": IntValueHere,
"CropWidth": IntValueHere,
"CropX": IntValueHere,
"CropY": IntValueHere,
"SubType": "ValueHere",
"TargetHeight": IntValueHere,
"TargetWidth": IntValueHere
},
"AssetPerformanceLabel": "ValueHere",
"EditorialStatus": "ValueHere",
"PinnedField": "ValueHere"
}
],
"Name": "ValueHere",
"Path1": "ValueHere",
"Path2": "ValueHere",
"StartDate": {
"Day": IntValueHere,
"Month": IntValueHere,
"Year": IntValueHere
},
"Status": "ValueHere"
}
],
"CampaignId": "LongValueHere"
}
回應 JSON
此範本是由工具所產生,用來顯示 JSON 回應的 主體 和 標頭 元素。
如果 BatchError 的類型是編輯器,則適用以下 範例。
{
"AssetGroupIds": [
"LongValueHere"
],
"PartialErrors": [
{
"Code": IntValueHere,
"Details": "ValueHere",
"ErrorCode": "ValueHere",
"FieldPath": "ValueHere",
"ForwardCompatibilityMap": [
{
"key": "ValueHere",
"value": "ValueHere"
}
],
"Index": IntValueHere,
"Message": "ValueHere",
"Type": "EditorialError",
"Appealable": "ValueHere",
"DisapprovedText": "ValueHere",
"Location": "ValueHere",
"PublisherCountry": "ValueHere",
"ReasonCode": IntValueHere
}
]
}
程序代碼語法
若要透過 SDK 呼叫 REST API,您必須將 SDK 升級至特定版本並設定系統參數。範例語法可以與 Bing 廣告 SDK 搭配使用。 如需更多範例,請參閱 Bing 廣告 API 程式代碼範 例。
public async Task<AddAssetGroupsResponse> AddAssetGroupsAsync(
IList<AssetGroup> assetGroups,
long campaignId)
{
var request = new AddAssetGroupsRequest
{
AssetGroups = assetGroups,
CampaignId = campaignId
};
return (await CampaignManagementService.CallAsync((s, r) => s.AddAssetGroupsAsync(r), request));
}
static AddAssetGroupsResponse addAssetGroups(
ArrayOfAssetGroup assetGroups,
java.lang.Long campaignId) throws RemoteException, Exception
{
AddAssetGroupsRequest request = new AddAssetGroupsRequest();
request.setAssetGroups(assetGroups);
request.setCampaignId(campaignId);
return CampaignManagementService.getService().addAssetGroups(request);
}
static function AddAssetGroups(
$assetGroups,
$campaignId)
{
$GLOBALS['Proxy'] = $GLOBALS['CampaignManagementProxy'];
$request = new AddAssetGroupsRequest();
$request->AssetGroups = $assetGroups;
$request->CampaignId = $campaignId;
return $GLOBALS['CampaignManagementProxy']->GetService()->AddAssetGroups($request);
}
response=campaignmanagement_service.AddAssetGroups(
AssetGroups=AssetGroups,
CampaignId=CampaignId)