Opération de service ApplyHotelGroupActions - Gestion des campagnes
Applique une action d’ajout, de mise à jour ou de suppression à chacun des objets BiddableAdGroupCriterion ou NegativeAdGroupCriterion spécifiés, qui contiennent chacun un HotelGroup.
Conseil
Pour obtenir une vue d’ensemble et plus d’informations sur les campagnes d’hébergement Microsoft, consultez le guide des annonces d’hôtel.
Notez les règles de validation suivantes.
Au minimum, vous devez spécifier au moins le nœud racine pour l’arborescence du groupe de listes d’hôtels. Le nœud racine du groupe de listes d’hôtels doit avoir son champ Attribut d’hôtel défini sur « Tout » et valeur d’attribut hôtel null ou vide. Si vous effectuez des enchères sur tous les hôtels du catalogue de la même façon, définissez le champ Sub Type sur Unit. Si vous partitionnez les enchères en fonction d’attributs d’hôtel plus spécifiques, définissez le champ Sub Type sur Subdivision, l’ID du critère parent sur null ou vide et l’ID sur une valeur négative. Vous utiliserez la valeur négative comme ID de critère parent pour tous les nœuds enfants.
Le nœud racine est considéré comme un niveau 0, et une arborescence peut avoir des branches allant jusqu’à 7 niveaux de profondeur.
Par demande de chargement, vous pouvez inclure un maximum de 20 000 nœuds d’arborescence de groupes de listes d’hôtels par groupe d’annonces. Le nombre total de nœuds d’arborescence de groupes de listes d’hôtels pour un groupe d’annonces ne peut pas dépasser 20 000.
Les nœuds d’arborescence du groupe de listes d’hôtels pour la même arborescence (même groupe d’annonces) doivent être regroupés dans le fichier.
L’ordre des nœuds de groupe de liste d’hôtels n’est pas garanti lors du téléchargement, et les nœuds parents peuvent être fournis après les nœuds enfants ; Toutefois, tous les nœuds du même groupe d’annonces seront regroupés dans le fichier .
Si vous créez ou modifiez l’arborescence, les nœuds d’arborescence de groupes de listes d’hôtels parents doivent être classés avant les nœuds d’arborescence de groupes de listes d’hôtels enfants ; toutefois, l’ordre n’a pas d’importance pour les changements non structurels tels que la mise à jour de l’offre. Par exemple, si vous souhaitez mettre à jour les enchères sans ajouter, supprimer ou mettre à jour l’arborescence, vous devez uniquement charger les champs Id, Id parent et Enchère .
Pour mettre à jour le champ Attribut d’hôtel, Valeur de l’attribut hôtel ou Est exclu , vous devez supprimer le nœud d’arborescence de groupe de listes d’hôtels existant et charger un nouveau nœud d’arborescence de groupe de listes d’hôtels qui obtiendra un nouvel identificateur.
En cas d’échec d’une action, toutes les actions restantes qui auraient pu autrement avoir réussi échouent également.
Toutes les actions d’ajout et de suppression de nœud de groupe de liste d’hôtels doivent aboutir à une arborescence complète.
Chaque chemin d’accès du nœud racine à la fin d’une branche doit se terminer par un nœud feuille (Sub Type=Unit). Chaque unité doit avoir une enchère, sauf si le champ Est exclu a la valeur true , ce qui signifie que le nœud est un critère de groupe d’annonces négatif.
Chaque sous-division doit avoir au moins un nœud feuille qui offre sur le reste des conditions de la sous-division, c’est-à-dire utiliser le même opérande que ses unités sœurs et définir sa valeur d’attribut d’hôtel null ou vide.
Si vous ajoutez des partitions avec plusieurs niveaux où ni le parent ni l’enfant n’existe encore, utilisez une valeur int négative comme référence pour identifier le parent. Par exemple, définissez les champs ID du parent et ID du critère parent de l’enfant sur la même valeur négative. Les ID négatifs ne sont valides que pour la durée de l’appel. Les identificateurs système uniques pour chaque critère de groupe d’annonces ajoutés avec succès sont retournés dans le fichier de résultats de chargement.
Le champ Enchère s’applique uniquement si le champ Est exclu a la valeur false , ce qui signifie que le nœud est un critère de groupe d’annonces biddable. Toutefois, l’enchère est ignorée pour les nœuds de partition de subdivision . Ces éléments sont uniquement pertinents pour les nœuds de partition Unit (feuille).
Pour une action Supprimée , il vous suffit de spécifier l’ID et l’ID parent.
Si vous supprimez un groupe de référencements d’hôtels parents, tous ses enfants et descendants seront également supprimés.
Vous ne pouvez pas spécifier d’attributs d’hôtel en double dans une branche.
Éléments de demande
L’objet ApplyHotelGroupActionsRequest définit les éléments body et header de la demande d’opération de service. Les éléments doivent être dans le même ordre que celui indiqué dans la requête SOAP.
Remarque
Sauf indication contraire ci-dessous, tous les éléments de requête sont requis.
Éléments du corps de la requête
Élément | Description | Type de données |
---|---|---|
CriterionActions | Liste de jusqu’à 5 000 objets AdGroupCriterionAction qui contiennent chacun un élément Action et un BiddableAdGroupCriterion. Toutes les actions de critère de groupe d’annonces doivent être pour le même groupe d’annonces. Pour plus d’informations, notamment sur les règles de validation, consultez Créer une campagne Microsoft Shopping avec le service de gestion des campagnes. |
Tableau AdGroupCriterionAction |
Éléments d’en-tête de requête
Élément | Description | Type de données |
---|---|---|
AuthenticationToken | Jeton d’accès OAuth qui représente les informations d’identification d’un utilisateur disposant d’autorisations sur les comptes Microsoft Advertising. Pour plus d’informations, consultez Authentification avec OAuth. |
chaîne |
CustomerAccountId | Identificateur du compte publicitaire qui possède ou est associé aux entités dans la demande. Cet élément d’en-tête doit avoir la même valeur que l’élément de corps AccountId lorsque les deux sont nécessaires. Cet élément est requis pour la plupart des opérations de service et, à titre de bonne pratique, vous devez toujours le définir. Pour plus d’informations, consultez Obtenir votre compte et ID de client. |
chaîne |
Customerid | Identificateur du compte de responsable (client) auquel l’utilisateur accède ou à partir duquel il opère. Un utilisateur peut avoir accès à plusieurs comptes de gestionnaire. Cet élément est requis pour la plupart des opérations de service et, à titre de bonne pratique, vous devez toujours le définir. Pour plus d’informations, consultez Obtenir votre compte et ID de client. |
chaîne |
DeveloperToken | Jeton de développeur utilisé pour accéder à l’API Bing Ads. Pour plus d’informations, consultez Obtenir un jeton de développeur. |
chaîne |
Mot de passe | Cet élément est réservé à un usage interne et sera supprimé d’une version ultérieure de l’API. Vous devez utiliser l’élément AuthenticationToken pour définir les informations d’identification de l’utilisateur. | chaîne |
UserName | Cet élément est réservé à un usage interne et sera supprimé d’une version ultérieure de l’API. Vous devez utiliser l’élément AuthenticationToken pour définir les informations d’identification de l’utilisateur. | chaîne |
Éléments Response
L’objet ApplyHotelGroupActionsResponse définit les éléments body et header de la réponse de l’opération de service. Les éléments sont retournés dans le même ordre que celui indiqué dans la réponse SOAP.
Response Body, éléments
Élément | Description | Type de données |
---|---|---|
AdGroupCriterionIds | Liste d’identificateurs qui identifient le critère auquel l’action a été appliquée. La liste des identificateurs correspond directement à la liste de critères dans la demande. Si une action de critère échoue, toutes les actions de critère restantes échouent et tous les éléments de cette liste sont null. |
tableau long |
PartialErrors | Tableau d’objets BatchError qui contiennent des détails pour tous les éléments de demande qui n’ont pas réussi. La liste des erreurs ne correspond pas directement à la liste des éléments de la demande. La liste peut être vide s’il n’y a pas d’erreur, ou peut inclure un ou plusieurs objets d’erreur correspondant à chaque élément de liste ayant échoué dans la demande. Pour le critère qui a échoué en raison d’une erreur de l’utilisateur, un code d’erreur actionnable est retourné. Si une action de critère échoue, toutes les actions de critère restantes échouent, et aucun des éléments de cette liste n’est null. Pour le critère qui aurait pu réussir autrement, une erreur générique est retournée, ce qui explique qu’une entité associée a échoué. |
Tableau BatchError |
Éléments d’en-tête de réponse
Élément | Description | Type de données |
---|---|---|
TrackingId | Identificateur de l’entrée de journal qui contient les détails de l’appel d’API. | chaîne |
Requête SOAP
Ce modèle a été généré par un outil pour afficher l’ordre des éléments body et header pour la requête SOAP. Pour connaître les types pris en charge que vous pouvez utiliser avec cette opération de service, consultez la référence Éléments du corps de la demande ci-dessus.
<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 de réponse
Ce modèle a été généré par un outil pour afficher l’ordre des éléments de corps et d’en-tête pour la réponse 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>
Syntaxe du code
L’exemple de syntaxe peut être utilisé avec les Kits de développement logiciel (SDK) Bing Ads. Pour plus d’exemples, consultez Exemples de code de l’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)
Configuration requise
Service : CampaignManagementService.svc v13
Noms: https://bingads.microsoft.com/CampaignManagement/v13