Freigeben über


ApplyProductPartitionActions-Dienstvorgang – Kampagnenverwaltung

Wendet eine Add-, Update- oder Delete-Aktion auf jedes der angegebenen BiddableAdGroupCriterion - oder NegativeAdGroupCriterion-Elemente an, die jeweils eine ProductPartition enthalten.

Tipp

Eine Übersicht und weitere Informationen zu Microsoft-Shoppingkampagnen finden Sie in den technischen Leitfäden zu Produktanzeigen und Smart Shopping-Kampagnen .

Beachten Sie die folgenden Validierungsregeln.

  • Sie müssen mindestens den Stammknoten für die Struktur der Produktpartitionsgruppe angeben. Für den Stamm biddableAdGroupCriterion der Produktpartitionsgruppe muss die Bedingung Operand auf "All" und Attribute auf NULL festgelegt sein. Wenn Sie für alle Produkte im Katalog gleichermaßen bieten, legen Sie PartitionType auf Unit fest. Wenn Sie die Gebote basierend auf spezifischeren Produktbedingungen partitionieren, legen Sie PartitionType auf Subdivision, ParentCriterionId auf NULL und id auf einen negativen Wert fest. Sie verwenden den negativen Wert als ParentCriterionId für alle untergeordneten Knoten.

  • Der Stammknoten wird als Ebene 0 betrachtet, und eine Struktur kann verzweigt bis zu 7 Ebenen tief sein.

  • Sie können bis zu 5.000 AdGroupCriterionAction-Objekte pro Aufruf angeben. Die gesamte Struktur, die durch mehrere Aufrufe erstellt wird, kann bis zu 20.000 Knoten aufweisen.

  • Jedes AdGroupCriterionAction-Objekt muss dieselbe AdGroupId aufweisen, andernfalls schlägt der Aufruf fehl.

  • Um die Eigenschaften Bedingung oder Attribut zu aktualisieren, müssen Sie den vorhandenen Knoten der Produktpartitionsstruktur löschen und einen neuen Produktpartitionsstrukturknoten hinzufügen, der einen neuen Bezeichner erhält. Ebenso müssen Sie zum Aktualisieren von einem BiddableAdGroupCriterion zu einem NegativeAdGroupCriterion oder umgekehrt den vorhandenen Knoten der Produktpartitionsstruktur löschen und einen neuen Produktpartitionsstrukturknoten hinzufügen, der einen neuen Bezeichner erhält.

  • Wenn eine Aktion fehlschlägt, schlagen auch alle verbleibenden Aktionen fehl, die andernfalls erfolgreich waren.

  • Alle Aktionen in einem Aufruf müssen zu einer vollständigen Struktur führen. Wenn Sie mehr als 5.000 Aktionen pro Anzeigengruppe anwenden müssen, müssen Sie mehrere Aufrufe tätigen. Rufen Sie die Kriterienbezeichner der übergeordneten Anzeigengruppe aus dem ersten Aufruf ab, und fügen Sie dann bei Bedarf weitere untergeordnete Elemente hinzu.

  • Jeder Pfad vom Stammknoten bis zum Ende eines Branchs muss mit einem Blattknoten (ProductPartitionType=Unit) enden. Jede Einheit muss über ein Gebot verfügen, es sei denn, der Knoten ist ein NegativeAdGroupCriterion.

  • Jede Unterteilung muss über mindestens einen Blattknoten verfügen, der für den Rest der Bedingungen der Unterteilung gebote, d. h. denselben Operanden wie seine gleichgeordneten Einheiten verwenden und sein Attribut auf NULL festlegen.

  • Sie können nur einen untergeordneten Knoten nach seinem übergeordneten Knoten angeben.

  • Wenn Sie Partitionen mit mehreren Ebenen hinzufügen, auf denen weder das übergeordnete noch das untergeordnete Element vorhanden ist, verwenden Sie einen negativen int-Wert als Verweis, um das übergeordnete Element zu identifizieren. Legen Sie beispielsweise sowohl die ID des übergeordneten Elements als auch das ParentCriterionId-Element des untergeordneten Elements auf denselben negativen Wert fest. Die negativen IDs sind nur für die Dauer des Aufrufs gültig. Eindeutige Systembezeichner für jedes erfolgreich hinzugefügte Anzeigengruppenkriterium werden in der Antwortnachricht zurückgegeben.

  • Die Elemente CriterionBid und DestinationUrl des BiddableAdGroupCriterion-Elements werden für Subdivision-Partitionsknoten ignoriert. Diese Elemente sind nur für Unit-Partitionsknoten (Blattknoten) relevant.

  • Das Status-Element des AdGroupCriterion-Elements wird für das Produktpartitionskriterium immer ignoriert. Um eine Produktpartition hinzuzufügen, zu aktualisieren oder zu löschen, legen Sie das Action-Element der entsprechenden AdGroupCriterionAction fest.

  • Um eine Produktpartition anzuhalten, müssen Sie die gesamte Anzeigengruppe anhalten, indem Sie UpdateAdGroups aufrufen. Sie können UpdateCampaigns aufrufen, um die gesamte Kampagne anzuhalten.

  • Das EditorialStatus-Element von AdGroupCriterion hat keine signifikante Bedeutung für das Produktpartitionskriterium. Die redaktionelle Überprüfung für den Produktkatalog wird im Microsoft Merchant Center Store abgeschlossen.

  • Für eine Delete-Aktion müssen Sie nur die ID und AdGroupId in AdGroupCriterion angeben.

  • Wenn Sie eine übergeordnete Produktpartition löschen, werden auch alle untergeordneten Elemente und Nachfolger gelöscht.

  • Sie dürfen keine doppelten Produktbedingungen in einer Verzweigung angeben.

Anfordern von Elementen

Das ApplyProductPartitionActionsRequest-Objekt definiert den Text und die Headerelemente der Dienstvorgangsanforderung. Die Elemente müssen in der gleichen Reihenfolge wie im Anforderungs-SOAP dargestellt sein.

Hinweis

Sofern unten nicht anders angegeben, sind alle Anforderungselemente erforderlich.

Anforderungstextelemente

Element Beschreibung Datentyp
CriterionActions Eine Liste von bis zu 5.000 AdGroupCriterionAction-Objekten , die jeweils ein Action-Element und entweder ein BiddableAdGroupCriterion oder NegativeAdGroupCriterion enthalten.

Alle Aktionen des Anzeigengruppenkriteriums müssen für dieselbe Anzeigengruppe gelten. Weitere Informationen einschließlich Validierungsregeln finden Sie unter Erstellen einer Microsoft Shopping-Kampagne mit dem Kampagnenverwaltungsdienst.
AdGroupCriterionAction-Array

Anforderungsheaderelemente

Element Beschreibung Datentyp
AuthenticationToken Das OAuth-Zugriffstoken, das die Anmeldeinformationen eines Benutzers darstellt, der über Berechtigungen für Microsoft Advertising-Konten verfügt.

Weitere Informationen finden Sie unter Authentifizierung mit OAuth.
Zeichenfolge
CustomerAccountId Der Bezeichner des Anzeigenkontos, das die Entitäten in der Anforderung besitzt oder zugeordnet ist. Dieses Headerelement muss denselben Wert wie das AccountId-Body-Element aufweisen, wenn beides erforderlich ist. Dieses Element ist für die meisten Dienstvorgänge erforderlich, und als bewährte Methode sollten Sie es immer festlegen.

Weitere Informationen finden Sie unter Abrufen Von Konto- und Kunden-IDs.
Zeichenfolge
Customerid Der Bezeichner des Vorgesetztenkontos (Kunde), auf das der Benutzer zugreift oder von dort aus arbeitet. Ein Benutzer kann Zugriff auf mehrere Managerkonten haben. Dieses Element ist für die meisten Dienstvorgänge erforderlich, und als bewährte Methode sollten Sie es immer festlegen.

Weitere Informationen finden Sie unter Abrufen Von Konto- und Kunden-IDs.
Zeichenfolge
DeveloperToken Das Entwicklertoken, das für den Zugriff auf die Bing Ads-API verwendet wird.

Weitere Informationen finden Sie unter Abrufen eines Entwicklertokens.
Zeichenfolge
Kennwort Dieses Element ist für die interne Verwendung reserviert und wird aus einer zukünftigen Version der API entfernt. Sie müssen das AuthenticationToken-Element verwenden, um Benutzeranmeldeinformationen festzulegen. Zeichenfolge
UserName Dieses Element ist für die interne Verwendung reserviert und wird aus einer zukünftigen Version der API entfernt. Sie müssen das AuthenticationToken-Element verwenden, um Benutzeranmeldeinformationen festzulegen. Zeichenfolge

Antwortelemente

Das ApplyProductPartitionActionsResponse-Objekt definiert den Text und die Headerelemente der Dienstvorgangsantwort. Die Elemente werden in der gleichen Reihenfolge zurückgegeben, in der die Antwort-SOAP gezeigt wird.

Antworttextelemente

Element Beschreibung Datentyp
AdGroupCriterionIds Eine Liste von Bezeichnern, die das Kriterium identifizieren, für das die Aktion angewendet wurde. Die Liste der Bezeichner entspricht direkt der Liste der Kriterien in der Anforderung.

Wenn bei einer Kriteriumaktion ein Fehler aufgetreten ist, schlagen alle verbleibenden Kriterienaktionen fehl, und alle Elemente in dieser Liste sind NULL.
langes Array
PartialErrors Ein Array von BatchError-Objekten , die Details für alle Anforderungselemente enthalten, die nicht erfolgreich waren.

Die Liste der Fehler entspricht nicht direkt der Liste der Elemente in der Anforderung. Die Liste kann leer sein, wenn keine Fehler aufgetreten sind, oder ein oder mehrere Fehlerobjekte enthalten, die jedem nicht erfolgreichen Listenelement in der Anforderung entsprechen.

Für ein Kriterium, das aufgrund eines Benutzerfehlers fehlgeschlagen ist, wird ein umsetzbarer Fehlercode zurückgegeben.

Wenn bei einer Kriteriumaktion ein Fehler aufgetreten ist, schlagen alle verbleibenden Kriterienaktionen fehl, und keines der Elemente in dieser Liste ist NULL. Für Ein Kriterium, das andernfalls erfolgreich gewesen wäre, wird ein generischer Fehler zurückgegeben, der erklärt, dass bei einer verknüpften Entität ein Fehler aufgetreten ist.
BatchError-Array

Antwortheaderelemente

Element Beschreibung Datentyp
TrackingId Der Bezeichner des Protokolleintrags, der die Details des API-Aufrufs enthält. Zeichenfolge

SOAP anfordern

Diese Vorlage wurde von einem Tool generiert, um die Reihenfolge der Text- und Headerelemente für die SOAP-Anforderung anzuzeigen. Informationen zu unterstützten Typen, die Sie mit diesem Dienstvorgang verwenden können, finden Sie oben in der Referenz zu Anforderungstextelementen .

<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>
              <!--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>
    </ApplyProductPartitionActionsRequest>
  </s:Body>
</s:Envelope>

Antwort-SOAP

Diese Vorlage wurde von einem Tool generiert, um die Reihenfolge der Text- und Headerelemente für die SOAP-Antwort anzuzeigen.

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

Codesyntax

Die Beispielsyntax kann mit Bing Ads SDKs verwendet werden. Weitere Beispiele finden Sie unter Codebeispiele für die Bing Ads-API .

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)

Anforderungen

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