Method: customers.googleAds.mutate

Crée, met à jour ou supprime des ressources. Cette méthode accepte les transactions atomiques avec plusieurs types de ressources. Par exemple, vous pouvez créer une campagne et un budget de campagne de manière atomique, ou effectuer jusqu'à des milliers de modifications de manière atomique.

Cette méthode est essentiellement un wrapper autour d'une série de méthodes mutate. Les seules fonctionnalités qu'il offre par rapport à l'appel direct de ces méthodes sont les suivantes:

  • Transactions atomiques
  • Noms de ressources temporaires (décrits ci-dessous)
  • Latence légèrement réduite par rapport à une série d'appels mutate.

Remarque: Seules les ressources compatibles avec les transactions atomiques sont incluses. Cette méthode ne peut donc pas remplacer tous les appels à des services individuels.

Avantages des transactions atomiques

L'atomicité facilite grandement le traitement des erreurs. Si vous effectuez plusieurs modifications et que l'une échoue, votre compte risque de ne pas fonctionner correctement. Avec l'atomicité, vous atteignez directement l'état choisi, ou la requête échoue et vous pouvez réessayer.

Noms des ressources temporaires

Les noms de ressource temporaire sont un type spécial de nom de ressource utilisé pour créer une ressource et la référencer dans la même requête. Par exemple, si vous créez un budget de campagne avec une resourceName égale à customers/123/campaignBudgets/-1, ce nom de ressource peut être réutilisé dans le champ Campaign.budget de la même demande. De cette façon, les deux ressources sont créées et liées de manière atomique.

Pour créer un nom de ressource temporaire, placez un nombre négatif dans la partie du nom que le serveur allouerait normalement.

Remarque :

  • Les ressources doivent être créées avec un nom temporaire pour pouvoir être réutilisé. Ainsi, l'exemple "CampaignBudget+Campaign" précédent ne fonctionnerait pas si l'ordre de modification était inversé.
  • Les noms temporaires ne sont pas mémorisés entre les requêtes.
  • Il n'y a pas de limite au nombre de noms temporaires dans une requête.
  • Chaque nom temporaire doit utiliser un nombre négatif unique, même si les types de ressources diffèrent.

Latence

Il est important de regrouper les modifications par type de ressource, sans quoi la requête risque d'expirer et d'échouer. La latence correspond à peu près à une série d'appels vers des méthodes mutate individuelles, où chaque changement de type de ressource correspond à un nouvel appel. Par exemple, la mutation de 10 campagnes, puis 10 groupes d'annonces équivaut à deux appels, tandis que la mutation d'une campagne, d'un groupe d'annonces, d'une campagne et d'un groupe d'annonces équivaut à quatre appels.

{09irPolicyErrorError}{09209209224023323232323222332 et; et général du.AdCustomizerErrorAdErrorAdGroupAdErrorAdGroupCriterionErrorAdGroupErrorAssetErrorAuthenticationErrorAuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorContextErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError

Requête HTTP

POST https://googleads.googleapis.com/v15/customers/{customerId}/googleAds:mutate

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
customerId

string

Obligatoire. ID du client dont les ressources sont en cours de modification.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "mutateOperations": [
    {
      object (MutateOperation)
    }
  ],
  "partialFailure": boolean,
  "validateOnly": boolean,
  "responseContentType": enum (ResponseContentType)
}
Champs
mutateOperations[]

object (MutateOperation)

Obligatoire. Liste des opérations à effectuer sur des ressources individuelles.

partialFailure

boolean

Si la valeur est "true", les opérations réussies sont effectuées et les opérations non valides renvoient des erreurs. Si la valeur est "false", toutes les opérations seront effectuées dans une seule transaction si et seulement si elles sont toutes valides. La valeur par défaut est "false".

validateOnly

boolean

Si la valeur est "true", la requête est validée, mais pas exécutée. Seules les erreurs sont renvoyées, pas les résultats.

responseContentType

enum (ResponseContentType)

Paramètre de type de contenu de la réponse. Détermine si la ressource modifiable ou uniquement le nom de la ressource doit être renvoyé après la mutation. La ressource modifiable n'est renvoyée que si elle possède le champ de réponse approprié. Par exemple : MutateCampaignResult.campaign.

Corps de la réponse

Message de réponse pour GoogleAdsService.Mutate.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "partialFailureError": {
    object (Status)
  },
  "mutateOperationResponses": [
    {
      object (MutateOperationResponse)
    }
  ]
}
Champs
partialFailureError

object (Status)

Erreurs liées à des échecs d'opération en mode échec partiel. Est renvoyé uniquement lorsque partialFailure = true et que toutes les erreurs se produisent à l'intérieur des opérations. Si des erreurs se produisent en dehors des opérations (erreurs d'authentification, par exemple), une erreur au niveau du RPC est renvoyée.

mutateOperationResponses[]

object (MutateOperationResponse)

Toutes les réponses pour le mutate.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/adwords

Pour en savoir plus, consultez la présentation d'OAuth 2.0.