Condividi tramite


Operazione del servizio ApplyHotelGroupActions - Gestione campagna

Applica un'azione di aggiunta, aggiornamento o eliminazione a ognuna delle opzioni BiddableAdGroupCriterion o NegativeAdGroupCriterion specificate, ognuna delle quali contiene un HotelGroup.

Consiglio

Per una panoramica e altre informazioni sulle campagne di Microsoft Lodging, vedere la guida di Hotel Ads .

Tenere presente le regole di convalida seguenti.

  • È almeno necessario specificare almeno il nodo radice per la struttura ad albero del gruppo elenco hotel. Il nodo radice del gruppo elenco hotel deve avere il campo Attributo hotel impostato su "Tutto" e Valore attributo hotel null o vuoto. Se si esegue un'offerta equa per tutti gli hotel del catalogo, impostare il campo Sottotipo su Unità. Se si partizionano le offerte in base a attributi di hotel più specifici, impostare il campo Sottotipo su Suddivisione, l'ID criterio padre su Null o vuoto e l'ID su un valore negativo. Il valore negativo verrà usato come ID criterio padre per tutti i nodi figlio.

  • Il nodo radice è considerato di livello 0 e un albero può avere rami fino a 7 livelli in profondità.

  • Per ogni richiesta di caricamento, puoi includere un massimo di 20.000 nodi dell'albero del gruppo di annunci per gruppo di annunci. Il numero di nodi dell'albero dell'elenco di hotel per un gruppo di annunci non può superare i 20.000.

  • I nodi dell'albero del gruppo elenco hotel per lo stesso albero (stesso gruppo di annunci) devono essere raggruppati nel file.

  • L'ordine dei nodi del gruppo elenco hotel non è garantito durante il download e i nodi padre potrebbero essere forniti dopo i nodi figlio; tuttavia, tutti i nodi per lo stesso gruppo di annunci verranno raggruppati nel file.

  • Se si crea o si modifica la struttura ad albero, è necessario ordinare i nodi dell'albero del gruppo di elenchi di hotel padre prima dei nodi dell'albero dell'elenco di hotel figlio; tuttavia, l'ordine non è rilevante per le modifiche non strutturali, ad esempio l'aggiornamento dell'offerta. Ad esempio, se si desidera aggiornare le offerte senza aggiungere, eliminare o aggiornare la struttura ad albero, è sufficiente caricare i campi ID, ID padre e Offerta .

  • Per aggiornare il campo Attributo hotel, Valore attributo hotel o Escluso , è necessario eliminare il nodo dell'albero del gruppo elenco hotel esistente e caricare un nuovo nodo dell'albero del gruppo elenco hotel che otterrà un nuovo identificatore.

  • Se un'azione ha esito negativo, anche tutte le azioni rimanenti che potrebbero avere avuto esito positivo avranno esito negativo.

  • Tutte le azioni di aggiunta ed eliminazione del nodo elenco hotel devono comportare una struttura ad albero completa.

  • Ogni percorso dal nodo radice alla fine di un ramo deve terminare con un nodo foglia (Sub Type=Unit). Ogni unità deve avere un'offerta, a meno che il campo È escluso sia true , il che significa che il nodo è un criterio di gruppo di annunci negativo.

  • Ogni suddivisione deve avere almeno un nodo foglia che effettua un'offerta nella parte restante delle condizioni della suddivisione, ad esempio usare lo stesso operando delle unità di pari livello e impostare il valore dell'attributo hotel null o vuoto.

  • Se si aggiungono partizioni con più livelli in cui non esiste ancora né l'elemento padre né il valore figlio, usare un valore int negativo come riferimento per identificare l'elemento padre. Impostare, ad esempio, sia l'ID dell'elemento padre che il campo Id criterio padre dell'elemento figlio sullo stesso valore negativo. Gli ID negativi sono validi solo per la durata della chiamata. Gli identificatori di sistema univoci per ogni criterio del gruppo di annunci aggiunto correttamente vengono restituiti nel file dei risultati del caricamento.

  • Il campo Offerta è applicabile solo se il campo È escluso è false , il che significa che il nodo è un criterio del gruppo di annunci che può essere offerto. L'opzione Bid viene tuttavia ignorata per i nodi di partizione di suddivisione. Questi elementi sono rilevanti solo per i nodi di partizione Unit (foglia).

  • Per un'azione Eliminata è sufficiente specificare l'ID e l'ID padre.

  • Se elimini un gruppo di annunci di hotel padre, verranno eliminati anche tutti i relativi figli e discendenti.

  • Non è possibile specificare attributi di hotel duplicati in un ramo.

Elementi della richiesta

L'oggetto ApplyHotelGroupActionsRequest definisce gli elementi corpo e intestazione della richiesta di operazione del servizio. Gli elementi devono essere nello stesso ordine indicato nella richiesta SOAP.

Nota

Se non diversamente indicato di seguito, sono necessari tutti gli elementi della richiesta.

Elementi del corpo della richiesta

Elemento Descrizione Tipo di dati
CriterionActions Elenco di un massimo di 5.000 oggetti AdGroupCriterionAction che contengono ognuno un elemento Action e un Oggetto BiddableAdGroupCriterion.

Tutte le azioni dei criteri del gruppo di annunci devono essere per lo stesso gruppo di annunci. Per altre informazioni, incluse le regole di convalida, vedere Creare una campagna di Microsoft Shopping con il servizio Gestione campagne.
Matrice AdGroupCriterionAction

Elementi dell'intestazione della richiesta

Elemento Descrizione Tipo di dati
AuthenticationToken Token di accesso OAuth che rappresenta le credenziali di un utente che dispone delle autorizzazioni per gli account Microsoft Advertising.

Per altre informazioni, vedere Autenticazione con OAuth.
Stringa
CustomerAccountId Identificatore dell'account pubblicitario proprietario o associato alle entità nella richiesta. Questo elemento di intestazione deve avere lo stesso valore dell'elemento del corpo AccountId quando sono necessari entrambi. Questo elemento è necessario per la maggior parte delle operazioni del servizio e, come procedura consigliata, è consigliabile impostarlo sempre.

Per altre informazioni, vedere Ottenere l'account e gli ID cliente.
Stringa
Customerid Identificatore dell'account manager (cliente) da cui l'utente accede o opera. Un utente può avere accesso a più account manager. Questo elemento è necessario per la maggior parte delle operazioni del servizio e, come procedura consigliata, è consigliabile impostarlo sempre.

Per altre informazioni, vedere Ottenere l'account e gli ID cliente.
Stringa
DeveloperToken Token di sviluppo usato per accedere all'API Bing Ads.

Per altre informazioni, vedere Ottenere un token per sviluppatori.
Stringa
Password Questo elemento è riservato per l'uso interno e verrà rimosso da una versione futura dell'API. È necessario usare l'elemento AuthenticationToken per impostare le credenziali utente. Stringa
UserName Questo elemento è riservato per l'uso interno e verrà rimosso da una versione futura dell'API. È necessario usare l'elemento AuthenticationToken per impostare le credenziali utente. Stringa

Elementi di risposta

L'oggetto ApplyHotelGroupActionsResponse definisce il corpo e gli elementi dell'intestazione della risposta dell'operazione del servizio. Gli elementi vengono restituiti nello stesso ordine illustrato nella soap di risposta.

Elementi del corpo della risposta

Elemento Descrizione Tipo di dati
AdGroupCriterionIds Elenco di identificatori che identificano il criterio a cui è stata applicata l'azione. L'elenco di identificatori corrisponde direttamente all'elenco di criteri nella richiesta.

Se un'azione del criterio non riesce, tutte le azioni dei criteri rimanenti avranno esito negativo e tutti gli elementi in questo elenco saranno Null.
matrice long
PartialErrors Matrice di oggetti BatchError che contengono i dettagli per gli elementi della richiesta che non hanno avuto esito positivo.

L'elenco di errori non corrisponde direttamente all'elenco di elementi nella richiesta. L'elenco può essere vuoto se non si sono verificati errori o può includere uno o più oggetti errore corrispondenti a ogni voce di elenco non riuscita nella richiesta.

Per il criterio che ha avuto esito negativo a causa di un errore dell'utente, verrà restituito un codice di errore interattivo.

Se un'azione del criterio non riesce, tutte le azioni del criterio rimanenti avranno esito negativo e nessuno degli elementi in questo elenco sarà Null. Per il criterio che potrebbe avere avuto esito negativo, verrà restituito un errore generico che spiega che un'entità correlata non è riuscita.
Matrice BatchError

Elementi dell'intestazione della risposta

Elemento Descrizione Tipo di dati
TrackingId Identificatore della voce di log che contiene i dettagli della chiamata API. Stringa

Richiedi SOAP

Questo modello è stato generato da uno strumento per visualizzare l'ordine degli elementi corpo e intestazione per la richiesta SOAP. Per i tipi supportati che è possibile usare con questa operazione del servizio, vedere il riferimento Request Body Elements sopra riportato.

<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>
              <!--These fields are applicable if the derived type attribute is set to PlacementCriterion-->
              <PlacementId>ValueHere</PlacementId>
              <PlacementName i:nil="false">ValueHere</PlacementName>
            </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 della risposta

Questo modello è stato generato da uno strumento per visualizzare l'ordine degli elementi del corpo e dell'intestazione per la risposta 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>

Sintassi del codice

La sintassi di esempio può essere usata con gli SDK di Bing Ads. Per altri esempi, vedere Esempi di codice DELL'API Bing Ads .

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)

Requisiti

Servizio: CampaignManagementService.svc v13
Namespace: https://bingads.microsoft.com/CampaignManagement/v13