Muta los recursos

La API de Google Ads proporciona varias formas de mutar recursos según tu caso de uso:

  • El servicio de recursos realiza mutaciones: Cada recurso mutable tiene un servicio dedicado que ejecuta operaciones para ese tipo de recurso específico. Por ejemplo, el recurso Campaign usa el extremo CampaignService.MutateCampaigns para crear, actualizar o quitar campañas.
  • Mutaciones masivas: El endpoint de GoogleAdsService.Mutate encapsula una secuencia de operaciones de mutación en varios tipos de recursos (y, en la versión 23 y versiones posteriores, operaciones de acción admitidas, como campañas de reserva o cotización) en una sola solicitud síncrona.
  • Trabajos por lotes asíncronos: Para mutaciones a gran escala o cargas de trabajo de larga duración, BatchJobService ejecuta operaciones de forma asíncrona sin riesgo de que se agote el tiempo de espera de las solicitudes síncronas. A diferencia de GoogleAdsService.Mutate, BatchJobService siempre se ejecuta con semántica de falla parcial y no admite el modo validate_only ni las operaciones de acción (book_campaigns_operation, quote_campaigns_operation). Debido a que la falla parcial siempre está activa, BatchJobService rechaza las operaciones de recursos cuyos servicios subyacentes no admiten la falla parcial (como CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation y CustomerConversionGoalOperation) con MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.

Beneficios de las mutaciones masivas

El uso de GoogleAdsService.Mutate proporciona los siguientes beneficios (consulta las prácticas recomendadas para Mutate para obtener orientación sobre la implementación):

  • Acciones agrupadas en diferentes servicios de recursos: Mientras que las llamadas individuales a los servicios de recursos solo aceptan operaciones para un solo tipo de recurso, GoogleAdsService.Mutate te permite mutar varios tipos de recursos en una sola llamada.
  • Nombres de recursos temporales: Puedes asignar IDs de números enteros negativos (como customers/CUSTOMER_ID/campaigns/-1) a las entidades principales creadas recientemente y hacer referencia a esos IDs temporales en las operaciones secundarias dentro de la misma solicitud.

Con estas capacidades, puedes usar GoogleAdsService.Mutate para crear una jerarquía de campañas completa de forma atómica, de modo que todas las operaciones se realicen correctamente o fallen juntas, o bien establecer partial_failure en true para confirmar las operaciones válidas de forma independiente.