Compartir a través de


Operación del servicio ApplyHotelGroupActions: Administración de campañas

Aplica una acción de agregar, actualizar o eliminar a cada una de las acciones BiddableAdGroupCriterion o NegativeAdGroupCriterion especificadas, que contienen un HotelGroup.

Sugerencia

Para obtener información general y más información sobre las campañas de Hospedaje de Microsoft, consulte la guía de anuncios de hoteles .

Tenga en cuenta las siguientes reglas de validación.

  • Como mínimo, debe especificar al menos el nodo raíz para la estructura de árbol de grupo de lista de hoteles. El nodo raíz del grupo de listado de hoteles debe tener su campo Atributo de hotel establecido en "All" y Valor de atributo de hotel nulo o vacío. Si va a pujar por todos los hoteles del catálogo por igual, establezca el campo Subtipo en Unidad. Si va a crear particiones de las pujas en función de atributos de hotel más específicos, establezca el campo Subtipo en Subtipo, el Id. de criterio primario en null o vacío y el Identificador en un valor negativo. Usará el valor negativo como Id. de criterio primario para los nodos secundarios.

  • El nodo raíz se considera nivel 0 y un árbol puede tener ramas de hasta 7 niveles de profundidad.

  • Por solicitud de carga, puede incluir un máximo de 20 000 nodos de árbol de grupo de lista de hoteles por grupo de anuncios. El número completo de nodos de árbol de grupo de lista de hoteles para un grupo de anuncios no puede superar los 20 000.

  • Los nodos de árbol de grupo de lista de hoteles para el mismo árbol (mismo grupo de anuncios) deben agruparse en el archivo.

  • El orden de los nodos de grupo de lista de hoteles no está garantizado durante la descarga, y es posible que los nodos primarios se proporcionen después de los nodos secundarios; sin embargo, todos los nodos del mismo grupo de anuncios se agruparán en el archivo.

  • Si va a crear o modificar la estructura de árbol, los nodos de árbol de lista de hoteles primarios deben ordenarse antes que los nodos de árbol de grupo de lista de hoteles secundarios; sin embargo, la orden no es importante para los cambios no estructurales, como actualizar la oferta. Por ejemplo, si desea actualizar las pujas sin agregar, eliminar o actualizar la estructura del árbol, solo tiene que cargar los campos Id, Parent Id y Bid .

  • Para actualizar el campo Atributo de hotel, Valor de atributo de hotel o Está excluido , debe eliminar el nodo de árbol de grupo de lista de hoteles existente y cargar un nuevo nodo de árbol de grupo de listado de hoteles que obtendrá un nuevo identificador.

  • Si se produce un error en alguna acción, también se producirá un error en todas las acciones restantes que podrían haberse realizado correctamente.

  • Todas las acciones de adición y eliminación de nodos de grupo de lista de hoteles deben dar lugar a una estructura de árbol completa.

  • Cada ruta de acceso desde el nodo raíz hasta el final de una rama debe terminar con un nodo hoja (Subtipo=Unidad). Cada unidad debe tener una oferta, a menos que el campo Se excluye sea true , lo que significa que el nodo es un criterio negativo del grupo de anuncios.

  • Cada subdivisión debe tener al menos un nodo hoja que puja por el resto de las condiciones de la subdivisión, es decir, usar el mismo operando que sus unidades del mismo nivel y establecer su valor de atributo hotel null o vacío.

  • Si va a agregar particiones con varios niveles en los que aún no existe ninguno de los elementos primarios o secundarios, use un valor int negativo como referencia para identificar al elemento primario. Por ejemplo, establezca el id. del elemento primario y el campo Parent Criterion Id del elemento secundario en el mismo valor negativo. Los identificadores negativos solo son válidos durante la llamada. Los identificadores únicos del sistema para cada criterio de grupo de anuncios agregado correctamente se devuelven en el archivo de resultados de carga.

  • El campo Bid solo es aplicable si el campo Está excluido es false , lo que significa que el nodo es un criterio de grupo de anuncios que se puede pujar. Sin embargo, la oferta se omite para los nodos de partición de subdivisión . Esos elementos solo son pertinentes para los nodos de partición de unidad (hoja).

  • En el caso de una acción Eliminada , solo tiene que especificar el identificador y el identificador primario.

  • Si elimina un grupo de listados de hoteles primario, también se eliminarán todos sus elementos secundarios y descendientes.

  • No puede especificar atributos de hotel duplicados en una rama.

Elementos Request

El objeto ApplyHotelGroupActionsRequest 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
CriterionActions Lista de hasta 5000 objetos AdGroupCriterionAction que contienen cada uno un elemento Action y un biddableAdGroupCriterion.

Todas las acciones de criterio de grupo de anuncios deben ser para el mismo grupo de anuncios. Para obtener más información, incluidas las reglas de validación, consulte Creación de una campaña de Microsoft Shopping con el Servicio de administración de campañas.
Matriz AdGroupCriterionAction

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 ApplyHotelGroupActionsResponse 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
AdGroupCriterionIds Lista de identificadores que identifican el criterio al que se aplicó la acción. La lista de identificadores corresponde directamente a la lista de criterios de la solicitud.

Si se produce un error en alguna acción de criterio, se producirá un error en todas las acciones de criterio restantes y todos los elementos de esta lista serán 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.

Para el criterio que produjo un error debido a un error del usuario, se devolverá un código de error accionable.

Si se produce un error en alguna acción de criterio, se producirá un error en todas las acciones de criterio restantes y ninguno de los elementos de esta lista será null. Para un criterio que podría haberse realizado correctamente de otro modo, se devolverá un error genérico que explica que se produjo un error en una entidad relacionada.
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">ApplyHotelGroupActions</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>
    <ApplyHotelGroupActionsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
      <CriterionActions i:nil="false">
        <AdGroupCriterionAction>
          <Action>ValueHere</Action>
          <AdGroupCriterion i:nil="false" i:type="-- derived type specified here with the appropriate prefix --">
            <AdGroupId>ValueHere</AdGroupId>
            <Criterion i:nil="false" i:type="-- derived type specified here with the appropriate prefix --">
              <Type i:nil="false">ValueHere</Type>
              <!--These fields are applicable if the derived type attribute is set to ProductPartition-->
              <Condition i:nil="false">
                <Attribute i:nil="false">ValueHere</Attribute>
                <Operand i:nil="false">ValueHere</Operand>
                <Operator i:nil="false">ValueHere</Operator>
              </Condition>
              <ParentCriterionId i:nil="false">ValueHere</ParentCriterionId>
              <PartitionType>ValueHere</PartitionType>
              <!--These fields are applicable if the derived type attribute is set to HotelGroup-->
              <Listing i:nil="false">
                <Attribute i:nil="false">ValueHere</Attribute>
                <Operand i:nil="false">ValueHere</Operand>
              </Listing>
              <ListingType>ValueHere</ListingType>
              <ParentCriterionId i:nil="false">ValueHere</ParentCriterionId>
              <!--These fields are applicable if the derived type attribute is set to HotelAdvanceBookingWindowCriterion-->
              <MaxDays i:nil="false">ValueHere</MaxDays>
              <MinDays i:nil="false">ValueHere</MinDays>
              <!--These fields are applicable if the derived type attribute is set to HotelCheckInDateCriterion-->
              <EndDate i:nil="false">ValueHere</EndDate>
              <StartDate i:nil="false">ValueHere</StartDate>
              <!--This field is applicable if the derived type attribute is set to HotelCheckInDayCriterion-->
              <CheckInDay i:nil="false">ValueHere</CheckInDay>
              <!--This field is applicable if the derived type attribute is set to HotelDateSelectionTypeCriterion-->
              <HotelDateSelectionType i:nil="false">ValueHere</HotelDateSelectionType>
              <!--These fields are applicable if the derived type attribute is set to HotelLengthOfStayCriterion-->
              <MaxNights i:nil="false">ValueHere</MaxNights>
              <MinNights i:nil="false">ValueHere</MinNights>
              <!--This field is applicable if the derived type attribute is set to ProductScope-->
              <Conditions i:nil="false">
                <ProductCondition>
                  <Attribute i:nil="false">ValueHere</Attribute>
                  <Operand i:nil="false">ValueHere</Operand>
                  <Operator i:nil="false">ValueHere</Operator>
                </ProductCondition>
              </Conditions>
              <!--This field is applicable if the derived type attribute is set to Webpage-->
              <Parameter i:nil="false">
                <Conditions i:nil="false">
                  <WebpageCondition>
                    <Argument i:nil="false">ValueHere</Argument>
                    <Operand>ValueHere</Operand>
                    <Operator i:nil="false">ValueHere</Operator>
                  </WebpageCondition>
                </Conditions>
                <CriterionName i:nil="false">ValueHere</CriterionName>
              </Parameter>
              <!--This field is applicable if the derived type attribute is set to AgeCriterion-->
              <AgeRange i:nil="false">ValueHere</AgeRange>
              <!--These fields are applicable if the derived type attribute is set to DeviceCriterion-->
              <DeviceName i:nil="false">ValueHere</DeviceName>
              <OSName i:nil="false">ValueHere</OSName>
              <!--These fields are applicable if the derived type attribute is set to DayTimeCriterion-->
              <Day i:nil="false">ValueHere</Day>
              <FromHour i:nil="false">ValueHere</FromHour>
              <FromMinute i:nil="false">ValueHere</FromMinute>
              <ToHour i:nil="false">ValueHere</ToHour>
              <ToMinute i:nil="false">ValueHere</ToMinute>
              <!--This field is applicable if the derived type attribute is set to GenderCriterion-->
              <GenderType i:nil="false">ValueHere</GenderType>
              <!--These fields are applicable if the derived type attribute is set to RadiusCriterion-->
              <LatitudeDegrees i:nil="false">ValueHere</LatitudeDegrees>
              <LongitudeDegrees i:nil="false">ValueHere</LongitudeDegrees>
              <Name i:nil="false">ValueHere</Name>
              <Radius i:nil="false">ValueHere</Radius>
              <RadiusUnit i:nil="false">ValueHere</RadiusUnit>
              <!--These fields are applicable if the derived type attribute is set to LocationCriterion-->
              <DisplayName i:nil="false">ValueHere</DisplayName>
              <EnclosedLocationIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                <a1:long>ValueHere</a1:long>
              </EnclosedLocationIds>
              <LocationId i:nil="false">ValueHere</LocationId>
              <LocationType i:nil="false">ValueHere</LocationType>
              <!--This field is applicable if the derived type attribute is set to LocationIntentCriterion-->
              <IntentOption i:nil="false">ValueHere</IntentOption>
              <!--These fields are applicable if the derived type attribute is set to AudienceCriterion-->
              <AudienceId i:nil="false">ValueHere</AudienceId>
              <AudienceType i:nil="false">ValueHere</AudienceType>
              <!--These fields are applicable if the derived type attribute is set to ProfileCriterion-->
              <ProfileId>ValueHere</ProfileId>
              <ProfileType>ValueHere</ProfileType>
              <!--This field is applicable if the derived type attribute is set to StoreCriterion-->
              <StoreId i:nil="false">ValueHere</StoreId>
              <!--This field is applicable if the derived type attribute is set to DealCriterion-->
              <DealId>ValueHere</DealId>
              <!--This field is applicable if the derived type attribute is set to GenreCriterion-->
              <GenreId>ValueHere</GenreId>
            </Criterion>
            <Id i:nil="false">ValueHere</Id>
            <Status i:nil="false">ValueHere</Status>
            <Type i:nil="false">ValueHere</Type>
            <!--These fields are applicable if the derived type attribute is set to BiddableAdGroupCriterion-->
            <CriterionBid i:nil="false" i:type="-- derived type specified here with the appropriate prefix --">
              <Type i:nil="false">ValueHere</Type>
              <!--This field is applicable if the derived type attribute is set to RateBid-->
              <RateAmount i:nil="false">
                <Amount i:nil="false">ValueHere</Amount>
              </RateAmount>
              <!--This field is applicable if the derived type attribute is set to FixedBid-->
              <Amount>ValueHere</Amount>
              <!--This field is applicable if the derived type attribute is set to BidMultiplier-->
              <Multiplier>ValueHere</Multiplier>
            </CriterionBid>
            <DestinationUrl i:nil="false">ValueHere</DestinationUrl>
            <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>
            <TrackingUrlTemplate i:nil="false">ValueHere</TrackingUrlTemplate>
            <UrlCustomParameters i:nil="false">
              <Parameters i:nil="false">
                <CustomParameter>
                  <Key i:nil="false">ValueHere</Key>
                  <Value i:nil="false">ValueHere</Value>
                </CustomParameter>
              </Parameters>
            </UrlCustomParameters>
            <CriterionCashback i:nil="false" i:type="-- derived type specified here with the appropriate prefix --">
              <Type i:nil="false">ValueHere</Type>
              <!--This field is applicable if the derived type attribute is set to CashbackAdjustment-->
              <CashbackPercent i:nil="false">ValueHere</CashbackPercent>
            </CriterionCashback>
            <!--No additional fields are applicable if the derived type attribute is set to NegativeAdGroupCriterion-->
          </AdGroupCriterion>
        </AdGroupCriterionAction>
      </CriterionActions>
    </ApplyHotelGroupActionsRequest>
  </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>
    <ApplyHotelGroupActionsResponse xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
      <AdGroupCriterionIds 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>
      </AdGroupCriterionIds>
      <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:e66="http://schemas.datacontract.org/2004/07/System.Collections.Generic" d4p1:nil="false">
            <e66:KeyValuePairOfstringstring>
              <e66:key d4p1:nil="false">ValueHere</e66:key>
              <e66:value d4p1:nil="false">ValueHere</e66:value>
            </e66: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>
    </ApplyHotelGroupActionsResponse>
  </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<ApplyHotelGroupActionsResponse> ApplyHotelGroupActionsAsync(
	IList<AdGroupCriterionAction> criterionActions)
{
	var request = new ApplyHotelGroupActionsRequest
	{
		CriterionActions = criterionActions
	};

	return (await CampaignManagementService.CallAsync((s, r) => s.ApplyHotelGroupActionsAsync(r), request));
}
static ApplyHotelGroupActionsResponse applyHotelGroupActions(
	ArrayOfAdGroupCriterionAction criterionActions) throws RemoteException, Exception
{
	ApplyHotelGroupActionsRequest request = new ApplyHotelGroupActionsRequest();

	request.setCriterionActions(criterionActions);

	return CampaignManagementService.getService().applyHotelGroupActions(request);
}
static function ApplyHotelGroupActions(
	$criterionActions)
{

	$GLOBALS['Proxy'] = $GLOBALS['CampaignManagementProxy'];

	$request = new ApplyHotelGroupActionsRequest();

	$request->CriterionActions = $criterionActions;

	return $GLOBALS['CampaignManagementProxy']->GetService()->ApplyHotelGroupActions($request);
}
response=campaignmanagement_service.ApplyHotelGroupActions(
	CriterionActions=CriterionActions)

Requisitos

Servicio: CampaignManagementService.svc v13
Nombres: https://bingads.microsoft.com/CampaignManagement/v13