Partilhar via


Operação do Serviço ApplyHotelGroupActions – Gestão de Campanhas

Aplica uma ação de adição, atualização ou eliminação a cada um dos BiddableAdGroupCriterion ou NegativeAdGroupCriterion especificados, que contêm um HotelGroup.

Sugestão

Para obter uma descrição geral e mais informações sobre as campanhas de Alojamento da Microsoft, consulte o Guia de Anúncios de Hotel .

Tenha em atenção as seguintes regras de validação.

  • No mínimo, tem de especificar, pelo menos, o nó raiz para a estrutura de árvore do grupo de listagem de hotéis. O nó raiz do grupo de listagem do hotel tem de ter o campo Atributo hotel definido como "Tudo" e Valor do Atributo hotel nulo ou vazio. Se estiver a licitar em todos os hotéis no catálogo de forma igual, defina o campo Sub-Tipo como Unidade. Se estiver a criar partições das ofertas com base em atributos de hotel mais específicos, defina o campo Sub type como Subdivisão, o ID do Critério Principal como nulo ou vazio e o ID para um valor negativo. Irá utilizar o valor negativo como ID de Critério Principal para todos os nós subordinados.

  • O nó raiz é considerado nível 0 e uma árvore pode ter ramos até 7 níveis de profundidade.

  • Por pedido de carregamento, pode incluir um máximo de 20 000 nós de árvore de grupo de listagem de hotéis por grupo de anúncios. Toda a contagem de nós de árvore do grupo de listagem de hotéis para um grupo de anúncios não pode exceder 20 000.

  • Os nós de árvore do grupo de listagem do hotel para a mesma árvore (mesmo grupo de anúncios) têm de ser agrupados no ficheiro.

  • A ordem dos nós do grupo de listagem de hotéis não é garantida durante a transferência e os nós principais podem ser fornecidos após os nós subordinados; no entanto, todos os nós do mesmo grupo de anúncios serão agrupados no ficheiro.

  • Se estiver a criar ou modificar a estrutura de árvore, os nós de árvore do grupo de listagem de hotéis principais têm de ser encomendados antes dos nós de árvore do grupo de listagem de hotéis subordinados; no entanto, a ordem não importa para alterações não estruturais, tais como a actualização da oferta. Por exemplo, se quiser atualizar as ofertas sem adicionar, eliminar ou atualizar a estrutura da árvore, só precisa de carregar os campos ID, ID Principal e Licitação .

  • Para atualizar o campo Atributo Hotel, Valor do Atributo Hotel ou Está Excluído , tem de eliminar o nó de árvore do grupo de listagem de hotéis existente e carregar um novo nó de árvore do grupo de listagem de hotéis que irá obter um novo identificador.

  • Se alguma ação falhar, todas as ações restantes que possam ter sido bem-sucedidas também falharão.

  • Todas as ações de adição e eliminação de nós de grupo de listagem de hotéis têm de resultar numa estrutura de árvore completa.

  • Todos os caminhos do nó raiz até ao fim de um ramo têm de terminar com um nó de folha (Sub Type=Unit). Cada Unidade tem de ter uma oferta, a menos que o campo É Excluído seja verdadeiro , o que significa que o nó é um critério de grupo de anúncios negativo.

  • Cada subdivisão tem de ter, pelo menos, um nó de folha que lance no resto das condições da subdivisão, ou seja, utilizar o mesmo operando que as unidades colaterais e definir o valor do atributo hotel nulo ou vazio.

  • Se estiver a adicionar partições com vários níveis em que o elemento principal ou o subordinado ainda não existem, utilize um valor int negativo como referência para identificar o elemento principal. Por exemplo, defina o ID do elemento principal e o campo ID do Critério Principal do menor para o mesmo valor negativo. Os IDs negativos só são válidos durante a chamada. Os identificadores de sistema exclusivos para cada critério de grupo de anúncios adicionado com êxito são devolvidos no ficheiro de resultado de carregamento.

  • O campo Licitação só é aplicável se o campo Is Excluded for false , o que significa que o nó é um critério de grupo de anúncios bidível. No entanto, a oferta é ignorada para nós de partição de subdivisão . Esses elementos só são relevantes para nós de partição de Unidade (folha).

  • Para uma ação Eliminada , só precisa de especificar o ID e o ID Principal.

  • Se eliminar um grupo de listagem de hotéis principal, todos os respetivos filhos e descendentes também serão eliminados.

  • Não pode especificar atributos de hotel duplicados num ramo.

Elementos do Pedido

O objeto ApplyHotelGroupActionsRequest define os elementos do corpo e do cabeçalho do pedido de operação do serviço. Os elementos têm de estar na mesma ordem mostrada no Pedido SOAP.

Nota

Salvo indicação em contrário abaixo, todos os elementos do pedido são necessários.

Elementos do Corpo do Pedido

Elemento Descrição Tipo de Dados
CritériosActions Uma lista de até 5000 objetos AdGroupCriterionAction que contêm cada um elemento Ação e um BiddableAdGroupCriterion.

Todas as ações de critério do grupo de anúncios têm de ser para o mesmo grupo de anúncios. Para obter mais informações, incluindo regras de validação, consulte Criar uma campanha do Microsoft Shopping com o Serviço de Gestão de Campanhas.
Matriz AdGroupCriterionAction

Elementos do Cabeçalho do Pedido

Elemento Descrição Tipo de Dados
AuthenticationToken O token de acesso OAuth que representa as credenciais de um utilizador que tem permissões para contas do Microsoft Advertising.

Para obter mais informações, veja Authentication with OAuth (Autenticação com OAuth).
cadeia
CustomerAccountId O identificador da conta de anúncio que detém ou está associada às entidades no pedido. Este elemento de cabeçalho tem de ter o mesmo valor que o elemento do corpo AccountId quando ambos são necessários. Este elemento é necessário para a maioria das operações de serviço e, como melhor prática, deve sempre defini-lo.

Para obter mais informações, veja Obter a Sua Conta e IDs de Cliente.
cadeia
CustomerId O identificador da conta de gestor (cliente) a partir da qual o utilizador está a aceder ou a operar. Um utilizador pode ter acesso a várias contas de gestor. Este elemento é necessário para a maioria das operações de serviço e, como melhor prática, deve sempre defini-lo.

Para obter mais informações, veja Obter a Sua Conta e IDs de Cliente.
cadeia
DeveloperToken O token de programador utilizado para aceder à API de Anúncios do Bing.

Para obter mais informações, veja Obter um Token de Programador.
cadeia
Palavra-passe Este elemento está reservado para utilização interna e será removido de uma versão futura da API. Tem de utilizar o elemento AuthenticationToken para definir credenciais de utilizador. cadeia
Nome de Utilizador Este elemento está reservado para utilização interna e será removido de uma versão futura da API. Tem de utilizar o elemento AuthenticationToken para definir credenciais de utilizador. cadeia

Elementos de Resposta

O objeto ApplyHotelGroupActionsResponse define os elementos do corpo e do cabeçalho da resposta da operação do serviço. Os elementos são devolvidos pela mesma ordem mostrada no SOAP de Resposta.

Elementos do Corpo da Resposta

Elemento Descrição Tipo de Dados
AdGroupCriterionIds Uma lista de identificadores que identificam o critério que aplicou a ação. A lista de identificadores corresponde diretamente à lista de critérios no pedido.

Se alguma ação de critério falhar, todas as restantes ações de critério falharão e todos os elementos nesta lista serão nulos.
matriz longa
PartialErrors Uma matriz de objetos BatchError que contêm detalhes para quaisquer itens de pedido que não tenham sido bem-sucedidos.

A lista de erros não corresponde diretamente à lista de itens no pedido. A lista pode estar vazia se não existirem erros ou pode incluir um ou mais objetos de erro correspondentes a cada item de lista sem êxito no pedido.

Para critérios que falharam devido a um erro do utilizador, será devolvido um código de erro acionável.

Se alguma ação de critério falhar, todas as restantes ações de critério falharão e nenhum dos elementos nesta lista será nulo. Para critérios que poderiam ter sido bem-sucedidos, será devolvido um erro genérico que explica que uma entidade relacionada falhou.
Matriz BatchError

Elementos do Cabeçalho de Resposta

Elemento Descrição Tipo de Dados
TrackingId O identificador da entrada de registo que contém os detalhes da chamada à API. cadeia

Pedir SOAP

Este modelo foi gerado por uma ferramenta para mostrar a ordem dos elementos do corpo e do cabeçalho do pedido SOAP. Para tipos suportados que pode utilizar com esta operação de serviço, veja a referência Request Body Elements (Elementos do Corpo do Pedido ) acima.

<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 Resposta

Este modelo foi gerado por uma ferramenta para mostrar a ordem dos elementos do corpo e do cabeçalho para a resposta 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>

Sintaxe de Código

A sintaxe de exemplo pode ser utilizada com os SDKs de Anúncios do Bing. Veja Exemplos de Código da API de Anúncios do Bing para obter mais exemplos.

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

Serviço: CampaignManagementService.svc v13
Espaço de nomes: https://bingads.microsoft.com/CampaignManagement/v13