Operación del servicio AddAds: administración de campañas
Agrega uno o varios anuncios a un grupo de anuncios.
Nota:
- Actualiza tus anuncios de texto expandidos a anuncios de búsqueda adaptables antes del 1 de febrero de 2023. Después de esta fecha, ya no podrás crear anuncios de texto expandidos nuevos ni editarlos. Para obtener más información, consulte Acerca de los anuncios de búsqueda con capacidad de respuesta.
- Los anuncios de texto expandidos existentes seguirán publicándose y podrás ver informes sobre su rendimiento.
- Seguirás siendo capaz de pausar, habilitar o quitar tus anuncios de texto expandido. De lo contrario, los intentos de agregar o actualizar anuncios de texto expandido producirán un
CampaignServiceAdTypeInvalid
error. - Obtenga más información sobre este cambio.
Elementos Request
El objeto AddAdsRequest define los elementos body y header de la solicitud de operación de servicio. Los elementos deben estar en el mismo orden que se muestra en la solicitud SOAP.
Nota:
A menos que se indique lo contrario a continuación, se requieren todos los elementos de solicitud.
Elementos del cuerpo de la solicitud
Elemento | Descripción | Tipo de datos |
---|---|---|
AdGroupId | Identificador del grupo de anuncios al que se van a agregar los anuncios. | largo |
Anuncios | Una matriz de hasta 50 anuncios que quieres agregar al grupo de anuncios. | Matriz de anuncios |
Elementos de encabezado de solicitud
Elemento | Descripción | Tipo de datos |
---|---|---|
AuthenticationToken | Token de acceso de OAuth que representa las credenciales de un usuario que tiene permisos para cuentas de Microsoft Advertising. Para obtener más información, consulte Autenticación con OAuth. |
string |
CustomerAccountId | Identificador de la cuenta de anuncio que posee o está asociada a las entidades de la solicitud. Este elemento de encabezado debe tener el mismo valor que el elemento de cuerpo AccountId cuando ambos son necesarios. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe establecerlo. Para obtener más información, consulte Obtención de su cuenta e identificadores de cliente. |
string |
CustomerId | Identificador de la cuenta de administrador (cliente) desde la que el usuario accede o funciona. Un usuario puede tener acceso a varias cuentas de administrador. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe establecerlo. Para obtener más información, consulte Obtención de su cuenta e identificadores de cliente. |
string |
DeveloperToken | Token de desarrollador que se usa para acceder a Bing Ads API. Para obtener más información, consulte Obtención de un token de desarrollador. |
string |
Password | Este elemento está reservado para uso interno y se quitará de una versión futura de la API. Debe usar el elemento AuthenticationToken para establecer las credenciales de usuario. | string |
UserName | Este elemento está reservado para uso interno y se quitará de una versión futura de la API. Debe usar el elemento AuthenticationToken para establecer las credenciales de usuario. | string |
Elementos de respuesta
El objeto AddAdsResponse define los elementos body y header de la respuesta de la operación de servicio. Los elementos se devuelven en el mismo orden que se muestra en soap de respuesta.
Elementos del cuerpo de la respuesta
Elemento | Descripción | Tipo de datos |
---|---|---|
AdIds | Una lista de identificadores únicos del sistema correspondientes a los anuncios que se agregaron. La lista de identificadores corresponde directamente a la lista de anuncios de la solicitud. Los elementos de la lista se pueden devolver como null. Para cada índice de lista en el que no se agregó un anuncio, el elemento correspondiente será null. |
matriz larga |
PartialErrors | Matriz de objetos BatchError que contienen detalles de los elementos de solicitud que no se han realizado correctamente. La lista de errores no se corresponde directamente con la lista de elementos de la solicitud. La lista puede estar vacía si no hay errores o puede incluir uno o varios objetos de error correspondientes a cada elemento de lista incorrecto en la solicitud. |
Matriz BatchError |
Elementos de encabezado de respuesta
Elemento | Descripción | Tipo de datos |
---|---|---|
Seguimiento del Id. | Identificador de la entrada de registro que contiene los detalles de la llamada API. | string |
Solicitud de SOAP
Esta plantilla se generó mediante una herramienta para mostrar el orden del cuerpo y los elementos de encabezado de la solicitud SOAP. Para ver los tipos admitidos que puede usar con esta operación de servicio, consulte la referencia de elementos de cuerpo de solicitud anterior.
<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">AddAds</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>
<AddAdsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<AdGroupId>ValueHere</AdGroupId>
<Ads i:nil="false">
<Ad i:type="-- derived type specified here with the appropriate prefix --">
<AdFormatPreference i:nil="false">ValueHere</AdFormatPreference>
<DevicePreference i:nil="false">ValueHere</DevicePreference>
<EditorialStatus i:nil="false">ValueHere</EditorialStatus>
<FinalAppUrls i:nil="false">
<AppUrl>
<OsType i:nil="false">ValueHere</OsType>
<Url i:nil="false">ValueHere</Url>
</AppUrl>
</FinalAppUrls>
<FinalMobileUrls i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:string>ValueHere</a1:string>
</FinalMobileUrls>
<FinalUrlSuffix i:nil="false">ValueHere</FinalUrlSuffix>
<FinalUrls i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:string>ValueHere</a1:string>
</FinalUrls>
<ForwardCompatibilityMap xmlns:e55="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
<e55:KeyValuePairOfstringstring>
<e55:key i:nil="false">ValueHere</e55:key>
<e55:value i:nil="false">ValueHere</e55:value>
</e55:KeyValuePairOfstringstring>
</ForwardCompatibilityMap>
<Id i:nil="false">ValueHere</Id>
<Status i:nil="false">ValueHere</Status>
<TrackingUrlTemplate i:nil="false">ValueHere</TrackingUrlTemplate>
<Type i:nil="false">ValueHere</Type>
<UrlCustomParameters i:nil="false">
<Parameters i:nil="false">
<CustomParameter>
<Key i:nil="false">ValueHere</Key>
<Value i:nil="false">ValueHere</Value>
</CustomParameter>
</Parameters>
</UrlCustomParameters>
<!--These fields are applicable if the derived type attribute is set to TextAd-->
<DestinationUrl i:nil="false">ValueHere</DestinationUrl>
<DisplayUrl i:nil="false">ValueHere</DisplayUrl>
<Text i:nil="false">ValueHere</Text>
<Title i:nil="false">ValueHere</Title>
<!--This field is applicable if the derived type attribute is set to ProductAd-->
<PromotionalText i:nil="false">ValueHere</PromotionalText>
<!--No additional fields are applicable if the derived type attribute is set to HotelAd-->
<!--These fields are applicable if the derived type attribute is set to AppInstallAd-->
<AppPlatform i:nil="false">ValueHere</AppPlatform>
<AppStoreId i:nil="false">ValueHere</AppStoreId>
<Text i:nil="false">ValueHere</Text>
<Title i:nil="false">ValueHere</Title>
<!--These fields are applicable if the derived type attribute is set to ExpandedTextAd-->
<Domain i:nil="false">ValueHere</Domain>
<Path1 i:nil="false">ValueHere</Path1>
<Path2 i:nil="false">ValueHere</Path2>
<Text i:nil="false">ValueHere</Text>
<TextPart2 i:nil="false">ValueHere</TextPart2>
<TitlePart1 i:nil="false">ValueHere</TitlePart1>
<TitlePart2 i:nil="false">ValueHere</TitlePart2>
<TitlePart3 i:nil="false">ValueHere</TitlePart3>
<!--These fields are applicable if the derived type attribute is set to DynamicSearchAd-->
<Path1 i:nil="false">ValueHere</Path1>
<Path2 i:nil="false">ValueHere</Path2>
<Text i:nil="false">ValueHere</Text>
<TextPart2 i:nil="false">ValueHere</TextPart2>
<!--These fields are applicable if the derived type attribute is set to ResponsiveAd-->
<AdSubType i:nil="false">ValueHere</AdSubType>
<BusinessName i:nil="false">ValueHere</BusinessName>
<CallToAction i:nil="false">ValueHere</CallToAction>
<CallToActionLanguage i:nil="false">ValueHere</CallToActionLanguage>
<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 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>
<Headline i:nil="false">ValueHere</Headline>
<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 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>
<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>
<!--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>
<ImpressionTrackingUrls i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:string>ValueHere</a1:string>
</ImpressionTrackingUrls>
<LongHeadline i:nil="false">
<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 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>
</LongHeadline>
<LongHeadlineString i:nil="false">ValueHere</LongHeadlineString>
<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>
<Text i:nil="false">ValueHere</Text>
<VerifiedTrackingSettings i:nil="false">
<Details xmlns:e56="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
<e56:ArrayOfKeyValuePairOfstringstring>
<e56:KeyValuePairOfstringstring>
<e56:key i:nil="false">ValueHere</e56:key>
<e56:value i:nil="false">ValueHere</e56:value>
</e56:KeyValuePairOfstringstring>
</e56:ArrayOfKeyValuePairOfstringstring>
</Details>
</VerifiedTrackingSettings>
<Videos 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>
</Videos>
<!--These fields are applicable if the derived type attribute is set to ResponsiveSearchAd-->
<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 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>
<Domain i:nil="false">ValueHere</Domain>
<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 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>
<Path1 i:nil="false">ValueHere</Path1>
<Path2 i:nil="false">ValueHere</Path2>
</Ad>
</Ads>
</AddAdsRequest>
</s:Body>
</s:Envelope>
SOAP de respuesta
Esta plantilla se generó mediante una herramienta para mostrar el orden de los elementos body y header para la respuesta 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>
<AddAdsResponse xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<AdIds 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>
</AdIds>
<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:e57="http://schemas.datacontract.org/2004/07/System.Collections.Generic" d4p1:nil="false">
<e57:KeyValuePairOfstringstring>
<e57:key d4p1:nil="false">ValueHere</e57:key>
<e57:value d4p1:nil="false">ValueHere</e57:value>
</e57: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>
</AddAdsResponse>
</s:Body>
</s:Envelope>
Sintaxis de código
La sintaxis de ejemplo se puede usar con los SDK de Bing Ads. Consulte Ejemplos de código de API de Bing Ads para obtener más ejemplos.
public async Task<AddAdsResponse> AddAdsAsync(
long adGroupId,
IList<Ad> ads)
{
var request = new AddAdsRequest
{
AdGroupId = adGroupId,
Ads = ads
};
return (await CampaignManagementService.CallAsync((s, r) => s.AddAdsAsync(r), request));
}
static AddAdsResponse addAds(
java.lang.Long adGroupId,
ArrayOfAd ads) throws RemoteException, Exception
{
AddAdsRequest request = new AddAdsRequest();
request.setAdGroupId(adGroupId);
request.setAds(ads);
return CampaignManagementService.getService().addAds(request);
}
static function AddAds(
$adGroupId,
$ads)
{
$GLOBALS['Proxy'] = $GLOBALS['CampaignManagementProxy'];
$request = new AddAdsRequest();
$request->AdGroupId = $adGroupId;
$request->Ads = $ads;
return $GLOBALS['CampaignManagementProxy']->GetService()->AddAds($request);
}
response=campaignmanagement_service.AddAds(
AdGroupId=AdGroupId,
Ads=Ads)
Requisitos
Servicio: CampaignManagementService.svc v13
Namespace: https://bingads.microsoft.com/CampaignManagement/v13
Dirección URL de solicitud
https://campaign.api.bingads.microsoft.com/CampaignManagement/v13/Ads
Elementos Request
El objeto AddAdsRequest define los elementos body y header de la solicitud de operación de servicio.
Nota:
A menos que se indique lo contrario a continuación, se requieren todos los elementos de solicitud.
Elementos del cuerpo de la solicitud
Elemento | Descripción | Tipo de datos |
---|---|---|
AdGroupId | Identificador del grupo de anuncios al que se van a agregar los anuncios. | largo |
Anuncios | Una matriz de hasta 50 anuncios que quieres agregar al grupo de anuncios. | Matriz de anuncios |
Elementos de encabezado de solicitud
Elemento | Descripción | Tipo de datos |
---|---|---|
Autorización | Token de acceso de OAuth que representa las credenciales de un usuario que tiene permisos para cuentas de Microsoft Advertising. Asegúrese de que el token tiene el prefijo "Portador", esto es necesario para la autenticación adecuada. Para obtener más información, consulte Autenticación con OAuth. |
string |
CustomerAccountId | Identificador de la cuenta de anuncio que posee o está asociada a las entidades de la solicitud. Este elemento de encabezado debe tener el mismo valor que el elemento de cuerpo AccountId cuando ambos son necesarios. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe establecerlo. Para obtener más información, consulte Obtención de su cuenta e identificadores de cliente. |
string |
CustomerId | Identificador de la cuenta de administrador (cliente) desde la que el usuario accede o funciona. Un usuario puede tener acceso a varias cuentas de administrador. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe establecerlo. Para obtener más información, consulte Obtención de su cuenta e identificadores de cliente. |
string |
DeveloperToken | Token de desarrollador que se usa para acceder a Bing Ads API. Para obtener más información, consulte Obtención de un token de desarrollador. |
string |
Password | Este elemento está reservado para uso interno y se quitará de una versión futura de la API. Debe usar el elemento AuthenticationToken para establecer las credenciales de usuario. | string |
UserName | Este elemento está reservado para uso interno y se quitará de una versión futura de la API. Debe usar el elemento AuthenticationToken para establecer las credenciales de usuario. | string |
Elementos de respuesta
El objeto AddAdsResponse define los elementos body y header de la respuesta de la operación de servicio. Los elementos se devuelven en el mismo orden que se muestra en el JSON de respuesta.
Elementos del cuerpo de la respuesta
Elemento | Descripción | Tipo de datos |
---|---|---|
AdIds | Una lista de identificadores únicos del sistema correspondientes a los anuncios que se agregaron. La lista de identificadores corresponde directamente a la lista de anuncios de la solicitud. Los elementos de la lista se pueden devolver como null. Para cada índice de lista en el que no se agregó un anuncio, el elemento correspondiente será null. |
matriz larga |
PartialErrors | Matriz de objetos BatchError que contienen detalles de los elementos de solicitud que no se han realizado correctamente. La lista de errores no se corresponde directamente con la lista de elementos de la solicitud. La lista puede estar vacía si no hay errores o puede incluir uno o varios objetos de error correspondientes a cada elemento de lista incorrecto en la solicitud. |
Matriz BatchError |
Elementos de encabezado de respuesta
Elemento | Descripción | Tipo de datos |
---|---|---|
Seguimiento del Id. | Identificador de la entrada de registro que contiene los detalles de la llamada API. | string |
Solicitud de JSON
Esta plantilla se generó mediante una herramienta para mostrar los elementos body y header de la solicitud JSON. Para ver los tipos admitidos que puede usar con esta operación de servicio, consulte la referencia de elementos de cuerpo de solicitud anterior.
A continuación se muestra un ejemplo que es aplicable si el tipo de anuncio es AppInstallAd.
{
"AdGroupId": "LongValueHere",
"Ads": [
{
"AdFormatPreference": "ValueHere",
"DevicePreference": "LongValueHere",
"EditorialStatus": "ValueHere",
"FinalAppUrls": [
{
"OsType": "ValueHere",
"Url": "ValueHere"
}
],
"FinalMobileUrls": [
"ValueHere"
],
"FinalUrls": [
"ValueHere"
],
"FinalUrlSuffix": "ValueHere",
"ForwardCompatibilityMap": [
{
"key": "ValueHere",
"value": "ValueHere"
}
],
"Id": "LongValueHere",
"Status": "ValueHere",
"TrackingUrlTemplate": "ValueHere",
"Type": "AppInstall",
"UrlCustomParameters": {
"Parameters": [
{
"Key": "ValueHere",
"Value": "ValueHere"
}
]
},
"AppPlatform": "ValueHere",
"AppStoreId": "ValueHere",
"Text": "ValueHere",
"Title": "ValueHere"
}
]
}
JSON de respuesta
Esta plantilla se generó mediante una herramienta para mostrar los elementos body y header de la respuesta JSON.
A continuación se muestra un ejemplo que es aplicable si el tipo de BatchError es EditorialError.
{
"AdIds": [
"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
}
]
}
Sintaxis de código
Para llamar a la API REST a través de SDK, debe actualizar el SDK a una versión determinada y configurar los parámetros del sistema. La sintaxis de ejemplo se puede usar con los SDK de Bing Ads. Consulte Ejemplos de código de API de Bing Ads para obtener más ejemplos.
public async Task<AddAdsResponse> AddAdsAsync(
long adGroupId,
IList<Ad> ads)
{
var request = new AddAdsRequest
{
AdGroupId = adGroupId,
Ads = ads
};
return (await CampaignManagementService.CallAsync((s, r) => s.AddAdsAsync(r), request));
}
static AddAdsResponse addAds(
java.lang.Long adGroupId,
ArrayOfAd ads) throws RemoteException, Exception
{
AddAdsRequest request = new AddAdsRequest();
request.setAdGroupId(adGroupId);
request.setAds(ads);
return CampaignManagementService.getService().addAds(request);
}
static function AddAds(
$adGroupId,
$ads)
{
$GLOBALS['Proxy'] = $GLOBALS['CampaignManagementProxy'];
$request = new AddAdsRequest();
$request->AdGroupId = $adGroupId;
$request->Ads = $ads;
return $GLOBALS['CampaignManagementProxy']->GetService()->AddAds($request);
}
response=campaignmanagement_service.AddAds(
AdGroupId=AdGroupId,
Ads=Ads)