Operazione del servizio ApplyProductPartitionActions - Gestione campagna

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

Consiglio

Per una panoramica e altre informazioni sulle campagne di shopping Microsoft, vedere le guide tecniche sugli annunci di prodotto e sulle campagne per lo shopping intelligente .

Tenere presente le regole di convalida seguenti.

  • È necessario specificare almeno il nodo radice per la struttura ad albero del gruppo di partizioni del prodotto. La condizione Operando del gruppo di partizioni del prodotto biddableAdGroupCriterion deve essere impostata su "All" e Attribute su Null. Se si esegue un'offerta equa per tutti i prodotti nel catalogo, impostare PartitionType su Unit. Se si partizionano le offerte in base a condizioni di prodotto più specifiche, impostare PartitionType su Subdivision, ParentCriterionId su null e ID su un valore negativo. Il valore negativo verrà usato come ParentCriterionId per tutti i nodi figlio.

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

  • È possibile specificare fino a 5.000 oggetti AdGroupCriterionAction per ogni chiamata. L'intero albero creato tramite più chiamate può avere fino a 20.000 nodi.

  • Ognuno degli oggetti AdGroupCriterionAction deve avere lo stesso AdGroupId, altrimenti la chiamata avrà esito negativo.

  • Per aggiornare le proprietà Condizione o Attributo , è necessario eliminare il nodo dell'albero di partizione del prodotto esistente e aggiungere un nuovo nodo dell'albero di partizione del prodotto che otterrà un nuovo identificatore. Analogamente, per eseguire l'aggiornamento da un oggetto BiddableAdGroupCriterion a un oggetto NegativeAdGroupCriterion o viceversa, è necessario eliminare il nodo dell'albero della partizione del prodotto esistente e aggiungere un nuovo nodo dell'albero della partizione del prodotto 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 in una chiamata devono comportare una struttura ad albero completa. Se devi applicare più di 5.000 azioni per gruppo di annunci, devi effettuare più chiamate. Ottenere gli identificatori dei criteri del gruppo di annunci padre dalla prima chiamata e quindi aggiungere altri elementi figlio in base alle esigenze nelle chiamate successive.

  • Ogni percorso dal nodo radice alla fine di un ramo deve terminare con un nodo foglia (ProductPartitionType=Unit). Ogni unità deve avere un'offerta, a meno che il nodo non sia un oggetto NegativeAdGroupCriterion.

  • 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 relativo attributo su null.

  • È possibile specificare un nodo figlio solo dopo il relativo nodo padre.

  • 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. Ad esempio, impostare sia l'ID dell'elemento padre che l'elemento ParentCriterionId dell'elemento figlio sullo stesso valore negativo. Gli ID negativi sono validi solo per la durata della chiamata. Nel messaggio di risposta vengono restituiti identificatori di sistema univoci per ogni criterio del gruppo di annunci aggiunto correttamente.

  • Gli elementi CriterionBid e DestinationUrl di BiddableAdGroupCriterion vengono ignorati per i nodi di partizione Subdivision . Questi elementi sono rilevanti solo per i nodi di partizione Unit (foglia).

  • L'elemento Status di AdGroupCriterion viene sempre ignorato per il criterio di partizione del prodotto. Per aggiungere, aggiornare o eliminare una partizione del prodotto, impostare l'elemento Actiondell'oggetto AdGroupCriterionAction corrispondente.

  • Per sospendere qualsiasi partizione del prodotto, devi sospendere l'intero gruppo di annunci chiamando UpdateAdGroups. È possibile chiamare UpdateCampaigns per sospendere l'intera campagna.

  • L'elemento EditorialStatus di AdGroupCriterion non ha significato significativo per il criterio di partizione del prodotto. La convalida editoriale per il catalogo prodotti viene completata nello store Microsoft Merchant Center.

  • Per un'azione Elimina è sufficiente specificare ID e AdGroupId in AdGroupCriterion.

  • Se si elimina una partizione del prodotto padre, verranno eliminati anche tutti i relativi elementi figlio e discendenti.

  • Non è possibile specificare condizioni di prodotto duplicate in un ramo.

Elementi della richiesta

L'oggetto ApplyProductPartitionActionsRequest definisce il corpo e gli elementi dell'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 o NegativeAdGroupCriterion.

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 ApplyProductPartitionActionsResponse 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">ApplyProductPartitionActions</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>
    <ApplyProductPartitionActionsRequest 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>
    </ApplyProductPartitionActionsRequest>
  </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>
    <ApplyProductPartitionActionsResponse 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:e70="http://schemas.datacontract.org/2004/07/System.Collections.Generic" d4p1:nil="false">
            <e70:KeyValuePairOfstringstring>
              <e70:key d4p1:nil="false">ValueHere</e70:key>
              <e70:value d4p1:nil="false">ValueHere</e70:value>
            </e70: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>
    </ApplyProductPartitionActionsResponse>
  </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<ApplyProductPartitionActionsResponse> ApplyProductPartitionActionsAsync(
	IList<AdGroupCriterionAction> criterionActions)
{
	var request = new ApplyProductPartitionActionsRequest
	{
		CriterionActions = criterionActions
	};

	return (await CampaignManagementService.CallAsync((s, r) => s.ApplyProductPartitionActionsAsync(r), request));
}
static ApplyProductPartitionActionsResponse applyProductPartitionActions(
	ArrayOfAdGroupCriterionAction criterionActions) throws RemoteException, Exception
{
	ApplyProductPartitionActionsRequest request = new ApplyProductPartitionActionsRequest();

	request.setCriterionActions(criterionActions);

	return CampaignManagementService.getService().applyProductPartitionActions(request);
}
static function ApplyProductPartitionActions(
	$criterionActions)
{

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

	$request = new ApplyProductPartitionActionsRequest();

	$request->CriterionActions = $criterionActions;

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

Requisiti

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